commit c331f7cfaaa72e0766967f2bd30f8a3aad807a5a Author: insanity Date: Wed May 16 16:14:18 2018 +0900 init diff --git a/.angular-cli.json b/.angular-cli.json new file mode 100644 index 0000000..6d6ba5d --- /dev/null +++ b/.angular-cli.json @@ -0,0 +1,73 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "project": { + "name": "overflow-member-webapp" + }, + "apps": [ + { + "root": "src", + "outDir": "dist", + "assets": [ + "assets", + "upload.php" + ], + "index": "index.html", + "main": "main.ts", + "polyfills": "polyfills.ts", + "test": "test.ts", + "tsconfig": "tsconfig.app.json", + "testTsconfig": "tsconfig.spec.json", + "prefix": "of", + "styles": [ + "../node_modules/primeng/resources/primeng.min.css", + "../node_modules/fullcalendar/dist/fullcalendar.min.css", + "../node_modules/quill/dist/quill.snow.css", + "styles.scss" + ], + "scripts": [ + "../node_modules/jquery/dist/jquery.js", + "../node_modules/moment/moment.js", + "../node_modules/chart.js/dist/Chart.js", + "../node_modules/fullcalendar/dist/fullcalendar.js", + "../node_modules/quill/dist/quill.js" + ], + "environmentSource": "environments/environment.ts", + "environments": { + "dev": "environments/environment.ts", + "prod": "environments/environment.prod.ts" + } + } + ], + "e2e": { + "protractor": { + "config": "./protractor.conf.js" + } + }, + "lint": [ + { + "project": "src/tsconfig.app.json", + "exclude": "**/node_modules/**" + }, + { + "project": "src/tsconfig.spec.json", + "exclude": "**/node_modules/**" + }, + { + "project": "e2e/tsconfig.e2e.json", + "exclude": "**/node_modules/**" + } + ], + "test": { + "karma": { + "config": "./karma.conf.js" + } + }, + "defaults": { + "styleExt": "css", + "component": {}, + "serve": { + "host": "0.0.0.0", + "port": 4200 + } + } + } diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..6e87a00 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9e345a3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,46 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/dist-server +/tmp +/out-tsc + +# dependencies +/node_modules + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# misc +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +testem.log +/typings + +# e2e +/e2e/*.js +/e2e/*.map + +# System Files +.DS_Store +Thumbs.db + +yarn.lock +package-lock.json diff --git a/README.md b/README.md new file mode 100644 index 0000000..4dfbd85 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +# PrimeCli + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.3.0. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). +Before running the tests make sure you are serving the app via `ng serve`. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 0000000..af139fa --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,33 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular/cli'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage-istanbul-reporter'), + require('@angular/cli/plugins/karma') + ], + client:{ + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + coverageIstanbulReporter: { + reports: [ 'html', 'lcovonly' ], + fixWebpackSourcePaths: true + }, + angularCli: { + environment: 'dev' + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false + }); +}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..1251580 --- /dev/null +++ b/package.json @@ -0,0 +1,80 @@ +{ + "name": "@overflow/member-wepapp-prototype", + "version": "0.0.0", + "license": "COMMERCIAL", + "angular-cli": {}, + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "test": "ng test", + "lint": "ng lint", + "e2e": "ng e2e" + }, + "private": true, + "dependencies": { + "@angular/animations": "^5.2.9", + "@angular/common": "^5.2.9", + "@angular/compiler": "^5.2.9", + "@angular/core": "^5.2.9", + "@angular/forms": "^5.2.9", + "@angular/http": "^5.2.9", + "@angular/platform-browser": "^5.2.9", + "@angular/platform-browser-dynamic": "^5.2.9", + "@angular/router": "^5.2.0", + "@ngrx/core": "^1.2.0", + "@ngrx/effects": "^5.2.0", + "@ngrx/entity": "^5.2.0", + "@ngrx/router-store": "^5.2.0", + "@ngrx/store": "^5.2.0", + "@ngrx/store-devtools": "^5.2.0", + "@overflow/commons-typescript": "^0.0.1", + "angular-l10n": "^4.1.5", + "angularx-qrcode": "^1.1.0", + "chart.js": "^2.7.2", + "core-js": "^2.5.4", + "fullcalendar": "^3.9.0", + "intl": "^1.2.5", + "ip-cidr": "^1.1.2", + "jquery": "^3.3.1", + "moment": "^2.22.0", + "ngx-cookie-service": "^1.0.10", + "openssl": "^1.1.0", + "primeng": "^5.2.4", + "quill": "^1.3.6", + "reflect-metadata": "^0.1.12", + "rxjs": "^5.5.8", + "rxjs-fetch": "^2.1.6", + "web-animations-js": "^2.3.1", + "zone.js": "^0.8.25", + "angular-google-recaptcha": "^1.0.3" + }, + "devDependencies": { + "@angular/cli": "1.6.5", + "@angular/compiler-cli": "^5.2.9", + "@types/jasmine": "~2.8.5", + "@types/jasminewd2": "~2.0.3", + "@types/node": "~8.0.0", + "codelyzer": "^4.2.1", + "jasmine-core": "~2.8.0", + "jasmine-spec-reporter": "~4.2.1", + "karma": "^2.0.0", + "karma-chrome-launcher": "^2.2.0", + "karma-cli": "^1.0.1", + "karma-jasmine": "^1.1.1", + "karma-jasmine-html-reporter": "^0.2.2", + "karma-coverage-istanbul-reporter": "^1.4.2", + "protractor": "~5.3.1", + "ts-node": "~4.0.1", + "tslint": "~5.9.1", + "typescript": "~2.5.3" + }, + "description": "This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.3.0.", + "main": "karma.conf.js", + "repository": { + "type": "git", + "url": "https://git.loafle.net/overflow/member_webapp" + }, + "keywords": [], + "author": "Lee Yong Hee " +} diff --git a/protractor.conf.js b/protractor.conf.js new file mode 100644 index 0000000..7ee3b5e --- /dev/null +++ b/protractor.conf.js @@ -0,0 +1,28 @@ +// Protractor configuration file, see link for more information +// https://github.com/angular/protractor/blob/master/lib/config.ts + +const { SpecReporter } = require('jasmine-spec-reporter'); + +exports.config = { + allScriptsTimeout: 11000, + specs: [ + './e2e/**/*.e2e-spec.ts' + ], + capabilities: { + 'browserName': 'chrome' + }, + directConnect: true, + baseUrl: 'http://localhost:4200/', + framework: 'jasmine', + jasmineNodeOpts: { + showColors: true, + defaultTimeoutInterval: 30000, + print: function() {} + }, + onPrepare() { + require('ts-node').register({ + project: 'e2e/tsconfig.e2e.json' + }); + jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); + } +}; diff --git a/src/@loafer/core/error.ts b/src/@loafer/core/error.ts new file mode 100644 index 0000000..e1e727b --- /dev/null +++ b/src/@loafer/core/error.ts @@ -0,0 +1,6 @@ +export class IllegalArgumentError extends Error { + public constructor(message?: string) { + super(message); + Object.setPrototypeOf(this, new.target.prototype); + } +} diff --git a/src/@loafer/core/index.ts b/src/@loafer/core/index.ts new file mode 100644 index 0000000..b38ebc9 --- /dev/null +++ b/src/@loafer/core/index.ts @@ -0,0 +1 @@ +export * from './type'; diff --git a/src/@loafer/core/reflect/AccessibleObject.ts b/src/@loafer/core/reflect/AccessibleObject.ts new file mode 100644 index 0000000..5e31fab --- /dev/null +++ b/src/@loafer/core/reflect/AccessibleObject.ts @@ -0,0 +1,64 @@ +import { + Type, +} from '../type'; + +import { + TypeUtil, +} from '../util/TypeUtil'; + +import { AnnotatedElement } from './AnnotatedElement'; +import { Annotation } from './Annotation'; + +export abstract class AccessibleObject implements AnnotatedElement { + private _annotations: Map, Annotation>; + + protected constructor() { + this._annotations = new Map(); + } + + public _addAnnotation(annotation: AnnotationType): void { + this._annotations.set(TypeUtil.getType(annotation), annotation); + } + + public isAnnotationPresent(annotationClass: Type): boolean { + return null !== this.getAnnotation(annotationClass); + } + + public getOwnAnnotation(annotationClass: Type): AnnotationType | undefined { + return this._annotations.get(annotationClass); + } + + public getOwnAnnotations(): Map, Annotation> { + return this._annotations; + } + + public getOwnAnnotationsByType(annotationClass: Type) + : AnnotationType[] | undefined { + if (0 === this._annotations.size) { + return undefined; + } + const results: AnnotationType[] = []; + for (const classType of Array.from(this._annotations.keys())) { + if (classType === annotationClass) { + results.push(this._annotations.get(classType)); + } + } + if (0 === results.length) { + return undefined; + } + return results; + } + + public getAnnotation(annotationClass: Type): AnnotationType | undefined { + return this.getOwnAnnotation(annotationClass); + } + + public getAnnotations(): Map, Annotation> { + return this.getOwnAnnotations(); + } + + public getAnnotationsByType(annotationClass: Type) + : AnnotationType[] | undefined { + return this.getOwnAnnotationsByType(annotationClass); + } +} diff --git a/src/@loafer/core/reflect/AnnotatedElement.ts b/src/@loafer/core/reflect/AnnotatedElement.ts new file mode 100644 index 0000000..3cd1663 --- /dev/null +++ b/src/@loafer/core/reflect/AnnotatedElement.ts @@ -0,0 +1,17 @@ +import { + Type, +} from '../type'; + +import { Annotation } from './Annotation'; + +export interface AnnotatedElement { + _addAnnotation(annotation: AnnotationType): void; + + isAnnotationPresent(annotationClass: Type): boolean; + getOwnAnnotation(annotationClass: Type): AnnotationType | undefined; + getOwnAnnotations(): Map, Annotation>; + getOwnAnnotationsByType(annotationClass: Type): AnnotationType[] | undefined; + getAnnotation(annotationClass: Type): AnnotationType | undefined; + getAnnotations(): Map, Annotation>; + getAnnotationsByType(annotationClass: Type): AnnotationType[] | undefined; +} diff --git a/src/@loafer/core/reflect/Annotation.ts b/src/@loafer/core/reflect/Annotation.ts new file mode 100644 index 0000000..7155b2d --- /dev/null +++ b/src/@loafer/core/reflect/Annotation.ts @@ -0,0 +1,7 @@ +export abstract class Annotation { + public readonly attribute: Attribute; + + public constructor(attribute?: Attribute) { + this.attribute = attribute; + } +} diff --git a/src/@loafer/core/reflect/Class.ts b/src/@loafer/core/reflect/Class.ts new file mode 100644 index 0000000..4e4636d --- /dev/null +++ b/src/@loafer/core/reflect/Class.ts @@ -0,0 +1,228 @@ +import { + Type, + PropertyKeyType, +} from '../type'; + +import { + TypeUtil, +} from '../util/TypeUtil'; + +import { AccessibleObject } from './AccessibleObject'; +import { Annotation } from './Annotation'; +import { SystemClassRegistry } from './ClassRegistry'; +import { Constructor } from './Constructor'; +import { Field } from './Field'; +import { Method } from './Method'; +import { Metadata } from './Metadata'; + + + +export class Class extends AccessibleObject { + private _type: Type; + private _constructor: Constructor; + private _fields: Map; + private _methods: Map; + + /** + * forClass + */ + public static forType(type: Type): Class | undefined { + return SystemClassRegistry.get(type); + } + + /** + * _defineClass + */ + public static _defineClass(type: Type): Class { + let clazz: Class = Class.forType(type); + if (undefined === clazz) { + clazz = new Class(type); + SystemClassRegistry.set(type, clazz); + } + + if (null === clazz._constructor) { + const parameterTypes = Metadata.getOwnParamTypes(type); + if (undefined !== parameterTypes) { + clazz._constructor = new Constructor(clazz, parameterTypes); + } + } + + return clazz; + } + + private constructor(type: Type) { + super(); + this._type = type; + this._fields = new Map(); + this._methods = new Map(); + } + + /** + * _defineField + */ + public _defineConstructor(parameterTypes: any[]): Constructor { + let cons: Constructor = this._constructor; + if (undefined === cons) { + cons = new Constructor(this, parameterTypes); + this._constructor = cons; + } + return cons; + } + + /** + * _defineField + */ + public _defineField(propertyKey: PropertyKeyType, propertyType: any): Field { + let field: Field = this._fields.get(propertyKey); + if (undefined === field) { + field = new Field(this, propertyKey, propertyType); + this._fields.set(propertyKey, field); + } + return field; + } + + /** + * _defineMethod + */ + public _defineMethod(propertyKey: PropertyKeyType, parameterTypes: any[], returnType: any): Method { + let method: Method = this._methods.get(propertyKey); + if (undefined === method) { + method = new Method(this, propertyKey, parameterTypes, returnType); + this._methods.set(propertyKey, method); + } + return method; + } + + public getType(): Type { + return this._type; + } + + public getConstructor(): Constructor { + if (undefined === this._constructor) { + this._constructor = new Constructor(this, undefined); + } + return this._constructor; + } + + public getOwnField(propertyKey: PropertyKeyType): Field | undefined { + return this._fields.get(propertyKey); + } + + public getOwnFields(): Map { + return this._fields; + } + + public getField(propertyKey: PropertyKeyType): Field | undefined { + const fields = this.getFields(); + + return fields.get(propertyKey); + } + + public getFields(): Map { + const fields: Map = new Map(); + + const types = TypeUtil.ancestorsOf(this._type); + if (null === types || 0 === types.length) { + return fields; + } + for (let i = 0; i < types.length; i++) { + const tType = types[i]; + const tClazz = Class.forType(tType); + if (undefined === tClazz) { + continue; + } + + tClazz.getOwnFields().forEach((value: Field, key: PropertyKeyType, map: Map): void => { + fields.set(key, value); + }); + } + + return fields; + } + + public getOwnMethod(propertyKey: PropertyKeyType): Method | undefined { + return this._methods.get(propertyKey); + } + + public getOwnMethods(): Map { + return this._methods; + } + + public getMethod(propertyKey: PropertyKeyType): Method | undefined { + const methods = this.getMethods(); + + return methods.get(propertyKey); + } + + public getMethods(): Map { + const methods: Map = new Map(); + + const types = TypeUtil.ancestorsOf(this._type); + if (null === types || 0 === types.length) { + return methods; + } + for (let i = 0; i < types.length; i++) { + const tClazzType = types[i]; + const tClazz = Class.forType(tClazzType); + if (undefined === tClazz) { + continue; + } + + tClazz.getOwnMethods().forEach((value: Method, key: PropertyKeyType, map: Map): void => { + methods.set(key, value); + }); + } + + return methods; + } + + public getAnnotation(annotationClass: Type): AnnotationType | undefined { + const annotations = this.getAnnotations(); + + return annotations.get(annotationClass); + } + + public getAnnotations(): Map, Annotation> { + const annotations: Map, Annotation> = new Map(); + + const types = TypeUtil.ancestorsOf(this._type); + if (null === types || 0 === types.length) { + return annotations; + } + for (let i = 0; i < types.length; i++) { + const tClazzType = types[i]; + const tClazz = Class.forType(tClazzType); + if (undefined === tClazz) { + continue; + } + + tClazz.getOwnAnnotations().forEach((value: Annotation, key: Type, map: Map, Annotation>): void => { + annotations.set(key, value); + }); + } + + return annotations; + } + + public getAnnotationsByType(annotationClass: Type) + : AnnotationType[] | undefined { + const annotations = this.getAnnotations(); + if (0 === annotations.size) { + return undefined; + } + const results: AnnotationType[] = []; + for (const classType of Array.from(annotations.keys())) { + if (classType === annotationClass) { + results.push(annotations.get(classType)); + } + } + if (0 === results.length) { + return undefined; + } + return results; + } + + public getName(): string { + return this._type.name; + } +} diff --git a/src/@loafer/core/reflect/ClassRegistry.ts b/src/@loafer/core/reflect/ClassRegistry.ts new file mode 100644 index 0000000..b559da1 --- /dev/null +++ b/src/@loafer/core/reflect/ClassRegistry.ts @@ -0,0 +1,12 @@ +import { Type } from '../type'; +import { Registry } from '../util/Registry'; + +import { Class } from './Class'; + +export class ClassRegistry extends Registry, Class> { + public constructor(parent?: ClassRegistry) { + super(parent); + } +} + +export const SystemClassRegistry = new ClassRegistry(); diff --git a/src/@loafer/core/reflect/Constructor.ts b/src/@loafer/core/reflect/Constructor.ts new file mode 100644 index 0000000..f68b523 --- /dev/null +++ b/src/@loafer/core/reflect/Constructor.ts @@ -0,0 +1,26 @@ +import { + PropertyKeyType, +} from '../type'; + +import { + TypeUtil, +} from '../util/TypeUtil'; + +import { Class } from './Class'; +import { Executable } from './Executable'; + +export class Constructor extends Executable { + private _rawConstructor: Function; + + public constructor(declaringClazz: Class, parameterTypes?: any[]) { + super(declaringClazz, CONSTRUCTOR_NAME, parameterTypes); + this._rawConstructor = TypeUtil.getPrototype(declaringClazz.getType())[CONSTRUCTOR_NAME]; + } + + public newInstance(...args: any[]): any { + const ctor = this.getDeclaringClass().getType(); + return new (ctor.bind.apply(ctor, [null].concat(args)))(); + } +} + +const CONSTRUCTOR_NAME = 'constructor'; diff --git a/src/@loafer/core/reflect/Executable.ts b/src/@loafer/core/reflect/Executable.ts new file mode 100644 index 0000000..8f4cc01 --- /dev/null +++ b/src/@loafer/core/reflect/Executable.ts @@ -0,0 +1,75 @@ +import { + PropertyKeyType, +} from '../type'; + +import { + TypeUtil, +} from '../util/TypeUtil'; + +import { AccessibleObject } from './AccessibleObject'; +import { Class } from './Class'; +import { Member } from './Member'; +import { Parameter } from './Parameter'; + +export abstract class Executable extends AccessibleObject implements Member { + private _clazz: Class; + private _name: PropertyKeyType; + private _parameters: Parameter[]; + + protected constructor(declaringClazz: Class, name: PropertyKeyType, parameterTypes?: any[]) { + super(); + + this._clazz = declaringClazz; + this._name = name; + + if (undefined === parameterTypes) { + return; + } + + const parameterNames = TypeUtil.getParameterNames(declaringClazz.getType(), name); + this._parameters = []; + + for (let i = 0; i < parameterTypes.length; i++) { + const parameterType = parameterTypes[i]; + const parameterName = parameterNames[i]; + const parameter: Parameter = new Parameter(this, parameterType, parameterName, i); + this._parameters.push(parameter); + } + } + + public getDeclaringClass(): Class { + return this._clazz; + } + + public getName(): PropertyKeyType { + return this._name; + } + + /** + * getParameterCount + */ + public getParameterCount(): number { + if (null === this._parameters) { + return 0; + } + return this._parameters.length; + } + /** + * getParameters + */ + public getParameters(): Parameter[] | undefined { + return this._parameters; + } + /** + * getParameter + */ + public getParameter(index: number): Parameter | undefined { + if (null === this._parameters) { + return undefined; + } + if (0 > index || this._parameters.length <= index) { + return undefined; + } + return this._parameters[index]; + } +} diff --git a/src/@loafer/core/reflect/Field.ts b/src/@loafer/core/reflect/Field.ts new file mode 100644 index 0000000..9e0cbbe --- /dev/null +++ b/src/@loafer/core/reflect/Field.ts @@ -0,0 +1,33 @@ +import { + PropertyKeyType, +} from '../type'; + +import { AccessibleObject } from './AccessibleObject'; +import { Class } from './Class'; +import { Member } from './Member'; + +export class Field extends AccessibleObject implements Member { + private _clazz: Class; + private _name: PropertyKeyType; + private _type: any; + + public constructor(declaringClazz: Class, name: PropertyKeyType, fieldType: any) { + super(); + this._clazz = declaringClazz; + this._name = name; + this._type = fieldType; + } + + public getDeclaringClass(): Class { + return this._clazz; + } + + public getName(): PropertyKeyType { + return this._name; + } + + public getType(): any { + return this._type; + } + +} diff --git a/src/@loafer/core/reflect/Member.ts b/src/@loafer/core/reflect/Member.ts new file mode 100644 index 0000000..f3b045f --- /dev/null +++ b/src/@loafer/core/reflect/Member.ts @@ -0,0 +1,10 @@ +import { + PropertyKeyType, +} from '../type'; + +import { Class } from './Class'; + +export interface Member { + getDeclaringClass(): Class; + getName(): PropertyKeyType; +} diff --git a/src/@loafer/core/reflect/Metadata.ts b/src/@loafer/core/reflect/Metadata.ts new file mode 100644 index 0000000..caab825 --- /dev/null +++ b/src/@loafer/core/reflect/Metadata.ts @@ -0,0 +1,521 @@ +import { + MetadataKeyType, + PropertyKeyType, +} from '../type'; + +import { TypeUtil } from '../util/TypeUtil'; + + +export class Metadata { + /** + * Gets the metadata value for the provided metadata key on the target object or its prototype chain. + * @param key A key used to store and retrieve metadata. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // constructor + * result = Metadata.get("custom:annotation", Example); + * + * // property (on constructor) + * result = Metadata.get("custom:annotation", Example, "staticProperty"); + * + * // property (on prototype) + * result = Metadata.get("custom:annotation", Example.prototype, "property"); + * + * // method (on constructor) + * result = Metadata.get("custom:annotation", Example, "staticMethod"); + * + * // method (on prototype) + * result = Metadata.get("custom:annotation", Example.prototype, "method"); + * ``` + * + */ + public static get(key: MetadataKeyType, target: any, propertyKey?: PropertyKeyType): any { + return Reflect.getMetadata(key, TypeUtil.getType(target), propertyKey); + } + + /** + * Gets the metadata value for the provided metadata key on the target object or its prototype chain. + * @param key A key used to store and retrieve metadata. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // constructor + * result = Metadata.getOwn("custom:annotation", Example); + * + * // property (on constructor) + * result = Metadata.getOwn("custom:annotation", Example, "staticProperty"); + * + * // property (on prototype) + * result = Metadata.getOwn("custom:annotation", Example.prototype, "property"); + * + * // method (on constructor) + * result = Metadata.getOwn("custom:annotation", Example, "staticMethod"); + * + * // method (on prototype) + * result = Metadata.getOwn("custom:annotation", Example.prototype, "method"); + * ``` + * + */ + public static getOwn(key: MetadataKeyType, target: any, propertyKey?: PropertyKeyType): any { + return Reflect.getOwnMetadata(key, TypeUtil.getType(target), propertyKey); + } + + /** + * Gets the metadata value for the provided metadata DESIGN_TYPE on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.getType(Example); + * + * // property (on constructor) + * result = Metadata.getType(Example, "staticProperty"); + * + * // method (on constructor) + * result = Metadata.getType(Example, "staticMethod"); + * ``` + * + */ + public static getType(target: any, propertyKey?: PropertyKeyType): any { + return Reflect.getMetadata(DESIGN_TYPE, target, propertyKey); + } + + /** + * Gets the metadata value for the provided metadata DESIGN_TYPE on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.getOwnType(Example); + * + * // property (on constructor) + * result = Metadata.getOwnType(Example, "staticProperty"); + * + * // method (on constructor) + * result = Metadata.getOwnType(Example, "staticMethod"); + * ``` + * + */ + public static getOwnType(target: any, propertyKey?: PropertyKeyType): any { + return Reflect.getMetadata(DESIGN_TYPE, target, propertyKey); + } + + /** + * Gets the metadata value for the provided metadata DESIGN_RETURN_TYPE on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.getReturnType(Example); + * + * // property (on constructor) + * result = Metadata.getReturnType(Example, "staticProperty"); + * + * // method (on constructor) + * result = Metadata.getReturnType(Example, "staticMethod"); + * ``` + * + */ + public static getReturnType(target: any, propertyKey?: PropertyKeyType): any { + return Reflect.getMetadata(DESIGN_RETURN_TYPE, target, propertyKey); + } + + /** + * Gets the metadata value for the provided metadata DESIGN_RETURN_TYPE on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.getOwnReturnType(Example); + * + * // property (on constructor) + * result = Metadata.getOwnReturnType(Example, "staticProperty"); + * + * // method (on constructor) + * result = Metadata.getOwnReturnType(Example, "staticMethod"); + * ``` + * + */ + public static getOwnReturnType(target: any, propertyKey?: PropertyKeyType): any { + return Reflect.getOwnMetadata(DESIGN_RETURN_TYPE, target, propertyKey); + } + + /** + * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined. + * @param key A key used to store and retrieve metadata. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // constructor + * result = Metadata.has("custom:annotation", Example); + * + * // property (on constructor) + * result = Metadata.has("custom:annotation", Example, "staticProperty"); + * + * // property (on prototype) + * result = Metadata.has("custom:annotation", Example.prototype, "property"); + * + * // method (on constructor) + * result = Metadata.has("custom:annotation", Example, "staticMethod"); + * + * // method (on prototype) + * result = Metadata.has("custom:annotation", Example.prototype, "method"); + * ``` + * + */ + public static has(key: MetadataKeyType, target: any, propertyKey?: PropertyKeyType): boolean { + return Reflect.hasMetadata(key, TypeUtil.getType(target), propertyKey); + } + + /** + * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined. + * @param key A key used to store and retrieve metadata. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // constructor + * result = Metadata.has("custom:annotation", Example); + * + * // property (on constructor) + * result = Metadata.hasOwn("custom:annotation", Example, "staticProperty"); + * + * // property (on prototype) + * result = Metadata.hasOwn("custom:annotation", Example.prototype, "property"); + * + * // method (on constructor) + * result = Metadata.hasOwn("custom:annotation", Example, "staticMethod"); + * + * // method (on prototype) + * result = Metadata.hasOwn("custom:annotation", Example.prototype, "method"); + * ``` + * + */ + public static hasOwn(key: MetadataKeyType, target: any, propertyKey?: PropertyKeyType): boolean { + return Reflect.hasOwnMetadata(key, TypeUtil.getType(target), propertyKey); + } + + /** + * Deletes the metadata entry from the target object with the provided key. + * @param key A key used to store and retrieve metadata. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns `true` if the metadata entry was found and deleted; otherwise, false. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // constructor + * result = Metadata.delete("custom:annotation", Example); + * + * // property (on constructor) + * result = Metadata.delete("custom:annotation", Example, "staticProperty"); + * + * // property (on prototype) + * result = Metadata.delete("custom:annotation", Example.prototype, "property"); + * + * // method (on constructor) + * result = Metadata.delete("custom:annotation", Example, "staticMethod"); + * + * // method (on prototype) + * result = Metadata.delete("custom:annotation", Example.prototype, "method"); + * ``` + * + */ + public static delete(key: MetadataKeyType, target: any, propertyKey?: PropertyKeyType): boolean { + return Reflect.deleteMetadata(key, TypeUtil.getType(target), propertyKey); + } + + /** + * Set the metadata value for the provided metadata DESIGN_PARAM_TYPES on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @param value A value that contains attached metadata. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.setParamTypes(Example, undefined, [Object]); + * + * // property (on constructor) + * result = Metadata.setParamTypes(Example, "staticProperty", [Object]); + * + * // property (on prototype) + * result = Metadata.setParamTypes(Example.prototype, "property", [Object]); + * + * // method (on constructor) + * result = Metadata.setParamTypes(Example, "staticMethod", [Object]); + * + * // method (on prototype) + * result = Metadata.setParamTypes(Example.prototype, "method", [Object]); + * ``` + * + */ + public static setParamTypes(target: any, propertyKey: PropertyKeyType, value: any): void { + return this.set(DESIGN_PARAM_TYPES, value, target.prototype, propertyKey); + } + + /** + * Get all metadata for a metadataKey. + * @param metadataKey + */ + public static getTargetsFromPropertyKey = (metadataKey: MetadataKeyType): any[] => + PROPERTIES.has(metadataKey) ? PROPERTIES.get(metadataKey) || [] : [] + + /** + * Define a unique metadata entry on the target. + * @param key A key used to store and retrieve metadata. + * @param value A value that contains attached metadata. + * @param target The target object on which to define metadata. + * @param propertyKey The property key for the target. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // constructor + * Reflect.defineMetadata("custom:annotation", options, Example); + * + * // property (on constructor) + * Reflect.defineMetadata("custom:annotation", Number, Example, "staticProperty"); + * + * // property (on prototype) + * Reflect.defineMetadata("custom:annotation", Number, Example.prototype, "property"); + * + * // method (on constructor) + * Reflect.defineMetadata("custom:annotation", Number, Example, "staticMethod"); + * + * // method (on prototype) + * Reflect.defineMetadata("custom:annotation", Number, Example.prototype, "method"); + * + * // decorator factory as metadata-producing annotation. + * function MyAnnotation(options): PropertyDecorator { + * return (target, key) => Reflect.defineMetadata("custom:annotation", options, target, key); + * } + * ``` + * + */ + public static set(key: MetadataKeyType, value: any, target: any, propertyKey?: PropertyKeyType): void { + + const targets: any[] = PROPERTIES.has(key) ? PROPERTIES.get(key) || [] : []; + const classConstructor = TypeUtil.getType(target); + + if (targets.indexOf(classConstructor) === -1) { + targets.push(classConstructor); + PROPERTIES.set(key, targets); + } + + Reflect.defineMetadata(key, value, TypeUtil.getType(target), propertyKey); + } + + /** + * Gets the metadata value for the provided metadata DESIGN_PARAM_TYPES on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.getParamTypes(Example); + * + * // property (on constructor) + * result = Metadata.getParamTypes(Example, "staticProperty"); + * + * // method (on constructor) + * result = Metadata.getParamTypes(Example, "staticMethod"); + * ``` + * + */ + public static getParamTypes(target: any, propertyKey?: PropertyKeyType): any[] { + return Reflect.getMetadata(DESIGN_PARAM_TYPES, target, propertyKey); + } + + /** + * Gets the metadata value for the provided metadata DESIGN_PARAM_TYPES on the target object or its prototype chain. + * @param target The target object on which the metadata is defined. + * @param propertyKey The property key for the target. + * @returns The metadata value for the metadata key if found; otherwise, `undefined`. + * @example + * + * ```typescript + * class Example { + * // property declarations are not part of ES6, though they are valid in TypeScript: + * // static staticProperty; + * // property; + * + * static staticMethod(p) { } + * method(p) { } + * } + * + * // on contructor + * result = Metadata.getParamTypes(Example); + * + * // property (on constructor) + * result = Metadata.getParamTypes(Example, "staticProperty"); + * + * // method (on constructor) + * result = Metadata.getParamTypes(Example, "staticMethod"); + * ``` + * + */ + public static getOwnParamTypes(target: any, propertyKey?: PropertyKeyType): any[] { + return Reflect.getOwnMetadata(DESIGN_PARAM_TYPES, target, propertyKey); + } +} + + +/** + * Metadata key + * @private + * @type {string} + */ +const DESIGN_PARAM_TYPES = 'design:paramtypes'; +/** + * Metadata key + * @private + * @type {string} + */ +const DESIGN_TYPE = 'design:type'; +/** + * Metadata key + * @private + * @type {string} + */ +const DESIGN_RETURN_TYPE = 'design:returntype'; +/** + * Properties collections + * @private + * @type {string} + */ +const PROPERTIES: Map = new Map(); diff --git a/src/@loafer/core/reflect/Method.ts b/src/@loafer/core/reflect/Method.ts new file mode 100644 index 0000000..82997c6 --- /dev/null +++ b/src/@loafer/core/reflect/Method.ts @@ -0,0 +1,29 @@ +import { + PropertyKeyType, +} from '../type'; + +import { + TypeUtil, +} from '../util/TypeUtil'; + +import { Class } from './Class'; +import { Executable } from './Executable'; + +export class Method extends Executable { + private _returnType: any; + private _rawMethod: Function; + + public constructor(declaringClazz: Class, name: PropertyKeyType, parameterTypes: any[], returnType: any) { + super(declaringClazz, name, parameterTypes); + this._returnType = returnType; + this._rawMethod = TypeUtil.getPrototype(declaringClazz.getType())[name]; + } + + public getReturnType(): any { + return this._returnType; + } + + public invoke(instance: Object, ...args: any[]): any { + return this._rawMethod.apply(instance, args); + } +} diff --git a/src/@loafer/core/reflect/Parameter.ts b/src/@loafer/core/reflect/Parameter.ts new file mode 100644 index 0000000..19d515a --- /dev/null +++ b/src/@loafer/core/reflect/Parameter.ts @@ -0,0 +1,33 @@ +import { AccessibleObject } from './AccessibleObject'; +import { Executable } from './Executable'; + +export class Parameter extends AccessibleObject { + private _executable: Executable; + private _type: any; + private _index: number; + private _name: string; + + public constructor(executable: Executable, parameterType: any, name: string, index: number) { + super(); + this._executable = executable; + this._type = parameterType; + this._name = name; + this._index = index; + } + + public getDeclaringExecutable(): Executable { + return this._executable; + } + + public getType(): any { + return this._type; + } + + public getName(): string { + return this._name; + } + + public getIndex(): number { + return this._index; + } +} diff --git a/src/@loafer/core/reflect/index.ts b/src/@loafer/core/reflect/index.ts new file mode 100644 index 0000000..0dbbe0f --- /dev/null +++ b/src/@loafer/core/reflect/index.ts @@ -0,0 +1,12 @@ +export * from './AccessibleObject'; +export * from './AnnotatedElement'; +export * from './Annotation'; +export * from './Class'; +export * from './Constructor'; + +export * from './Executable'; +export * from './Field'; +export * from './Member'; +export * from './Metadata'; +export * from './Method'; +export * from './Parameter'; diff --git a/src/@loafer/core/type.ts b/src/@loafer/core/type.ts new file mode 100644 index 0000000..e1683d4 --- /dev/null +++ b/src/@loafer/core/type.ts @@ -0,0 +1,16 @@ +export declare const Type: FunctionConstructor; +export declare function isType(v: any): v is Type; +export interface Type extends Function { + new (...args: any[]): T; +} + +export declare type IdentityType = T | symbol; +export declare type PropertyKeyType = IdentityType; +export declare type MetadataKeyType = IdentityType; + +export enum PrimitiveType { + ANY = 'any', + STRING = 'string', + NUMBER = 'number', + BOOLEAN = 'boolean', +} diff --git a/src/@loafer/core/util/AnnotationUtil.ts b/src/@loafer/core/util/AnnotationUtil.ts new file mode 100644 index 0000000..c070cb3 --- /dev/null +++ b/src/@loafer/core/util/AnnotationUtil.ts @@ -0,0 +1,39 @@ +import { Class, Annotation } from '../reflect'; +import { Type } from '../type'; + +export abstract class AnnotationUtils { + public static hasAnnotation(type: Type, annotationClass: Type): boolean { + const annotation = AnnotationUtils.getAnnotation(type, annotationClass); + if (undefined !== annotation) { + return true; + } + return false; + } + + public static getAnnotation(type: Type, annotationClass: Type): T | undefined { + const clazz = Class.forType(type); + if (undefined === clazz) { + return undefined; + } + + const annotations = clazz.getAnnotations(); + if (0 === annotations.size) { + return undefined; + } + + for (const annonClassType of Array.from(annotations.keys())) { + if (annonClassType === annotationClass) { + return annotations.get(annonClassType); + } + const annotation = AnnotationUtils.getAnnotation(annonClassType, annotationClass); + if (undefined !== annotation) { + return annotation; + } + } + + return undefined; + } + + + +} diff --git a/src/@loafer/core/util/Registry.ts b/src/@loafer/core/util/Registry.ts new file mode 100644 index 0000000..1e0428d --- /dev/null +++ b/src/@loafer/core/util/Registry.ts @@ -0,0 +1,66 @@ +export abstract class Registry { + private _parent: Registry; + private _map: Map; + + protected constructor(parent?: Registry) { + this._parent = parent; + this._map = new Map(); + } + + public get parent(): Registry | undefined { + return this._parent; + } + + public get size(): number { + return this._map.size; + } + + public get(key: K): V | undefined { + let v = this._map.get(key); + if (undefined === v && undefined !== this._parent) { + v = this._parent.get(key); + } + + return v; + } + + public has(key: K): boolean { + let exist = this._map.has(key); + if (!exist && undefined !== this._parent) { + exist = this._parent.has(key); + } + return exist; + } + + public set(key: K, value: V): void { + this._map.set(key, value); + } + + public entries(): IterableIterator<[K, V]> { + return this._map.entries(); + } + + public keys(): IterableIterator { + return this._map.keys(); + } + + public values(): IterableIterator { + return this._map.values(); + } + + public clear(): void { + this._map.clear(); + } + + public delete(key: K): boolean { + let result = this._map.delete(key); + if (!result && undefined !== this._parent) { + result = this._parent.delete(key); + } + return result; + } + + public forEach(callback: (vlaue: V, key: K, map: Map) => void, thisArg?: any): void { + this._map.forEach(callback, thisArg); + } +} diff --git a/src/@loafer/core/util/TypeUtil.ts b/src/@loafer/core/util/TypeUtil.ts new file mode 100644 index 0000000..2161fd4 --- /dev/null +++ b/src/@loafer/core/util/TypeUtil.ts @@ -0,0 +1,407 @@ +import { + Type, + PrimitiveType, + PropertyKeyType, +} from '../type'; + + +export class TypeUtil { + /** + * Get the provide constructor. + * @param target + */ + public static getContructor(target: any): Type { + return typeof target === 'function' ? target : target.constructor; + } + + /** + * Get the provide constructor if target is an instance. + * @param target + * @returns {*} + */ + public static getType(target: any): Type { + return target.prototype ? target : target.constructor; + } + + /** + * Get the provide prototype if target is an instance. + * @param target + * @returns {*} + */ + public static getPrototype(target: any): Object { + return typeof target === 'function' ? target.prototype : target; + } + + /** + * + * @param target + * @returns {symbol} + */ + public static getTypeOrSymbol(target: any): any { + return typeof target === 'symbol' ? target : TypeUtil.getType(target); + } + + /** + * Return true if the given obj is a primitive. + * @param target + * @returns {boolean} + */ + public static isPrimitiveOrPrimitiveType(target: any): boolean { + return TypeUtil.isString(target) + || TypeUtil.isNumber(target) + || TypeUtil.isBoolean(target); + } + + /** + * + * @param target + * @returns {PrimitiveType} + */ + public static primitiveOf(target: any): PrimitiveType { + if (TypeUtil.isString(target)) { + return PrimitiveType.STRING; + } + if (TypeUtil.isNumber(target)) { + return PrimitiveType.NUMBER; + } + if (TypeUtil.isBoolean(target)) { + return PrimitiveType.BOOLEAN; + } + return PrimitiveType.ANY; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isString(target: any): boolean { + return typeof target === 'string' || target instanceof String || target === String; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isNumber(target: any): boolean { + return typeof target === 'number' || target instanceof Number || target === Number; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isBoolean(target: any): boolean { + return typeof target === 'boolean' || target instanceof Boolean || target === Boolean; + } + + /** + * + * @param target + * @returns {Boolean} + */ + public static isArray(target: any): boolean { + return Array.isArray(target); + } + + /** + * Return true if the clazz is an array. + * @param target + * @returns {boolean} + */ + public static isArrayOrArrayType(target: any): boolean { + if (target === Array) { + return true; + } + return TypeUtil.isArray(target); + } + + /** + * Return true if the target. + * @param target + * @returns {boolean} + */ + public static isCollection(target: any): boolean { + return TypeUtil.isArrayOrArrayType(target) + || target === Map + || target instanceof Map + || target === Set + || target instanceof Set + || target === WeakMap + || target instanceof WeakMap + || target === WeakSet + || target instanceof WeakSet; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isDate(target: any): boolean { + return target === Date || target instanceof Date; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isMethod(target: any, propertyKey: PropertyKeyType): boolean { + if (typeof(target[propertyKey]) === undefined) { + return false; + } + return typeof target[propertyKey] === 'function'; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isObject(target: any): boolean { + return target === Object; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isType(target: any): boolean { + return !TypeUtil.isPrimitiveOrPrimitiveType(target) + && !TypeUtil.isObject(target) + && !TypeUtil.isDate(target) + && target !== undefined + && !TypeUtil.isPromise(target); + } + + /** + * Return true if the value is an empty string, null or undefined. + * @param value + * @returns {boolean} + */ + public static isEmpty(value: any): boolean { + return value === '' || value === null || value === undefined; + } + + /** + * Get object name + */ + public static nameOf(obj: any): string { + switch (typeof obj) { + default: + return '' + obj; + case 'symbol': + return TypeUtil.nameOfSymbol(obj); + case 'function': + return TypeUtil.nameOfType(obj); + } + } + + /** + * Get the provide name. + * @param target + */ + public static nameOfType(target: any): string { + return typeof target === 'function' + ? target.name + : target.constructor.name; + } + /** + * Get symbol name. + * @param sym + */ + public static nameOfSymbol(sym: symbol): string { + return sym.toString().replace('Symbol(', '').replace(')', ''); + } + /** + * + * @param out + * @param obj + * @param {{[p: string]: (collection: any[], value: any) => any}} reducers + * @returns {any} + */ + public static deepExtends(out: any, obj: any, reducers: { [key: string]: (collection: any[], value: any) => any } = {}): any { + + if (obj === undefined || obj === null) { + return obj; + } + + if (TypeUtil.isPrimitiveOrPrimitiveType(obj) || typeof obj === 'symbol' || typeof obj === 'function') { + return obj; + } + + if (TypeUtil.isArrayOrArrayType(obj)) { + out = out || []; + } else { + out = out || {}; + } + + const defaultReducer = reducers.default ? reducers.default : (collection: any[], value: any) => { + collection.push(value); + return collection; + }; + const set = (key: string | number, value: any) => { + if (TypeUtil.isArrayOrArrayType(obj)) { + out.push(value); + } else { + out[key] = value; + } + }; + + Object.keys(obj).forEach(key => { + let value = obj[key]; + + if (value === undefined || value === null) { + return; + } + + if (value === '' && out[key] !== '') { + return; + } + + if (TypeUtil.isPrimitiveOrPrimitiveType(value) || typeof value === 'function') { + set(key, value); + return; + } + + if (TypeUtil.isArrayOrArrayType(value)) { + + value = value.map((v: any) => TypeUtil.deepExtends(undefined, v)); + + set(key, [] + .concat(out[key] || [], value) + .reduce((collection: any[], v: any) => + reducers[key] ? reducers[key](collection, v) : defaultReducer(collection, v), + [])); + return; + } + + // Object + if (TypeUtil.isArrayOrArrayType(obj)) { + set(key, TypeUtil.deepExtends(undefined, value, reducers)); + } else { + set(key, TypeUtil.deepExtends(out[key], value, reducers)); + } + }); + + if (TypeUtil.isArrayOrArrayType(out)) { + out.reduce((collection: any[], value: any) => defaultReducer(collection, value), []); + } + + return out; + } + + /** + * + * @param target + * @returns {boolean} + */ + public static isPromise(target: any): boolean { + return target === Promise || target instanceof Promise; + } + + /** + * + * @param target + * @returns {any} + */ + public static getInheritedType(target: Type): Type { + return Object.getPrototypeOf(target); + } + + /** + * + * @param target + * @param {PropertyKeyType} propertyKey + * @returns {PropertyDescriptor} + */ + public static descriptorOf(target: any, propertyKey: PropertyKeyType): PropertyDescriptor { + return Object.getOwnPropertyDescriptor(target && target.prototype || target, propertyKey); + } + + /** + * + * @param target + * @param {PropertyKeyType} propertyKey + * @returns {string[]} + */ + public static getParameterNames(target: any, propertyKey: PropertyKeyType): string[] { + const rawType = TypeUtil.getPrototype(target); + const fn: Function = rawType[propertyKey]; + + const code = fn.toString() + .replace(COMMENTS, '') + .replace(FAT_ARROWS, '') + .replace(DEFAULT_PARAMS, ''); + + const result = code.slice(code.indexOf('(') + 1, code.indexOf(')')).match(/([^\s,]+)/g); + + return result === null + ? [] + : result; + } + + /** + * + * @param target + * @returns {Array} + */ + public static ancestorsOf(target: Type): Type[] { + const classes: Type[] = []; + + let currentTarget = TypeUtil.getType(target); + + while (TypeUtil.nameOf(currentTarget) !== '') { + classes.unshift(currentTarget); + currentTarget = TypeUtil.getInheritedType(currentTarget); + } + + return classes; + } + + /** + * + * @param target + * @param {string} name + * @param {Function} callback + */ + public static applyBefore(target: any, name: string, callback: Function): void { + const original = target[name]; + target[name] = function (...args: any[]): any { + callback(...args); + return original.apply(this, args); + }; + } + + /** + * + * @param {Promise} promise + * @param {number} time + * @returns {Promise} + */ + public static promiseTimeout(promise: Promise, time: number = 1000): Promise<{ ok: boolean, response: any }> { + const timeout = (p: Promise, t: number) => new Promise((resolve) => { + p.then((response) => { + resolve(); + return response; + }); + setTimeout(() => resolve({ok: false}), t); + }); + + promise = promise.then((response) => ({ok: true, response})); + + return Promise.race([ + promise, + timeout(promise, time), + ]); + } + +} + +const COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; +const DEFAULT_PARAMS = /=[^,]+/mg; +const FAT_ARROWS = /=>.*$/mg; diff --git a/src/@loafer/decorator/Decorator.ts b/src/@loafer/decorator/Decorator.ts new file mode 100644 index 0000000..2fb4d7f --- /dev/null +++ b/src/@loafer/decorator/Decorator.ts @@ -0,0 +1,22 @@ +import { + Type, + PropertyKeyType, +} from '@loafer/core'; + +import { + Annotation, +} from '@loafer/core/reflect'; + +export interface Decorator { + classDecorator?: (target: TFunction) => TFunction | void; + propertyDecorator?: (target: Object, propertyKey: PropertyKeyType) => void; + methodDecorator?: (target: Object, propertyKey: PropertyKeyType, + descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void; + parameterDecorator?: (target: Object, propertyKey: PropertyKeyType, parameterIndex: number) => void; +} + +export abstract class Decorator extends Annotation { + public constructor(attribute?: Attribute) { + super(attribute); + } +} diff --git a/src/@loafer/decorator/DecoratorFactory.ts b/src/@loafer/decorator/DecoratorFactory.ts new file mode 100644 index 0000000..ea3a21b --- /dev/null +++ b/src/@loafer/decorator/DecoratorFactory.ts @@ -0,0 +1,107 @@ +import { + Type, + MetadataKeyType, +} from '@loafer/core'; + +import { + Annotation, + Class, + Constructor, + Field, + Method, + Parameter, + Metadata, +} from '@loafer/core/reflect'; + +import { + TypeUtil, +} from '@loafer/core/util/TypeUtil'; + +import { Decorator } from './Decorator'; +import { DecoratorUtil } from './util'; +import { DecoratorType } from './type'; +import { NotSupportedDecoratorError } from './error'; + + +export class DecoratorFactory { + public static create = (DecoratorClass: Type>) => { + return (attribute: Attribute) => { + const annotation: Decorator = new DecoratorClass(attribute); + const name: string = DecoratorClass.name; + + return (...decoratorArgs: any[]) => { + const decoratorType: DecoratorType = DecoratorUtil.getDecoratorType(decoratorArgs); + + const [target, propertyKey, descriptorOrParameterIndex] = decoratorArgs; + + const clazz: Class = Class._defineClass(TypeUtil.getType(target)); + let field: Field = null; + let method: Method = null; + let parameter: Parameter = null; + let cons: Constructor = null; + + switch (decoratorType) { + case DecoratorType.CLASS: + try { + cons = clazz._defineConstructor(Metadata.getOwnParamTypes(target)); + clazz._addAnnotation(annotation); + return annotation.classDecorator.call(annotation, target); + } catch (e) { + if (e instanceof NotSupportedDecoratorError) { + throw new NotSupportedDecoratorError(`Cannot apply @${name} decorator on Class.`); + } + throw e; + } + case DecoratorType.PROPERTY: + try { + field = clazz._defineField(propertyKey, Metadata.getOwnType(target, propertyKey)); + field._addAnnotation(annotation); + return annotation.propertyDecorator.call(annotation, target, propertyKey); + } catch (e) { + if (e instanceof NotSupportedDecoratorError) { + throw new NotSupportedDecoratorError(`Cannot apply @${name} decorator on Property.`); + } + throw e; + } + case DecoratorType.METHOD: + try { + method = clazz._defineMethod(propertyKey, + Metadata.getOwnParamTypes(target, propertyKey), + Metadata.getOwnReturnType(target, propertyKey)); + method._addAnnotation(annotation); + + return annotation.methodDecorator.call(annotation, target, propertyKey, descriptorOrParameterIndex); + } catch (e) { + if (e instanceof NotSupportedDecoratorError) { + throw new NotSupportedDecoratorError(`Cannot apply @${name} decorator on Method.`); + } + throw e; + } + case DecoratorType.PARAMETER: + try { + if (undefined === propertyKey) { + cons = clazz.getConstructor(); + parameter = cons.getParameter(descriptorOrParameterIndex); + } else { + method = clazz._defineMethod(propertyKey, + Metadata.getOwnParamTypes(target, propertyKey), + Metadata.getOwnReturnType(target, propertyKey)); + parameter = method.getParameter(descriptorOrParameterIndex); + } + parameter._addAnnotation(annotation); + + return annotation.parameterDecorator.call(annotation, target, propertyKey, descriptorOrParameterIndex); + } catch (e) { + if (e instanceof NotSupportedDecoratorError) { + throw new NotSupportedDecoratorError(`Cannot apply @${name} decorator on Parameter.`); + } + throw e; + } + default: + throw new NotSupportedDecoratorError(`Cannot determine decorator[@${name}] type.`); + } + }; + }; + } + +} diff --git a/src/@loafer/decorator/error.ts b/src/@loafer/decorator/error.ts new file mode 100644 index 0000000..5aaf4e9 --- /dev/null +++ b/src/@loafer/decorator/error.ts @@ -0,0 +1,13 @@ +export class NotSupportedDecoratorError extends Error { + public constructor(message?: string) { + super(message); + Object.setPrototypeOf(this, new.target.prototype); + } +} + +export class NotDecoratedClassError extends Error { + public constructor(message?: string) { + super(message); + Object.setPrototypeOf(this, new.target.prototype); + } +} diff --git a/src/@loafer/decorator/index.ts b/src/@loafer/decorator/index.ts new file mode 100644 index 0000000..1543e2e --- /dev/null +++ b/src/@loafer/decorator/index.ts @@ -0,0 +1,5 @@ +export * from './Decorator'; +export * from './DecoratorFactory'; +export * from './error'; +export * from './type'; +export * from './util'; diff --git a/src/@loafer/decorator/type.ts b/src/@loafer/decorator/type.ts new file mode 100644 index 0000000..8781acd --- /dev/null +++ b/src/@loafer/decorator/type.ts @@ -0,0 +1,8 @@ +export enum DecoratorType { + CLASS = 'Clazz', + PROPERTY = 'Property', + METHOD = 'Method', + PARAMETER = 'Parameter', +} + +export type DecoratorParametersType = [any, string | symbol, number | PropertyDescriptor]; diff --git a/src/@loafer/decorator/util.ts b/src/@loafer/decorator/util.ts new file mode 100644 index 0000000..70b34e0 --- /dev/null +++ b/src/@loafer/decorator/util.ts @@ -0,0 +1,48 @@ +import { + PropertyKeyType, +} from '@loafer/core'; + +import { + TypeUtil, +} from '@loafer/core/util/TypeUtil'; + + +import { + DecoratorType, + DecoratorParametersType, +} from './type'; + +export class DecoratorUtil { + /** + * + * @param {any[]} args + * @returns {DecoratorType} + */ + public static getDecoratorType(args: any[]): DecoratorType { + const [, propertyKey, descriptor] = args; + + if (typeof descriptor === 'number') { + return DecoratorType.PARAMETER; + } + + if (propertyKey && descriptor === undefined || descriptor && (descriptor.get || descriptor.set)) { + return DecoratorType.PROPERTY; + } + return (descriptor && descriptor.value) ? DecoratorType.METHOD : DecoratorType.CLASS; + } + + /** + * + * @param target + * @param {string} propertyKey + * @returns {DecoratorParametersType} + */ + public static decoratorArgs(target: any, propertyKey: PropertyKeyType): DecoratorParametersType { + return [ + target, + propertyKey, + TypeUtil.descriptorOf(target, propertyKey), + ]; + } + +} diff --git a/src/@loafer/ng-logger/core/config.ts b/src/@loafer/ng-logger/core/config.ts new file mode 100644 index 0000000..0e2c64d --- /dev/null +++ b/src/@loafer/ng-logger/core/config.ts @@ -0,0 +1,6 @@ +import { LoggerLevel } from './type'; + +export interface LoggerConfig { + level: LoggerLevel; + serverLogLevel?: LoggerLevel; +} diff --git a/src/@loafer/ng-logger/core/index.ts b/src/@loafer/ng-logger/core/index.ts new file mode 100644 index 0000000..40a47eb --- /dev/null +++ b/src/@loafer/ng-logger/core/index.ts @@ -0,0 +1,3 @@ +export * from './config'; +export * from './token'; +export * from './type'; diff --git a/src/@loafer/ng-logger/core/token.ts b/src/@loafer/ng-logger/core/token.ts new file mode 100644 index 0000000..ff2a17c --- /dev/null +++ b/src/@loafer/ng-logger/core/token.ts @@ -0,0 +1,3 @@ +import { InjectionToken } from '@angular/core'; + +export const _LOGGER_CONFIG = new InjectionToken('@loafer/ng-logger Internal Logger config'); diff --git a/src/@loafer/ng-logger/core/type.ts b/src/@loafer/ng-logger/core/type.ts new file mode 100644 index 0000000..72d4473 --- /dev/null +++ b/src/@loafer/ng-logger/core/type.ts @@ -0,0 +1,26 @@ +export enum LoggerLevel { + TRACE = 0, + DEBUG, + INFO, + LOG, + WARN, + ERROR, + OFF, +} + +export const LoggerLevelName = [ + 'TRACE', + 'DEBUG', + 'INFO', + 'LOG', + 'WARN', + 'ERROR', + 'OFF' +]; + +export interface ServerLoggingParameter { + level: string; + message: string; + addtional?: string; + timestamp: Date; +} diff --git a/src/@loafer/ng-logger/index.ts b/src/@loafer/ng-logger/index.ts new file mode 100644 index 0000000..4d007cd --- /dev/null +++ b/src/@loafer/ng-logger/index.ts @@ -0,0 +1 @@ +export * from './ng-logger.module'; diff --git a/src/@loafer/ng-logger/ng-logger.module.ts b/src/@loafer/ng-logger/ng-logger.module.ts new file mode 100644 index 0000000..bcde9f1 --- /dev/null +++ b/src/@loafer/ng-logger/ng-logger.module.ts @@ -0,0 +1,65 @@ +import { + NgModule, + ModuleWithProviders, + Type, + Inject, + InjectionToken, +} from '@angular/core'; + +import { + _LOGGER_CONFIG, + LoggerConfig, +} from './core'; + +import { + SERVICES, LoggerService, +} from './service'; + +export interface LoggerFeatureModuleConfig { + url?: any; +} + +export interface LoggerRootModuleConfig { + config: LoggerConfig; +} + +@NgModule({}) +export class LoggerRootModule { + constructor( + private loggerService: LoggerService, + ) { + } +} + +@NgModule({}) +export class LoggerFeatureModule { + constructor( + private loggerService: LoggerService, + private root: LoggerRootModule, + ) { + } +} + +@NgModule({}) +export class LoggerModule { + static forRoot(config: LoggerRootModuleConfig): ModuleWithProviders { + return { + ngModule: LoggerRootModule, + providers: [ + { + provide: _LOGGER_CONFIG, + useValue: config.config, + }, + SERVICES, + ], + }; + } + + static forFeature(config: LoggerFeatureModuleConfig): ModuleWithProviders { + return { + ngModule: LoggerFeatureModule, + providers: [ + ], + }; + } +} diff --git a/src/@loafer/ng-logger/service/index.ts b/src/@loafer/ng-logger/service/index.ts new file mode 100644 index 0000000..663327c --- /dev/null +++ b/src/@loafer/ng-logger/service/index.ts @@ -0,0 +1,7 @@ +export * from './logger.service'; + +import { LoggerService } from './logger.service'; + +export const SERVICES = [ + LoggerService, +]; diff --git a/src/@loafer/ng-logger/service/logger.service.ts b/src/@loafer/ng-logger/service/logger.service.ts new file mode 100644 index 0000000..768a5de --- /dev/null +++ b/src/@loafer/ng-logger/service/logger.service.ts @@ -0,0 +1,158 @@ +import { Injectable, Inject, PLATFORM_ID } from '@angular/core'; +import { isPlatformBrowser } from '@angular/common'; + +import { + LoggerConfig, + LoggerLevel, + LoggerLevelName, + _LOGGER_CONFIG, +} from '../core'; + +export type ConsoleFunc = (message?: any, ...optionalParams: any[]) => void; + +@Injectable() +export class LoggerService { + private _isIE: boolean; + + public constructor( + @Inject(_LOGGER_CONFIG) private readonly config: LoggerConfig, + @Inject(PLATFORM_ID) private readonly platformId, + ) { + this._isIE = isPlatformBrowser(platformId) && + !!(navigator.userAgent.indexOf('MSIE') !== -1 || navigator.userAgent.match(/Trident\//) || navigator.userAgent.match(/Edge\//)); + + } + + public get trace(): ConsoleFunc { + return this.getConsoleMethod(LoggerLevel.TRACE); + } + public get debug(): ConsoleFunc { + return this.getConsoleMethod(LoggerLevel.DEBUG); + } + public get info(): ConsoleFunc { + return this.getConsoleMethod(LoggerLevel.INFO); + } + public get log(): ConsoleFunc { + return this.getConsoleMethod(LoggerLevel.LOG); + } + public get warn(): ConsoleFunc { + return this.getConsoleMethod(LoggerLevel.WARN); + } + public get error(): ConsoleFunc { + return this.getConsoleMethod(LoggerLevel.ERROR); + } + + private _console_log: ConsoleFunc; + + private getConsoleMethod(level: LoggerLevel): ConsoleFunc { + if (level < this.config.level) { + return (message, ...additional: any[]) => {}; + } + + if (this._isIE) { + switch (level) { + case LoggerLevel.WARN: + return console.warn.bind(console, ...this.getLogHeader(level)); + case LoggerLevel.ERROR: + return console.error.bind(console, ...this.getLogHeader(level)); + case LoggerLevel.INFO: + return console.info.bind(console, ...this.getLogHeader(level)); + default: + return console.log.bind(console, ...this.getLogHeader(level)); + } + } else { + return console.log.bind(console, ...this.getLogHeader(level)); + } + } + + private getLogHeader(level: LoggerLevel): any[] { + const params: any[] = []; + params.push(`%c${this._timestamp()} [${LoggerLevelName[level]}]`); + if (!this._isIE) { + const color = this._getColor(level); + params.push(`color:${color}`); + } + return params; + } + + private _timestamp(): string { + return new Date().toISOString(); + } + + private _log(level: LoggerLevel, message, additional: any[] = []): void { + if (!message) { + return; + } + + // Allow logging on server even if client log level is off + // if (logOnServer) { + // this._logOnServer(level, message, additional); + // } + + // if no message or the log level is less than the environ + if (level < this.config.level) { + return; + } + + try { + message = typeof message === 'string' ? message : JSON.stringify(message, null, 2); + } catch (e) { + additional = [message, ...additional]; + message = 'The provided "message" value could not be parsed with JSON.stringify().'; + } + + // Coloring doesn't work in IE + if (this._isIE) { + return this._logIE(level, message, additional); + } + + const color = this._getColor(level); + + const params: any[] = []; + params.push(`%c${this._timestamp()} [${LoggerLevelName[level]}]`); + params.push(`color:${color}`); + params.push(message); + params.push(...additional); + + console.log.apply(console, params); + } + + private _logIE(level: LoggerLevel, message: string, additional: any[] = []): void { + const params: any[] = []; + params.push(`${this._timestamp()} [${LoggerLevelName[level]}] `); + params.push(message); + params.push(...additional); + + switch (level) { + case LoggerLevel.WARN: + console.warn.apply(console, params); + break; + case LoggerLevel.ERROR: + console.error.apply(console, params); + break; + case LoggerLevel.INFO: + console.info.apply(console, params); + break; + default: + console.log.apply(console, params); + } + } + + private _getColor(level: LoggerLevel): 'blue' | 'teal' | 'gray' | 'red' | undefined { + switch (level) { + case LoggerLevel.TRACE: + return 'blue'; + case LoggerLevel.DEBUG: + return 'teal'; + case LoggerLevel.INFO: + case LoggerLevel.LOG: + return 'gray'; + case LoggerLevel.WARN: + case LoggerLevel.ERROR: + return 'red'; + case LoggerLevel.OFF: + default: + return; + } + } +} diff --git a/src/@loafer/ng-rest/client/RESTClient.ts b/src/@loafer/ng-rest/client/RESTClient.ts new file mode 100644 index 0000000..77dd5da --- /dev/null +++ b/src/@loafer/ng-rest/client/RESTClient.ts @@ -0,0 +1,64 @@ +import { Injectable, Inject } from '@angular/core'; +import { Location } from '@angular/common'; +import { HttpClient, HttpHeaders, HttpParams, HttpErrorResponse } from '@angular/common/http'; + +import { Observable } from 'rxjs/Observable'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/timeout'; +import 'rxjs/add/observable/throw'; + +import { + RESTError, + RESTClientError, +} from '../protocol'; + +export class RESTClient { + constructor( + private _baseURL: string, + private _httpClient: HttpClient, + ) { + } + + public get httpClient(): HttpClient { + return this._httpClient; + } + + public request(method: string, entry: string, options?: { + body?: any; + headers?: HttpHeaders | { + [header: string]: string | string[]; + }; + observe?: 'body'; + params?: HttpParams | { + [param: string]: string | string[]; + }; + responseType?: 'json'; + reportProgress?: boolean; + withCredentials?: boolean; + }): Observable { + return this._httpClient + .request(method, Location.joinWithSlash(this._baseURL, entry), options) + .map(response => response) + .catch((error: HttpErrorResponse) => { + const restClientError: RESTClientError = { + request: { + method: method, + entry: entry, + options: options, + }, + response: error.error, + }; + + console.error(restClientError); + // const aryMsg = error.error.message.split('|'); + // const resError: RESTError = { + // code: error.error.code, + // message: aryMsg[0], + // data: aryMsg[1] === 'null' ? '' : aryMsg[1], + // }; + return Observable.throw(restClientError); + }); + } +} diff --git a/src/@loafer/ng-rest/client/index.ts b/src/@loafer/ng-rest/client/index.ts new file mode 100644 index 0000000..74509a3 --- /dev/null +++ b/src/@loafer/ng-rest/client/index.ts @@ -0,0 +1 @@ +export * from './RESTClient'; diff --git a/src/@loafer/ng-rest/core/index.ts b/src/@loafer/ng-rest/core/index.ts new file mode 100644 index 0000000..6b36029 --- /dev/null +++ b/src/@loafer/ng-rest/core/index.ts @@ -0,0 +1 @@ +export * from './token'; diff --git a/src/@loafer/ng-rest/core/token.ts b/src/@loafer/ng-rest/core/token.ts new file mode 100644 index 0000000..f869f67 --- /dev/null +++ b/src/@loafer/ng-rest/core/token.ts @@ -0,0 +1,3 @@ +import { InjectionToken } from '@angular/core'; + +export const _REST_BASE_URL = new InjectionToken('@loafer/ng-rest Internal Base URL'); diff --git a/src/@loafer/ng-rest/index.ts b/src/@loafer/ng-rest/index.ts new file mode 100644 index 0000000..5f8d09b --- /dev/null +++ b/src/@loafer/ng-rest/index.ts @@ -0,0 +1 @@ +export * from './ng-rest.module'; diff --git a/src/@loafer/ng-rest/ng-rest.module.ts b/src/@loafer/ng-rest/ng-rest.module.ts new file mode 100644 index 0000000..0da03a8 --- /dev/null +++ b/src/@loafer/ng-rest/ng-rest.module.ts @@ -0,0 +1,64 @@ +import { + NgModule, + ModuleWithProviders, + Type, + Inject, + InjectionToken, +} from '@angular/core'; + +import { + _REST_BASE_URL, +} from './core'; + +import { + SERVICES, RESTService, +} from './service'; + +export interface RESTFeatureModuleConfig { + url?: any; +} + +export interface RESTRootModuleConfig { + baseURL: string; +} + +@NgModule({}) +export class RESTRootModule { + constructor( + private restService: RESTService, + ) { + } +} + +@NgModule({}) +export class RESTFeatureModule { + constructor( + private restService: RESTService, + private root: RESTRootModule, + ) { + } +} + +@NgModule({}) +export class RESTModule { + static forRoot(config: RESTRootModuleConfig): ModuleWithProviders { + return { + ngModule: RESTRootModule, + providers: [ + { + provide: _REST_BASE_URL, + useValue: config.baseURL, + }, + SERVICES, + ], + }; + } + + static forFeature(config: RESTFeatureModuleConfig): ModuleWithProviders { + return { + ngModule: RESTFeatureModule, + providers: [ + ], + }; + } +} diff --git a/src/@loafer/ng-rest/protocol/RESTError.ts b/src/@loafer/ng-rest/protocol/RESTError.ts new file mode 100644 index 0000000..4431349 --- /dev/null +++ b/src/@loafer/ng-rest/protocol/RESTError.ts @@ -0,0 +1,14 @@ +export interface RESTClientError { + request: { + method: string; + entry: string; + options?: any; + }; + response: RESTError; +} + +export interface RESTError { + code: number; + message: string; + data?: any; +} diff --git a/src/@loafer/ng-rest/protocol/index.ts b/src/@loafer/ng-rest/protocol/index.ts new file mode 100644 index 0000000..b025dd3 --- /dev/null +++ b/src/@loafer/ng-rest/protocol/index.ts @@ -0,0 +1 @@ +export * from './RESTError'; diff --git a/src/@loafer/ng-rest/service/index.ts b/src/@loafer/ng-rest/service/index.ts new file mode 100644 index 0000000..20da8fb --- /dev/null +++ b/src/@loafer/ng-rest/service/index.ts @@ -0,0 +1,7 @@ +export * from './rest.service'; + +import { RESTService } from './rest.service'; + +export const SERVICES = [ + RESTService, +]; diff --git a/src/@loafer/ng-rest/service/rest.service.spec.ts b/src/@loafer/ng-rest/service/rest.service.spec.ts new file mode 100644 index 0000000..cd6b85b --- /dev/null +++ b/src/@loafer/ng-rest/service/rest.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { RESTService } from './rest.service'; + +describe('RESTService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [RESTService] + }); + }); + + it('should be created', inject([RESTService], (service: RESTService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/src/@loafer/ng-rest/service/rest.service.ts b/src/@loafer/ng-rest/service/rest.service.ts new file mode 100644 index 0000000..f5f63ec --- /dev/null +++ b/src/@loafer/ng-rest/service/rest.service.ts @@ -0,0 +1,26 @@ +import { Injectable, Inject } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http'; + +import { Observable } from 'rxjs/Observable'; + +import { Location } from '@angular/common'; + +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/timeout'; +import 'rxjs/add/observable/throw'; + +import { _REST_BASE_URL } from '../core'; +import { RESTClient } from '../client'; + +@Injectable() +export class RESTService extends RESTClient { + + constructor( + @Inject(_REST_BASE_URL) _baseURL: string, + @Inject(HttpClient) _httpClient: HttpClient, + ) { + super(_baseURL, _httpClient); + } +} diff --git a/src/@loafer/ng-rpc/client/RPCClient.ts b/src/@loafer/ng-rpc/client/RPCClient.ts new file mode 100644 index 0000000..4f808a8 --- /dev/null +++ b/src/@loafer/ng-rpc/client/RPCClient.ts @@ -0,0 +1,145 @@ +import { Observable } from 'rxjs/Observable'; +import { Subject } from 'rxjs/Subject'; + +import { RPCClientError } from '../protocol/RPCError'; +import { RPCClientRWC } from './RPCClientRWC'; + +import { + RPCClientCodec, + RPCClientResponseCodec, + RPCClientNotificationCodec, +} from '../protocol/RPCClientCodec'; + +export interface RPCRequestState { + subject: Subject; + request: { + method: string; + params: any[]; + }; +} + +export abstract class RPCClient { + private _requestID: number; + + private _pendingRequestsCount: number; + private _pendingRequests: Map; + + public constructor( + private _codec: RPCClientCodec, + private _rwc: RPCClientRWC, + ) { + this._requestID = 0; + this._pendingRequestsCount = 0; + this._pendingRequests = new Map(); + } + + private getRequestID(): number { + return ++this._requestID; + } + + /** + * connect + */ + public connect(queryString?: string): void { + this._rwc.connect(queryString); + this._rwc.readResponse().subscribe( + (value: Object) => { + this.onMessage(value); + }, + (error: any) => { + console.error(error); + }, + () => { + + } + ); + } + + /** + * close + */ + public disconnect() { + this._rwc.disconnect(); + } + + /** + * notify + */ + public send(method: string, ...args: any[]): void { + this.sendInternal(false, method, args); + } + + /** + * call + */ + public call(method: string, ...args: any[]): Observable { + return this.sendInternal(true, method, args); + } + + /** + * callTimeout + */ + public callTimeout(ms: number, method: string, ...args: any[]): Observable { + + return undefined; + } + + private sendInternal(hasResponse: boolean, method: string, args?: any[]): Observable | undefined { + let id: number; + let resSubject: Subject; + if (hasResponse) { + id = this.getRequestID(); + resSubject = new Subject(); + const reqState: RPCRequestState = { + subject: resSubject, + request: { + method: method, + params: args, + } + }; + this._pendingRequests.set(id, reqState); + this._pendingRequestsCount++; + } + + const req = this._codec.request(method, args, id); + this._rwc.writeRequest(req); + + if (undefined !== resSubject) { + return resSubject.asObservable(); + } + } + + private onMessage(message: Object): void { + const resCodec = this._codec.response(message); + + if (resCodec.isNotification()) { + this.onNotification(resCodec.notification()); + } else { + this.onResponse(resCodec); + } + } + + protected onResponse(resCodec: RPCClientResponseCodec): void { + const id = resCodec.id(); + const result = resCodec.result(); + const error = resCodec.error(); + + const reqState: RPCRequestState = this._pendingRequests.get(id); + + this._pendingRequests.delete(id); + this._pendingRequestsCount--; + + if (undefined !== result) { + reqState.subject.next(result); + } else if (undefined !== error) { + const rpcClientError: RPCClientError = { + request: reqState.request, + response: error, + }; + console.error(rpcClientError); + reqState.subject.error(rpcClientError); + } + } + + protected abstract onNotification(notiCodec: RPCClientNotificationCodec): void; +} diff --git a/src/@loafer/ng-rpc/client/RPCClientRWC.ts b/src/@loafer/ng-rpc/client/RPCClientRWC.ts new file mode 100644 index 0000000..406d4ee --- /dev/null +++ b/src/@loafer/ng-rpc/client/RPCClientRWC.ts @@ -0,0 +1,11 @@ +import { InjectionToken } from '@angular/core'; + +import { Observable } from 'rxjs/Observable'; + +export interface RPCClientRWC { + connect(queryString?: string): void; + readResponse(): Observable; + writeRequest(data: any): void; + disconnect(): void; + connectionStatus(): Observable; +} diff --git a/src/@loafer/ng-rpc/client/index.ts b/src/@loafer/ng-rpc/client/index.ts new file mode 100644 index 0000000..efdf231 --- /dev/null +++ b/src/@loafer/ng-rpc/client/index.ts @@ -0,0 +1,2 @@ +export * from './RPCClient'; +export * from './RPCClientRWC'; diff --git a/src/@loafer/ng-rpc/client/rwc/websocket/RPCClientWebsocketRWC.ts b/src/@loafer/ng-rpc/client/rwc/websocket/RPCClientWebsocketRWC.ts new file mode 100644 index 0000000..f2d0849 --- /dev/null +++ b/src/@loafer/ng-rpc/client/rwc/websocket/RPCClientWebsocketRWC.ts @@ -0,0 +1,62 @@ +import { Observable } from 'rxjs/Observable'; +import { Subject } from 'rxjs/Subject'; +import { map } from 'rxjs/operator/map'; + +import { + RxWebsocketSubject, + RxWebsocketSubjectConfig, +} from './RxWebsocketSubject'; + +import { RPCClientRWC } from '../../RPCClientRWC'; + +export class RPCClientWebsocketRWC implements RPCClientRWC { + private _wsSocketSubject: RxWebsocketSubject; + private _responseSubject: Subject; + + public constructor( + private _config: RxWebsocketSubjectConfig, + ) { + this._wsSocketSubject = new RxWebsocketSubject(this._config); + } + + public connect(queryString?: string): void { + if (undefined !== queryString) { + this._wsSocketSubject.queryString = queryString; + } + this._wsSocketSubject.connect(); + this._wsSocketSubject.subscribe( + (value: Object) => { + if (undefined !== this._responseSubject) { + this._responseSubject.next(value); + } + }, + (error: any) => { + if (undefined !== this._responseSubject) { + this._responseSubject.error(error); + } + }, + () => { + console.log('sss'); + } + ); + } + + public disconnect(): void { + this._wsSocketSubject.disconnect(); + } + + public connectionStatus(): Observable { + return this._wsSocketSubject.connectionStatus; + } + + public readResponse(): Observable { + if (undefined === this._responseSubject) { + this._responseSubject = new Subject(); + } + return this._responseSubject.asObservable(); + } + + public writeRequest(data: any): void { + this._wsSocketSubject.write(data); + } +} diff --git a/src/@loafer/ng-rpc/client/rwc/websocket/RxWebsocketSubject.ts b/src/@loafer/ng-rpc/client/rwc/websocket/RxWebsocketSubject.ts new file mode 100644 index 0000000..e0d1e39 --- /dev/null +++ b/src/@loafer/ng-rpc/client/rwc/websocket/RxWebsocketSubject.ts @@ -0,0 +1,117 @@ +import { Observable } from 'rxjs/Observable'; +import { Observer } from 'rxjs/Observer'; +import { Subject } from 'rxjs/Subject'; +import { + WebSocketSubject, + WebSocketSubjectConfig +} from 'rxjs/observable/dom/WebSocketSubject'; + +import 'rxjs/add/operator/distinctUntilChanged'; +import 'rxjs/add/operator/share'; +import 'rxjs/add/operator/takeWhile'; +import 'rxjs/add/observable/interval'; + +export interface RxWebsocketSubjectConfig { + url: string; + protocol?: string | Array; + reconnectInterval?: 5000; + reconnectRetry?: 10; +} + +export class RxWebsocketSubject extends Subject { + private _reconnectionObservable: Observable; + private _wsSubjectConfig: WebSocketSubjectConfig; + private _socket: WebSocketSubject; + private _connectionObserver: Observer; + private _connectionStatus: Observable; + private _queryString: string; + + public constructor(private _config: RxWebsocketSubjectConfig) { + super(); + + this._connectionStatus = new Observable((observer) => { + this._connectionObserver = observer; + }).share().distinctUntilChanged(); + + this._wsSubjectConfig = { + url: _config.url, + protocol: _config.protocol, + closeObserver: { + next: (e: CloseEvent) => { + this._socket = null; + this._connectionObserver.next(false); + } + }, + openObserver: { + next: (e: Event) => { + this._connectionObserver.next(true); + } + }, + }; + + this._connectionStatus.subscribe((isConnected: boolean) => { + if (!this._reconnectionObservable && typeof(isConnected) === 'boolean' && !isConnected) { + this.reconnect(); + } + }); + } + + public set queryString(query: string) { + this._queryString = query; + } + + public get queryString(): string | undefined { + return this._queryString; + } + + public get connectionStatus(): Observable { + return this._connectionStatus; + } + + public connect(): void { + const wsSubjectConfig = Object.assign({}, this._wsSubjectConfig); + if (undefined !== this._queryString) { + wsSubjectConfig.url = wsSubjectConfig.url + '?' + this._queryString; + } + + this._socket = new WebSocketSubject(wsSubjectConfig); + this._socket.subscribe( + (m) => { + this.next(m); + }, + (error: Event) => { + if (!this._socket) { + this.reconnect(); + } + } + ); + } + + public disconnect(): void { + this._socket.complete(); + } + + private reconnect(): void { + this._reconnectionObservable = Observable.interval(this._config.reconnectInterval) + .takeWhile((v, index) => { + return index < this._config.reconnectRetry && !this._socket; + }); + this._reconnectionObservable.subscribe( + () => { + this.connect(); + }, + null, + () => { + this._reconnectionObservable = null; + if (!this._socket) { + this.complete(); + this._connectionObserver.complete(); + } + } + ); + } + + public write(data: any): void { + this._socket.next(data); + } +} diff --git a/src/@loafer/ng-rpc/client/rwc/websocket/index.ts b/src/@loafer/ng-rpc/client/rwc/websocket/index.ts new file mode 100644 index 0000000..80de9d0 --- /dev/null +++ b/src/@loafer/ng-rpc/client/rwc/websocket/index.ts @@ -0,0 +1,2 @@ +export * from './RPCClientWebsocketRWC'; +export * from './RxWebsocketSubject'; diff --git a/src/@loafer/ng-rpc/core/error.ts b/src/@loafer/ng-rpc/core/error.ts new file mode 100644 index 0000000..f90aac7 --- /dev/null +++ b/src/@loafer/ng-rpc/core/error.ts @@ -0,0 +1,6 @@ +export class SubscriberParameterError extends Error { + public constructor(message?: string) { + super(message); + Object.setPrototypeOf(this, new.target.prototype); + } +} diff --git a/src/@loafer/ng-rpc/core/index.ts b/src/@loafer/ng-rpc/core/index.ts new file mode 100644 index 0000000..d97df57 --- /dev/null +++ b/src/@loafer/ng-rpc/core/index.ts @@ -0,0 +1,2 @@ +export * from './error'; +export * from './token'; diff --git a/src/@loafer/ng-rpc/core/token.ts b/src/@loafer/ng-rpc/core/token.ts new file mode 100644 index 0000000..fe8bd6e --- /dev/null +++ b/src/@loafer/ng-rpc/core/token.ts @@ -0,0 +1,8 @@ +import { InjectionToken } from '@angular/core'; + +export const RPC_CODEC = new InjectionToken('@loafer/ng-rpc RPC codec'); +export const RPC_RWC = new InjectionToken('@loafer/ng-rpc RPC rwc'); + +export const _ROOT_SUBSCRIBERS = new InjectionToken('@loafer/ng-rpc RPC root subscribers'); +export const _FEATURE_SUBSCRIBERS = new InjectionToken('@loafer/ng-rpc RPC feature subscribers'); + diff --git a/src/@loafer/ng-rpc/decorator/index.ts b/src/@loafer/ng-rpc/decorator/index.ts new file mode 100644 index 0000000..f75f0fd --- /dev/null +++ b/src/@loafer/ng-rpc/decorator/index.ts @@ -0,0 +1 @@ +export * from './rpc-subscriber.decorator'; diff --git a/src/@loafer/ng-rpc/decorator/rpc-subscriber.decorator.ts b/src/@loafer/ng-rpc/decorator/rpc-subscriber.decorator.ts new file mode 100644 index 0000000..8aeadf5 --- /dev/null +++ b/src/@loafer/ng-rpc/decorator/rpc-subscriber.decorator.ts @@ -0,0 +1,26 @@ +import { + Type, + PropertyKeyType, +} from '@loafer/core'; + +import { + Decorator, + DecoratorFactory, +} from '@loafer/decorator'; + +export interface RPCSubscriberDecoratorAttribute { + method: string; +} + +export class RPCSubscriberDecorator extends Decorator { + public constructor(config: RPCSubscriberDecoratorAttribute) { + super(config); + } + + public methodDecorator = (target: Object, propertyKey: PropertyKeyType, + descriptor: TypedPropertyDescriptor): TypedPropertyDescriptor | void => { + } + +} + +export const RPCSubscriber = DecoratorFactory.create(RPCSubscriberDecorator); diff --git a/src/@loafer/ng-rpc/index.ts b/src/@loafer/ng-rpc/index.ts new file mode 100644 index 0000000..e96ec44 --- /dev/null +++ b/src/@loafer/ng-rpc/index.ts @@ -0,0 +1 @@ +export * from './ng-rpc.module'; diff --git a/src/@loafer/ng-rpc/ng-rpc.module.ts b/src/@loafer/ng-rpc/ng-rpc.module.ts new file mode 100644 index 0000000..34f2139 --- /dev/null +++ b/src/@loafer/ng-rpc/ng-rpc.module.ts @@ -0,0 +1,109 @@ +import { + NgModule, + ModuleWithProviders, + Type, + Inject, + InjectionToken, +} from '@angular/core'; + +import { + RPC_CODEC, + RPC_RWC, + + _ROOT_SUBSCRIBERS, + _FEATURE_SUBSCRIBERS, +} from './core'; + +import { + RPCClientRWC, +} from './client/RPCClientRWC'; + +import { + RPCClientCodec, +} from './protocol'; + +import { + SERVICES, RPCService, +} from './service'; + +import { + SUBSCRIBERS, RPCSubscribeService, +} from './subscribe'; + +export interface RPCFeatureModuleConfig { + subscribers?: Type[]; +} + +export interface RPCRootModuleConfig { + subscribers?: Type[]; +} + +@NgModule({}) +export class RPCRootModule { + constructor( + private rpcService: RPCService, + private rpcSubscribeService: RPCSubscribeService, + @Inject(_ROOT_SUBSCRIBERS) rootSubscribers: any[], + ) { + rootSubscribers.forEach((subscriber) => { + rpcSubscribeService.addSubscriber(subscriber); + }); + } +} + +@NgModule({}) +export class RPCFeatureModule { + constructor( + private rpcService: RPCService, + private rpcSubscribeService: RPCSubscribeService, + @Inject(_FEATURE_SUBSCRIBERS) featureSubscribersGroups: any[][], + private root: RPCRootModule, + ) { + featureSubscribersGroups.forEach((featureSubscribers) => { + featureSubscribers.forEach((subscriber) => { + rpcSubscribeService.addSubscriber(subscriber); + }); + }); + } +} + +@NgModule({}) +export class RPCModule { + static forRoot(config: RPCRootModuleConfig): ModuleWithProviders { + const subscribers = undefined === config.subscribers ? [] : config.subscribers; + return { + ngModule: RPCRootModule, + providers: [ + subscribers, + { + provide: _ROOT_SUBSCRIBERS, + deps: subscribers, + useFactory: createSourceInstances, + }, + SERVICES, + SUBSCRIBERS, + ], + }; + } + + static forFeature(config: RPCFeatureModuleConfig): ModuleWithProviders { + const subscribers = undefined === config.subscribers ? [] : config.subscribers; + + return { + ngModule: RPCFeatureModule, + providers: [ + subscribers, + { + provide: _FEATURE_SUBSCRIBERS, + multi: true, + deps: subscribers, + useFactory: createSourceInstances, + }, + ], + }; + } +} + +export function createSourceInstances(...instances: any[]) { + return instances; +} diff --git a/src/@loafer/ng-rpc/protocol/RPCClientCodec.ts b/src/@loafer/ng-rpc/protocol/RPCClientCodec.ts new file mode 100644 index 0000000..94af99e --- /dev/null +++ b/src/@loafer/ng-rpc/protocol/RPCClientCodec.ts @@ -0,0 +1,20 @@ +import { RPCError } from './RPCError'; + +export interface RPCClientCodec { + request(method: string, args: any[], id: number): any; + response(res: any): RPCClientResponseCodec; +} + +export interface RPCClientResponseCodec { + id(): number | undefined; + error(): RPCError | undefined; + result(): any | undefined; + + isNotification(): boolean; + notification(): RPCClientNotificationCodec | undefined; +} + +export interface RPCClientNotificationCodec { + method(): string; + params(): any | undefined; +} diff --git a/src/@loafer/ng-rpc/protocol/RPCError.ts b/src/@loafer/ng-rpc/protocol/RPCError.ts new file mode 100644 index 0000000..91f4aac --- /dev/null +++ b/src/@loafer/ng-rpc/protocol/RPCError.ts @@ -0,0 +1,41 @@ +export interface RPCClientError { + request: { + method: string, + params: any[], + }; + response: RPCError; +} + +/** + * Error object representation when a method invocation fails. + */ +export interface RPCError { + /** Indicates the error type that occurred. */ + code: RPCErrorCode; + + /** A short description of the error. */ + message: string; + + /** Additional information about the error */ + data?: any; +}/* + +/** Error codes are same as xml-rpc codes. See http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php */ +export const enum RPCErrorCode { + /** Parse error Invalid JSON was received by the Server. */ + ParseError = -32700, + + /** Invalid Request The JSON sent is not a valid Request object. */ + InvalidRequest = -32600, + + /** The method does not exist / is not available. */ + MethodNotFound = -32601, + + /** Invalid method parameter(s). */ + InvalidParams = - -32602, + + /** Internal JSON-RPC error. */ + InternalError = -32603 + + /** -32000 to -32099: Reserved for implementation-defined Server errors. */ +} diff --git a/src/@loafer/ng-rpc/protocol/index.ts b/src/@loafer/ng-rpc/protocol/index.ts new file mode 100644 index 0000000..a9d3a36 --- /dev/null +++ b/src/@loafer/ng-rpc/protocol/index.ts @@ -0,0 +1,2 @@ +export * from './RPCClientCodec'; +export * from './RPCError'; diff --git a/src/@loafer/ng-rpc/protocol/json/JSONRPCClientCodec.ts b/src/@loafer/ng-rpc/protocol/json/JSONRPCClientCodec.ts new file mode 100644 index 0000000..27d3980 --- /dev/null +++ b/src/@loafer/ng-rpc/protocol/json/JSONRPCClientCodec.ts @@ -0,0 +1,125 @@ +import { + RPCClientCodec, + RPCClientResponseCodec, + RPCClientNotificationCodec, +} from '../RPCClientCodec'; + +import { + RPCError, +} from '../RPCError'; + +export interface ClientNotification { + method: string; + params?: string[]; +} + +export interface ClientRequest { + jsonrpc: string; + method: string; + params?: string[]; + id?: number; +} + +export interface ClientResponse { + jsonrpc: string; + result?: any; + error?: RPCError; + id?: number; +} + +export class JSONRPCClientCodec implements RPCClientCodec { + public request(method: string, args: any[], id?: number): any { + const params = convertParamsToStringArray(args); + + const req: ClientRequest = { + jsonrpc: '2.0', + method: method, + params: 0 === params.length ? null : params, + id: id, + }; + return JSON.stringify(req); + } + public response(res: any): RPCClientResponseCodec { + const _res: ClientResponse = { + id: res.id, + jsonrpc: res.jsonrpc, + result: res.result, + error: res.error, + }; + return new JSONRPCClientResponseCodec(_res); + } +} + +function convertParamsToStringArray(args: any[]): string[] | undefined { + const values: string[] = []; + + if (undefined === args || null === args || 0 === args.length) { + return values; + } + + for (let indexI = 0; indexI < args.length; indexI++) { + const arg = args[indexI]; + + switch (typeof arg) { + case 'boolean': + case 'number': // enum + values.push(String(arg)); + break; + case 'string': + values.push(arg); + break; + case 'object': // array, map + values.push(JSON.stringify(arg)); + break; + default: + throw new Error(`Not supported type[${typeof arg}]`); + } + } + + return values; +} + +export class JSONRPCClientResponseCodec implements RPCClientResponseCodec { + public constructor(private _res: ClientResponse) { + } + + public id(): number | undefined { + return this._res.id; + } + public error(): RPCError | undefined { + return this._res.error; + } + public result(): any | undefined { + return this._res.result; + } + + public isNotification(): boolean { + if (undefined !== this.id() || undefined === this.result()) { + return false; + } + return true; + } + + public notification(): RPCClientNotificationCodec | undefined { + if (undefined !== this.id() || undefined === this.result()) { + return undefined; + } + const _noti: ClientNotification = { + method: this._res.result.method, + params: this._res.result.params, + }; + return new JSONRPCClientNotificationCodec(_noti); + } +} + +export class JSONRPCClientNotificationCodec implements RPCClientNotificationCodec { + public constructor(private _noti: ClientNotification) { + } + + public method(): string { + return this._noti.method; + } + public params(): any[] | undefined { + return this._noti.params; + } +} diff --git a/src/@loafer/ng-rpc/protocol/json/index.ts b/src/@loafer/ng-rpc/protocol/json/index.ts new file mode 100644 index 0000000..2ef50ad --- /dev/null +++ b/src/@loafer/ng-rpc/protocol/json/index.ts @@ -0,0 +1 @@ +export * from './JSONRPCClientCodec'; diff --git a/src/@loafer/ng-rpc/service/index.ts b/src/@loafer/ng-rpc/service/index.ts new file mode 100644 index 0000000..18154a6 --- /dev/null +++ b/src/@loafer/ng-rpc/service/index.ts @@ -0,0 +1,7 @@ +export * from './rpc.service'; + +import { RPCService } from './rpc.service'; + +export const SERVICES = [ + RPCService, +]; diff --git a/src/@loafer/ng-rpc/service/rpc.service.ts b/src/@loafer/ng-rpc/service/rpc.service.ts new file mode 100644 index 0000000..b263dd6 --- /dev/null +++ b/src/@loafer/ng-rpc/service/rpc.service.ts @@ -0,0 +1,39 @@ +import { Injectable, Inject } from '@angular/core'; +import { Store, select } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { Subject } from 'rxjs/Subject'; + +import { + RPC_CODEC, + RPC_RWC, +} from '../core'; + +import { + RPCClient, + RPCClientRWC, +} from '../client'; + +import { + RPCClientCodec, + RPCClientNotificationCodec, +} from '../protocol'; + +import { + RPCSubscribeService, +} from '../subscribe'; + +@Injectable() +export class RPCService extends RPCClient { + constructor( + @Inject(RPC_CODEC) rpcClientCodec: RPCClientCodec, + @Inject(RPC_RWC) rpcClientRWC: RPCClientRWC, + private rpcSubscribeService: RPCSubscribeService, + ) { + super(rpcClientCodec, rpcClientRWC); + } + + protected onNotification(notiCodec: RPCClientNotificationCodec): void { + this.rpcSubscribeService.notify(notiCodec); + } +} diff --git a/src/@loafer/ng-rpc/subscribe/index.ts b/src/@loafer/ng-rpc/subscribe/index.ts new file mode 100644 index 0000000..d877f8d --- /dev/null +++ b/src/@loafer/ng-rpc/subscribe/index.ts @@ -0,0 +1,7 @@ +export * from './subscribe.service'; + +import { RPCSubscribeService } from './subscribe.service'; + +export const SUBSCRIBERS = [ + RPCSubscribeService, +]; diff --git a/src/@loafer/ng-rpc/subscribe/subscribe.service.ts b/src/@loafer/ng-rpc/subscribe/subscribe.service.ts new file mode 100644 index 0000000..f1f7426 --- /dev/null +++ b/src/@loafer/ng-rpc/subscribe/subscribe.service.ts @@ -0,0 +1,161 @@ +import { Injectable, Inject } from '@angular/core'; +import { Store, select } from '@ngrx/store'; + +import { + Type, + PropertyKeyType, +} from '@loafer/core'; + +import { TypeUtil } from '@loafer/core/util/TypeUtil'; + +import { + Class, + Method, + Metadata, +} from '@loafer/core/reflect'; + +import { RPCSubscriberDecorator } from '../decorator'; + +import { + RPCClientNotificationCodec, +} from '../protocol'; +import { SubscriberParameterError } from '../core'; + +export interface SubscriberMethod { + className: PropertyKeyType; + methodName: PropertyKeyType; + parameterTypes: string[]; + + method: Method; + instance: any; +} + +@Injectable() +export class RPCSubscribeService { + private subscriberTypes: Set>; + private subscribers: Set; + private subscriberMethodMap: Map; + + constructor( + ) { + this.subscriberTypes = new Set(); + this.subscribers = new Set(); + this.subscriberMethodMap = new Map(); + } + + public addSubscriber(subscriber: Type): void { + const type = TypeUtil.getType(subscriber); + + if (this.subscriberTypes.has(type)) { + // console.log(`Subscriber[${type.name}] has been added`); + return; + } + + this.subscriberTypes.add(type); + + const clazz = Class.forType(type); + if (undefined === clazz) { + console.log(`Type[${subscriber.name}] is not decorated type`); + return; + } + + const methods = clazz.getMethods(); + methods.forEach((method, propertyKey) => { + const annon = method.getAnnotation(RPCSubscriberDecorator); + if (undefined === annon) { + return; + } + + const subscriberMethodName = annon.attribute.method; + let subscriberMethods: SubscriberMethod[] = this.subscriberMethodMap.get(subscriberMethodName); + if (undefined === subscriberMethods) { + subscriberMethods = []; + this.subscriberMethodMap.set(subscriberMethodName, subscriberMethods); + } + + const paramTypes = this.getParamTypes(method); + + const subscriberMethod: SubscriberMethod = { + className: clazz.getName(), + methodName: method.getName(), + parameterTypes: paramTypes, + method: method, + instance: subscriber, + }; + + subscriberMethods.push(subscriberMethod); + }); + } + + public notify(codec: RPCClientNotificationCodec): void { + const method = codec.method(); + const params = codec.params(); + + const subscriberMethods: SubscriberMethod[] = this.subscriberMethodMap.get(method); + if (undefined === subscriberMethods) { + console.warn(`Subscriber for method[${method}] is not exist`); + return; + } + subscriberMethods.forEach((subscriberMethod) => { + try { + const args = this.converParams(params, subscriberMethod.parameterTypes); + subscriberMethod.method.invoke(subscriberMethod.instance, ...args); + } catch (error) { + console.error(error); + } + }); + } + + private getParamTypes(method: Method): string[] { + if (undefined === method || null === method || 0 === method.getParameterCount()) { + return []; + } + + const parameters = method.getParameters(); + const results: string[] = []; + for (let indexI = 0; indexI < parameters.length; indexI++) { + const paramType = parameters[indexI].getType(); + results.push(paramType.name); + } + return results; + } + + private converParams(params: string[], paramTypes: string[]): any[] { + const results: any[] = []; + + if (undefined === params || null === params || 0 === params.length) { + return results; + } + if (undefined === paramTypes || null === paramTypes || 0 === paramTypes.length) { + return results; + } + if (params.length !== paramTypes.length) { + throw new SubscriberParameterError(`Count is not same from server[${params.length}] and method[${paramTypes.length}]`); + } + for (let indexI = 0; indexI < params.length; indexI++) { + const param = params[indexI]; + const type = paramTypes[indexI]; + switch (type) { + case 'Object': + case 'Array': + case 'Map': + results.push(JSON.parse(param)); + break; + case 'String': + results.push(param); + break; + case 'Number': + results.push(Number(param)); + break; + case 'Boolean': + results.push(Boolean(param)); + break; + case 'Function': + throw new SubscriberParameterError(`Function type [${indexI}] is not allowed`); + default: + throw new SubscriberParameterError(`${type} type parameter[${indexI}] is not allowed`); + } + } + return results; + } +} diff --git a/src/app/app-l10n.module.ts b/src/app/app-l10n.module.ts new file mode 100644 index 0000000..a31fe33 --- /dev/null +++ b/src/app/app-l10n.module.ts @@ -0,0 +1,57 @@ +import { NgModule, APP_INITIALIZER } from '@angular/core'; +import { BrowserModule, Title } from '@angular/platform-browser'; + +import { + L10nConfig, + L10nLoader, + LocalizationModule, + LocaleValidationModule, + StorageStrategy, + ProviderType +} from 'angular-l10n'; + +const l10nConfig: L10nConfig = { + locale: { + languages: [ + { code: 'en', dir: 'ltr' }, + { code: 'kr', dir: 'ltr' }, + ], + defaultLocale: { languageCode: 'en', countryCode: 'US' }, + storage: StorageStrategy.Cookie, + cookieExpiration: 30 + }, + translation: { + providers: [ + { type: ProviderType.Static, prefix: './assets/translations/of-' } + ], + caching: true, + composedKeySeparator: '.', + missingValue: 'No key', + i18nPlural: true + } +}; + +export function initL10n(l10nLoader: L10nLoader): Function { + return () => l10nLoader.load(); +} + +@NgModule({ + imports: [ + LocalizationModule.forRoot(l10nConfig), + LocaleValidationModule.forRoot() + ], + exports: [ + LocalizationModule, + LocaleValidationModule, + ], + providers: [ + Title, + { + provide: APP_INITIALIZER, + useFactory: initL10n, + deps: [L10nLoader], + multi: true + } + ], +}) +export class AppL10NModule { } diff --git a/src/app/app-logger.module.ts b/src/app/app-logger.module.ts new file mode 100644 index 0000000..24d778f --- /dev/null +++ b/src/app/app-logger.module.ts @@ -0,0 +1,19 @@ +import { NgModule } from '@angular/core'; +import { LoggerModule } from '@loafer/ng-logger'; +import { LoggerLevel } from '@loafer/ng-logger/core'; + +@NgModule({ + exports: [ + LoggerModule, + ], + imports: [ + LoggerModule.forRoot({ + config: { + level: LoggerLevel.DEBUG, + }, + }), + ], + providers: [ + ] +}) +export class AppLoggerModule { } diff --git a/src/app/app-rest.module.ts b/src/app/app-rest.module.ts new file mode 100644 index 0000000..a89917b --- /dev/null +++ b/src/app/app-rest.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { RESTModule } from '@loafer/ng-rest'; + +import { environment } from '../environments/environment'; + + +@NgModule({ + exports: [ + RESTModule, + ], + imports: [ + RESTModule.forRoot({baseURL: environment.restBaseURL}), + ], + providers: [ + ] +}) +export class AppRESTModule { } diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts new file mode 100644 index 0000000..67ccee9 --- /dev/null +++ b/src/app/app-routing.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule, PreloadAllModules } from '@angular/router'; +import { AuthGuard } from './commons/guard/auth.guard'; + +const routes: Routes = [ + { path: '', loadChildren: './pages/pages.module#PagesModule', canActivate: [AuthGuard] }, + { path: 'auth', loadChildren: './pages/auth/auth-page.module#AuthPageModule' }, + // { path: '**', component: NotFoundPageComponent }, + // { path: 'errors', loadChildren: './pages/errors/errors-page.module#ErrorsPageModule' }, +]; + +@NgModule({ + imports: [RouterModule.forRoot(routes, {useHash: true, preloadingStrategy: PreloadAllModules})], + exports: [RouterModule], +}) +export class AppRoutingModule { } diff --git a/src/app/app-rpc.module.ts b/src/app/app-rpc.module.ts new file mode 100644 index 0000000..7e7d167 --- /dev/null +++ b/src/app/app-rpc.module.ts @@ -0,0 +1,36 @@ +import { NgModule } from '@angular/core'; +import { RPCModule } from '@loafer/ng-rpc'; + +import { + RPC_CODEC, + RPC_RWC, +} from '@loafer/ng-rpc/core'; +import { JSONRPCClientCodec } from '@loafer/ng-rpc/protocol/json'; +import { + RPCClientWebsocketRWC, + RxWebsocketSubjectConfig, +} from '@loafer/ng-rpc/client/rwc/websocket'; + +import { environment } from '../environments/environment'; + + +@NgModule({ + exports: [ + RPCModule, + ], + imports: [ + RPCModule.forRoot({}), + ], + providers: [ + {provide: 'WEBAPP_RPC_CONFIG', useValue: environment.webappRPCConfig}, + + {provide: RPC_CODEC, useFactory: () => new JSONRPCClientCodec()}, + { + provide: RPC_RWC, + useFactory: (config: RxWebsocketSubjectConfig) => new RPCClientWebsocketRWC(config), + deps: ['WEBAPP_RPC_CONFIG'] + }, + + ] +}) +export class AppRPCModule { } diff --git a/src/app/app-store.module.ts b/src/app/app-store.module.ts new file mode 100644 index 0000000..2345404 --- /dev/null +++ b/src/app/app-store.module.ts @@ -0,0 +1,59 @@ +import { NgModule } from '@angular/core'; +import { StoreModule } from '@ngrx/store'; +import { StoreDevtoolsModule } from '@ngrx/store-devtools'; +import { + StoreRouterConnectingModule, + RouterStateSerializer, +} from '@ngrx/router-store'; +import { EffectsModule } from '@ngrx/effects'; + +import { SimpleRouterStateSerializer } from './commons/util/ngrx/router-store/serializer/simple-router-state-serializer'; + +import { environment } from '../environments/environment'; +import * as AppStore from './commons/store'; + + +@NgModule({ + exports: [ + StoreModule, + ], + imports: [ + StoreModule.forRoot(AppStore.REDUCERS), + /** + * @ngrx/router-store keeps router state up-to-date in the store. + */ + StoreRouterConnectingModule.forRoot({ + /* + They stateKey defines the name of the state used by the router-store reducer. + This matches the key defined in the map of reducers + */ + stateKey: 'router', + }), + /** + * Store devtools instrument the store retaining past versions of state + * and recalculating new states. This enables powerful time-travel + * debugging. + * + * To use the debugger, install the Redux Devtools extension for either + * Chrome or Firefox + * + * See: https://github.com/zalmoxisus/redux-devtools-extension + */ + StoreDevtoolsModule.instrument({ + name: 'overFlow WebApp DevTools', + maxAge: 50, + logOnly: environment.production, + }), + EffectsModule.forRoot(AppStore.EFFECTS), + ], + providers: [ + /** + * The `RouterStateSnapshot` provided by the `Router` is a large complex structure. + * A custom RouterStateSerializer is used to parse the `RouterStateSnapshot` provided + * by `@ngrx/router-store` to include only the desired pieces of the snapshot. + */ + { provide: RouterStateSerializer, useClass: SimpleRouterStateSerializer }, + ], + +}) +export class AppStoreModule { } diff --git a/src/app/app.component.html b/src/app/app.component.html new file mode 100644 index 0000000..90c6b64 --- /dev/null +++ b/src/app/app.component.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/app.component.scss b/src/app/app.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/app.component.ts b/src/app/app.component.ts new file mode 100644 index 0000000..104ad97 --- /dev/null +++ b/src/app/app.component.ts @@ -0,0 +1,9 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'of-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.scss'] +}) +export class AppComponent { +} diff --git a/src/app/app.module.ts b/src/app/app.module.ts new file mode 100644 index 0000000..ad86321 --- /dev/null +++ b/src/app/app.module.ts @@ -0,0 +1,42 @@ +import { NgModule } from '@angular/core'; + +import { HttpClientModule } from '@angular/common/http'; +import { AppRoutingModule } from './app-routing.module'; +import { AppStoreModule } from './app-store.module'; +import { AppL10NModule } from './app-l10n.module'; +import { AppRPCModule } from './app-rpc.module'; +import { AppRESTModule } from './app-rest.module'; +import { AppLoggerModule } from './app-logger.module'; + +import { AppComponent } from './app.component'; + +import { CookieService } from 'ngx-cookie-service'; +import { AuthGuard } from './commons/guard/auth.guard'; +import { BrowserModule } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + +import { MemberModule } from 'packages/member/member.module'; + +@NgModule({ + imports: [ + BrowserModule, + BrowserAnimationsModule, + HttpClientModule, + AppRoutingModule, + AppStoreModule, + AppL10NModule, + AppRPCModule, + AppRESTModule, + AppLoggerModule, + MemberModule, + ], + declarations: [ + AppComponent, + ], + providers: [ + CookieService, + AuthGuard, + ], + bootstrap: [AppComponent] +}) +export class AppModule { } diff --git a/src/app/commons/component/key-value/key-value.component.html b/src/app/commons/component/key-value/key-value.component.html new file mode 100644 index 0000000..9817a2a --- /dev/null +++ b/src/app/commons/component/key-value/key-value.component.html @@ -0,0 +1,7 @@ +
+ {{key}} + + {{value}} + + {{value}} +
\ No newline at end of file diff --git a/src/app/commons/component/key-value/key-value.component.ts b/src/app/commons/component/key-value/key-value.component.ts new file mode 100644 index 0000000..f1c7d2b --- /dev/null +++ b/src/app/commons/component/key-value/key-value.component.ts @@ -0,0 +1,23 @@ +import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; + +@Component({ + selector: 'of-key-value', + templateUrl: './key-value.component.html' +}) +export class KeyValueComponent implements OnInit { + + @Input() key: string; + @Input() value: string; + @Input() clickable = false; + @Output() click = new EventEmitter(); + + constructor( + ) { } + + ngOnInit() { + } + + onClick() { + this.click.emit(this.value); + } +} diff --git a/src/app/commons/component/key-value/key-value.module.ts b/src/app/commons/component/key-value/key-value.module.ts new file mode 100644 index 0000000..418f324 --- /dev/null +++ b/src/app/commons/component/key-value/key-value.module.ts @@ -0,0 +1,18 @@ +import { NgModule } from '@angular/core'; +import { KeyValueComponent } from './key-value.component'; +import { CommonModule } from '@angular/common'; +import { PrimeNGModules } from 'packages/commons/prime-ng/prime-ng.module'; + +@NgModule({ + imports: [ + CommonModule, + PrimeNGModules + ], + declarations: [ + KeyValueComponent, + ], + exports: [ + KeyValueComponent, + ] +}) +export class KeyValueModule { } diff --git a/src/app/commons/component/layout/breadcrumb/app.breadcrumb.component.html b/src/app/commons/component/layout/breadcrumb/app.breadcrumb.component.html new file mode 100644 index 0000000..3c047d1 --- /dev/null +++ b/src/app/commons/component/layout/breadcrumb/app.breadcrumb.component.html @@ -0,0 +1,29 @@ +
+ + + +
\ No newline at end of file diff --git a/src/app/commons/component/layout/breadcrumb/app.breadcrumb.component.ts b/src/app/commons/component/layout/breadcrumb/app.breadcrumb.component.ts new file mode 100644 index 0000000..1d8cc95 --- /dev/null +++ b/src/app/commons/component/layout/breadcrumb/app.breadcrumb.component.ts @@ -0,0 +1,28 @@ +import { Component, OnDestroy } from '@angular/core'; +import { AppComponent } from 'app/app.component'; +import { BreadcrumbService } from './breadcrumb.service'; +import { Subscription } from 'rxjs/Subscription'; +import { MenuItem } from 'primeng/primeng'; + +@Component({ + selector: 'of-breadcrumb', + templateUrl: './app.breadcrumb.component.html' +}) +export class AppBreadcrumbComponent implements OnDestroy { + + subscription: Subscription; + + items: MenuItem[]; + + constructor(public breadcrumbService: BreadcrumbService) { + this.subscription = breadcrumbService.itemsHandler.subscribe(response => { + this.items = response; + }); + } + + ngOnDestroy() { + if (this.subscription) { + this.subscription.unsubscribe(); + } + } +} diff --git a/src/app/commons/component/layout/breadcrumb/breadcrumb.service.ts b/src/app/commons/component/layout/breadcrumb/breadcrumb.service.ts new file mode 100644 index 0000000..8161d9e --- /dev/null +++ b/src/app/commons/component/layout/breadcrumb/breadcrumb.service.ts @@ -0,0 +1,16 @@ +import { Injectable } from '@angular/core'; +import { Subject } from 'rxjs/Subject'; +import { Observable } from 'rxjs/Observable'; +import { MenuItem } from 'primeng/primeng'; + +@Injectable() +export class BreadcrumbService { + + private itemsSource = new Subject(); + + itemsHandler = this.itemsSource.asObservable(); + + setItems(items: MenuItem[]) { + this.itemsSource.next(items); + } +} diff --git a/src/app/commons/component/layout/footer/app.footer.component.html b/src/app/commons/component/layout/footer/app.footer.component.html new file mode 100644 index 0000000..ea90dbe --- /dev/null +++ b/src/app/commons/component/layout/footer/app.footer.component.html @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/src/app/commons/component/layout/footer/app.footer.component.ts b/src/app/commons/component/layout/footer/app.footer.component.ts new file mode 100644 index 0000000..32865a9 --- /dev/null +++ b/src/app/commons/component/layout/footer/app.footer.component.ts @@ -0,0 +1,9 @@ +import {Component} from '@angular/core'; + +@Component({ + selector: 'of-footer', + templateUrl: './app.footer.component.html' +}) +export class AppFooterComponent { + +} diff --git a/src/app/commons/component/layout/menu/app.menu.component.html b/src/app/commons/component/layout/menu/app.menu.component.html new file mode 100644 index 0000000..c10b45a --- /dev/null +++ b/src/app/commons/component/layout/menu/app.menu.component.html @@ -0,0 +1 @@ +
    \ No newline at end of file diff --git a/src/app/commons/component/layout/menu/app.menu.component.ts b/src/app/commons/component/layout/menu/app.menu.component.ts new file mode 100644 index 0000000..dc76cd0 --- /dev/null +++ b/src/app/commons/component/layout/menu/app.menu.component.ts @@ -0,0 +1,42 @@ +import { Component, Input, OnInit } from '@angular/core'; +import { trigger, state, style, transition, animate } from '@angular/animations'; +import { MenuItem } from 'primeng/primeng'; +import { AppComponent } from 'app/app.component'; +import { PagesComponent } from 'app/pages/pages.component'; + +@Component({ + selector: 'of-menu', + templateUrl: './app.menu.component.html' +}) + +export class AppMenuComponent implements OnInit { + + @Input() reset: boolean; + + model: any[]; + + constructor(public app: PagesComponent) { } + + ngOnInit() { + this.model = [ + { label: 'Home', icon: 'home', routerLink: ['/'] }, + { + label: 'Infra', icon: 'all_inclusive', items: [ + { label: 'Map', icon: 'map', routerLink: ['/map'] }, + { label: 'Sensors', icon: 'compare_arrows', routerLink: ['/sensors'] }, + { label: 'Probes', icon: 'dock', routerLink: ['/probe/list'] }, + ] + }, + { + label: 'Monitor', icon: 'remove_red_eye', items: [ + { label: 'Overview', icon: 'rate_review', routerLink: ['/overview'] }, + { label: 'Dashboards', icon: 'dashboard', routerLink: ['/dashboard'] }, + ] + }, + { label: 'Alert', icon: 'warning', routerLink: ['/alert'] }, + { label: 'Report', icon: 'print', routerLink: ['/report'] }, + { label: 'Log', icon: 'history', routerLink: ['/log'] }, + ]; + } + +} diff --git a/src/app/commons/component/layout/menu/app.submenu.component.html b/src/app/commons/component/layout/menu/app.submenu.component.html new file mode 100644 index 0000000..11be3cd --- /dev/null +++ b/src/app/commons/component/layout/menu/app.submenu.component.html @@ -0,0 +1,28 @@ + +
  • + + {{child.icon}} + {{child.label}} + {{child.badge}} + keyboard_arrow_down + + + + {{child.icon}} + {{child.label}} + {{child.badge}} + keyboard_arrow_down + +
    +
    +
    {{child.label}}
    +
    +
      +
    • +
      \ No newline at end of file diff --git a/src/app/commons/component/layout/menu/app.submenu.component.ts b/src/app/commons/component/layout/menu/app.submenu.component.ts new file mode 100644 index 0000000..a48fa80 --- /dev/null +++ b/src/app/commons/component/layout/menu/app.submenu.component.ts @@ -0,0 +1,111 @@ +import { Component, Input, OnInit } from '@angular/core'; +import { trigger, state, style, transition, animate } from '@angular/animations'; +import { MenuItem } from 'primeng/primeng'; +import { AppComponent } from 'app/app.component'; +import { PagesComponent } from 'app/pages/pages.component'; + +@Component({ + /* tslint:disable:component-selector */ + selector: '[of-submenu]', + /* tslint:enable:component-selector */ + templateUrl: './app.submenu.component.html', + animations: [ + trigger('children', [ + state('hiddenAnimated', style({ + height: '0px' + })), + state('visibleAnimated', style({ + height: '*' + })), + state('visible', style({ + height: '*', + 'z-index': 100 + })), + state('hidden', style({ + height: '0px', + 'z-index': '*' + })), + transition('visibleAnimated => hiddenAnimated', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')), + transition('hiddenAnimated => visibleAnimated', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')) + ]) + ] +}) +export class AppSubMenuComponent { + + @Input() item: MenuItem; + + @Input() root: boolean; + + @Input() visible: boolean; + + _reset: boolean; + + activeIndex: number; + + constructor(public app: PagesComponent) { } + + itemClick(event: Event, item: MenuItem, index: number)  { + if (this.root) { + this.app.menuHoverActive = !this.app.menuHoverActive; + } + + // avoid processing disabled items + if (item.disabled) { + event.preventDefault(); + return true; + } + + // activate current item and deactivate active sibling if any + this.activeIndex = (this.activeIndex === index) ? null : index; + + // execute command + if (item.command) { + item.command({ originalEvent: event, item: item }); + } + + // prevent hash change + if (item.items || (!item.url && !item.routerLink)) { + setTimeout(() => { + this.app.layoutMenuScrollerViewChild.moveBar(); + }, 450); + event.preventDefault(); + } + + // hide menu + if (!item.items) { + if (this.app.isHorizontal() || this.app.isSlim()) { + this.app.resetMenu = true; + } else { + this.app.resetMenu = false; + } + + this.app.overlayMenuActive = false; + this.app.staticMenuMobileActive = false; + this.app.menuHoverActive = !this.app.menuHoverActive; + } + } + + onMouseEnter(index: number) { + if (this.root && this.app.menuHoverActive && (this.app.isHorizontal() || this.app.isSlim()) + && !this.app.isMobile() && !this.app.isTablet()) { + this.activeIndex = index; + } + } + + isActive(index: number): boolean { + return this.activeIndex === index; + } + + @Input() get reset(): boolean { + return this._reset; + } + + set reset(val: boolean) { + this._reset = val; + + if (this._reset && (this.app.isHorizontal() ||  this.app.isSlim())) { + this.activeIndex = null; + } + } +} + diff --git a/src/app/commons/component/layout/notification/app.notification.component.html b/src/app/commons/component/layout/notification/app.notification.component.html new file mode 100644 index 0000000..617982b --- /dev/null +++ b/src/app/commons/component/layout/notification/app.notification.component.html @@ -0,0 +1,15 @@ + \ No newline at end of file diff --git a/src/app/commons/component/layout/notification/app.notification.component.ts b/src/app/commons/component/layout/notification/app.notification.component.ts new file mode 100644 index 0000000..1f08148 --- /dev/null +++ b/src/app/commons/component/layout/notification/app.notification.component.ts @@ -0,0 +1,94 @@ +import { Component, Injectable, OnInit, AfterContentInit, Output, EventEmitter, OnDestroy } from '@angular/core'; +import * as ListStore from 'packages/notification/store/list'; +import * as DetailStore from 'packages/notification/store/detail'; +import { Store, select } from '@ngrx/store'; +import { ReadAllByMemberSelector, ReadSelector } from 'packages/notification/store'; +import { Page, PageParams } from '../../../model'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { AuthSelector } from 'packages/member/store'; +import { Member } from '@overflow/commons-typescript/model/member'; +import { PagesComponent } from 'app/pages/pages.component'; +import { Notification } from '@overflow/commons-typescript/model/notification'; +import { Router } from '@angular/router'; +import { Subscription } from 'rxjs/Subscription'; + +@Component({ + selector: 'of-notification-menu', + templateUrl: './app.notification.component.html' +}) + +export class AppNotificationComponent implements OnInit, AfterContentInit, OnDestroy { + + notificationSubscription$: Subscription; + notification$ = this.listStore.pipe(select(ReadAllByMemberSelector.select('page'))); + notifications: Notification[]; + + @Output() notificationLoaded = new EventEmitter(); + + constructor( + private router: Router, + private app: PagesComponent, + private listStore: Store, + private detailStore: Store, + ) { + } + + ngOnInit() { + this.notificationSubscription$ = this.notification$.subscribe( + (page: Page) => { + if (page !== null) { + this.notifications = page.content; + this.getUnconfirmedCount(); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + this.listStore.select(AuthSelector.select('member')).subscribe( + (member: Member) => { + const pageParams: PageParams = { + pageNo: '0', + countPerPage: '10', + sortCol: 'id', + sortDirection: 'descending' + }; + this.listStore.dispatch(new ListStore.ReadAllByMember({ member, pageParams })); + }, + (error) => { + console.log(error); + } + ); + } + + ngOnDestroy() { + if (this.notificationSubscription$) { + this.notificationSubscription$.unsubscribe(); + } + } + + getUnconfirmedCount() { + if (this.notifications === null || this.notifications.length === 0) { + return; + } + let totalCnt = 0; + for (let i = 0; i < 5; i ++) { + if (!this.notifications[i].confirmDate) { + totalCnt += 1; + } + } + this.notificationLoaded.emit(totalCnt); + } + + onViewAllClick() { + this.router.navigate(['notification']); + } + + onNotiClick(notification: Notification) { + this.detailStore.dispatch(new DetailStore.MarkAsRead(notification)); + alert('Will redirect to ' + notification.url); + } +} diff --git a/src/app/commons/component/layout/profile/app.profile.component.html b/src/app/commons/component/layout/profile/app.profile.component.html new file mode 100644 index 0000000..9301a5f --- /dev/null +++ b/src/app/commons/component/layout/profile/app.profile.component.html @@ -0,0 +1,34 @@ + + + diff --git a/src/app/commons/component/layout/profile/app.profile.component.ts b/src/app/commons/component/layout/profile/app.profile.component.ts new file mode 100644 index 0000000..292bae6 --- /dev/null +++ b/src/app/commons/component/layout/profile/app.profile.component.ts @@ -0,0 +1,60 @@ +import {Component, trigger, state, transition, style, animate, OnInit} from '@angular/core'; +import {AppComponent} from 'app/app.component'; +import { PagesComponent } from 'app/pages/pages.component'; +import {ActivatedRoute, Router} from '@angular/router'; +import * as AuthStore from '../../../../../packages/member/store/auth'; +import {select, Store} from '@ngrx/store'; +import {AuthSelector} from '../../../../../packages/member/store'; +import {Member} from '@overflow/commons-typescript/model/member'; + +@Component({ + selector: 'of-inline-profile', + templateUrl: './app.profile.component.html', + animations: [ + trigger('menu', [ + state('hidden', style({ + height: '0px' + })), + state('visible', style({ + height: '*' + })), + transition('visible => hidden', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')), + transition('hidden => visible', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')) + ]) + ] +}) +export class AppInlineProfileComponent implements OnInit { + + active: boolean; + + member: Member; + + // this.store.select(AuthSelector.select('member'); + + constructor( + public app: PagesComponent, + private activatedRoute: ActivatedRoute, + private router: Router, + private store: Store, + ) { + } + + + ngOnInit() { + this.store.select(AuthSelector.select('member')).subscribe( + (member: Member) => { + this.member = member; + }, + (error) => { + console.log(error); + } + ); + } + onClick(event) { + this.active = !this.active; + setTimeout(() => { + this.app.layoutMenuScrollerViewChild.moveBar(); + }, 450); + event.preventDefault(); + } +} diff --git a/src/app/commons/component/layout/right-panel/app.rightpanel.component.html b/src/app/commons/component/layout/right-panel/app.rightpanel.component.html new file mode 100644 index 0000000..c7f4895 --- /dev/null +++ b/src/app/commons/component/layout/right-panel/app.rightpanel.component.html @@ -0,0 +1,53 @@ +
      + +
      +
      +
      Wednesday
      +
      Jan 26
      +
      + +
      +

      Weather

      +

      San Francisco, USA

      + +
      + 21℃ + +
      + +
        +
      • + Thursday + + 24 +
      • +
      • + Friday + + 19 +
      • +
      • + Saturday + + 15 +
      • +
      • + Sunday + + 24 +
      • +
      • + Monday + + 21 +
      • +
      • + Tuesday + + 20 +
      • +
      +
      +
      +
      +
      \ No newline at end of file diff --git a/src/app/commons/component/layout/right-panel/app.rightpanel.component.ts b/src/app/commons/component/layout/right-panel/app.rightpanel.component.ts new file mode 100644 index 0000000..61fc18d --- /dev/null +++ b/src/app/commons/component/layout/right-panel/app.rightpanel.component.ts @@ -0,0 +1,19 @@ +import {Component, ViewChild, AfterViewInit} from '@angular/core'; +import {AppComponent} from 'app/app.component'; +import {ScrollPanel} from 'primeng/primeng'; +import { PagesComponent } from 'app/pages/pages.component'; + +@Component({ + selector: 'of-rightpanel', + templateUrl: './app.rightpanel.component.html' +}) +export class AppRightpanelComponent implements AfterViewInit { + + @ViewChild('scrollRightPanel') rightPanelMenuScrollerViewChild: ScrollPanel; + + constructor(public app: PagesComponent) {} + + ngAfterViewInit() { + setTimeout(() => {this.rightPanelMenuScrollerViewChild.moveBar(); }, 100); + } +} diff --git a/src/app/commons/component/layout/tabbar/app.tabbar.component.html b/src/app/commons/component/layout/tabbar/app.tabbar.component.html new file mode 100644 index 0000000..7f2265b --- /dev/null +++ b/src/app/commons/component/layout/tabbar/app.tabbar.component.html @@ -0,0 +1 @@ + diff --git a/src/app/commons/component/layout/tabbar/app.tabbar.component.ts b/src/app/commons/component/layout/tabbar/app.tabbar.component.ts new file mode 100644 index 0000000..7cfc418 --- /dev/null +++ b/src/app/commons/component/layout/tabbar/app.tabbar.component.ts @@ -0,0 +1,16 @@ +import { Component, Input, OnInit } from '@angular/core'; +import { Router } from '@angular/router'; +import { Language } from 'angular-l10n'; + +@Component({ + selector: 'of-tabbar', + templateUrl: './app.tabbar.component.html', +}) +export class TabbarComponent implements OnInit { + @Input() tabs: any; + + constructor(public router: Router) { } + + ngOnInit() { + } +} diff --git a/src/app/commons/component/layout/tabbar/app.tabbar.module.ts b/src/app/commons/component/layout/tabbar/app.tabbar.module.ts new file mode 100644 index 0000000..8ce5896 --- /dev/null +++ b/src/app/commons/component/layout/tabbar/app.tabbar.module.ts @@ -0,0 +1,19 @@ +import { NgModule, Inject } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { TabbarComponent } from './app.tabbar.component'; +import { PrimeNGModules } from 'packages/commons/prime-ng/prime-ng.module'; + +@NgModule({ + imports: [ + CommonModule, + PrimeNGModules, + ], + declarations: [ + TabbarComponent, + ], + exports: [ + TabbarComponent, + ], +}) +export class TabbarModule { +} diff --git a/src/app/commons/component/layout/topbar/app.topbar.component.html b/src/app/commons/component/layout/topbar/app.topbar.component.html new file mode 100644 index 0000000..82751ef --- /dev/null +++ b/src/app/commons/component/layout/topbar/app.topbar.component.html @@ -0,0 +1,188 @@ + \ No newline at end of file diff --git a/src/app/commons/component/layout/topbar/app.topbar.component.ts b/src/app/commons/component/layout/topbar/app.topbar.component.ts new file mode 100644 index 0000000..38603e3 --- /dev/null +++ b/src/app/commons/component/layout/topbar/app.topbar.component.ts @@ -0,0 +1,24 @@ +import { Component, OnInit } from '@angular/core'; +import { AppComponent } from 'app/app.component'; +import { PagesComponent } from 'app/pages/pages.component'; +import { AppNotificationComponent } from '../notification/app.notification.component'; + +@Component({ + selector: 'of-topbar', + templateUrl: './app.topbar.component.html', +}) +export class AppTopbarComponent implements OnInit { + + notificationCount; + constructor( + public app: PagesComponent, + ) { } + + ngOnInit() { + } + + onNotiLoaded(count) { + console.log('count changed'); + this.notificationCount = count; + } +} diff --git a/src/app/commons/guard/auth.guard.spec.ts b/src/app/commons/guard/auth.guard.spec.ts new file mode 100644 index 0000000..7ed05ee --- /dev/null +++ b/src/app/commons/guard/auth.guard.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, async, inject } from '@angular/core/testing'; + +import { AuthGuard } from './auth.guard'; + +describe('AuthGuard', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [AuthGuard] + }); + }); + + it('should ...', inject([AuthGuard], (guard: AuthGuard) => { + expect(guard).toBeTruthy(); + })); +}); diff --git a/src/app/commons/guard/auth.guard.ts b/src/app/commons/guard/auth.guard.ts new file mode 100644 index 0000000..fd98d82 --- /dev/null +++ b/src/app/commons/guard/auth.guard.ts @@ -0,0 +1,57 @@ +import { Injectable } from '@angular/core'; +import { + CanActivate, + CanActivateChild, + ActivatedRouteSnapshot, + RouterStateSnapshot +} from '@angular/router'; +import { Store } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import 'rxjs/add/operator/take'; +import 'rxjs/add/operator/map'; + +import { CookieService } from 'ngx-cookie-service'; + +import * as AuthStore from 'packages/member/store/auth'; +import { AuthSelector } from 'packages/member/store'; + +@Injectable() +export class AuthGuard implements CanActivate, CanActivateChild { + constructor( + private store: Store, + private cookieService: CookieService, + ) { } + + canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable { + return this.store + .select(AuthSelector.select('signined')) + .map(signined => { + if (!signined) { + if (this.cookieService.check('authToken')) { + this.store.dispatch(new AuthStore.SigninCookie({authToken: this.cookieService.get('authToken'), returnURL: state.url})); + } else { + this.store.dispatch(new AuthStore.SigninRedirect(state.url)); + } + return false; + } + + return true; + }) + .take(1); + } + + canActivateChild(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable { + return this.store + .select(AuthSelector.select('signined')) + .map(signined => { + if (!signined) { + this.store.dispatch(new AuthStore.SigninRedirect(state.url)); + return false; + } + + return true; + }) + .take(1); + } +} diff --git a/src/app/commons/model/Page.ts b/src/app/commons/model/Page.ts new file mode 100644 index 0000000..e64070a --- /dev/null +++ b/src/app/commons/model/Page.ts @@ -0,0 +1,13 @@ +export interface Page { + content: any; + first: boolean; + last: boolean; + number: number; + numberOfElements: number; + size: number; + sort: any; + totalElements: number; + totalPages: number; +} + +// export default Page; diff --git a/src/app/commons/model/PageParams.ts b/src/app/commons/model/PageParams.ts new file mode 100644 index 0000000..1ab0d14 --- /dev/null +++ b/src/app/commons/model/PageParams.ts @@ -0,0 +1,8 @@ +export interface PageParams { + pageNo: string; + countPerPage: string; + sortCol?: string; + sortDirection?: string; +} + +// export default PageParams; diff --git a/src/app/commons/model/index.ts b/src/app/commons/model/index.ts new file mode 100644 index 0000000..46f7171 --- /dev/null +++ b/src/app/commons/model/index.ts @@ -0,0 +1,2 @@ +export * from './Page'; +export * from './PageParams'; diff --git a/src/app/commons/store/index.ts b/src/app/commons/store/index.ts new file mode 100644 index 0000000..64ea21e --- /dev/null +++ b/src/app/commons/store/index.ts @@ -0,0 +1,13 @@ +import { ActionReducerMap } from '@ngrx/store'; + +import * as SigninInitStore from './signin-init'; + +export interface State { +} + +export const REDUCERS: ActionReducerMap = { +}; + +export const EFFECTS = [ + SigninInitStore.Effects, +]; diff --git a/src/app/commons/store/signin-init/index.ts b/src/app/commons/store/signin-init/index.ts new file mode 100644 index 0000000..3ac331f --- /dev/null +++ b/src/app/commons/store/signin-init/index.ts @@ -0,0 +1 @@ +export * from './signin-init.effect'; diff --git a/src/app/commons/store/signin-init/signin-init.effect.spec.ts b/src/app/commons/store/signin-init/signin-init.effect.spec.ts new file mode 100644 index 0000000..6214021 --- /dev/null +++ b/src/app/commons/store/signin-init/signin-init.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './signin-init.effect'; + +describe('SigninInit.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/app/commons/store/signin-init/signin-init.effect.ts b/src/app/commons/store/signin-init/signin-init.effect.ts new file mode 100644 index 0000000..07b6efa --- /dev/null +++ b/src/app/commons/store/signin-init/signin-init.effect.ts @@ -0,0 +1,68 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { CookieService } from 'ngx-cookie-service'; + +import { RPCService } from '@loafer/ng-rpc/service'; + +import { + SigninSuccess, + SigninCookieSuccess, + ActionType, +} from 'packages/member/store/auth'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private rpcService: RPCService, + private cookieService: CookieService, + ) { } + + @Effect({ dispatch: false }) + signinSuccess$ = this.actions$ + .ofType(ActionType.SigninSuccess) + .map((action: SigninSuccess) => action.payload) + .do( + (result) => { + const authToken = result.authToken; + // console.log(`authToken: ${authToken}`); + + const expires = new Date(); + expires.setDate(expires.getDate() + 1); + this.cookieService.set('authToken', authToken, expires, '/'); + + const queryString = `authToken=${authToken}`; + + this.rpcService.connect(queryString); + } + ); + + @Effect({ dispatch: false }) + signinCookieSuccess$ = this.actions$ + .ofType(ActionType.SigninCookieSuccess) + .map((action: SigninCookieSuccess) => action.payload) + .do( + (result) => { + const authToken = this.cookieService.get('authToken'); + // console.log(`authToken: ${authToken}`); + const queryString = `authToken=${authToken}`; + + this.rpcService.connect(queryString); + } + ); +} diff --git a/src/app/commons/util/ngrx/router-store/serializer/simple-router-state-serializer.ts b/src/app/commons/util/ngrx/router-store/serializer/simple-router-state-serializer.ts new file mode 100644 index 0000000..002f1d8 --- /dev/null +++ b/src/app/commons/util/ngrx/router-store/serializer/simple-router-state-serializer.ts @@ -0,0 +1,33 @@ +import { RouterStateSerializer } from '@ngrx/router-store'; +import { RouterStateSnapshot, Params } from '@angular/router'; + +/** + * The RouterStateSerializer takes the current RouterStateSnapshot + * and returns any pertinent information needed. The snapshot contains + * all information about the state of the router at the given point in time. + * The entire snapshot is complex and not always needed. In this case, you only + * need the URL and query parameters from the snapshot in the store. Other items could be + * returned such as route parameters and static route data. + */ +export interface RouterStateURL { + url: string; + params: Params; + queryParams: Params; +} + +export class SimpleRouterStateSerializer implements RouterStateSerializer { + serialize(routerState: RouterStateSnapshot): RouterStateURL { + let route = routerState.root; + + while (route.firstChild) { + route = route.firstChild; + } + + const { url, root: { queryParams } } = routerState; + const { params } = route; + + // Only return an object including the URL, params and query params + // instead of the entire snapshot + return { url, params, queryParams }; + } +} diff --git a/src/app/pages/account/account-page-routing.module.ts b/src/app/pages/account/account-page-routing.module.ts new file mode 100644 index 0000000..9bbd5f0 --- /dev/null +++ b/src/app/pages/account/account-page-routing.module.ts @@ -0,0 +1,23 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { AccountPageComponent } from './account-page.component'; +import { ProfilePageComponent } from './profile/profile-page.component'; +import { SettingsPageComponent } from './settings/settings-page.component'; + +const routes: Routes = [ + { + path: '', + component: AccountPageComponent, + children: [ + { path: '', redirectTo: 'profile' }, + { path: 'profile', component: ProfilePageComponent}, + { path: 'settings', component: SettingsPageComponent}, + ] + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class AccountPageRoutingModule { } diff --git a/src/app/pages/account/account-page.component.html b/src/app/pages/account/account-page.component.html new file mode 100644 index 0000000..15f4e9a --- /dev/null +++ b/src/app/pages/account/account-page.component.html @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/app/pages/account/account-page.component.spec.ts b/src/app/pages/account/account-page.component.spec.ts new file mode 100644 index 0000000..45db8e5 --- /dev/null +++ b/src/app/pages/account/account-page.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AccountPageComponent } from './account-page.component'; + +describe('ProfilePageComponent', () => { + let component: AccountPageComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ AccountPageComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AccountPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/account/account-page.component.ts b/src/app/pages/account/account-page.component.ts new file mode 100644 index 0000000..5b5cc48 --- /dev/null +++ b/src/app/pages/account/account-page.component.ts @@ -0,0 +1,16 @@ +import { Component, OnInit } from '@angular/core'; +import { Router, ActivatedRoute } from '@angular/router'; + +@Component({ + selector: 'of-pages-account', + templateUrl: './account-page.component.html', +}) +export class AccountPageComponent implements OnInit { + + constructor(private route: ActivatedRoute, private router: Router) { + } + + ngOnInit() { + } + +} diff --git a/src/app/pages/account/account-page.module.ts b/src/app/pages/account/account-page.module.ts new file mode 100644 index 0000000..0861a33 --- /dev/null +++ b/src/app/pages/account/account-page.module.ts @@ -0,0 +1,27 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { AccountPageRoutingModule } from './account-page-routing.module'; +import { AccountPageComponent } from './account-page.component'; +import { ProfilePageComponent } from './profile/profile-page.component'; +import { SettingsPageComponent } from './settings/settings-page.component'; +import { PrimeNGModules } from 'packages/commons/prime-ng/prime-ng.module'; +import { MemberModule } from 'packages/member/member.module'; + +export const COMPONENTS = [ + AccountPageComponent, + ProfilePageComponent, + SettingsPageComponent +]; + +@NgModule({ + imports: [ + CommonModule, + AccountPageRoutingModule, + PrimeNGModules, + MemberModule, + // NotificationModule, + ], + declarations: COMPONENTS +}) +export class AccountPageModule { } diff --git a/src/app/pages/account/profile/profile-page.component.html b/src/app/pages/account/profile/profile-page.component.html new file mode 100644 index 0000000..a2a358e --- /dev/null +++ b/src/app/pages/account/profile/profile-page.component.html @@ -0,0 +1,10 @@ +
      +
      +
      +
      +

      Profile

      + +
      +
      +
      +
      diff --git a/src/app/pages/account/profile/profile-page.component.spec.ts b/src/app/pages/account/profile/profile-page.component.spec.ts new file mode 100644 index 0000000..54e11a0 --- /dev/null +++ b/src/app/pages/account/profile/profile-page.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ProfilePageComponent } from './profile-page.component'; + +describe('ProfilePageComponent', () => { + let component: ProfilePageComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ProfilePageComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ProfilePageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/account/profile/profile-page.component.ts b/src/app/pages/account/profile/profile-page.component.ts new file mode 100644 index 0000000..25d28d8 --- /dev/null +++ b/src/app/pages/account/profile/profile-page.component.ts @@ -0,0 +1,17 @@ +import { Component, OnInit } from '@angular/core'; +import { Router, ActivatedRoute } from '@angular/router'; + +@Component({ + selector: 'of-pages-profile', + templateUrl: './profile-page.component.html', +}) +export class ProfilePageComponent implements OnInit { + + + constructor(private route: ActivatedRoute, private router: Router) { + } + + ngOnInit() { + } + +} diff --git a/src/app/pages/account/settings/settings-page.component.html b/src/app/pages/account/settings/settings-page.component.html new file mode 100644 index 0000000..9448a88 --- /dev/null +++ b/src/app/pages/account/settings/settings-page.component.html @@ -0,0 +1,9 @@ +
      +
      +
      +
      + +
      +
      +
      +
      diff --git a/src/app/pages/account/settings/settings-page.component.spec.ts b/src/app/pages/account/settings/settings-page.component.spec.ts new file mode 100644 index 0000000..01e5e9b --- /dev/null +++ b/src/app/pages/account/settings/settings-page.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SettingsPageComponent } from './settings-page.component'; + +describe('ProfilePageComponent', () => { + let component: SettingsPageComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SettingsPageComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SettingsPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/account/settings/settings-page.component.ts b/src/app/pages/account/settings/settings-page.component.ts new file mode 100644 index 0000000..3db345c --- /dev/null +++ b/src/app/pages/account/settings/settings-page.component.ts @@ -0,0 +1,16 @@ +import { Component, OnInit } from '@angular/core'; +import { Router, ActivatedRoute } from '@angular/router'; + +@Component({ + selector: 'of-pages-alert', + templateUrl: './settings-page.component.html', +}) +export class SettingsPageComponent implements OnInit { + + constructor(private route: ActivatedRoute, private router: Router) { + } + + ngOnInit() { + } + +} diff --git a/src/app/pages/auth/auth-page-routing.module.ts b/src/app/pages/auth/auth-page-routing.module.ts new file mode 100644 index 0000000..3cd13d6 --- /dev/null +++ b/src/app/pages/auth/auth-page-routing.module.ts @@ -0,0 +1,29 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { AuthPageComponent } from './auth-page.component'; + +import { SigninPageComponent } from './signin/signin-page.component'; +import { SignupPageComponent } from './signup/signup-page.component'; +import { ResetPasswordPageComponent } from './reset-password/reset-password-page.component'; +import { ModifyPasswordPageComponent } from './reset-password/modify-password-page.component'; + +const routes: Routes = [ + { + path: '', + component: AuthPageComponent, + children: [ + { path: '', redirectTo: 'signin' }, + { path: 'signin', component: SigninPageComponent }, + { path: 'signup', component: SignupPageComponent }, + { path: 'reset-password', component: ResetPasswordPageComponent }, + { path: 'modify-password', component: ModifyPasswordPageComponent } + ] + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class AuthPageRoutingModule { } + diff --git a/src/app/pages/auth/auth-page.component.html b/src/app/pages/auth/auth-page.component.html new file mode 100644 index 0000000..ba28123 --- /dev/null +++ b/src/app/pages/auth/auth-page.component.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/src/app/pages/auth/auth-page.component.scss b/src/app/pages/auth/auth-page.component.scss new file mode 100644 index 0000000..67774e7 --- /dev/null +++ b/src/app/pages/auth/auth-page.component.scss @@ -0,0 +1,33 @@ +$image_path: "/assets/layout/images/" !default; + +.auth_background { + background-image:url($image_path + 'login11.jpg'); + margin: 0; + height: 100%; + background-repeat: no-repeat; + background-position: center; + background-size: cover; +} +.auth_card { + position: relative; + margin: auto auto; + width: 500px; +} + +$prefix: 'auth'; + +.#{$prefix} { + + &-container { + background-image:url($image_path + 'login11.jpg'); + min-height: 100%; + background-size: cover; + padding: 10px auto; + } + + &-main { + position: relative; + margin: auto auto; + width: 500px; + } +} \ No newline at end of file diff --git a/src/app/pages/auth/auth-page.component.spec.ts b/src/app/pages/auth/auth-page.component.spec.ts new file mode 100644 index 0000000..46c03ce --- /dev/null +++ b/src/app/pages/auth/auth-page.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AuthPageComponent } from './auth-page.component'; + +describe('AuthPageComponent', () => { + let component: AuthPageComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ AuthPageComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AuthPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/auth/auth-page.component.ts b/src/app/pages/auth/auth-page.component.ts new file mode 100644 index 0000000..f977c1b --- /dev/null +++ b/src/app/pages/auth/auth-page.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'of-pages-auth', + templateUrl: './auth-page.component.html', + styleUrls: ['./auth-page.component.scss'] +}) +export class AuthPageComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/pages/auth/auth-page.module.ts b/src/app/pages/auth/auth-page.module.ts new file mode 100644 index 0000000..e0957ee --- /dev/null +++ b/src/app/pages/auth/auth-page.module.ts @@ -0,0 +1,30 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { MemberModule } from 'packages/member/member.module'; + +import { AuthPageComponent } from './auth-page.component'; +import { AuthPageRoutingModule } from './auth-page-routing.module'; + +import { SigninPageComponent } from './signin/signin-page.component'; +import { SignupPageComponent } from './signup/signup-page.component'; +import { ResetPasswordPageComponent } from './reset-password/reset-password-page.component'; +import {ModifyPasswordPageComponent} from './reset-password/modify-password-page.component'; + +export const COMPONENTS = [ + AuthPageComponent, + SigninPageComponent, + SignupPageComponent, + ResetPasswordPageComponent, + ModifyPasswordPageComponent, +]; + +@NgModule({ + imports: [ + CommonModule, + AuthPageRoutingModule, + MemberModule, + ], + declarations: COMPONENTS, +}) +export class AuthPageModule { } diff --git a/src/app/pages/auth/reset-password/modify-password-page.component.html b/src/app/pages/auth/reset-password/modify-password-page.component.html new file mode 100644 index 0000000..8838c53 --- /dev/null +++ b/src/app/pages/auth/reset-password/modify-password-page.component.html @@ -0,0 +1 @@ + diff --git a/src/app/pages/auth/reset-password/modify-password-page.component.spec.ts b/src/app/pages/auth/reset-password/modify-password-page.component.spec.ts new file mode 100644 index 0000000..69d2e46 --- /dev/null +++ b/src/app/pages/auth/reset-password/modify-password-page.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ModifyPasswordPageComponent } from './modify-password-page.component'; + +describe('ModifyPasswordPageComponent', () => { + let component: ModifyPasswordPageComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ModifyPasswordPageComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ModifyPasswordPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/auth/reset-password/modify-password-page.component.ts b/src/app/pages/auth/reset-password/modify-password-page.component.ts new file mode 100644 index 0000000..d099e26 --- /dev/null +++ b/src/app/pages/auth/reset-password/modify-password-page.component.ts @@ -0,0 +1,21 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Form, FormBuilder, FormGroup, FormGroupDirective, FormControl, NgForm, Validators } from '@angular/forms'; + +@Component({ + selector: 'of-pages-modify-password', + templateUrl: './modify-password-page.component.html', +}) +export class ModifyPasswordPageComponent implements OnInit { + toenURL: string; + + constructor( + private router: Router, + private activatedRoute: ActivatedRoute, + ) { } + + ngOnInit() { + this.toenURL = this.activatedRoute.snapshot.queryParams['token']; + } + +} diff --git a/src/app/pages/auth/reset-password/reset-password-page.component.html b/src/app/pages/auth/reset-password/reset-password-page.component.html new file mode 100644 index 0000000..37d0931 --- /dev/null +++ b/src/app/pages/auth/reset-password/reset-password-page.component.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/pages/auth/reset-password/reset-password-page.component.spec.ts b/src/app/pages/auth/reset-password/reset-password-page.component.spec.ts new file mode 100644 index 0000000..01b6aeb --- /dev/null +++ b/src/app/pages/auth/reset-password/reset-password-page.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ResetPasswordPageComponent } from './reset-password-page.component'; + +describe('ResetPasswordPageComponent', () => { + let component: ResetPasswordPageComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ResetPasswordPageComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ResetPasswordPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/auth/reset-password/reset-password-page.component.ts b/src/app/pages/auth/reset-password/reset-password-page.component.ts new file mode 100644 index 0000000..bff1c1c --- /dev/null +++ b/src/app/pages/auth/reset-password/reset-password-page.component.ts @@ -0,0 +1,14 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'of-pages-auth-reset-password', + templateUrl: './reset-password-page.component.html', +}) +export class ResetPasswordPageComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/pages/auth/signin/signin-page.component.html b/src/app/pages/auth/signin/signin-page.component.html new file mode 100644 index 0000000..5fad28e --- /dev/null +++ b/src/app/pages/auth/signin/signin-page.component.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/pages/auth/signin/signin-page.component.spec.ts b/src/app/pages/auth/signin/signin-page.component.spec.ts new file mode 100644 index 0000000..3848731 --- /dev/null +++ b/src/app/pages/auth/signin/signin-page.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SigninPageComponent } from './signin-page.component'; + +describe('SigninPageComponent', () => { + let component: SigninPageComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SigninPageComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SigninPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/auth/signin/signin-page.component.ts b/src/app/pages/auth/signin/signin-page.component.ts new file mode 100644 index 0000000..21b3d16 --- /dev/null +++ b/src/app/pages/auth/signin/signin-page.component.ts @@ -0,0 +1,22 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Form, FormBuilder, FormGroup, FormGroupDirective, FormControl, NgForm, Validators } from '@angular/forms'; + + +@Component({ + selector: 'of-pages-auth-signin', + templateUrl: './signin-page.component.html', +}) +export class SigninPageComponent implements OnInit { + + returnURL: string; + + constructor( + private router: Router, + private activatedRoute: ActivatedRoute, + ) { } + + ngOnInit() { + this.returnURL = this.activatedRoute.snapshot.queryParams['returnURL'] || '/'; + } +} diff --git a/src/app/pages/auth/signup/signup-page.component.html b/src/app/pages/auth/signup/signup-page.component.html new file mode 100644 index 0000000..cb93c70 --- /dev/null +++ b/src/app/pages/auth/signup/signup-page.component.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/pages/auth/signup/signup-page.component.spec.ts b/src/app/pages/auth/signup/signup-page.component.spec.ts new file mode 100644 index 0000000..963d8d2 --- /dev/null +++ b/src/app/pages/auth/signup/signup-page.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SignupPageComponent } from './signup-page.component'; + +describe('SignupPageComponent', () => { + let component: SignupPageComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SignupPageComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SignupPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/auth/signup/signup-page.component.ts b/src/app/pages/auth/signup/signup-page.component.ts new file mode 100644 index 0000000..bae282d --- /dev/null +++ b/src/app/pages/auth/signup/signup-page.component.ts @@ -0,0 +1,25 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Form, FormBuilder, FormGroup, FormGroupDirective, FormControl, NgForm, Validators } from '@angular/forms'; + +@Component({ + selector: 'of-pages-auth-signup', + templateUrl: './signup-page.component.html', +}) +export class SignupPageComponent implements OnInit { + + signUpForm: FormGroup; + returnURL: string; + + constructor( + private router: Router, + private activatedRoute: ActivatedRoute, + ) { } + + ngOnInit() { + this.returnURL = this.activatedRoute.snapshot.queryParams['returnURL'] || '/'; + } + + initForm() { + } +} diff --git a/src/app/pages/download/download-page.component.html b/src/app/pages/download/download-page.component.html new file mode 100644 index 0000000..993740c --- /dev/null +++ b/src/app/pages/download/download-page.component.html @@ -0,0 +1 @@ +
      download
      \ No newline at end of file diff --git a/src/app/pages/download/download-page.component.ts b/src/app/pages/download/download-page.component.ts new file mode 100644 index 0000000..d9a247b --- /dev/null +++ b/src/app/pages/download/download-page.component.ts @@ -0,0 +1,18 @@ +import { Component, OnInit } from '@angular/core'; + + + +@Component({ + selector: 'of-pages-download', + templateUrl: './download-page.component.html', +}) +export class ProbeDownloadPageComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + + + +} diff --git a/src/app/pages/download/download-page.module.ts b/src/app/pages/download/download-page.module.ts new file mode 100644 index 0000000..8ce3f7e --- /dev/null +++ b/src/app/pages/download/download-page.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { PrimeNGModules } from 'packages/commons/prime-ng/prime-ng.module'; +import { ProbeDownloadPageComponent } from './download-page.component'; + +@NgModule({ + imports: [ + CommonModule, + PrimeNGModules, + ], + entryComponents: [ + ], + declarations: [ProbeDownloadPageComponent] +}) +export class ProbeDownloadPageModule { } diff --git a/src/app/pages/home/home-page-routing.module.ts b/src/app/pages/home/home-page-routing.module.ts new file mode 100644 index 0000000..126218e --- /dev/null +++ b/src/app/pages/home/home-page-routing.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { HomePageComponent } from './home-page.component'; + +const routes: Routes = [ + { + path: '', + component: HomePageComponent, + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class HomePageRoutingModule { } diff --git a/src/app/pages/home/home-page.component.html b/src/app/pages/home/home-page.component.html new file mode 100644 index 0000000..274a118 --- /dev/null +++ b/src/app/pages/home/home-page.component.html @@ -0,0 +1,9 @@ +
      +
      +
      +
      +

      Home works

      +
      +
      +
      +
      diff --git a/src/app/pages/home/home-page.component.ts b/src/app/pages/home/home-page.component.ts new file mode 100644 index 0000000..488cd5a --- /dev/null +++ b/src/app/pages/home/home-page.component.ts @@ -0,0 +1,19 @@ +import { Component, OnInit } from '@angular/core'; + + + +@Component({ + selector: 'of-pages-home', + templateUrl: './home-page.component.html', +}) +export class HomePageComponent implements OnInit { + + + constructor() { } + + ngOnInit() { + } + + + +} diff --git a/src/app/pages/home/home-page.module.ts b/src/app/pages/home/home-page.module.ts new file mode 100644 index 0000000..1508be2 --- /dev/null +++ b/src/app/pages/home/home-page.module.ts @@ -0,0 +1,18 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { HomePageComponent } from './home-page.component'; +import { HomePageRoutingModule } from './home-page-routing.module'; +import { PrimeNGModules } from 'packages/commons/prime-ng/prime-ng.module'; + +@NgModule({ + imports: [ + CommonModule, + HomePageRoutingModule, + PrimeNGModules, + ], + entryComponents: [ + ], + declarations: [HomePageComponent] +}) +export class HomePageModule { } diff --git a/src/app/pages/noauth-probe/noauth-probe-page-routing.module.ts b/src/app/pages/noauth-probe/noauth-probe-page-routing.module.ts new file mode 100644 index 0000000..5e7062b --- /dev/null +++ b/src/app/pages/noauth-probe/noauth-probe-page-routing.module.ts @@ -0,0 +1,19 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { NoAuthProbePageComponent } from './noauth-probe-page.component'; +import { ListComponent as ProbeListComponent } from 'packages/probe/component/list/list.component'; +import { ListComponent as NoauthListComponent } from 'packages/noauth/component/list/list.component'; +import { DownloadComponent } from 'packages/probe/component/download/download.component'; + +const routes: Routes = [ + { + path: '', + component: NoAuthProbePageComponent, + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class NoAuthProbePageRoutingModule { } diff --git a/src/app/pages/noauth-probe/noauth-probe-page.component.html b/src/app/pages/noauth-probe/noauth-probe-page.component.html new file mode 100644 index 0000000..9b26d62 --- /dev/null +++ b/src/app/pages/noauth-probe/noauth-probe-page.component.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/pages/noauth-probe/noauth-probe-page.component.ts b/src/app/pages/noauth-probe/noauth-probe-page.component.ts new file mode 100644 index 0000000..d32f3ed --- /dev/null +++ b/src/app/pages/noauth-probe/noauth-probe-page.component.ts @@ -0,0 +1,11 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'of-pages-noauth-probe', + templateUrl: './noauth-probe-page.component.html', +}) +export class NoAuthProbePageComponent { + + constructor() { } + +} diff --git a/src/app/pages/noauth-probe/noauth-probe-page.module.ts b/src/app/pages/noauth-probe/noauth-probe-page.module.ts new file mode 100644 index 0000000..deacdfa --- /dev/null +++ b/src/app/pages/noauth-probe/noauth-probe-page.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { ProbeModule } from 'packages/probe/probe.module'; +import { NoauthModule } from 'packages/noauth/noauth.module'; +import { NoAuthProbePageComponent } from './noauth-probe-page.component'; +import { NoAuthProbePageRoutingModule } from './noauth-probe-page-routing.module'; +import { TabbarModule } from 'app/commons/component/layout/tabbar/app.tabbar.module'; + +@NgModule({ + imports: [ + CommonModule, + NoAuthProbePageRoutingModule, + TabbarModule, + ProbeModule, + NoauthModule, + ], + declarations: [ + NoAuthProbePageComponent, + ] +}) +export class NoAuthProbePageModule { } diff --git a/src/app/pages/notification/notification-page-routing.module.ts b/src/app/pages/notification/notification-page-routing.module.ts new file mode 100644 index 0000000..bd9560b --- /dev/null +++ b/src/app/pages/notification/notification-page-routing.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { NotificationPageComponent } from './notification-page.component'; + +const routes: Routes = [ + { + path: '', + component: NotificationPageComponent, + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class NotificationPageRoutingModule { } diff --git a/src/app/pages/notification/notification-page.component.html b/src/app/pages/notification/notification-page.component.html new file mode 100644 index 0000000..d531f1a --- /dev/null +++ b/src/app/pages/notification/notification-page.component.html @@ -0,0 +1,9 @@ +
      +
      +
      +
      + +
      +
      +
      +
      \ No newline at end of file diff --git a/src/app/pages/notification/notification-page.component.spec.ts b/src/app/pages/notification/notification-page.component.spec.ts new file mode 100644 index 0000000..ed89982 --- /dev/null +++ b/src/app/pages/notification/notification-page.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NotificationPageComponent } from './notification-page.component'; + +describe('OverviewComponent', () => { + let component: NotificationPageComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [NotificationPageComponent] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(NotificationPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/notification/notification-page.component.ts b/src/app/pages/notification/notification-page.component.ts new file mode 100644 index 0000000..de2a70b --- /dev/null +++ b/src/app/pages/notification/notification-page.component.ts @@ -0,0 +1,14 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'of-page-notification', + templateUrl: './notification-page.component.html', +}) +export class NotificationPageComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/pages/notification/notification-page.module.ts b/src/app/pages/notification/notification-page.module.ts new file mode 100644 index 0000000..0f55c82 --- /dev/null +++ b/src/app/pages/notification/notification-page.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { NotificationPageComponent } from './notification-page.component'; +import { NotificationPageRoutingModule } from './notification-page-routing.module'; +import { NotificationModule } from 'packages/notification/notification.module'; + + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + NotificationPageRoutingModule, + NotificationModule + ], + declarations: [ + NotificationPageComponent, + ] +}) +export class NotificationPageModule { } diff --git a/src/app/pages/pages-routing.module.ts b/src/app/pages/pages-routing.module.ts new file mode 100644 index 0000000..32c8f83 --- /dev/null +++ b/src/app/pages/pages-routing.module.ts @@ -0,0 +1,32 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { PagesComponent } from './pages.component'; + +const routes: Routes = [ + { + path: '', + component: PagesComponent, + children: [ + { path: '', redirectTo: 'home' }, + { path: 'home', loadChildren: './home/home-page.module#HomePageModule' }, + { path: 'probe', loadChildren: './probe/probe-page.module#ProbePageModule' }, + // { path: 'sensors', loadChildren: './sensors/sensors-page.module#SensorsPageModule' }, + // { path: 'sensor', loadChildren: './sensor/sensor-page.module#SensorPageModule' }, + // { path: 'map', loadChildren: './infra/infra-page.module#InfraPageModule' }, + // { path: 'target', loadChildren: './target/target-page.module#TargetPageModule' }, + // { path: 'overview', loadChildren: './overview/overview-page.module#OverviewPageModule' }, + // { path: 'dashboard', loadChildren: './dashboard/dashboard-page.module#DashboardPageModule' }, + // { path: 'notification', loadChildren: './notification/notification-page.module#NotificationPageModule' }, + // { path: 'alert', loadChildren: './alert/alert-page.module#AlertPageModule' }, + // { path: 'report', loadChildren: './report/report-page.module#ReportPageModule' }, + // { path: 'log', loadChildren: './log/log-page.module#LogPageModule' }, + // { path: 'account', loadChildren: './account/account-page.module#AccountPageModule' }, + ] + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class PagesRoutingModule { } diff --git a/src/app/pages/pages.component.html b/src/app/pages/pages.component.html new file mode 100644 index 0000000..01e5012 --- /dev/null +++ b/src/app/pages/pages.component.html @@ -0,0 +1,34 @@ +
      + +
      + + + +
      + + + + +
      + +
      + + +
      + + +
      + +
      + + + +
      +
      +
      \ No newline at end of file diff --git a/src/app/pages/pages.component.scss b/src/app/pages/pages.component.scss new file mode 100644 index 0000000..30cb9c4 --- /dev/null +++ b/src/app/pages/pages.component.scss @@ -0,0 +1,21 @@ +@mixin auth($theme) { + $primary: map-get($theme, primary); + $accent: map-get($theme, accent); + $warn: map-get($theme, warn); + + + .sidenav,.drawer{ + background: mat-color($primary,400); + overflow: hidden; + position: relative; + } + [no-over-flow] { + overflow: hidden; + } + .router-outlet{ + position: relative;padding: 0px 5px; + } + .spacer { + width: 100%; + } +} \ No newline at end of file diff --git a/src/app/pages/pages.component.ts b/src/app/pages/pages.component.ts new file mode 100644 index 0000000..95c2f20 --- /dev/null +++ b/src/app/pages/pages.component.ts @@ -0,0 +1,328 @@ +import { Component, AfterViewInit, ElementRef, Renderer, ViewChild, OnDestroy, OnInit, NgZone } from '@angular/core'; +import { ScrollPanel } from 'primeng/primeng'; +import { Router } from '@angular/router'; + +enum MenuOrientation { + STATIC, + OVERLAY, + SLIM, + HORIZONTAL +} + +@Component({ + selector: 'of-pages', + templateUrl: './pages.component.html', + styleUrls: ['./pages.component.scss'] +}) +export class PagesComponent implements AfterViewInit, OnDestroy, OnInit { + layoutCompact = true; + + layoutMode: MenuOrientation = MenuOrientation.STATIC; + + darkMenu = false; + + profileMode = 'inline'; + + rotateMenuButton: boolean; + + topbarMenuActive: boolean; + + overlayMenuActive: boolean; + + staticMenuDesktopInactive: boolean; + + staticMenuMobileActive: boolean; + + rightPanelActive: boolean; + + rightPanelClick: boolean; + + layoutContainer: HTMLDivElement; + + layoutMenuScroller: HTMLDivElement; + + menuClick: boolean; + + topbarItemClick: boolean; + + activeTopbarItem: any; + + resetMenu: boolean; + + menuHoverActive: boolean; + + @ViewChild('layoutContainer') layourContainerViewChild: ElementRef; + + @ViewChild('scrollPanel') layoutMenuScrollerViewChild: ScrollPanel; + + rippleInitListener: any; + + rippleMouseDownListener: any; + + constructor(public renderer: Renderer, public zone: NgZone, private router: Router) { } + + ngOnInit() { + if (this.isAuthRouteActivated()) { + return; + } + this.zone.runOutsideAngular(() => { this.bindRipple(); }); + } + + bindRipple() { + this.rippleInitListener = this.init.bind(this); + document.addEventListener('DOMContentLoaded', this.rippleInitListener); + } + + init() { + this.rippleMouseDownListener = this.rippleMouseDown.bind(this); + document.addEventListener('mousedown', this.rippleMouseDownListener, false); + } + + rippleMouseDown(e) { + for (let target = e.target; target && target !== this; target = target['parentNode']) { + if (!this.isVisible(target)) { + continue; + } + + // Element.matches() -> https://developer.mozilla.org/en-US/docs/Web/API/Element/matches + if (this.selectorMatches(target, '.ripplelink, .ui-button')) { + const element = target; + this.rippleEffect(element, e); + break; + } + } + } + + selectorMatches(el, selector) { + const p = Element.prototype; + const f = p['matches'] || p['webkitMatchesSelector'] || p['mozMatchesSelector'] || p['msMatchesSelector'] || function (s) { + return [].indexOf.call(document.querySelectorAll(s), this) !== -1; + }; + return f.call(el, selector); + } + + isVisible(el) { + return !!(el.offsetWidth || el.offsetHeight); + } + + rippleEffect(element, e) { + if (element.querySelector('.ink') === null) { + const inkEl = document.createElement('span'); + this.addClass(inkEl, 'ink'); + + if (this.hasClass(element, 'ripplelink')) { + element.querySelector('span').insertAdjacentHTML('afterend', ''); + } else { + element.appendChild(inkEl); + } + } + + const ink = element.querySelector('.ink'); + this.removeClass(ink, 'ripple-animate'); + + if (!ink.offsetHeight && !ink.offsetWidth) { + const d = Math.max(element.offsetWidth, element.offsetHeight); + ink.style.height = d + 'px'; + ink.style.width = d + 'px'; + } + + const x = e.pageX - this.getOffset(element).left - (ink.offsetWidth / 2); + const y = e.pageY - this.getOffset(element).top - (ink.offsetHeight / 2); + + ink.style.top = y + 'px'; + ink.style.left = x + 'px'; + ink.style.pointerEvents = 'none'; + this.addClass(ink, 'ripple-animate'); + } + hasClass(element, className) { + if (element.classList) { + return element.classList.contains(className); + } else { + return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className); + } + } + + addClass(element, className) { + if (element.classList) { + element.classList.add(className); + } else { + element.className += ' ' + className; + } + } + + removeClass(element, className) { + if (element.classList) { + element.classList.remove(className); + } else { + element.className = element.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); + } + } + + getOffset(el) { + const rect = el.getBoundingClientRect(); + + return { + top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0), + left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0), + }; + } + + unbindRipple() { + if (this.rippleInitListener) { + document.removeEventListener('DOMContentLoaded', this.rippleInitListener); + } + if (this.rippleMouseDownListener) { + document.removeEventListener('mousedown', this.rippleMouseDownListener); + } + } + + ngAfterViewInit() { + this.layoutContainer = this.layourContainerViewChild.nativeElement; + setTimeout(() => { this.layoutMenuScrollerViewChild.moveBar(); }, 100); + } + + onLayoutClick() { + if (!this.topbarItemClick) { + this.activeTopbarItem = null; + this.topbarMenuActive = false; + } + + if (!this.menuClick) { + if (this.isHorizontal() || this.isSlim()) { + this.resetMenu = true; + } + + if (this.overlayMenuActive || this.staticMenuMobileActive) { + this.hideOverlayMenu(); + } + + this.menuHoverActive = false; + } + + if (!this.rightPanelClick) { + this.rightPanelActive = false; + } + + this.topbarItemClick = false; + this.menuClick = false; + this.rightPanelClick = false; + } + + onMenuButtonClick(event) { + this.menuClick = true; + this.rotateMenuButton = !this.rotateMenuButton; + this.topbarMenuActive = false; + + if (this.layoutMode === MenuOrientation.OVERLAY) { + this.overlayMenuActive = !this.overlayMenuActive; + } else { + if (this.isDesktop()) { + this.staticMenuDesktopInactive = !this.staticMenuDesktopInactive; + } else { + this.staticMenuMobileActive = !this.staticMenuMobileActive; + } + } + + event.preventDefault(); + } + + onMenuClick($event) { + this.menuClick = true; + this.resetMenu = false; + } + + onTopbarMenuButtonClick(event) { + this.topbarItemClick = true; + this.topbarMenuActive = !this.topbarMenuActive; + + this.hideOverlayMenu(); + + event.preventDefault(); + } + + onTopbarItemClick(event, item) { + this.topbarItemClick = true; + + if (this.activeTopbarItem === item) { + this.activeTopbarItem = null; + } else { + this.activeTopbarItem = item; + } + + event.preventDefault(); + } + + onRightPanelButtonClick(event) { + this.rightPanelClick = true; + this.rightPanelActive = !this.rightPanelActive; + event.preventDefault(); + } + + onRightPanelClick() { + this.rightPanelClick = true; + } + + hideOverlayMenu() { + this.rotateMenuButton = false; + this.overlayMenuActive = false; + this.staticMenuMobileActive = false; + } + + isTablet() { + const width = window.innerWidth; + return width <= 1024 && width > 640; + } + + isDesktop() { + return window.innerWidth > 1024; + } + + isMobile() { + return window.innerWidth <= 640; + } + + isOverlay() { + return this.layoutMode === MenuOrientation.OVERLAY; + } + + isHorizontal() { + return this.layoutMode === MenuOrientation.HORIZONTAL; + } + + isSlim() { + return this.layoutMode === MenuOrientation.SLIM; + } + + changeToStaticMenu() { + this.layoutMode = MenuOrientation.STATIC; + } + + changeToOverlayMenu() { + this.layoutMode = MenuOrientation.OVERLAY; + } + + changeToHorizontalMenu() { + this.layoutMode = MenuOrientation.HORIZONTAL; + } + + changeToSlimMenu() { + this.layoutMode = MenuOrientation.SLIM; + } + + ngOnDestroy() { + this.unbindRipple(); + } + + isAuthRouteActivated() { + return this.router.url.indexOf('/auth') > -1; + } + + changeTheme(theme) { + const themeLink: HTMLLinkElement = document.getElementById('theme-css'); + const layoutLink: HTMLLinkElement = document.getElementById('layout-css'); + + themeLink.href = 'assets/theme/theme-' + theme + '.css'; + layoutLink.href = 'assets/layout/css/layout-' + theme + '.css'; +} + +} diff --git a/src/app/pages/pages.module.ts b/src/app/pages/pages.module.ts new file mode 100644 index 0000000..8397d21 --- /dev/null +++ b/src/app/pages/pages.module.ts @@ -0,0 +1,50 @@ +import { NgModule, APP_INITIALIZER} from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { AppMenuComponent } from 'app/commons/component/layout/menu/app.menu.component'; +import { AppSubMenuComponent } from 'app/commons/component/layout/menu/app.submenu.component'; +import { AppTopbarComponent } from 'app/commons/component/layout/topbar/app.topbar.component'; +import { AppFooterComponent } from 'app/commons/component/layout/footer/app.footer.component'; +import { AppBreadcrumbComponent } from 'app/commons/component/layout/breadcrumb/app.breadcrumb.component'; +import { AppRightpanelComponent } from 'app/commons/component/layout/right-panel/app.rightpanel.component'; +import { AppInlineProfileComponent } from 'app/commons/component/layout/profile/app.profile.component'; +import { BreadcrumbService } from 'app/commons/component/layout/breadcrumb/breadcrumb.service'; + +import { + LocalizationModule, +} from 'angular-l10n'; + +import { PagesComponent } from './pages.component'; +import { PagesRoutingModule } from './pages-routing.module'; +import { LocationStrategy, HashLocationStrategy } from '@angular/common'; +import { PrimeNGModules } from 'packages/commons/prime-ng/prime-ng.module'; +import { TabbarModule } from 'app/commons/component/layout/tabbar/app.tabbar.module'; +import { AppNotificationComponent } from '../commons/component/layout/notification/app.notification.component'; +import { NotificationModule } from 'packages/notification/notification.module'; + +@NgModule({ + imports: [ + CommonModule, + PagesRoutingModule, + LocalizationModule, + PrimeNGModules, + TabbarModule, + NotificationModule + ], + declarations: [ + PagesComponent, + AppMenuComponent, + AppSubMenuComponent, + AppTopbarComponent, + AppFooterComponent, + AppBreadcrumbComponent, + AppRightpanelComponent, + AppInlineProfileComponent, + AppNotificationComponent + ], + providers: [ + { provide: LocationStrategy, useClass: HashLocationStrategy }, + BreadcrumbService, + ] +}) +export class PagesModule { } diff --git a/src/app/pages/probe/detail/detail.component.html b/src/app/pages/probe/detail/detail.component.html new file mode 100644 index 0000000..1782169 --- /dev/null +++ b/src/app/pages/probe/detail/detail.component.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/pages/probe/detail/detail.component.ts b/src/app/pages/probe/detail/detail.component.ts new file mode 100644 index 0000000..0519f8e --- /dev/null +++ b/src/app/pages/probe/detail/detail.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'of-pages-probe-detail', + templateUrl: './detail.component.html', +}) +export class ProbeDetailComponent { + + constructor( + ) { } + +} diff --git a/src/app/pages/probe/list/list.component.html b/src/app/pages/probe/list/list.component.html new file mode 100644 index 0000000..ad78266 --- /dev/null +++ b/src/app/pages/probe/list/list.component.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/app/pages/probe/list/list.component.ts b/src/app/pages/probe/list/list.component.ts new file mode 100644 index 0000000..0a98870 --- /dev/null +++ b/src/app/pages/probe/list/list.component.ts @@ -0,0 +1,18 @@ +import { Component } from '@angular/core'; +import { Router } from '@angular/router'; +import { Probe } from '@overflow/commons-typescript/model/probe'; + +@Component({ + selector: 'of-pages-probe-list', + templateUrl: './list.component.html', +}) +export class ProbeListComponent { + + constructor( + private router: Router, + ) { } + + onProbeSelect(probe: Probe) { + this.router.navigate(['probe', probe.id, 'info']); + } +} diff --git a/src/app/pages/probe/probe-page-routing.module.ts b/src/app/pages/probe/probe-page-routing.module.ts new file mode 100644 index 0000000..5b72e28 --- /dev/null +++ b/src/app/pages/probe/probe-page-routing.module.ts @@ -0,0 +1,29 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { ProbePageComponent } from './probe-page.component'; + +import { ProbeListComponent } from './list/list.component'; +import { ProbeDetailComponent } from './detail/detail.component'; + +import { DownloadComponent } from 'packages/probe/component/download/download.component'; + +const routes: Routes = [ + { + path: '', + component: ProbePageComponent, + children: [ + { path: 'list', component: ProbeListComponent }, + { path: 'noauth', loadChildren: 'app/pages/noauth-probe/noauth-probe-page.module#NoAuthProbePageModule' }, + { path: 'download', component: DownloadComponent }, + { path: ':id/info', component: ProbeDetailComponent }, + // { path: ':id/targets', loadChildren: 'app/pages/targets/targets-page.module#TargetsPageModule'}, + { path: ':id/history', component: null }, + ] + }, +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class ProbePageRoutingModule { } diff --git a/src/app/pages/probe/probe-page.component.html b/src/app/pages/probe/probe-page.component.html new file mode 100644 index 0000000..0328d41 --- /dev/null +++ b/src/app/pages/probe/probe-page.component.html @@ -0,0 +1,12 @@ +
      +
      +
      +
      + +
      +
      + +
      +
      +
      +
      \ No newline at end of file diff --git a/src/app/pages/probe/probe-page.component.spec.ts b/src/app/pages/probe/probe-page.component.spec.ts new file mode 100644 index 0000000..7e72ea9 --- /dev/null +++ b/src/app/pages/probe/probe-page.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ProbePageComponent } from './probe-page.component'; + +describe('ProbeComponent', () => { + let component: ProbePageComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ProbePageComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ProbePageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/probe/probe-page.component.ts b/src/app/pages/probe/probe-page.component.ts new file mode 100644 index 0000000..5a8e5b8 --- /dev/null +++ b/src/app/pages/probe/probe-page.component.ts @@ -0,0 +1,44 @@ +import { Component } from '@angular/core'; +import { Router, NavigationEnd } from '@angular/router'; +import { Subscription } from 'rxjs/Subscription'; + +@Component({ + selector: 'of-pages-probe', + templateUrl: './probe-page.component.html', +}) +export class ProbePageComponent { + + private tabs = undefined; + private routerSubscription: Subscription; + + constructor(private router: Router) { + router.events.subscribe((event) => { + if (event instanceof NavigationEnd) { + this.generateTabMenu(event); + } + }); + } + + generateTabMenu(event: NavigationEnd) { + const parsedUrl = event.url.split('probe/')[1].split('/')[0]; + switch (parsedUrl) { + case 'list': + case 'noauth': + case 'download': + this.tabs = [ + { label: 'PROBES', routerLink: ['/probe/list'] }, + { label: 'UNAUTHORIZED', routerLink: ['/probe/noauth'] }, + { label: 'DOWNLOAD', routerLink: ['/probe/download'] }, + ]; + break; + default: + this.tabs = [ + { label: 'INFO', routerLink: ['/probe/', parsedUrl, 'info'] }, + { label: 'TARGETS', routerLink: ['/probe/', parsedUrl, 'targets'], disabled: true }, + { label: 'HISTORY', path: ['/probe/', parsedUrl, 'history'], disabled: true }, + ]; + break; + } + } + +} diff --git a/src/app/pages/probe/probe-page.module.ts b/src/app/pages/probe/probe-page.module.ts new file mode 100644 index 0000000..4fc22af --- /dev/null +++ b/src/app/pages/probe/probe-page.module.ts @@ -0,0 +1,29 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +// import { ProbeModule } from 'packages/probe/probe.module'; +import { ProbePageComponent } from './probe-page.component'; +import { ProbePageRoutingModule } from './probe-page-routing.module'; +import { PrimeNGModules } from 'packages/commons/prime-ng/prime-ng.module'; +import { ProbeModule } from 'packages/probe/probe.module'; +import { TabbarModule } from 'app/commons/component/layout/tabbar/app.tabbar.module'; +import { NoauthModule } from 'packages/noauth/noauth.module'; +import { ProbeListComponent } from './list/list.component'; +import { ProbeDetailComponent } from './detail/detail.component'; + +@NgModule({ + imports: [ + CommonModule, + ProbePageRoutingModule, + PrimeNGModules, + ProbeModule, + NoauthModule, + TabbarModule, + ], + declarations: [ + ProbePageComponent, + ProbeListComponent, + ProbeDetailComponent + ] +}) +export class ProbePageModule { } diff --git a/src/assets/.gitkeep b/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/assets/demo/data/cars-large.json b/src/assets/demo/data/cars-large.json new file mode 100644 index 0000000..7511502 --- /dev/null +++ b/src/assets/demo/data/cars-large.json @@ -0,0 +1,1204 @@ +{ + "data":[ + { + "vin":"ee8a89d8", + "brand":"Fiat", + "year":1987, + "color":"Maroon" + }, + { + "vin":"642b3edc", + "brand":"Renault", + "year":1968, + "color":"White" + }, + { + "vin":"19ec7580", + "brand":"Renault", + "year":1981, + "color":"Black" + }, + { + "vin":"39980f30", + "brand":"VW", + "year":1986, + "color":"Red" + }, + { + "vin":"ec9cc4e4", + "brand":"Fiat", + "year":1981, + "color":"Brown" + }, + { + "vin":"09a06548", + "brand":"VW", + "year":1965, + "color":"Green" + }, + { + "vin":"05c47246", + "brand":"Mercedes", + "year":2007, + "color":"Blue" + }, + { + "vin":"a9cb87aa", + "brand":"Fiat", + "year":1962, + "color":"Green" + }, + { + "vin":"eae758fa", + "brand":"BMW", + "year":1999, + "color":"Yellow" + }, + { + "vin":"1241c403", + "brand":"Jaguar", + "year":1964, + "color":"Yellow" + }, + { + "vin":"13f853a7", + "brand":"Honda", + "year":2006, + "color":"White" + }, + { + "vin":"447d9ed9", + "brand":"Jaguar", + "year":2005, + "color":"Orange" + }, + { + "vin":"78fa052e", + "brand":"Jaguar", + "year":1990, + "color":"Orange" + }, + { + "vin":"8b77772a", + "brand":"Mercedes", + "year":1991, + "color":"Blue" + }, + { + "vin":"23ba7e86", + "brand":"Honda", + "year":1975, + "color":"Yellow" + }, + { + "vin":"9bacb32d", + "brand":"Volvo", + "year":1968, + "color":"Brown" + }, + { + "vin":"62094d91", + "brand":"Mercedes", + "year":1962, + "color":"Green" + }, + { + "vin":"dc7003f4", + "brand":"Jaguar", + "year":1976, + "color":"Maroon" + }, + { + "vin":"08607aef", + "brand":"Mercedes", + "year":1987, + "color":"Maroon" + }, + { + "vin":"45eee33a", + "brand":"BMW", + "year":1980, + "color":"Silver" + }, + { + "vin":"f199ec5c", + "brand":"Jaguar", + "year":1961, + "color":"Green" + }, + { + "vin":"b34cd9e8", + "brand":"VW", + "year":1993, + "color":"Silver" + }, + { + "vin":"54b20b02", + "brand":"Renault", + "year":1967, + "color":"Brown" + }, + { + "vin":"5dd8766e", + "brand":"Honda", + "year":1998, + "color":"Orange" + }, + { + "vin":"df50ce22", + "brand":"Mercedes", + "year":1964, + "color":"White" + }, + { + "vin":"ecb3e9e1", + "brand":"Honda", + "year":2003, + "color":"Silver" + }, + { + "vin":"750d731d", + "brand":"Renault", + "year":1962, + "color":"Blue" + }, + { + "vin":"bec38cf4", + "brand":"Renault", + "year":1960, + "color":"Blue" + }, + { + "vin":"b7752002", + "brand":"Jaguar", + "year":1964, + "color":"Black" + }, + { + "vin":"315fe9c4", + "brand":"Fiat", + "year":1985, + "color":"Red" + }, + { + "vin":"be65f786", + "brand":"Mercedes", + "year":1963, + "color":"Orange" + }, + { + "vin":"786a7d57", + "brand":"Mercedes", + "year":2003, + "color":"Black" + }, + { + "vin":"a3aee412", + "brand":"Volvo", + "year":2003, + "color":"Maroon" + }, + { + "vin":"749e6bdd", + "brand":"Audi", + "year":1995, + "color":"Brown" + }, + { + "vin":"8cc40f50", + "brand":"BMW", + "year":1961, + "color":"Brown" + }, + { + "vin":"5de63a6f", + "brand":"Renault", + "year":1961, + "color":"White" + }, + { + "vin":"bdae1e20", + "brand":"Jaguar", + "year":2008, + "color":"Blue" + }, + { + "vin":"290cc891", + "brand":"VW", + "year":1992, + "color":"Brown" + }, + { + "vin":"007e1014", + "brand":"Renault", + "year":1966, + "color":"Black" + }, + { + "vin":"429c502d", + "brand":"Honda", + "year":1995, + "color":"Silver" + }, + { + "vin":"c336f9b6", + "brand":"Honda", + "year":1991, + "color":"Maroon" + }, + { + "vin":"a6783ba3", + "brand":"Honda", + "year":2004, + "color":"Yellow" + }, + { + "vin":"2ddaf8d5", + "brand":"Volvo", + "year":1982, + "color":"Blue" + }, + { + "vin":"c09c4b15", + "brand":"VW", + "year":1991, + "color":"Blue" + }, + { + "vin":"4609844c", + "brand":"Honda", + "year":1972, + "color":"Black" + }, + { + "vin":"8db7df27", + "brand":"Audi", + "year":1982, + "color":"Blue" + }, + { + "vin":"dcc58086", + "brand":"Audi", + "year":2001, + "color":"Brown" + }, + { + "vin":"f1274cbe", + "brand":"Fiat", + "year":1995, + "color":"Silver" + }, + { + "vin":"0858a5d4", + "brand":"Renault", + "year":1992, + "color":"Green" + }, + { + "vin":"c2d42bb6", + "brand":"Volvo", + "year":1972, + "color":"Green" + }, + { + "vin":"5535cd5a", + "brand":"Renault", + "year":1980, + "color":"Silver" + }, + { + "vin":"e3313e1e", + "brand":"Honda", + "year":2009, + "color":"Orange" + }, + { + "vin":"f4dea691", + "brand":"BMW", + "year":2002, + "color":"Brown" + }, + { + "vin":"ec15a449", + "brand":"Honda", + "year":1990, + "color":"Yellow" + }, + { + "vin":"80b74a0e", + "brand":"BMW", + "year":1979, + "color":"Yellow" + }, + { + "vin":"513fe268", + "brand":"Honda", + "year":1987, + "color":"White" + }, + { + "vin":"6934c8f8", + "brand":"Renault", + "year":1989, + "color":"Red" + }, + { + "vin":"6a4c3ad0", + "brand":"Honda", + "year":1994, + "color":"Yellow" + }, + { + "vin":"e0acd7b5", + "brand":"Mercedes", + "year":1965, + "color":"Red" + }, + { + "vin":"2f31ac35", + "brand":"Jaguar", + "year":1991, + "color":"Brown" + }, + { + "vin":"36104237", + "brand":"VW", + "year":1992, + "color":"Silver" + }, + { + "vin":"5be099b4", + "brand":"BMW", + "year":1991, + "color":"Yellow" + }, + { + "vin":"e2f55f31", + "brand":"BMW", + "year":1967, + "color":"Silver" + }, + { + "vin":"11274338", + "brand":"Mercedes", + "year":1999, + "color":"Blue" + }, + { + "vin":"f710e177", + "brand":"Fiat", + "year":2007, + "color":"White" + }, + { + "vin":"d8375b4b", + "brand":"Volvo", + "year":1977, + "color":"Blue" + }, + { + "vin":"a27ddfe3", + "brand":"VW", + "year":1978, + "color":"Blue" + }, + { + "vin":"d8848162", + "brand":"BMW", + "year":2008, + "color":"Black" + }, + { + "vin":"e9cb3677", + "brand":"BMW", + "year":2004, + "color":"Black" + }, + { + "vin":"c9dc321d", + "brand":"BMW", + "year":1989, + "color":"Red" + }, + { + "vin":"4c75c610", + "brand":"Volvo", + "year":1972, + "color":"Yellow" + }, + { + "vin":"1c90c93d", + "brand":"Audi", + "year":2004, + "color":"Silver" + }, + { + "vin":"5ccc9f7f", + "brand":"Jaguar", + "year":1961, + "color":"Red" + }, + { + "vin":"94498bc0", + "brand":"Fiat", + "year":1965, + "color":"Silver" + }, + { + "vin":"1d1a21f3", + "brand":"Honda", + "year":1985, + "color":"Red" + }, + { + "vin":"ea463ad3", + "brand":"BMW", + "year":1992, + "color":"Blue" + }, + { + "vin":"c24bdeb2", + "brand":"Honda", + "year":1991, + "color":"Red" + }, + { + "vin":"af3b744b", + "brand":"Audi", + "year":1998, + "color":"Green" + }, + { + "vin":"bebd5a96", + "brand":"Jaguar", + "year":1989, + "color":"Black" + }, + { + "vin":"6ef9dbf3", + "brand":"Fiat", + "year":1962, + "color":"Orange" + }, + { + "vin":"eede8f1e", + "brand":"Jaguar", + "year":1977, + "color":"Brown" + }, + { + "vin":"9d11b02d", + "brand":"BMW", + "year":1971, + "color":"Yellow" + }, + { + "vin":"1d4223a1", + "brand":"Mercedes", + "year":1975, + "color":"Brown" + }, + { + "vin":"4d118346", + "brand":"Mercedes", + "year":1985, + "color":"Brown" + }, + { + "vin":"cce76f06", + "brand":"Honda", + "year":1980, + "color":"Maroon" + }, + { + "vin":"2af398ed", + "brand":"Renault", + "year":1970, + "color":"Yellow" + }, + { + "vin":"c0ddab4c", + "brand":"Audi", + "year":2003, + "color":"Silver" + }, + { + "vin":"a27ea639", + "brand":"Mercedes", + "year":1968, + "color":"Yellow" + }, + { + "vin":"e6441f09", + "brand":"Jaguar", + "year":1982, + "color":"Green" + }, + { + "vin":"c4c59d58", + "brand":"Fiat", + "year":2005, + "color":"Orange" + }, + { + "vin":"9d31fc0a", + "brand":"Mercedes", + "year":1974, + "color":"Brown" + }, + { + "vin":"b0ffce2d", + "brand":"Volvo", + "year":1966, + "color":"Yellow" + }, + { + "vin":"ca7e52e3", + "brand":"Honda", + "year":1971, + "color":"Orange" + }, + { + "vin":"56b36f0e", + "brand":"Mercedes", + "year":2008, + "color":"Orange" + }, + { + "vin":"ba045e1e", + "brand":"Jaguar", + "year":1968, + "color":"White" + }, + { + "vin":"fd579989", + "brand":"BMW", + "year":1975, + "color":"Black" + }, + { + "vin":"084850a3", + "brand":"Audi", + "year":1990, + "color":"Red" + }, + { + "vin":"e39245ab", + "brand":"BMW", + "year":1969, + "color":"White" + }, + { + "vin":"41ab14a1", + "brand":"Jaguar", + "year":1987, + "color":"Silver" + }, + { + "vin":"7ec4c1c0", + "brand":"Jaguar", + "year":1980, + "color":"Black" + }, + { + "vin":"bf1c14aa", + "brand":"Audi", + "year":1984, + "color":"Yellow" + }, + { + "vin":"adeff567", + "brand":"Volvo", + "year":2000, + "color":"Brown" + }, + { + "vin":"61e5e07d", + "brand":"Mercedes", + "year":1978, + "color":"Orange" + }, + { + "vin":"7555e46a", + "brand":"Audi", + "year":1966, + "color":"Blue" + }, + { + "vin":"95babbd1", + "brand":"Honda", + "year":1998, + "color":"Black" + }, + { + "vin":"ff6885f7", + "brand":"Audi", + "year":1996, + "color":"White" + }, + { + "vin":"5b5a0031", + "brand":"Audi", + "year":1968, + "color":"Brown" + }, + { + "vin":"de63c575", + "brand":"Mercedes", + "year":1989, + "color":"Yellow" + }, + { + "vin":"6bf3bfbc", + "brand":"Audi", + "year":1968, + "color":"Green" + }, + { + "vin":"d2d2e8d4", + "brand":"Fiat", + "year":1985, + "color":"Green" + }, + { + "vin":"edcab1f7", + "brand":"VW", + "year":1979, + "color":"Silver" + }, + { + "vin":"03234e20", + "brand":"Mercedes", + "year":1962, + "color":"Orange" + }, + { + "vin":"de2a7b08", + "brand":"Honda", + "year":2007, + "color":"Blue" + }, + { + "vin":"717b8282", + "brand":"BMW", + "year":1999, + "color":"Yellow" + }, + { + "vin":"790e7f03", + "brand":"Volvo", + "year":1983, + "color":"White" + }, + { + "vin":"8eefb223", + "brand":"Jaguar", + "year":1983, + "color":"Silver" + }, + { + "vin":"5e524acd", + "brand":"Jaguar", + "year":1994, + "color":"Maroon" + }, + { + "vin":"26b1aff9", + "brand":"BMW", + "year":1965, + "color":"Black" + }, + { + "vin":"c007a623", + "brand":"Renault", + "year":1968, + "color":"Maroon" + }, + { + "vin":"76733e83", + "brand":"Honda", + "year":1991, + "color":"White" + }, + { + "vin":"ef3c14f7", + "brand":"Fiat", + "year":1987, + "color":"Brown" + }, + { + "vin":"2b4ca005", + "brand":"Honda", + "year":2009, + "color":"Silver" + }, + { + "vin":"8191dbb6", + "brand":"BMW", + "year":2005, + "color":"Black" + }, + { + "vin":"f6b3bd94", + "brand":"Renault", + "year":1967, + "color":"Yellow" + }, + { + "vin":"abb19f41", + "brand":"Volvo", + "year":1975, + "color":"Blue" + }, + { + "vin":"7470c95f", + "brand":"Renault", + "year":1996, + "color":"Black" + }, + { + "vin":"5f1b57a3", + "brand":"Volvo", + "year":1986, + "color":"Red" + }, + { + "vin":"ed47a74b", + "brand":"BMW", + "year":2007, + "color":"Brown" + }, + { + "vin":"ed6030f7", + "brand":"Honda", + "year":1990, + "color":"Red" + }, + { + "vin":"944c71dc", + "brand":"Mercedes", + "year":1991, + "color":"Silver" + }, + { + "vin":"c7d838a5", + "brand":"VW", + "year":1980, + "color":"Yellow" + }, + { + "vin":"712db898", + "brand":"Audi", + "year":1965, + "color":"Red" + }, + { + "vin":"99acc06f", + "brand":"BMW", + "year":1995, + "color":"Silver" + }, + { + "vin":"6c68ffa5", + "brand":"Jaguar", + "year":1999, + "color":"Green" + }, + { + "vin":"63893922", + "brand":"Renault", + "year":1991, + "color":"Brown" + }, + { + "vin":"dca5f739", + "brand":"Jaguar", + "year":2002, + "color":"Blue" + }, + { + "vin":"16da6dcb", + "brand":"Jaguar", + "year":2006, + "color":"Blue" + }, + { + "vin":"fe9ca30c", + "brand":"Fiat", + "year":1967, + "color":"Maroon" + }, + { + "vin":"f0193ac7", + "brand":"Mercedes", + "year":1979, + "color":"Orange" + }, + { + "vin":"145f5551", + "brand":"Jaguar", + "year":1993, + "color":"Brown" + }, + { + "vin":"24714317", + "brand":"Mercedes", + "year":1971, + "color":"White" + }, + { + "vin":"1a9c6e4e", + "brand":"Jaguar", + "year":1997, + "color":"Yellow" + }, + { + "vin":"c9b7ef72", + "brand":"Fiat", + "year":1992, + "color":"Maroon" + }, + { + "vin":"b1b6c375", + "brand":"Fiat", + "year":1963, + "color":"Silver" + }, + { + "vin":"7254a003", + "brand":"Audi", + "year":1982, + "color":"White" + }, + { + "vin":"6f0de80f", + "brand":"Renault", + "year":1987, + "color":"Blue" + }, + { + "vin":"e3048f87", + "brand":"Fiat", + "year":1989, + "color":"Blue" + }, + { + "vin":"361e435a", + "brand":"BMW", + "year":1973, + "color":"Green" + }, + { + "vin":"59e6a9f3", + "brand":"BMW", + "year":1964, + "color":"Maroon" + }, + { + "vin":"b791fe05", + "brand":"Mercedes", + "year":1993, + "color":"Yellow" + }, + { + "vin":"68b0dd88", + "brand":"BMW", + "year":2002, + "color":"Green" + }, + { + "vin":"5b439d1f", + "brand":"BMW", + "year":1964, + "color":"Maroon" + }, + { + "vin":"9a7ac9e3", + "brand":"Renault", + "year":1988, + "color":"White" + }, + { + "vin":"d214751d", + "brand":"Honda", + "year":1997, + "color":"White" + }, + { + "vin":"72229390", + "brand":"Mercedes", + "year":1996, + "color":"White" + }, + { + "vin":"b5fbbeee", + "brand":"VW", + "year":1999, + "color":"Brown" + }, + { + "vin":"8972b543", + "brand":"Audi", + "year":1973, + "color":"Black" + }, + { + "vin":"7bc21024", + "brand":"Renault", + "year":1980, + "color":"Yellow" + }, + { + "vin":"5d661964", + "brand":"Renault", + "year":2005, + "color":"Silver" + }, + { + "vin":"a6ccc2d8", + "brand":"Honda", + "year":1994, + "color":"Blue" + }, + { + "vin":"c1f15f28", + "brand":"Volvo", + "year":1999, + "color":"Black" + }, + { + "vin":"161512ce", + "brand":"VW", + "year":1962, + "color":"Black" + }, + { + "vin":"16e0b448", + "brand":"Fiat", + "year":1990, + "color":"Green" + }, + { + "vin":"f0734442", + "brand":"Audi", + "year":1966, + "color":"Orange" + }, + { + "vin":"5e233279", + "brand":"Audi", + "year":1964, + "color":"Green" + }, + { + "vin":"1de720b2", + "brand":"Renault", + "year":2003, + "color":"Orange" + }, + { + "vin":"46efaeb2", + "brand":"Jaguar", + "year":1993, + "color":"Green" + }, + { + "vin":"88f2354c", + "brand":"Jaguar", + "year":2006, + "color":"Black" + }, + { + "vin":"04819fd6", + "brand":"Mercedes", + "year":1983, + "color":"White" + }, + { + "vin":"401771c8", + "brand":"Volvo", + "year":1962, + "color":"Silver" + }, + { + "vin":"8600877b", + "brand":"VW", + "year":1996, + "color":"Black" + }, + { + "vin":"946bd645", + "brand":"Honda", + "year":1991, + "color":"Red" + }, + { + "vin":"ad078e69", + "brand":"Fiat", + "year":1991, + "color":"Brown" + }, + { + "vin":"93138901", + "brand":"Mercedes", + "year":1961, + "color":"Silver" + }, + { + "vin":"f365dfa4", + "brand":"Mercedes", + "year":1980, + "color":"Black" + }, + { + "vin":"22647161", + "brand":"Audi", + "year":2007, + "color":"Blue" + }, + { + "vin":"92d1ee27", + "brand":"Jaguar", + "year":1977, + "color":"Silver" + }, + { + "vin":"137c2b3a", + "brand":"Honda", + "year":1970, + "color":"Blue" + }, + { + "vin":"b05b5235", + "brand":"BMW", + "year":1967, + "color":"Yellow" + }, + { + "vin":"1afbf400", + "brand":"Audi", + "year":1966, + "color":"Maroon" + }, + { + "vin":"8530ae50", + "brand":"BMW", + "year":1979, + "color":"Brown" + }, + { + "vin":"c9a487a3", + "brand":"Volvo", + "year":1981, + "color":"Silver" + }, + { + "vin":"5cb0bed6", + "brand":"Honda", + "year":1962, + "color":"Orange" + }, + { + "vin":"cf7d0b45", + "brand":"Fiat", + "year":1997, + "color":"Green" + }, + { + "vin":"bc762dd0", + "brand":"Jaguar", + "year":2000, + "color":"Yellow" + }, + { + "vin":"97207a61", + "brand":"VW", + "year":1976, + "color":"Blue" + }, + { + "vin":"17680899", + "brand":"Mercedes", + "year":2006, + "color":"Silver" + }, + { + "vin":"d8a98d30", + "brand":"Renault", + "year":1990, + "color":"Green" + }, + { + "vin":"ff01ead0", + "brand":"Audi", + "year":1962, + "color":"Blue" + }, + { + "vin":"38b30a61", + "brand":"Fiat", + "year":1977, + "color":"White" + }, + { + "vin":"9a6793c1", + "brand":"Renault", + "year":1983, + "color":"Red" + }, + { + "vin":"b1f27273", + "brand":"Mercedes", + "year":2007, + "color":"Brown" + }, + { + "vin":"0fa8c1aa", + "brand":"Jaguar", + "year":1982, + "color":"Blue" + }, + { + "vin":"a7520f42", + "brand":"Volvo", + "year":2008, + "color":"Maroon" + }, + { + "vin":"494eba81", + "brand":"BMW", + "year":1966, + "color":"Silver" + }, + { + "vin":"683535b8", + "brand":"Renault", + "year":2003, + "color":"White" + }, + { + "vin":"62e5d216", + "brand":"Audi", + "year":1962, + "color":"Orange" + }, + { + "vin":"16a65b56", + "brand":"Jaguar", + "year":2009, + "color":"Blue" + }, + { + "vin":"d00250a3", + "brand":"BMW", + "year":1978, + "color":"Blue" + }, + { + "vin":"f3c3909d", + "brand":"Renault", + "year":2003, + "color":"Green" + } + ] +} \ No newline at end of file diff --git a/src/assets/demo/data/cars-medium.json b/src/assets/demo/data/cars-medium.json new file mode 100644 index 0000000..fa80d7f --- /dev/null +++ b/src/assets/demo/data/cars-medium.json @@ -0,0 +1,54 @@ +{ + "data":[ + {"vin":"a1653d4d","brand":"VW","year":1998,"color":"White"}, + {"vin":"ddeb9b10","brand":"Mercedes","year":1985,"color":"Green"}, + {"vin":"d8ebe413","brand":"Jaguar","year":1979,"color":"Silver"}, + {"vin":"aab227b7","brand":"Audi","year":1970,"color":"Black"}, + {"vin":"631f7412","brand":"Volvo","year":1992,"color":"Red"}, + {"vin":"7d2d22b0","brand":"VW","year":1993,"color":"Maroon"}, + {"vin":"50e900ca","brand":"Fiat","year":1964,"color":"Blue"}, + {"vin":"4bbcd603","brand":"Renault","year":1983,"color":"Maroon"}, + {"vin":"70214c7e","brand":"Renault","year":1961,"color":"Black"}, + {"vin":"ec229a92","brand":"Audi","year":1984,"color":"Brown"}, + {"vin":"1083ee40","brand":"VW","year":1984,"color":"Silver"}, + {"vin":"6e0da3ab","brand":"Volvo","year":1987,"color":"Silver"}, + {"vin":"5aee636b","brand":"Jaguar","year":1995,"color":"Maroon"}, + {"vin":"7cc43997","brand":"Jaguar","year":1984,"color":"Orange"}, + {"vin":"88ec9f66","brand":"Honda","year":1989,"color":"Maroon"}, + {"vin":"f5a4a5f5","brand":"BMW","year":1986,"color":"Blue"}, + {"vin":"15b9a5c9","brand":"Mercedes","year":1986,"color":"Orange"}, + {"vin":"f7e18d01","brand":"Mercedes","year":1991,"color":"White"}, + {"vin":"cec593d7","brand":"VW","year":1992,"color":"Blue"}, + {"vin":"d5bac4f0","brand":"Renault","year":2001,"color":"Blue"}, + {"vin":"56b527c8","brand":"Jaguar","year":1990,"color":"Yellow"}, + {"vin":"1ac011ff","brand":"Audi","year":1966,"color":"Maroon"}, + {"vin":"fc074185","brand":"BMW","year":1962,"color":"Blue"}, + {"vin":"606ba663","brand":"Honda","year":1982,"color":"Blue"}, + {"vin":"d05060b8","brand":"Mercedes","year":2003,"color":"Silver"}, + {"vin":"46e4bbe8","brand":"Mercedes","year":1986,"color":"White"}, + {"vin":"c29da0d7","brand":"BMW","year":1983,"color":"Brown"}, + {"vin":"24622f70","brand":"VW","year":1973,"color":"Maroon"}, + {"vin":"7f573d2c","brand":"Mercedes","year":1991,"color":"Red"}, + {"vin":"b69e6f5c","brand":"Jaguar","year":1993,"color":"Yellow"}, + {"vin":"ead9bf1d","brand":"Fiat","year":1968,"color":"Maroon"}, + {"vin":"bc58113e","brand":"Renault","year":1981,"color":"Silver"}, + {"vin":"2989d5b1","brand":"Honda","year":2006,"color":"Blue"}, + {"vin":"c243e3a0","brand":"Fiat","year":1990,"color":"Maroon"}, + {"vin":"e3d3ebf3","brand":"Audi","year":1996,"color":"White"}, + {"vin":"45337e7a","brand":"Mercedes","year":1982,"color":"Blue"}, + {"vin":"36e9cf7e","brand":"Fiat","year":2000,"color":"Orange"}, + {"vin":"036bf135","brand":"Mercedes","year":1973,"color":"Black"}, + {"vin":"ad612e9f","brand":"Mercedes","year":1975,"color":"Red"}, + {"vin":"97c6e1e9","brand":"Volvo","year":1967,"color":"Green"}, + {"vin":"ae962274","brand":"Volvo","year":1982,"color":"Red"}, + {"vin":"81f8972a","brand":"BMW","year":2007,"color":"Black"}, + {"vin":"f8506743","brand":"Audi","year":1975,"color":"Blue"}, + {"vin":"596859d1","brand":"Fiat","year":2002,"color":"Green"}, + {"vin":"d83c1d9a","brand":"Volvo","year":1972,"color":"Black"}, + {"vin":"32f41550","brand":"Mercedes","year":1978,"color":"Brown"}, + {"vin":"c28cd2e4","brand":"Volvo","year":1982,"color":"Silver"}, + {"vin":"80890dcc","brand":"Audi","year":1962,"color":"White"}, + {"vin":"4bf1aeb5","brand":"VW","year":2000,"color":"Silver"}, + {"vin":"45ca4786","brand":"BMW","year":1995,"color":"Maroon"} + ] +} \ No newline at end of file diff --git a/src/assets/demo/data/cars-small.json b/src/assets/demo/data/cars-small.json new file mode 100644 index 0000000..f2c1238 --- /dev/null +++ b/src/assets/demo/data/cars-small.json @@ -0,0 +1,14 @@ +{ + "data": [ + {"brand": "VW", "year": 2012, "color": "White", "vin": "dsad231ff"}, + {"brand": "Audi", "year": 2011, "color": "Black", "vin": "gwregre345"}, + {"brand": "Renault", "year": 2005, "color": "Gray", "vin": "h354htr"}, + {"brand": "BMW", "year": 2003, "color": "Blue", "vin": "j6w54qgh"}, + {"brand": "Mercedes", "year": 1995, "color": "White", "vin": "hrtwy34"}, + {"brand": "Volvo", "year": 2005, "color": "Black", "vin": "jejtyj"}, + {"brand": "Honda", "year": 2012, "color": "Yellow", "vin": "g43gr"}, + {"brand": "Jaguar", "year": 2013, "color": "White", "vin": "greg34"}, + {"brand": "Ford", "year": 2000, "color": "Black", "vin": "h54hw5"}, + {"brand": "Fiat", "year": 2013, "color": "Red", "vin": "245t2s"} + ] +} diff --git a/src/assets/demo/data/countries.json b/src/assets/demo/data/countries.json new file mode 100644 index 0000000..bf5bf65 --- /dev/null +++ b/src/assets/demo/data/countries.json @@ -0,0 +1,247 @@ +{ + "data": [ + {"name": "Afghanistan", "code": "AF"}, + {"name": "Åland Islands", "code": "AX"}, + {"name": "Albania", "code": "AL"}, + {"name": "Algeria", "code": "DZ"}, + {"name": "American Samoa", "code": "AS"}, + {"name": "Andorra", "code": "AD"}, + {"name": "Angola", "code": "AO"}, + {"name": "Anguilla", "code": "AI"}, + {"name": "Antarctica", "code": "AQ"}, + {"name": "Antigua and Barbuda", "code": "AG"}, + {"name": "Argentina", "code": "AR"}, + {"name": "Armenia", "code": "AM"}, + {"name": "Aruba", "code": "AW"}, + {"name": "Australia", "code": "AU"}, + {"name": "Austria", "code": "AT"}, + {"name": "Azerbaijan", "code": "AZ"}, + {"name": "Bahamas", "code": "BS"}, + {"name": "Bahrain", "code": "BH"}, + {"name": "Bangladesh", "code": "BD"}, + {"name": "Barbados", "code": "BB"}, + {"name": "Belarus", "code": "BY"}, + {"name": "Belgium", "code": "BE"}, + {"name": "Belize", "code": "BZ"}, + {"name": "Benin", "code": "BJ"}, + {"name": "Bermuda", "code": "BM"}, + {"name": "Bhutan", "code": "BT"}, + {"name": "Bolivia", "code": "BO"}, + {"name": "Bosnia and Herzegovina", "code": "BA"}, + {"name": "Botswana", "code": "BW"}, + {"name": "Bouvet Island", "code": "BV"}, + {"name": "Brazil", "code": "BR"}, + {"name": "British Indian Ocean Territory", "code": "IO"}, + {"name": "Brunei Darussalam", "code": "BN"}, + {"name": "Bulgaria", "code": "BG"}, + {"name": "Burkina Faso", "code": "BF"}, + {"name": "Burundi", "code": "BI"}, + {"name": "Cambodia", "code": "KH"}, + {"name": "Cameroon", "code": "CM"}, + {"name": "Canada", "code": "CA"}, + {"name": "Cape Verde", "code": "CV"}, + {"name": "Cayman Islands", "code": "KY"}, + {"name": "Central African Republic", "code": "CF"}, + {"name": "Chad", "code": "TD"}, + {"name": "Chile", "code": "CL"}, + {"name": "China", "code": "CN"}, + {"name": "Christmas Island", "code": "CX"}, + {"name": "Cocos (Keeling) Islands", "code": "CC"}, + {"name": "Colombia", "code": "CO"}, + {"name": "Comoros", "code": "KM"}, + {"name": "Congo", "code": "CG"}, + {"name": "Congo, The Democratic Republic of the", "code": "CD"}, + {"name": "Cook Islands", "code": "CK"}, + {"name": "Costa Rica", "code": "CR"}, + {"name": "Cote D\"Ivoire", "code": "CI"}, + {"name": "Croatia", "code": "HR"}, + {"name": "Cuba", "code": "CU"}, + {"name": "Cyprus", "code": "CY"}, + {"name": "Czech Republic", "code": "CZ"}, + {"name": "Denmark", "code": "DK"}, + {"name": "Djibouti", "code": "DJ"}, + {"name": "Dominica", "code": "DM"}, + {"name": "Dominican Republic", "code": "DO"}, + {"name": "Ecuador", "code": "EC"}, + {"name": "Egypt", "code": "EG"}, + {"name": "El Salvador", "code": "SV"}, + {"name": "Equatorial Guinea", "code": "GQ"}, + {"name": "Eritrea", "code": "ER"}, + {"name": "Estonia", "code": "EE"}, + {"name": "Ethiopia", "code": "ET"}, + {"name": "Falkland Islands (Malvinas)", "code": "FK"}, + {"name": "Faroe Islands", "code": "FO"}, + {"name": "Fiji", "code": "FJ"}, + {"name": "Finland", "code": "FI"}, + {"name": "France", "code": "FR"}, + {"name": "French Guiana", "code": "GF"}, + {"name": "French Polynesia", "code": "PF"}, + {"name": "French Southern Territories", "code": "TF"}, + {"name": "Gabon", "code": "GA"}, + {"name": "Gambia", "code": "GM"}, + {"name": "Georgia", "code": "GE"}, + {"name": "Germany", "code": "DE"}, + {"name": "Ghana", "code": "GH"}, + {"name": "Gibraltar", "code": "GI"}, + {"name": "Greece", "code": "GR"}, + {"name": "Greenland", "code": "GL"}, + {"name": "Grenada", "code": "GD"}, + {"name": "Guadeloupe", "code": "GP"}, + {"name": "Guam", "code": "GU"}, + {"name": "Guatemala", "code": "GT"}, + {"name": "Guernsey", "code": "GG"}, + {"name": "Guinea", "code": "GN"}, + {"name": "Guinea-Bissau", "code": "GW"}, + {"name": "Guyana", "code": "GY"}, + {"name": "Haiti", "code": "HT"}, + {"name": "Heard Island and Mcdonald Islands", "code": "HM"}, + {"name": "Holy See (Vatican City State)", "code": "VA"}, + {"name": "Honduras", "code": "HN"}, + {"name": "Hong Kong", "code": "HK"}, + {"name": "Hungary", "code": "HU"}, + {"name": "Iceland", "code": "IS"}, + {"name": "India", "code": "IN"}, + {"name": "Indonesia", "code": "ID"}, + {"name": "Iran, Islamic Republic Of", "code": "IR"}, + {"name": "Iraq", "code": "IQ"}, + {"name": "Ireland", "code": "IE"}, + {"name": "Isle of Man", "code": "IM"}, + {"name": "Israel", "code": "IL"}, + {"name": "Italy", "code": "IT"}, + {"name": "Jamaica", "code": "JM"}, + {"name": "Japan", "code": "JP"}, + {"name": "Jersey", "code": "JE"}, + {"name": "Jordan", "code": "JO"}, + {"name": "Kazakhstan", "code": "KZ"}, + {"name": "Kenya", "code": "KE"}, + {"name": "Kiribati", "code": "KI"}, + {"name": "Korea, Democratic People\"S Republic of", "code": "KP"}, + {"name": "Korea, Republic of", "code": "KR"}, + {"name": "Kuwait", "code": "KW"}, + {"name": "Kyrgyzstan", "code": "KG"}, + {"name": "Lao People\"S Democratic Republic", "code": "LA"}, + {"name": "Latvia", "code": "LV"}, + {"name": "Lebanon", "code": "LB"}, + {"name": "Lesotho", "code": "LS"}, + {"name": "Liberia", "code": "LR"}, + {"name": "Libyan Arab Jamahiriya", "code": "LY"}, + {"name": "Liechtenstein", "code": "LI"}, + {"name": "Lithuania", "code": "LT"}, + {"name": "Luxembourg", "code": "LU"}, + {"name": "Macao", "code": "MO"}, + {"name": "Macedonia, The Former Yugoslav Republic of", "code": "MK"}, + {"name": "Madagascar", "code": "MG"}, + {"name": "Malawi", "code": "MW"}, + {"name": "Malaysia", "code": "MY"}, + {"name": "Maldives", "code": "MV"}, + {"name": "Mali", "code": "ML"}, + {"name": "Malta", "code": "MT"}, + {"name": "Marshall Islands", "code": "MH"}, + {"name": "Martinique", "code": "MQ"}, + {"name": "Mauritania", "code": "MR"}, + {"name": "Mauritius", "code": "MU"}, + {"name": "Mayotte", "code": "YT"}, + {"name": "Mexico", "code": "MX"}, + {"name": "Micronesia, Federated States of", "code": "FM"}, + {"name": "Moldova, Republic of", "code": "MD"}, + {"name": "Monaco", "code": "MC"}, + {"name": "Mongolia", "code": "MN"}, + {"name": "Montserrat", "code": "MS"}, + {"name": "Morocco", "code": "MA"}, + {"name": "Mozambique", "code": "MZ"}, + {"name": "Myanmar", "code": "MM"}, + {"name": "Namibia", "code": "NA"}, + {"name": "Nauru", "code": "NR"}, + {"name": "Nepal", "code": "NP"}, + {"name": "Netherlands", "code": "NL"}, + {"name": "Netherlands Antilles", "code": "AN"}, + {"name": "New Caledonia", "code": "NC"}, + {"name": "New Zealand", "code": "NZ"}, + {"name": "Nicaragua", "code": "NI"}, + {"name": "Niger", "code": "NE"}, + {"name": "Nigeria", "code": "NG"}, + {"name": "Niue", "code": "NU"}, + {"name": "Norfolk Island", "code": "NF"}, + {"name": "Northern Mariana Islands", "code": "MP"}, + {"name": "Norway", "code": "NO"}, + {"name": "Oman", "code": "OM"}, + {"name": "Pakistan", "code": "PK"}, + {"name": "Palau", "code": "PW"}, + {"name": "Palestinian Territory, Occupied", "code": "PS"}, + {"name": "Panama", "code": "PA"}, + {"name": "Papua New Guinea", "code": "PG"}, + {"name": "Paraguay", "code": "PY"}, + {"name": "Peru", "code": "PE"}, + {"name": "Philippines", "code": "PH"}, + {"name": "Pitcairn", "code": "PN"}, + {"name": "Poland", "code": "PL"}, + {"name": "Portugal", "code": "PT"}, + {"name": "Puerto Rico", "code": "PR"}, + {"name": "Qatar", "code": "QA"}, + {"name": "Reunion", "code": "RE"}, + {"name": "Romania", "code": "RO"}, + {"name": "Russian Federation", "code": "RU"}, + {"name": "RWANDA", "code": "RW"}, + {"name": "Saint Helena", "code": "SH"}, + {"name": "Saint Kitts and Nevis", "code": "KN"}, + {"name": "Saint Lucia", "code": "LC"}, + {"name": "Saint Pierre and Miquelon", "code": "PM"}, + {"name": "Saint Vincent and the Grenadines", "code": "VC"}, + {"name": "Samoa", "code": "WS"}, + {"name": "San Marino", "code": "SM"}, + {"name": "Sao Tome and Principe", "code": "ST"}, + {"name": "Saudi Arabia", "code": "SA"}, + {"name": "Senegal", "code": "SN"}, + {"name": "Serbia and Montenegro", "code": "CS"}, + {"name": "Seychelles", "code": "SC"}, + {"name": "Sierra Leone", "code": "SL"}, + {"name": "Singapore", "code": "SG"}, + {"name": "Slovakia", "code": "SK"}, + {"name": "Slovenia", "code": "SI"}, + {"name": "Solomon Islands", "code": "SB"}, + {"name": "Somalia", "code": "SO"}, + {"name": "South Africa", "code": "ZA"}, + {"name": "South Georgia and the South Sandwich Islands", "code": "GS"}, + {"name": "Spain", "code": "ES"}, + {"name": "Sri Lanka", "code": "LK"}, + {"name": "Sudan", "code": "SD"}, + {"name": "Suriname", "code": "SR"}, + {"name": "Svalbard and Jan Mayen", "code": "SJ"}, + {"name": "Swaziland", "code": "SZ"}, + {"name": "Sweden", "code": "SE"}, + {"name": "Switzerland", "code": "CH"}, + {"name": "Syrian Arab Republic", "code": "SY"}, + {"name": "Taiwan, Province of China", "code": "TW"}, + {"name": "Tajikistan", "code": "TJ"}, + {"name": "Tanzania, United Republic of", "code": "TZ"}, + {"name": "Thailand", "code": "TH"}, + {"name": "Timor-Leste", "code": "TL"}, + {"name": "Togo", "code": "TG"}, + {"name": "Tokelau", "code": "TK"}, + {"name": "Tonga", "code": "TO"}, + {"name": "Trinidad and Tobago", "code": "TT"}, + {"name": "Tunisia", "code": "TN"}, + {"name": "Turkey", "code": "TR"}, + {"name": "Turkmenistan", "code": "TM"}, + {"name": "Turks and Caicos Islands", "code": "TC"}, + {"name": "Tuvalu", "code": "TV"}, + {"name": "Uganda", "code": "UG"}, + {"name": "Ukraine", "code": "UA"}, + {"name": "United Arab Emirates", "code": "AE"}, + {"name": "United Kingdom", "code": "GB"}, + {"name": "United States", "code": "US"}, + {"name": "United States Minor Outlying Islands", "code": "UM"}, + {"name": "Uruguay", "code": "UY"}, + {"name": "Uzbekistan", "code": "UZ"}, + {"name": "Vanuatu", "code": "VU"}, + {"name": "Venezuela", "code": "VE"}, + {"name": "Viet Nam", "code": "VN"}, + {"name": "Virgin Islands, British", "code": "VG"}, + {"name": "Virgin Islands, U.S.", "code": "VI"}, + {"name": "Wallis and Futuna", "code": "WF"}, + {"name": "Western Sahara", "code": "EH"}, + {"name": "Yemen", "code": "YE"}, + {"name": "Zambia", "code": "ZM"}, + {"name": "Zimbabwe", "code": "ZW"} + ] +} \ No newline at end of file diff --git a/src/assets/demo/data/files.json b/src/assets/demo/data/files.json new file mode 100644 index 0000000..b5277b4 --- /dev/null +++ b/src/assets/demo/data/files.json @@ -0,0 +1,51 @@ +{ + "data": + [ + { + "label": "Documents", + "data": "Documents Folder", + "expandedIcon": "ui-icon-folder-open", + "collapsedIcon": "ui-icon-folder", + "children": [{ + "label": "Work", + "data": "Work Folder", + "expandedIcon": "ui-icon-folder-open", + "collapsedIcon": "ui-icon-folder", + "children": [{"label": "Expenses.doc", "icon": "ui-icon-insert-drive-file", "data": "Expenses Document"}, {"label": "Resume.doc", "icon": "ui-icon-insert-drive-file", "data": "Resume Document"}] + }, + { + "label": "Home", + "data": "Home Folder", + "expandedIcon": "ui-icon-folder-open", + "collapsedIcon": "ui-icon-folder", + "children": [{"label": "Invoices.txt", "icon": "ui-icon-insert-drive-file", "data": "Invoices for this month"}] + }] + }, + { + "label": "Pictures", + "data": "Pictures Folder", + "expandedIcon": "ui-icon-folder-open", + "collapsedIcon": "ui-icon-folder", + "children": [ + {"label": "barcelona.jpg", "icon": "ui-icon-wallpaper", "data": "Barcelona Photo"}, + {"label": "logo.jpg", "icon": "ui-icon-wallpaper", "data": "PrimeFaces Logo"}, + {"label": "primeui.png", "icon": "ui-icon-wallpaper", "data": "PrimeUI Logo"}] + }, + { + "label": "Movies", + "data": "Movies Folder", + "expandedIcon": "ui-icon-folder-open", + "collapsedIcon": "ui-icon-folder", + "children": [{ + "label": "Al Pacino", + "data": "Pacino Movies", + "children": [{"label": "Scarface", "icon": "ui-icon-movie", "data": "Scarface Movie"}, {"label": "Serpico", "icon": "ui-icon-movie", "data": "Serpico Movie"}] + }, + { + "label": "Robert De Niro", + "data": "De Niro Movies", + "children": [{"label": "Goodfellas", "icon": "ui-icon-movie", "data": "Goodfellas Movie"}, {"label": "Untouchables", "icon": "ui-icon-movie", "data": "Untouchables Movie"}] + }] + } + ] +} \ No newline at end of file diff --git a/src/assets/demo/data/filesystem.json b/src/assets/demo/data/filesystem.json new file mode 100644 index 0000000..5183be8 --- /dev/null +++ b/src/assets/demo/data/filesystem.json @@ -0,0 +1,83 @@ +{ + "data": + [ + { + "data":{ + "name":"Documents", + "size":"75kb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"Work", + "size":"55kb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"Expenses.doc", + "size":"30kb", + "type":"Document" + } + }, + { + "data":{ + "name":"Resume.doc", + "size":"25kb", + "type":"Resume" + } + } + ] + }, + { + "data":{ + "name":"Home", + "size":"20kb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"Invoices", + "size":"20kb", + "type":"Text" + } + } + ] + } + ] + }, + { + "data":{ + "name":"Pictures", + "size":"150kb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"barcelona.jpg", + "size":"90kb", + "type":"Picture" + } + }, + { + "data":{ + "name":"primeui.png", + "size":"30kb", + "type":"Picture" + } + }, + { + "data":{ + "name":"optimus.jpg", + "size":"30kb", + "type":"Picture" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/assets/demo/data/scheduleevents.json b/src/assets/demo/data/scheduleevents.json new file mode 100644 index 0000000..9ccb3b9 --- /dev/null +++ b/src/assets/demo/data/scheduleevents.json @@ -0,0 +1,68 @@ +{ + "data": [ + { + "id": 1, + "title": "All Day Event", + "start": "2016-01-01" + }, + { + "id": 2, + "title": "Long Event", + "start": "2016-01-07", + "end": "2016-01-10" + }, + { + "id": 3, + "title": "Repeating Event", + "start": "2016-01-09T16:00:00" + }, + { + "id": 4, + "title": "Repeating Event", + "start": "2016-01-16T16:00:00" + }, + { + "id": 5, + "title": "Conference", + "start": "2016-01-11", + "end": "2016-01-13" + }, + { + "id": 6, + "title": "Meeting", + "start": "2016-01-12T10:30:00", + "end": "2016-01-12T12:30:00" + }, + { + "id": 7, + "title": "Lunch", + "start": "2016-01-12T12:00:00" + }, + { + "id": 8, + "title": "Meeting", + "start": "2016-01-12T14:30:00" + }, + { + "id": 9, + "title": "Happy Hour", + "start": "2016-01-12T17:30:00" + }, + { + "id": 10, + "title": "Dinner", + "start": "2016-01-12T20:00:00" + }, + { + "id": 11, + "title": "Birthday Party", + "start": "2016-01-13T07:00:00" + }, + { + "id": 12, + "title": "Click for Google", + "url": "http://google.com/", + "start": "2016-01-28" + } + ] +} \ No newline at end of file diff --git a/src/assets/demo/images/car/Audi-big.gif b/src/assets/demo/images/car/Audi-big.gif new file mode 100644 index 0000000..70ef35a Binary files /dev/null and b/src/assets/demo/images/car/Audi-big.gif differ diff --git a/src/assets/demo/images/car/Audi.gif b/src/assets/demo/images/car/Audi.gif new file mode 100644 index 0000000..accceb9 Binary files /dev/null and b/src/assets/demo/images/car/Audi.gif differ diff --git a/src/assets/demo/images/car/BMW-big.gif b/src/assets/demo/images/car/BMW-big.gif new file mode 100644 index 0000000..b229d8b Binary files /dev/null and b/src/assets/demo/images/car/BMW-big.gif differ diff --git a/src/assets/demo/images/car/BMW.gif b/src/assets/demo/images/car/BMW.gif new file mode 100644 index 0000000..ef3de48 Binary files /dev/null and b/src/assets/demo/images/car/BMW.gif differ diff --git a/src/assets/demo/images/car/Fiat-big.gif b/src/assets/demo/images/car/Fiat-big.gif new file mode 100644 index 0000000..851cc2d Binary files /dev/null and b/src/assets/demo/images/car/Fiat-big.gif differ diff --git a/src/assets/demo/images/car/Fiat.gif b/src/assets/demo/images/car/Fiat.gif new file mode 100644 index 0000000..3b41ed3 Binary files /dev/null and b/src/assets/demo/images/car/Fiat.gif differ diff --git a/src/assets/demo/images/car/Ford-big.gif b/src/assets/demo/images/car/Ford-big.gif new file mode 100644 index 0000000..2c52041 Binary files /dev/null and b/src/assets/demo/images/car/Ford-big.gif differ diff --git a/src/assets/demo/images/car/Ford.gif b/src/assets/demo/images/car/Ford.gif new file mode 100644 index 0000000..fbfd1c3 Binary files /dev/null and b/src/assets/demo/images/car/Ford.gif differ diff --git a/src/assets/demo/images/car/Honda-big.gif b/src/assets/demo/images/car/Honda-big.gif new file mode 100644 index 0000000..87917d9 Binary files /dev/null and b/src/assets/demo/images/car/Honda-big.gif differ diff --git a/src/assets/demo/images/car/Honda.gif b/src/assets/demo/images/car/Honda.gif new file mode 100644 index 0000000..58e7a4f Binary files /dev/null and b/src/assets/demo/images/car/Honda.gif differ diff --git a/src/assets/demo/images/car/Jaguar-big.gif b/src/assets/demo/images/car/Jaguar-big.gif new file mode 100644 index 0000000..30dbe2a Binary files /dev/null and b/src/assets/demo/images/car/Jaguar-big.gif differ diff --git a/src/assets/demo/images/car/Jaguar.gif b/src/assets/demo/images/car/Jaguar.gif new file mode 100644 index 0000000..8093795 Binary files /dev/null and b/src/assets/demo/images/car/Jaguar.gif differ diff --git a/src/assets/demo/images/car/Mercedes-big.gif b/src/assets/demo/images/car/Mercedes-big.gif new file mode 100644 index 0000000..28f903e Binary files /dev/null and b/src/assets/demo/images/car/Mercedes-big.gif differ diff --git a/src/assets/demo/images/car/Mercedes.gif b/src/assets/demo/images/car/Mercedes.gif new file mode 100644 index 0000000..2f150bb Binary files /dev/null and b/src/assets/demo/images/car/Mercedes.gif differ diff --git a/src/assets/demo/images/car/Renault-big.gif b/src/assets/demo/images/car/Renault-big.gif new file mode 100644 index 0000000..a5cd2e7 Binary files /dev/null and b/src/assets/demo/images/car/Renault-big.gif differ diff --git a/src/assets/demo/images/car/Renault.gif b/src/assets/demo/images/car/Renault.gif new file mode 100644 index 0000000..6b79d67 Binary files /dev/null and b/src/assets/demo/images/car/Renault.gif differ diff --git a/src/assets/demo/images/car/VW-big.gif b/src/assets/demo/images/car/VW-big.gif new file mode 100644 index 0000000..573e821 Binary files /dev/null and b/src/assets/demo/images/car/VW-big.gif differ diff --git a/src/assets/demo/images/car/VW.gif b/src/assets/demo/images/car/VW.gif new file mode 100644 index 0000000..d7984c2 Binary files /dev/null and b/src/assets/demo/images/car/VW.gif differ diff --git a/src/assets/demo/images/car/Volvo-big.gif b/src/assets/demo/images/car/Volvo-big.gif new file mode 100644 index 0000000..254fbeb Binary files /dev/null and b/src/assets/demo/images/car/Volvo-big.gif differ diff --git a/src/assets/demo/images/car/Volvo.gif b/src/assets/demo/images/car/Volvo.gif new file mode 100644 index 0000000..00af6b6 Binary files /dev/null and b/src/assets/demo/images/car/Volvo.gif differ diff --git a/src/assets/demo/images/nature/nature1.jpg b/src/assets/demo/images/nature/nature1.jpg new file mode 100644 index 0000000..15b628c Binary files /dev/null and b/src/assets/demo/images/nature/nature1.jpg differ diff --git a/src/assets/demo/images/nature/nature10.jpg b/src/assets/demo/images/nature/nature10.jpg new file mode 100644 index 0000000..d7e126a Binary files /dev/null and b/src/assets/demo/images/nature/nature10.jpg differ diff --git a/src/assets/demo/images/nature/nature11.jpg b/src/assets/demo/images/nature/nature11.jpg new file mode 100644 index 0000000..57201ce Binary files /dev/null and b/src/assets/demo/images/nature/nature11.jpg differ diff --git a/src/assets/demo/images/nature/nature12.jpg b/src/assets/demo/images/nature/nature12.jpg new file mode 100644 index 0000000..760658e Binary files /dev/null and b/src/assets/demo/images/nature/nature12.jpg differ diff --git a/src/assets/demo/images/nature/nature2.jpg b/src/assets/demo/images/nature/nature2.jpg new file mode 100644 index 0000000..eb11885 Binary files /dev/null and b/src/assets/demo/images/nature/nature2.jpg differ diff --git a/src/assets/demo/images/nature/nature3.jpg b/src/assets/demo/images/nature/nature3.jpg new file mode 100644 index 0000000..47ce93d Binary files /dev/null and b/src/assets/demo/images/nature/nature3.jpg differ diff --git a/src/assets/demo/images/nature/nature4.jpg b/src/assets/demo/images/nature/nature4.jpg new file mode 100644 index 0000000..84ee127 Binary files /dev/null and b/src/assets/demo/images/nature/nature4.jpg differ diff --git a/src/assets/demo/images/nature/nature5.jpg b/src/assets/demo/images/nature/nature5.jpg new file mode 100644 index 0000000..a0215c2 Binary files /dev/null and b/src/assets/demo/images/nature/nature5.jpg differ diff --git a/src/assets/demo/images/nature/nature6.jpg b/src/assets/demo/images/nature/nature6.jpg new file mode 100644 index 0000000..cf2396b Binary files /dev/null and b/src/assets/demo/images/nature/nature6.jpg differ diff --git a/src/assets/demo/images/nature/nature7.jpg b/src/assets/demo/images/nature/nature7.jpg new file mode 100644 index 0000000..a7d0a67 Binary files /dev/null and b/src/assets/demo/images/nature/nature7.jpg differ diff --git a/src/assets/demo/images/nature/nature8.jpg b/src/assets/demo/images/nature/nature8.jpg new file mode 100644 index 0000000..5d6764a Binary files /dev/null and b/src/assets/demo/images/nature/nature8.jpg differ diff --git a/src/assets/demo/images/nature/nature9.jpg b/src/assets/demo/images/nature/nature9.jpg new file mode 100644 index 0000000..b39b46c Binary files /dev/null and b/src/assets/demo/images/nature/nature9.jpg differ diff --git a/src/assets/demo/images/sopranos/sopranos1.jpg b/src/assets/demo/images/sopranos/sopranos1.jpg new file mode 100644 index 0000000..024f49c Binary files /dev/null and b/src/assets/demo/images/sopranos/sopranos1.jpg differ diff --git a/src/assets/demo/images/sopranos/sopranos1_small.jpg b/src/assets/demo/images/sopranos/sopranos1_small.jpg new file mode 100644 index 0000000..443d565 Binary files /dev/null and b/src/assets/demo/images/sopranos/sopranos1_small.jpg differ diff --git a/src/assets/demo/images/sopranos/sopranos2.jpg b/src/assets/demo/images/sopranos/sopranos2.jpg new file mode 100644 index 0000000..fff0038 Binary files /dev/null and b/src/assets/demo/images/sopranos/sopranos2.jpg differ diff --git a/src/assets/demo/images/sopranos/sopranos2_small.jpg b/src/assets/demo/images/sopranos/sopranos2_small.jpg new file mode 100644 index 0000000..a5287bd Binary files /dev/null and b/src/assets/demo/images/sopranos/sopranos2_small.jpg differ diff --git a/src/assets/demo/images/sopranos/sopranos3.jpg b/src/assets/demo/images/sopranos/sopranos3.jpg new file mode 100644 index 0000000..3259ad7 Binary files /dev/null and b/src/assets/demo/images/sopranos/sopranos3.jpg differ diff --git a/src/assets/demo/images/sopranos/sopranos3_small.jpg b/src/assets/demo/images/sopranos/sopranos3_small.jpg new file mode 100644 index 0000000..850f4ab Binary files /dev/null and b/src/assets/demo/images/sopranos/sopranos3_small.jpg differ diff --git a/src/assets/demo/images/sopranos/sopranos4.jpg b/src/assets/demo/images/sopranos/sopranos4.jpg new file mode 100644 index 0000000..ebac372 Binary files /dev/null and b/src/assets/demo/images/sopranos/sopranos4.jpg differ diff --git a/src/assets/demo/images/sopranos/sopranos4_small.jpg b/src/assets/demo/images/sopranos/sopranos4_small.jpg new file mode 100644 index 0000000..29f3b30 Binary files /dev/null and b/src/assets/demo/images/sopranos/sopranos4_small.jpg differ diff --git a/src/assets/layout/css/layout-blue-grey.css b/src/assets/layout/css/layout-blue-grey.css new file mode 100644 index 0000000..0b5d3a5 --- /dev/null +++ b/src/assets/layout/css/layout-blue-grey.css @@ -0,0 +1,1875 @@ +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url("../fonts/roboto-v15-latin-300.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-300.woff2") format("woff2"), url("../fonts/roboto-v15-latin-300.woff") format("woff"), url("../fonts/roboto-v15-latin-300.ttf") format("truetype"), url("../fonts/roboto-v15-latin-300.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url("../fonts/roboto-v15-latin-regular.eot"); + /* IE9 Compat Modes */ + src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v15-latin-regular.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v15-latin-regular.woff") format("woff"), url("../fonts/roboto-v15-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v15-latin-regular.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url("../fonts/roboto-v15-latin-700.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v15-latin-700.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-700.woff2") format("woff2"), url("../fonts/roboto-v15-latin-700.woff") format("woff"), url("../fonts/roboto-v15-latin-700.ttf") format("truetype"), url("../fonts/roboto-v15-latin-700.svg#Roboto") format("svg"); + /* Legacy iOS */ } +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../fonts/MaterialIcons-Regular.eot"); + /* For IE6-8 */ + src: local("Material Icons"), local("MaterialIcons-Regular"), url("../fonts/MaterialIcons-Regular.woff2") format("woff2"), url("../fonts/MaterialIcons-Regular.woff") format("woff"), url("../fonts/MaterialIcons-Regular.ttf") format("truetype"); } +/* Utils */ +.clearfix:after { + content: " "; + display: block; + clear: both; } + +*[hidden] { + display: none; } + +.card { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + background: #ffffff; + padding: 1em; + margin-bottom: 1em; + box-sizing: border-box; } + .card.card-w-title { + padding-bottom: 2em; } + .card h1 { + font-size: 1.5em; + font-weight: 400; + margin: 1em 0; } + .card h1:first-child { + margin-top: .667em; } + .card h2 { + font-size: 1.375em; + font-weight: 400; } + .card h3 { + font-size: 1.250em; + font-weight: 400; } + .card h4 { + font-size: 1.125em; + font-weight: 400; } + +.nopad { + padding: 0; } + .nopad .ui-panel-content { + padding: 0; } + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: none; + transform: none; } } +@keyframes fadeInDown { + from { + opacity: 0; + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + transform: none; } } +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); } } +@keyframes spin { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } +.ui-icon-spin { + -webkit-animation-name: spin; + animation-name: spin; } + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; } + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; } + +.ui-shadow-1 { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.ui-shadow-2 { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-3 { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-4 { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.ui-shadow-5 { + -webkit-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.ui-g { + -ms-flex-wrap: wrap; } + .ui-g.form-group > div { + padding: 1em; } + .ui-g.form-group-m > div { + padding: 1em; } + +/* Ripple */ +/* Ripple Effect Style like Google Material Buttons Effect*/ +.ripplelink { + /* display:block; */ + /*color:#fff;*/ + text-decoration: none; + position: relative; + overflow: hidden; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; + z-index: 0; } + +.ripplelink:hover { + /*z-index:1000;*/ } + +.ink { + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.4); + border-radius: 100%; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); } + +.ripple-animate { + -webkit-animation: ripple 0.65s linear; + -moz-animation: ripple 0.65s linear; + -ms-animation: ripple 0.65s linear; + -o-animation: ripple 0.65s linear; + animation: ripple 0.65s linear; } + +@-webkit-keyframes ripple { + 100% { + opacity: 0; + -webkit-transform: scale(2.5); } } +@-moz-keyframes ripple { + 100% { + opacity: 0; + -moz-transform: scale(2.5); } } +@-o-keyframes ripple { + 100% { + opacity: 0; + -o-transform: scale(2.5); } } +@keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); } } +.splash-screen { + width: 100%; + min-height: 100%; + background-color: #3F51B5; + position: absolute; } + +.splash-loader-container { + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-left: -32px; + margin-top: -32px; } + +.splash-loader { + animation: rotator 1.4s linear infinite; } + +@keyframes rotator { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(270deg); } } +.splash-path { + stroke-dasharray: 187; + stroke-dashoffset: 0; + transform-origin: center; + animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; } + +@keyframes colors { + 0% { + stroke: #4285F4; } + 25% { + stroke: #DE3E35; } + 50% { + stroke: #F7C223; } + 75% { + stroke: #1B9A59; } + 100% { + stroke: #4285F4; } } +@keyframes dash { + 0% { + stroke-dashoffset: 187; } + 50% { + stroke-dashoffset: 46.75; + transform: rotate(135deg); } + 100% { + stroke-dashoffset: 187; + transform: rotate(450deg); } } +.dashboard .overview { + padding: 0 !important; + min-height: 140px; + position: relative; + margin-bottom: 0px !important; } + .dashboard .overview .overview-content { + padding: 16px; } + .dashboard .overview .overview-content .overview-title { + font-size: 18px; } + .dashboard .overview .overview-content .overview-badge { + float: right; + color: #757575; } + .dashboard .overview .overview-content .overview-detail { + display: block; + font-size: 24px; + margin-top: 5px; } + .dashboard .overview .overview-footer { + position: absolute; + bottom: 0; + width: 100%; } + .dashboard .overview .overview-footer img { + display: block; } +.dashboard .colorbox { + padding: 0 !important; + text-align: center; + overflow: hidden; + margin-bottom: 0px !important; } + .dashboard .colorbox i { + font-size: 48px; + margin-top: 10px; + color: #ffffff; } + .dashboard .colorbox .colorbox-name { + font-size: 20px; + display: inline-block; + width: 100%; + margin: 4px 0 10px 0; + color: #ffffff; } + .dashboard .colorbox .colorbox-count { + color: #ffffff; + font-size: 36px; } + .dashboard .colorbox .colorbox-count { + font-weight: bold; } + .dashboard .colorbox.colorbox-1 { + background-color: #4CAF50; } + .dashboard .colorbox.colorbox-1 div:first-child { + background-color: #2E7D32; } + .dashboard .colorbox.colorbox-2 { + background-color: #03A9F4; } + .dashboard .colorbox.colorbox-2 div:first-child { + background-color: #0277BD; } + .dashboard .colorbox.colorbox-3 { + background-color: #673AB7; } + .dashboard .colorbox.colorbox-3 div:first-child { + background-color: #4527A0; } + .dashboard .colorbox.colorbox-4 { + background-color: #009688; } + .dashboard .colorbox.colorbox-4 div:first-child { + background-color: #00695C; } +.dashboard .task-list { + overflow: hidden; } + .dashboard .task-list > .ui-panel { + min-height: 340px; } + .dashboard .task-list .ui-panel-content { + padding: 10px 0 !important; } + .dashboard .task-list ul { + list-style-type: none; + margin: 0; + padding: 0; } + .dashboard .task-list ul li { + padding: 0.625em 0.875em; + border-bottom: 1px solid #dbdbdb; } + .dashboard .task-list ul li:first-child { + margin-top: 10px; } + .dashboard .task-list ul .ui-chkbox { + vertical-align: middle; + margin-right: 5px; } + .dashboard .task-list ul .task-name { + vertical-align: middle; } + .dashboard .task-list ul i { + color: #757575; + float: right; } +.dashboard .contact-form { + overflow: hidden; } + .dashboard .contact-form .ui-panel { + min-height: 340px; } + .dashboard .contact-form .ui-g-12 { + padding: 16px 10px; } + .dashboard .contact-form .ui-button { + margin-top: 20px; } +.dashboard .contacts { + overflow: hidden; } + .dashboard .contacts > .ui-panel { + min-height: 340px; } + .dashboard .contacts .ui-panel-content { + padding: 15px 0 10px 0 !important; } + .dashboard .contacts ul { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .contacts ul li { + border-bottom: 1px solid #d8d8d8; } + .dashboard .contacts ul li a { + padding: 9px; + width: 100%; + box-sizing: border-box; + text-decoration: none; + position: relative; + display: block; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-transition: background-color 0.2s; + -o-transition: background-color 0.2s; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; } + .dashboard .contacts ul li a .name { + position: absolute; + right: 10px; + top: 10px; + font-size: 18px; + color: #212121; } + .dashboard .contacts ul li a .email { + position: absolute; + right: 10px; + top: 30px; + font-size: 14px; + color: #757575; } + .dashboard .contacts ul li a:hover { + cursor: pointer; + background-color: #e8e8e8; } + .dashboard .contacts ul li:last-child { + border: 0; } +.dashboard .activity-list { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .activity-list li { + border-bottom: 1px solid #bdbdbd; + padding: 15px 0 9px 9px; } + .dashboard .activity-list li .count { + font-size: 24px; + color: #ffffff; + background-color: #03A9F4; + font-weight: bold; + display: inline-block; + padding: 5px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; } + .dashboard .activity-list li:first-child { + border-top: 1px solid #bdbdbd; } + .dashboard .activity-list li:last-child { + border: 0; } + .dashboard .activity-list li .ui-g-6:first-child { + font-size: 18px; + padding-left: 0; } + .dashboard .activity-list li .ui-g-6:last-child { + text-align: right; + color: #757575; } +.dashboard .timeline { + height: 100%; + box-sizing: border-box; } + .dashboard .timeline > .ui-g .ui-g-3 { + font-size: 14px; + position: relative; + border-right: 1px solid #bdbdbd; } + .dashboard .timeline > .ui-g .ui-g-3 i { + background-color: #ffffff; + font-size: 36px; + position: absolute; + top: 0px; + right: -18px; } + .dashboard .timeline > .ui-g .ui-g-9 { + padding-left: 1.5em; } + .dashboard .timeline > .ui-g .ui-g-9 .event-text { + color: #757575; + font-size: 14px; + display: block; + padding-bottom: 20px; } + .dashboard .timeline > .ui-g .ui-g-9 .event-content img { + width: 100%; } +.dashboard > div > .ui-panel { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + +.layout-rightpanel .layout-rightpanel-header { + background: url("../images/dashboard/sidebar-image.jpg") no-repeat; + background-size: cover; + height: 118px; + padding: 20px 14px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .layout-rightpanel .layout-rightpanel-header .weather-day, .layout-rightpanel .layout-rightpanel-header .weather-date { + color: #ffffff; + left: 14px; + font-size: 18px; + font-weight: 700; + padding-bottom: 4px; } +.layout-rightpanel .layout-rightpanel-content { + padding: 14px; } + .layout-rightpanel .layout-rightpanel-content h1 { + font-size: 18px; + margin: 0 0 4px 0; } + .layout-rightpanel .layout-rightpanel-content h2 { + font-size: 16px; + margin: 0; + color: #757575; + font-weight: normal; } + .layout-rightpanel .layout-rightpanel-content .weather-today { + text-align: center; + margin-top: 28px; } + .layout-rightpanel .layout-rightpanel-content .weather-today .weather-today-value { + font-size: 36px; + vertical-align: middle; + margin-right: 14px; } + .layout-rightpanel .layout-rightpanel-content .weather-today img { + vertical-align: middle; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather { + list-style-type: none; + margin: 28px 0 0 0; + padding: 0; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li { + padding: 8px 14px; + border-bottom: 1px solid #d8dae2; + position: relative; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li .weekly-weather-value { + position: absolute; + right: 40px; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li img { + width: 24px; + position: absolute; + right: 0px; + top: 4px; } + +.login-body { + background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + height: auto; } + +.login-panel { + text-align: center; + width: 350px; + min-height: 440px; + padding: 50px 20px; + margin: 100px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 25px 40px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-bottom: 20px; } + .login-panel .ui-button:hover { + background-color: #37474F; } + .login-panel .ui-button:focus { + outline: 0 none; + background-color: #7b96a3; } + .login-panel .ui-button.secondary:hover { + background-color: #558B2F; } + .login-panel .ui-button.secondary:focus { + outline: 0 none; + background-color: #a4d070; } + .login-panel .ui-inputtext:focus { + border-width: 0 0 2px 0; + border-color: #607D8B; + padding-bottom: 0px; } + +.login-footer { + position: absolute; + bottom: 10px; + font-size: 16px; + width: 100%; + text-align: center; + color: #757575; } + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + background: url("../images/login/login2x.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } } +@media (max-width: 1024px) { + .login-panel { + text-align: center; + min-height: 440px; + margin: 100px auto 0 auto; } } +@media (max-width: 640px) { + .login-panel { + text-align: center; + width: 300px; + min-height: 440px; + padding: 40px 20px; + margin: 75px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 20px 20px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-top: 30px; } } +.exception-body { + background-color: #f7f7f7; + height: auto; } + .exception-body .exception-type { + width: 100%; + height: 50%; + padding: 100px 100px 0 100px; + box-sizing: border-box; + text-align: center; } + .exception-body .exception-panel { + text-align: center; + width: 350px; + padding: 35px; + margin: -10% auto 0 auto; + z-index: 100; } + .exception-body .exception-panel i { + font-size: 72px; } + .exception-body .exception-panel h1 { + font-size: 36px; + line-height: 36px; + color: #757575; } + .exception-body .exception-panel .exception-detail { + margin: 20px 0px 100px 0px; + color: #757575; } + .exception-body .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .exception-body .ui-button:hover { + background-color: #558B2F; } + .exception-body.error-page .exception-type { + background-color: #e62a10; } + .exception-body.error-page .exception-type img { + width: 100%; } + .exception-body.error-page .exception-panel i { + color: #f79a84; } + .exception-body.notfound-page .exception-type { + background-color: #3f51b5; } + .exception-body.notfound-page .exception-type img { + width: 54%; } + .exception-body.notfound-page .exception-panel i { + color: #9fa8da; } + .exception-body.accessdenied-page .exception-type { + background-color: #e91e63; } + .exception-body.accessdenied-page .exception-type img { + width: 50%; } + .exception-body.accessdenied-page .exception-panel i { + color: #f48fb1; } + +@media (max-width: 1024px) { + .exception-body .exception-panel { + margin-top: -50px; } } +@media (max-width: 640px) { + .exception-body .exception-panel { + width: 250px; + margin-top: -15px; } } +.landing-wrapper .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .landing-wrapper .ui-button:hover { + background-color: #558B2F; } +.landing-wrapper #header { + width: 100%; + min-height: 400px; + background: url("../images/landing/landing-header.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } + .landing-wrapper #header .header-top { + width: 960px; + margin: 0 auto; + padding: 30px 0px; } + .landing-wrapper #header .header-top .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo.png") top left no-repeat; } + .landing-wrapper #header .header-top #menu { + float: right; + list-style: none; + margin: 0; + padding: 0; } + .landing-wrapper #header .header-top #menu li { + float: left; + display: block; + margin-left: 30px; } + .landing-wrapper #header .header-top #menu li a { + color: #ffffff; } + .landing-wrapper #header .header-top #menu li i { + display: none; } + .landing-wrapper #header .header-top #menu.lmenu-active { + display: block; } + .landing-wrapper #header .header-top #menu-button { + height: 36px; + margin-top: -2px; + float: right; + color: #ffffff; + display: none; } + .landing-wrapper #header .header-top #menu-button i { + font-size: 36px; } + .landing-wrapper #header .header-content { + width: 960px; + margin: 0 auto; + text-align: center; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + color: #ffffff; + line-height: 36px; } +.landing-wrapper #features { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #features h2 { + font-weight: 400; + line-height: 28px; } + .landing-wrapper #features h3 { + font-weight: 400; } + .landing-wrapper #features p { + color: #757575; } + .landing-wrapper #features .ui-g-12 { + padding: 2em .5em; } + .landing-wrapper #features .feature-icon { + display: inline-block; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + background-color: #f4f8fc; + box-sizing: border-box; + width: 100px; + height: 100px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .landing-wrapper #features .feature-icon i { + margin-top: 30px; + font-size: 36px; } + .landing-wrapper #features .feature-icon:hover { + background-color: #e91e63; } + .landing-wrapper #features .feature-icon:hover i { + color: #ffffff; } +.landing-wrapper #promotion { + background: url("../images/landing/promotion.png") top left no-repeat; + background-size: 100% auto; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 150px 0 0 150px; } + .landing-wrapper #promotion .ui-lg-8 h1 { + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 { + margin: -50px 0 -50px 0; } + .landing-wrapper #promotion .ui-lg-4 .card { + -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + margin-bottom: 20px; } + .landing-wrapper #promotion .ui-lg-4 .card h3 { + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 .card p { + color: #757575; } + .landing-wrapper #promotion .ui-lg-4 .card:last-child { + margin-bottom: 0; } +.landing-wrapper #pricing { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #pricing h2 { + font-weight: 400; } + .landing-wrapper #pricing p { + color: #757575; } + .landing-wrapper #pricing .pricing-box .card { + height: 100%; + padding: 0; } + .landing-wrapper #pricing .pricing-box .pricing-header { + padding: 40px 0; + color: #ffffff; } + .landing-wrapper #pricing .pricing-box .pricing-header span { + display: block; + line-height: 48px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.name { + font-weight: 300; + font-size: 24px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.fee { + font-size: 48px; + font-weight: 700; } + .landing-wrapper #pricing .pricing-box .pricing-header span.type { + font-weight: 300; + font-size: 16px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul { + margin: 0; + padding: 30px 20px; + list-style-type: none; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li { + font-size: 18px; + text-align: left; + padding: 10px 14px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li i { + margin-right: 20px; + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li span { + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box.pricing-basic .pricing-header { + background-color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-basic i { + color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-standard .pricing-header { + background-color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-standard i { + color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-professional .pricing-header { + background-color: #607d8b; } + .landing-wrapper #pricing .pricing-box.pricing-professional i { + color: #607d8b; } +.landing-wrapper #video { + background-color: #f7f7f7; + min-width: 400px; } + .landing-wrapper #video .video-content { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #video .video-content h2 { + font-weight: 400; } + .landing-wrapper #video .video-content p { + color: #757575; } +.landing-wrapper .footer { + background-color: #f7f7f7; + border-top: 1px solid #dddddd; } + .landing-wrapper .footer .footer-content { + width: 960px; + margin: 0 auto; + padding: 30px 0px 50px 0px; } + .landing-wrapper .footer .footer-content ul { + float: right; + list-style-type: none; } + .landing-wrapper .footer .footer-content ul li a { + color: #757575; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .landing-wrapper .footer .footer-content ul li a:hover { + color: #212121; } + +@media (max-width: 1024px) { + .landing-wrapper #header { + min-height: 200px; + background-size: cover; } + .landing-wrapper #header .header-top { + z-index: 100; + position: fixed; + top: 0; + background: #424242; + background-size: 100% auto; + padding: 30px; + width: 100%; + box-sizing: border-box; + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .landing-wrapper #header .header-top #menu-button { + display: inline-block; } + .landing-wrapper #header .header-top #menu { + z-index: 100; + position: fixed; + top: 86px; + right: 30px; + float: none; + display: none; + margin: 0; + padding: 0; + width: 225px; + list-style: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: .5s; + -moz-animation-duration: .5s; + animation-duration: .5s; } + .landing-wrapper #header .header-top #menu li { + float: none; + margin-left: 0; } + .landing-wrapper #header .header-top #menu li a { + font-size: 16px; + display: block; + padding: 10px 16px; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .landing-wrapper #header .header-top #menu li a i { + color: #757575; + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .landing-wrapper #header .header-top #menu li a:hover { + background-color: #e8e8e8; } + .landing-wrapper #header .header-top #menu li a span { + display: inline-block; + vertical-align: middle; } + .landing-wrapper #header .header-content { + width: 100%; + padding: 100px 30px 60px 30px; + box-sizing: border-box; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; } + .landing-wrapper #features, .landing-wrapper #promotion, .landing-wrapper #pricing, .landing-wrapper #video, .landing-wrapper .footer .footer-content { + width: 100%; + padding-right: 30px; + padding-left: 30px; + box-sizing: border-box; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 100px 0 30px; + text-align: center; } + .landing-wrapper #promotion .ui-lg-8 h1 { + margin-top: -30px; + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #video .video-content { + width: 100%; } + .landing-wrapper #video .video-content .video-container iframe { + width: 350px; + height: 220px; } + .landing-wrapper .footer .footer-content { + text-align: center; } + .landing-wrapper .footer .footer-content ul { + float: none; + margin: 0; + padding: 0; } } +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .landing-wrapper .header .header-top .logo { + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } } +html { + height: 100%; } + +body { + font-family: Roboto,"Helvetica Neue",sans-serif; + font-size: 16px; + line-height: 1.5em; + color: #212121; + -webkit-font-smoothing: antialiased; + padding: 0; + margin: 0; + background-color: #f7f7f7; + min-height: 100%; } + body a { + text-decoration: none; } + +.layout-mask { + position: fixed; + width: 100%; + height: 100%; + background-color: #424242; + top: 0; + left: 0; + z-index: 999999997; + opacity: 0.7; + filter: alpha(opacity=70); } + +.layout-container .topbar { + position: fixed; + z-index: 100; + width: 100%; + height: 75px; + background-color: #607D8B; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container .topbar .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } + .layout-container .topbar .topbar-left { + box-sizing: border-box; + padding: 20px; + height: 75px; + width: 250px; + background-color: #37474F; + float: left; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); } + .layout-container .topbar .topbar-right { + padding: 15px; + position: relative; } + .layout-container .topbar .topbar-right #menu-button { + color: #ffffff; + display: inline-block; + vertical-align: middle; + height: 36px; + margin-right: 10px; + position: relative; + left: -16px; + top: 3px; + background-color: #8BC34A; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); } + .layout-container .topbar .topbar-right #menu-button:hover { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + .layout-container .topbar .topbar-right #menu-button i { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #menu-button i:before { + content: "chevron_left"; } + .layout-container .topbar .topbar-right #topbar-menu-button, .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: none; + color: #ffffff; + vertical-align: middle; + height: 36px; + margin-top: 4px; + float: right; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .layout-container .topbar .topbar-right #topbar-menu-button i, .layout-container .topbar .topbar-right #rightpanel-menu-button i { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: block; } + .layout-container .topbar .topbar-right #rightpanel-menu-button:hover { + color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items .search-item input { + position: relative; + top: -10px; + font-size: 16px; + background-color: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + border-color: #ffffff; + color: #ffffff; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus { + outline: 0 none; + border-bottom-width: 2px; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus ~ label { + top: -5px; + font-size: 12px; + color: #607D8B; } + .layout-container .topbar .topbar-right .topbar-items .search-item input.ui-state-filled ~ label { + display: none; } + .layout-container .topbar .topbar-right .topbar-items .search-item label { + color: #ffffff; + top: 8px; } +.layout-container .layout-menu { + overflow: visible; + position: fixed; + width: 250px; + z-index: 99; + top: 75px; + height: 100%; + background-color: #ffffff; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-menu .ui-scrollpanel { + background: transparent; + border-radius: 0; + border: none; } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-bar { + background-color: #aaaaaa; + opacity: 0.3; + filter: alpha(opacity=30); } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-menu .ui-scrollpanel .layout-menu { + padding-bottom: 120px; } + .layout-container .layout-menu .profile { + box-sizing: border-box; + padding-top: 2em; + width: 250px; + height: 145px; + text-align: center; + background: url("../images/profile-bg.png") top left no-repeat; + background-size: 250px 145px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); } + .layout-container .layout-menu .profile .profile-image { + width: 60px; + height: 60px; + margin: 0 auto 5px auto; + display: block; } + .layout-container .layout-menu .profile .profile-name { + display: inline-block; + color: #212121; + vertical-align: middle; + font-size: 1em; } + .layout-container .layout-menu .profile i { + color: #212121; + vertical-align: middle; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .layout-menu .profile.profile-expanded i { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .layout-menu .profile-menu { + border-bottom: 1px solid #d6d5d5; + overflow: hidden; } + .layout-container .layout-menu .profile-menu li:first-child { + margin-top: 1em; } + .layout-container .layout-menu .profile-menu li:last-child { + margin-bottom: 1em; } + .layout-container .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container .layout-menu.layout-menu-dark .profile { + background-image: url("../images/profile-bg-dark.png"); } + .layout-container .layout-menu.layout-menu-dark .profile .profile-name { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile-menu { + border-bottom: 1px solid #545454; } + .layout-container .layout-menu.layout-menu-dark .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + border-radius: 0; + border: none; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #8BC34A; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #8BC34A; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #8BC34A; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink { + color: #ffffff; + background-color: #8BC34A; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink i { + color: #212121; } + .layout-container .layout-menu .menuitem-badge { + position: absolute; + right: 3.5em; + top: .75em; + display: inline-block; + width: 1em; + height: 1em; + margin-right: .5em; + text-align: center; + background-color: #8BC34A; + color: #ffffff; + font-size: 14px; + font-weight: 700; + line-height: 1em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + .layout-container .layout-menu .layout-menu-tooltip { + display: none; + padding: 0 5px; + position: absolute; + left: 76px; + top: 6px; + z-index: 101; + line-height: 1; } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text { + padding: 6px 8px; + font-weight: 700; + background-color: #353535; + color: #ffffff; + min-width: 75px; + white-space: nowrap; + text-align: center; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #353535; } +.layout-container.menu-layout-overlay .layout-menu { + margin-left: -250px; } +.layout-container.menu-layout-overlay .layout-main { + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-menu { + z-index: 999999999; + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-mask { + display: block; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); } +.layout-container.menu-layout-overlay .topbar { + z-index: 999999998; } + .layout-container.menu-layout-overlay .topbar .topbar-right #menu-button i { + font-size: 36px !important; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.layout-container .layout-main { + padding: 75px 0 0 0; + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-main .layout-content { + padding: 16px; } +.layout-container .layout-mask { + display: none; } +.layout-container .layout-breadcrumb { + background-color: #ffffff; + box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -webkit-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -moz-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + min-height: 42px; } + .layout-container .layout-breadcrumb:before, .layout-container .layout-breadcrumb:after { + content: ""; + display: table; } + .layout-container .layout-breadcrumb:after { + clear: both; } + .layout-container .layout-breadcrumb ul { + margin: 8px 0 0 0; + padding: 0 0 0 20px; + list-style: none; + color: #757575; + display: inline-block; } + .layout-container .layout-breadcrumb ul li { + display: inline-block; + vertical-align: top; + color: #757575; } + .layout-container .layout-breadcrumb ul li:nth-child(even) { + font-size: 20px; } + .layout-container .layout-breadcrumb ul li:first-child(even) { + color: #607D8B; } + .layout-container .layout-breadcrumb ul li a { + color: #757575; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options { + float: right; + padding: 0px 20px 0 0; + height: 100%; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a { + color: #757575; + display: inline-block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a:hover { + background-color: #e8e8e8; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a i { + line-height: inherit; } +.layout-container .ultima-menu { + margin: 0; + padding: 0; + list-style: none; + width: 268px; } + .layout-container .ultima-menu.ultima-main-menu { + margin-top: 16px; + padding-bottom: 120px; } + .layout-container .ultima-menu li a { + font-size: 1em; + display: block; + padding: .5em 2.5em .5em 1em; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .layout-container .ultima-menu li a i { + color: #757575; } + .layout-container .ultima-menu li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .5em; + font-size: 1.5em; } + .layout-container .ultima-menu li a i:last-child { + float: right; + font-size: 20px; + margin-top: .15em; + margin-right: -.15em; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .ultima-menu li a:hover { + background-color: #e8e8e8; } + .layout-container .ultima-menu li a span { + display: inline-block; + vertical-align: middle; } + .layout-container .ultima-menu li a.active-menuitem-routerlink { + color: #8BC34A; } + .layout-container .ultima-menu li a.active-menuitem-routerlink > i { + color: #8BC34A; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #757575; } + .layout-container .ultima-menu li.active-menuitem > a { + color: #607D8B; + background-color: #e8e8e8; } + .layout-container .ultima-menu li.active-menuitem > a i { + color: #607D8B; } + .layout-container .ultima-menu li.active-menuitem > a i:last-child { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .ultima-menu li ul { + padding: 0; + margin: 0; + list-style: none; + overflow: hidden; } + .layout-container .ultima-menu li ul li a { + padding: .5em 2.5em .5em 2em; } + .layout-container .ultima-menu li ul li a > span { + font-size: 15px; } + .layout-container .ultima-menu li ul li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .6em; + font-size: 1.250em; } + .layout-container .ultima-menu li ul li ul li a { + padding-left: 3em; } + .layout-container .ultima-menu li ul li ul ul li a { + padding-left: 4em; } + .layout-container .ultima-menu li ul li ul ul ul li a { + padding-left: 5em; } + .layout-container .ultima-menu li ul li ul ul ul ul li a { + padding-left: 6em; } + .layout-container .ultima-menu li.red-badge > a .menuitem-badge { + background-color: #F44336; + color: #ffffff; } + .layout-container .ultima-menu li.purple-badge > a .menuitem-badge { + background-color: #4527A0; + color: #ffffff; } + .layout-container .ultima-menu li.teal-badge > a .menuitem-badge { + background-color: #00695C; + color: #ffffff; } +.layout-container .footer { + padding: .5em; } + .layout-container .footer .footer-text-left { + float: left; } + .layout-container .footer .footer-text-right { + color: #757575; + float: right; } + .layout-container .footer .footer-text-right span { + vertical-align: middle; + display: inline-block; } +.layout-container .layout-rightpanel { + position: fixed; + top: 75px; + height: 100%; + right: -240px; + width: 240px; + z-index: 100; + background-color: #ffffff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -moz-transition: right 0.3s; + -o-transition: right 0.3s; + -webkit-transition: right 0.3s; + transition: right 0.3s; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); } + .layout-container .layout-rightpanel.layout-rightpanel-active { + right: 0; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); } + .layout-container .layout-rightpanel .layout-rightpanel-content { + padding: 14px; + padding-bottom: 120px; } + .layout-container .layout-rightpanel .ui-scrollpanel { + border-radius: 0; + border: none; } + .layout-container .layout-rightpanel .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-rightpanel .ui-scrollpanel .layout-rightpanel-wrapper { + width: 258px; + padding-right: 18px; } + +.ajax-loader { + font-size: 2em; + color: #8BC34A; } + +@media (min-width: 1025px) { + .layout-container .topbar-items { + float: right; + margin: 0; + padding: 5px 0 0 0; + list-style-type: none; } + .layout-container .topbar-items > li { + float: right; + position: relative; + margin-left: 8px; } + .layout-container .topbar-items > li > a { + position: relative; + display: block; } + .layout-container .topbar-items > li > a .topbar-item-name { + display: none; } + .layout-container .topbar-items > li > a .topbar-badge { + position: absolute; + right: -5px; + top: -5px; + background-color: #8BC34A; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar-items > li .topbar-icon { + font-size: 36px; + color: #ffffff; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .layout-container .topbar-items > li .topbar-icon:hover { + color: #e8e8e8; } + .layout-container .topbar-items > li.profile-item .profile-image { + width: 36px; + height: 36px; } + .layout-container .topbar-items > li > ul { + position: absolute; + top: 55px; + right: 5px; + display: none; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; } + .layout-container .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar-items > li .topbar-message img { + display: inline-block; + vertical-align: middle; + margin-right: 12px; } + .layout-container.menu-layout-static .layout-menu { + margin-left: 0; } + .layout-container.menu-layout-static .layout-main { + margin-left: 250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-menu { + margin-left: -250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static .layout-mask { + display: none; } + .layout-container.menu-layout-horizontal .topbar { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-left { + background-color: #607D8B; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-horizontal .layout-menu { + overflow: visible; + position: fixed; + width: 100%; + top: 75px; + height: auto; + background-color: #37474F; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel { + overflow: visible; + border: none; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu { + width: 100%; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu.ultima-main-menu { + margin-top: 0; + padding-bottom: 0; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li { + float: left; + position: relative; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a { + padding: .5em 1em; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover { + background-color: #e8e8e8; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink { + color: #8BC34A; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink > i { + color: #8BC34A; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + position: absolute; + top: 41px; + left: 0px; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li a { + padding: 10px 16px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul { + position: static; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul li a { + padding-left: 80px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul ul li a { + padding-left: 96px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > a { + color: #607D8B; + background-color: #e8e8e8; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a { + color: #ffffff; + background-color: #8BC34A; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #8BC34A; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #8BC34A; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #8BC34A; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li ul { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu .menuitem-badge { + left: 32px; + top: 7px; } + .layout-container.menu-layout-horizontal .layout-menu .active-menuitem .menuitem-badge { + background-color: #ffffff; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-main { + padding-top: 116px; + margin-left: 0px; } + .layout-container.menu-layout-horizontal .layout-mask { + display: none; } + .layout-container.menu-layout-slim .topbar { + left: 75px; + width: calc(100% - 75px); } + .layout-container.menu-layout-slim .topbar .topbar-left { + background: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-slim .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-slim .layout-menu { + width: 75px; + overflow: visible; + z-index: 100; + top: 0; } + .layout-container.menu-layout-slim .layout-menu .profile { + width: calc(100% - 18px); + height: 74px; + padding-top: 15px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-image { + width: 45px; + height: 45px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-name, .layout-container.menu-layout-slim .layout-menu .profile > a i { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel { + border: none; + border-radius: 0; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu { + padding: 0; + width: calc(100% - 18px); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li { + position: relative; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a { + text-align: center; + padding-left: 0; + padding-right: 0; + padding-top: .5em; + padding-bottom: .5em; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a i:first-child { + font-size: 1.75em; + margin-right: 0; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a span, .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a .submenu-icon { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a:hover + .layout-menu-tooltip { + display: block; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul { + background-color: #ffffff; + position: absolute; + top: 0; + left: 75px; + min-width: 200px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li a { + padding: .5em 1em .5em 2em; + padding-left: 16px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul li a { + padding: 80px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul ul li a { + padding: 96px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li.active-menuitem > a:hover + .layout-menu-tooltip { + display: none; } + .layout-container.menu-layout-slim .layout-menu.layout-menu-dark .ultima-menu > li > ul { + background-color: #424242; } + .layout-container.menu-layout-slim .layout-main { + margin-left: 75px; } + .layout-container.menu-layout-slim .layout-footer { + margin-left: 75px; } } +@media (max-width: 1024px) { + .layout-container.menu-layout-static .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static .layout-menu { + margin-left: -265px; } + .layout-container.menu-layout-static .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-menu { + margin-left: 0; + z-index: 999999999; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar { + z-index: 999999998; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); } + .layout-container.menu-layout-static.layout-menu-static-active .layout-main { + margin-left: 0; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-mask { + display: block; } + .layout-container .topbar .topbar-right #topbar-menu-button { + display: block; } + .layout-container .topbar .topbar-right .topbar-items { + position: absolute; + top: 75px; + right: 15px; + width: 275px; + display: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + list-style-type: none; + margin: 0; + padding: 0; } + .layout-container .topbar .topbar-right .topbar-items > li > a { + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + color: #212121; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li > a i { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .layout-container .topbar .topbar-right .topbar-items > li > a:hover { + background-color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-item-name { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-badge { + position: absolute; + left: 30px; + top: 10px; + background-color: #8BC34A; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar .topbar-right .topbar-items > li > ul { + display: none; } + .layout-container .topbar .topbar-right .topbar-items > li > ul li a span, .layout-container .topbar .topbar-right .topbar-items > li > ul li a img, .layout-container .topbar .topbar-right .topbar-items > li > ul li a i { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > a { + color: #607D8B; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a { + padding-left: 32px; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item { + text-align: center; + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input { + top: 0; + width: 100%; + box-sizing: border-box; + padding-right: 16px; + border-color: #bdbdbd; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus { + margin-bottom: -1px; + border-color: #bdbdbd; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus ~ label, + .layout-container .topbar .topbar-right .topbar-items > li.search-item input.ui-state-filled ~ label { + top: -20px; + color: #607D8B; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item label { + top: 1px; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item i { + position: absolute; + right: 5px; + top: -2px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item .profile-image { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + background: url("../images/avatar.png") top left no-repeat; + background-size: 24px 24px; + margin-right: 14px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item span { + vertical-align: middle; + display: inline-block; } + .layout-container .topbar .topbar-right .topbar-items.topbar-items-visible { + display: block; } } +@media (max-width: 385px) { + .layout-container .topbar .topbar-right #topbar-menu-button { + position: absolute; + height: 1.5em; + right: 24px; + top: 1.375em; } + .layout-container .topbar .topbar-right #topbar-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + position: absolute; + height: 1.5em; + right: 8px; + top: 1.375em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #menu-button { + margin-right: 0; } } +body .layout-wrapper.layout-compact { + font-size: 14px; + line-height: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li a i:last-child { + font-size: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li ul li a span { + font-size: 14px; } + body .layout-wrapper.layout-compact .layout-container .layout-breadcrumb ul li { + vertical-align: middle; } + body .layout-wrapper.layout-compact .ui-radiobutton .ui-radiobutton-box { + width: 18px; + height: 18px; } + body .layout-wrapper.layout-compact .ui-datepicker tbody td a, body .layout-wrapper.layout-compact .ui-datepicker body .ui-datepicker tbody td span { + padding-top: .25em; } + +@media (min-width: 1025px) { + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + top: 35px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li span { + font-size: 14px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-main { + padding-top: 110px; } } diff --git a/src/assets/layout/css/layout-blue-grey.scss b/src/assets/layout/css/layout-blue-grey.scss new file mode 100644 index 0000000..cb60b78 --- /dev/null +++ b/src/assets/layout/css/layout-blue-grey.scss @@ -0,0 +1,14 @@ +$primaryColor: #607D8B; +$primaryDarkColor: #37474F; +$primaryLightColor: #B0BEC5; +$accentColor: #8BC34A; +$accentDarkColor: #558B2F; +$accentLightColor: #C5E1A5; +$accentTextColor: #ffffff; +$darkMenuBgColor: #424242; +$darkMenuHoverColor: #676767; +$darkMenuRouterLinkActiveColor: #8BC34A; +$lightMenuRouterLinkActiveColor: #8BC34A; +$horizontalLightMenuRouterLinkActiveColor: #8BC34A; + +@import '../../sass/layout/_layout'; \ No newline at end of file diff --git a/src/assets/layout/css/layout-blue.css b/src/assets/layout/css/layout-blue.css new file mode 100644 index 0000000..a4219db --- /dev/null +++ b/src/assets/layout/css/layout-blue.css @@ -0,0 +1,1875 @@ +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url("../fonts/roboto-v15-latin-300.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-300.woff2") format("woff2"), url("../fonts/roboto-v15-latin-300.woff") format("woff"), url("../fonts/roboto-v15-latin-300.ttf") format("truetype"), url("../fonts/roboto-v15-latin-300.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url("../fonts/roboto-v15-latin-regular.eot"); + /* IE9 Compat Modes */ + src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v15-latin-regular.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v15-latin-regular.woff") format("woff"), url("../fonts/roboto-v15-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v15-latin-regular.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url("../fonts/roboto-v15-latin-700.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v15-latin-700.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-700.woff2") format("woff2"), url("../fonts/roboto-v15-latin-700.woff") format("woff"), url("../fonts/roboto-v15-latin-700.ttf") format("truetype"), url("../fonts/roboto-v15-latin-700.svg#Roboto") format("svg"); + /* Legacy iOS */ } +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../fonts/MaterialIcons-Regular.eot"); + /* For IE6-8 */ + src: local("Material Icons"), local("MaterialIcons-Regular"), url("../fonts/MaterialIcons-Regular.woff2") format("woff2"), url("../fonts/MaterialIcons-Regular.woff") format("woff"), url("../fonts/MaterialIcons-Regular.ttf") format("truetype"); } +/* Utils */ +.clearfix:after { + content: " "; + display: block; + clear: both; } + +*[hidden] { + display: none; } + +.card { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + background: #ffffff; + padding: 1em; + margin-bottom: 1em; + box-sizing: border-box; } + .card.card-w-title { + padding-bottom: 2em; } + .card h1 { + font-size: 1.5em; + font-weight: 400; + margin: 1em 0; } + .card h1:first-child { + margin-top: .667em; } + .card h2 { + font-size: 1.375em; + font-weight: 400; } + .card h3 { + font-size: 1.250em; + font-weight: 400; } + .card h4 { + font-size: 1.125em; + font-weight: 400; } + +.nopad { + padding: 0; } + .nopad .ui-panel-content { + padding: 0; } + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: none; + transform: none; } } +@keyframes fadeInDown { + from { + opacity: 0; + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + transform: none; } } +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); } } +@keyframes spin { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } +.ui-icon-spin { + -webkit-animation-name: spin; + animation-name: spin; } + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; } + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; } + +.ui-shadow-1 { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.ui-shadow-2 { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-3 { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-4 { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.ui-shadow-5 { + -webkit-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.ui-g { + -ms-flex-wrap: wrap; } + .ui-g.form-group > div { + padding: 1em; } + .ui-g.form-group-m > div { + padding: 1em; } + +/* Ripple */ +/* Ripple Effect Style like Google Material Buttons Effect*/ +.ripplelink { + /* display:block; */ + /*color:#fff;*/ + text-decoration: none; + position: relative; + overflow: hidden; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; + z-index: 0; } + +.ripplelink:hover { + /*z-index:1000;*/ } + +.ink { + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.4); + border-radius: 100%; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); } + +.ripple-animate { + -webkit-animation: ripple 0.65s linear; + -moz-animation: ripple 0.65s linear; + -ms-animation: ripple 0.65s linear; + -o-animation: ripple 0.65s linear; + animation: ripple 0.65s linear; } + +@-webkit-keyframes ripple { + 100% { + opacity: 0; + -webkit-transform: scale(2.5); } } +@-moz-keyframes ripple { + 100% { + opacity: 0; + -moz-transform: scale(2.5); } } +@-o-keyframes ripple { + 100% { + opacity: 0; + -o-transform: scale(2.5); } } +@keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); } } +.splash-screen { + width: 100%; + min-height: 100%; + background-color: #3F51B5; + position: absolute; } + +.splash-loader-container { + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-left: -32px; + margin-top: -32px; } + +.splash-loader { + animation: rotator 1.4s linear infinite; } + +@keyframes rotator { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(270deg); } } +.splash-path { + stroke-dasharray: 187; + stroke-dashoffset: 0; + transform-origin: center; + animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; } + +@keyframes colors { + 0% { + stroke: #4285F4; } + 25% { + stroke: #DE3E35; } + 50% { + stroke: #F7C223; } + 75% { + stroke: #1B9A59; } + 100% { + stroke: #4285F4; } } +@keyframes dash { + 0% { + stroke-dashoffset: 187; } + 50% { + stroke-dashoffset: 46.75; + transform: rotate(135deg); } + 100% { + stroke-dashoffset: 187; + transform: rotate(450deg); } } +.dashboard .overview { + padding: 0 !important; + min-height: 140px; + position: relative; + margin-bottom: 0px !important; } + .dashboard .overview .overview-content { + padding: 16px; } + .dashboard .overview .overview-content .overview-title { + font-size: 18px; } + .dashboard .overview .overview-content .overview-badge { + float: right; + color: #757575; } + .dashboard .overview .overview-content .overview-detail { + display: block; + font-size: 24px; + margin-top: 5px; } + .dashboard .overview .overview-footer { + position: absolute; + bottom: 0; + width: 100%; } + .dashboard .overview .overview-footer img { + display: block; } +.dashboard .colorbox { + padding: 0 !important; + text-align: center; + overflow: hidden; + margin-bottom: 0px !important; } + .dashboard .colorbox i { + font-size: 48px; + margin-top: 10px; + color: #ffffff; } + .dashboard .colorbox .colorbox-name { + font-size: 20px; + display: inline-block; + width: 100%; + margin: 4px 0 10px 0; + color: #ffffff; } + .dashboard .colorbox .colorbox-count { + color: #ffffff; + font-size: 36px; } + .dashboard .colorbox .colorbox-count { + font-weight: bold; } + .dashboard .colorbox.colorbox-1 { + background-color: #4CAF50; } + .dashboard .colorbox.colorbox-1 div:first-child { + background-color: #2E7D32; } + .dashboard .colorbox.colorbox-2 { + background-color: #03A9F4; } + .dashboard .colorbox.colorbox-2 div:first-child { + background-color: #0277BD; } + .dashboard .colorbox.colorbox-3 { + background-color: #673AB7; } + .dashboard .colorbox.colorbox-3 div:first-child { + background-color: #4527A0; } + .dashboard .colorbox.colorbox-4 { + background-color: #009688; } + .dashboard .colorbox.colorbox-4 div:first-child { + background-color: #00695C; } +.dashboard .task-list { + overflow: hidden; } + .dashboard .task-list > .ui-panel { + min-height: 340px; } + .dashboard .task-list .ui-panel-content { + padding: 10px 0 !important; } + .dashboard .task-list ul { + list-style-type: none; + margin: 0; + padding: 0; } + .dashboard .task-list ul li { + padding: 0.625em 0.875em; + border-bottom: 1px solid #dbdbdb; } + .dashboard .task-list ul li:first-child { + margin-top: 10px; } + .dashboard .task-list ul .ui-chkbox { + vertical-align: middle; + margin-right: 5px; } + .dashboard .task-list ul .task-name { + vertical-align: middle; } + .dashboard .task-list ul i { + color: #757575; + float: right; } +.dashboard .contact-form { + overflow: hidden; } + .dashboard .contact-form .ui-panel { + min-height: 340px; } + .dashboard .contact-form .ui-g-12 { + padding: 16px 10px; } + .dashboard .contact-form .ui-button { + margin-top: 20px; } +.dashboard .contacts { + overflow: hidden; } + .dashboard .contacts > .ui-panel { + min-height: 340px; } + .dashboard .contacts .ui-panel-content { + padding: 15px 0 10px 0 !important; } + .dashboard .contacts ul { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .contacts ul li { + border-bottom: 1px solid #d8d8d8; } + .dashboard .contacts ul li a { + padding: 9px; + width: 100%; + box-sizing: border-box; + text-decoration: none; + position: relative; + display: block; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-transition: background-color 0.2s; + -o-transition: background-color 0.2s; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; } + .dashboard .contacts ul li a .name { + position: absolute; + right: 10px; + top: 10px; + font-size: 18px; + color: #212121; } + .dashboard .contacts ul li a .email { + position: absolute; + right: 10px; + top: 30px; + font-size: 14px; + color: #757575; } + .dashboard .contacts ul li a:hover { + cursor: pointer; + background-color: #e8e8e8; } + .dashboard .contacts ul li:last-child { + border: 0; } +.dashboard .activity-list { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .activity-list li { + border-bottom: 1px solid #bdbdbd; + padding: 15px 0 9px 9px; } + .dashboard .activity-list li .count { + font-size: 24px; + color: #ffffff; + background-color: #03A9F4; + font-weight: bold; + display: inline-block; + padding: 5px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; } + .dashboard .activity-list li:first-child { + border-top: 1px solid #bdbdbd; } + .dashboard .activity-list li:last-child { + border: 0; } + .dashboard .activity-list li .ui-g-6:first-child { + font-size: 18px; + padding-left: 0; } + .dashboard .activity-list li .ui-g-6:last-child { + text-align: right; + color: #757575; } +.dashboard .timeline { + height: 100%; + box-sizing: border-box; } + .dashboard .timeline > .ui-g .ui-g-3 { + font-size: 14px; + position: relative; + border-right: 1px solid #bdbdbd; } + .dashboard .timeline > .ui-g .ui-g-3 i { + background-color: #ffffff; + font-size: 36px; + position: absolute; + top: 0px; + right: -18px; } + .dashboard .timeline > .ui-g .ui-g-9 { + padding-left: 1.5em; } + .dashboard .timeline > .ui-g .ui-g-9 .event-text { + color: #757575; + font-size: 14px; + display: block; + padding-bottom: 20px; } + .dashboard .timeline > .ui-g .ui-g-9 .event-content img { + width: 100%; } +.dashboard > div > .ui-panel { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + +.layout-rightpanel .layout-rightpanel-header { + background: url("../images/dashboard/sidebar-image.jpg") no-repeat; + background-size: cover; + height: 118px; + padding: 20px 14px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .layout-rightpanel .layout-rightpanel-header .weather-day, .layout-rightpanel .layout-rightpanel-header .weather-date { + color: #ffffff; + left: 14px; + font-size: 18px; + font-weight: 700; + padding-bottom: 4px; } +.layout-rightpanel .layout-rightpanel-content { + padding: 14px; } + .layout-rightpanel .layout-rightpanel-content h1 { + font-size: 18px; + margin: 0 0 4px 0; } + .layout-rightpanel .layout-rightpanel-content h2 { + font-size: 16px; + margin: 0; + color: #757575; + font-weight: normal; } + .layout-rightpanel .layout-rightpanel-content .weather-today { + text-align: center; + margin-top: 28px; } + .layout-rightpanel .layout-rightpanel-content .weather-today .weather-today-value { + font-size: 36px; + vertical-align: middle; + margin-right: 14px; } + .layout-rightpanel .layout-rightpanel-content .weather-today img { + vertical-align: middle; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather { + list-style-type: none; + margin: 28px 0 0 0; + padding: 0; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li { + padding: 8px 14px; + border-bottom: 1px solid #d8dae2; + position: relative; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li .weekly-weather-value { + position: absolute; + right: 40px; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li img { + width: 24px; + position: absolute; + right: 0px; + top: 4px; } + +.login-body { + background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + height: auto; } + +.login-panel { + text-align: center; + width: 350px; + min-height: 440px; + padding: 50px 20px; + margin: 100px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 25px 40px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-bottom: 20px; } + .login-panel .ui-button:hover { + background-color: #0277BD; } + .login-panel .ui-button:focus { + outline: 0 none; + background-color: #2ebcfc; } + .login-panel .ui-button.secondary:hover { + background-color: #FF8F00; } + .login-panel .ui-button.secondary:focus { + outline: 0 none; + background-color: #ffce3a; } + .login-panel .ui-inputtext:focus { + border-width: 0 0 2px 0; + border-color: #03A9F4; + padding-bottom: 0px; } + +.login-footer { + position: absolute; + bottom: 10px; + font-size: 16px; + width: 100%; + text-align: center; + color: #757575; } + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + background: url("../images/login/login2x.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } } +@media (max-width: 1024px) { + .login-panel { + text-align: center; + min-height: 440px; + margin: 100px auto 0 auto; } } +@media (max-width: 640px) { + .login-panel { + text-align: center; + width: 300px; + min-height: 440px; + padding: 40px 20px; + margin: 75px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 20px 20px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-top: 30px; } } +.exception-body { + background-color: #f7f7f7; + height: auto; } + .exception-body .exception-type { + width: 100%; + height: 50%; + padding: 100px 100px 0 100px; + box-sizing: border-box; + text-align: center; } + .exception-body .exception-panel { + text-align: center; + width: 350px; + padding: 35px; + margin: -10% auto 0 auto; + z-index: 100; } + .exception-body .exception-panel i { + font-size: 72px; } + .exception-body .exception-panel h1 { + font-size: 36px; + line-height: 36px; + color: #757575; } + .exception-body .exception-panel .exception-detail { + margin: 20px 0px 100px 0px; + color: #757575; } + .exception-body .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .exception-body .ui-button:hover { + background-color: #FF8F00; } + .exception-body.error-page .exception-type { + background-color: #e62a10; } + .exception-body.error-page .exception-type img { + width: 100%; } + .exception-body.error-page .exception-panel i { + color: #f79a84; } + .exception-body.notfound-page .exception-type { + background-color: #3f51b5; } + .exception-body.notfound-page .exception-type img { + width: 54%; } + .exception-body.notfound-page .exception-panel i { + color: #9fa8da; } + .exception-body.accessdenied-page .exception-type { + background-color: #e91e63; } + .exception-body.accessdenied-page .exception-type img { + width: 50%; } + .exception-body.accessdenied-page .exception-panel i { + color: #f48fb1; } + +@media (max-width: 1024px) { + .exception-body .exception-panel { + margin-top: -50px; } } +@media (max-width: 640px) { + .exception-body .exception-panel { + width: 250px; + margin-top: -15px; } } +.landing-wrapper .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .landing-wrapper .ui-button:hover { + background-color: #FF8F00; } +.landing-wrapper #header { + width: 100%; + min-height: 400px; + background: url("../images/landing/landing-header.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } + .landing-wrapper #header .header-top { + width: 960px; + margin: 0 auto; + padding: 30px 0px; } + .landing-wrapper #header .header-top .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo.png") top left no-repeat; } + .landing-wrapper #header .header-top #menu { + float: right; + list-style: none; + margin: 0; + padding: 0; } + .landing-wrapper #header .header-top #menu li { + float: left; + display: block; + margin-left: 30px; } + .landing-wrapper #header .header-top #menu li a { + color: #ffffff; } + .landing-wrapper #header .header-top #menu li i { + display: none; } + .landing-wrapper #header .header-top #menu.lmenu-active { + display: block; } + .landing-wrapper #header .header-top #menu-button { + height: 36px; + margin-top: -2px; + float: right; + color: #ffffff; + display: none; } + .landing-wrapper #header .header-top #menu-button i { + font-size: 36px; } + .landing-wrapper #header .header-content { + width: 960px; + margin: 0 auto; + text-align: center; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + color: #ffffff; + line-height: 36px; } +.landing-wrapper #features { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #features h2 { + font-weight: 400; + line-height: 28px; } + .landing-wrapper #features h3 { + font-weight: 400; } + .landing-wrapper #features p { + color: #757575; } + .landing-wrapper #features .ui-g-12 { + padding: 2em .5em; } + .landing-wrapper #features .feature-icon { + display: inline-block; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + background-color: #f4f8fc; + box-sizing: border-box; + width: 100px; + height: 100px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .landing-wrapper #features .feature-icon i { + margin-top: 30px; + font-size: 36px; } + .landing-wrapper #features .feature-icon:hover { + background-color: #e91e63; } + .landing-wrapper #features .feature-icon:hover i { + color: #ffffff; } +.landing-wrapper #promotion { + background: url("../images/landing/promotion.png") top left no-repeat; + background-size: 100% auto; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 150px 0 0 150px; } + .landing-wrapper #promotion .ui-lg-8 h1 { + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 { + margin: -50px 0 -50px 0; } + .landing-wrapper #promotion .ui-lg-4 .card { + -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + margin-bottom: 20px; } + .landing-wrapper #promotion .ui-lg-4 .card h3 { + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 .card p { + color: #757575; } + .landing-wrapper #promotion .ui-lg-4 .card:last-child { + margin-bottom: 0; } +.landing-wrapper #pricing { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #pricing h2 { + font-weight: 400; } + .landing-wrapper #pricing p { + color: #757575; } + .landing-wrapper #pricing .pricing-box .card { + height: 100%; + padding: 0; } + .landing-wrapper #pricing .pricing-box .pricing-header { + padding: 40px 0; + color: #ffffff; } + .landing-wrapper #pricing .pricing-box .pricing-header span { + display: block; + line-height: 48px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.name { + font-weight: 300; + font-size: 24px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.fee { + font-size: 48px; + font-weight: 700; } + .landing-wrapper #pricing .pricing-box .pricing-header span.type { + font-weight: 300; + font-size: 16px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul { + margin: 0; + padding: 30px 20px; + list-style-type: none; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li { + font-size: 18px; + text-align: left; + padding: 10px 14px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li i { + margin-right: 20px; + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li span { + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box.pricing-basic .pricing-header { + background-color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-basic i { + color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-standard .pricing-header { + background-color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-standard i { + color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-professional .pricing-header { + background-color: #607d8b; } + .landing-wrapper #pricing .pricing-box.pricing-professional i { + color: #607d8b; } +.landing-wrapper #video { + background-color: #f7f7f7; + min-width: 400px; } + .landing-wrapper #video .video-content { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #video .video-content h2 { + font-weight: 400; } + .landing-wrapper #video .video-content p { + color: #757575; } +.landing-wrapper .footer { + background-color: #f7f7f7; + border-top: 1px solid #dddddd; } + .landing-wrapper .footer .footer-content { + width: 960px; + margin: 0 auto; + padding: 30px 0px 50px 0px; } + .landing-wrapper .footer .footer-content ul { + float: right; + list-style-type: none; } + .landing-wrapper .footer .footer-content ul li a { + color: #757575; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .landing-wrapper .footer .footer-content ul li a:hover { + color: #212121; } + +@media (max-width: 1024px) { + .landing-wrapper #header { + min-height: 200px; + background-size: cover; } + .landing-wrapper #header .header-top { + z-index: 100; + position: fixed; + top: 0; + background: #424242; + background-size: 100% auto; + padding: 30px; + width: 100%; + box-sizing: border-box; + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .landing-wrapper #header .header-top #menu-button { + display: inline-block; } + .landing-wrapper #header .header-top #menu { + z-index: 100; + position: fixed; + top: 86px; + right: 30px; + float: none; + display: none; + margin: 0; + padding: 0; + width: 225px; + list-style: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: .5s; + -moz-animation-duration: .5s; + animation-duration: .5s; } + .landing-wrapper #header .header-top #menu li { + float: none; + margin-left: 0; } + .landing-wrapper #header .header-top #menu li a { + font-size: 16px; + display: block; + padding: 10px 16px; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .landing-wrapper #header .header-top #menu li a i { + color: #757575; + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .landing-wrapper #header .header-top #menu li a:hover { + background-color: #e8e8e8; } + .landing-wrapper #header .header-top #menu li a span { + display: inline-block; + vertical-align: middle; } + .landing-wrapper #header .header-content { + width: 100%; + padding: 100px 30px 60px 30px; + box-sizing: border-box; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; } + .landing-wrapper #features, .landing-wrapper #promotion, .landing-wrapper #pricing, .landing-wrapper #video, .landing-wrapper .footer .footer-content { + width: 100%; + padding-right: 30px; + padding-left: 30px; + box-sizing: border-box; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 100px 0 30px; + text-align: center; } + .landing-wrapper #promotion .ui-lg-8 h1 { + margin-top: -30px; + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #video .video-content { + width: 100%; } + .landing-wrapper #video .video-content .video-container iframe { + width: 350px; + height: 220px; } + .landing-wrapper .footer .footer-content { + text-align: center; } + .landing-wrapper .footer .footer-content ul { + float: none; + margin: 0; + padding: 0; } } +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .landing-wrapper .header .header-top .logo { + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } } +html { + height: 100%; } + +body { + font-family: Roboto,"Helvetica Neue",sans-serif; + font-size: 16px; + line-height: 1.5em; + color: #212121; + -webkit-font-smoothing: antialiased; + padding: 0; + margin: 0; + background-color: #f7f7f7; + min-height: 100%; } + body a { + text-decoration: none; } + +.layout-mask { + position: fixed; + width: 100%; + height: 100%; + background-color: #424242; + top: 0; + left: 0; + z-index: 999999997; + opacity: 0.7; + filter: alpha(opacity=70); } + +.layout-container .topbar { + position: fixed; + z-index: 100; + width: 100%; + height: 75px; + background-color: #03A9F4; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container .topbar .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } + .layout-container .topbar .topbar-left { + box-sizing: border-box; + padding: 20px; + height: 75px; + width: 250px; + background-color: #0277BD; + float: left; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); } + .layout-container .topbar .topbar-right { + padding: 15px; + position: relative; } + .layout-container .topbar .topbar-right #menu-button { + color: #212121; + display: inline-block; + vertical-align: middle; + height: 36px; + margin-right: 10px; + position: relative; + left: -16px; + top: 3px; + background-color: #FFC107; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); } + .layout-container .topbar .topbar-right #menu-button:hover { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + .layout-container .topbar .topbar-right #menu-button i { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #menu-button i:before { + content: "chevron_left"; } + .layout-container .topbar .topbar-right #topbar-menu-button, .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: none; + color: #ffffff; + vertical-align: middle; + height: 36px; + margin-top: 4px; + float: right; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .layout-container .topbar .topbar-right #topbar-menu-button i, .layout-container .topbar .topbar-right #rightpanel-menu-button i { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: block; } + .layout-container .topbar .topbar-right #rightpanel-menu-button:hover { + color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items .search-item input { + position: relative; + top: -10px; + font-size: 16px; + background-color: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + border-color: #ffffff; + color: #ffffff; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus { + outline: 0 none; + border-bottom-width: 2px; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus ~ label { + top: -5px; + font-size: 12px; + color: #03A9F4; } + .layout-container .topbar .topbar-right .topbar-items .search-item input.ui-state-filled ~ label { + display: none; } + .layout-container .topbar .topbar-right .topbar-items .search-item label { + color: #ffffff; + top: 8px; } +.layout-container .layout-menu { + overflow: visible; + position: fixed; + width: 250px; + z-index: 99; + top: 75px; + height: 100%; + background-color: #ffffff; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-menu .ui-scrollpanel { + background: transparent; + border-radius: 0; + border: none; } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-bar { + background-color: #aaaaaa; + opacity: 0.3; + filter: alpha(opacity=30); } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-menu .ui-scrollpanel .layout-menu { + padding-bottom: 120px; } + .layout-container .layout-menu .profile { + box-sizing: border-box; + padding-top: 2em; + width: 250px; + height: 145px; + text-align: center; + background: url("../images/profile-bg.png") top left no-repeat; + background-size: 250px 145px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); } + .layout-container .layout-menu .profile .profile-image { + width: 60px; + height: 60px; + margin: 0 auto 5px auto; + display: block; } + .layout-container .layout-menu .profile .profile-name { + display: inline-block; + color: #212121; + vertical-align: middle; + font-size: 1em; } + .layout-container .layout-menu .profile i { + color: #212121; + vertical-align: middle; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .layout-menu .profile.profile-expanded i { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .layout-menu .profile-menu { + border-bottom: 1px solid #d6d5d5; + overflow: hidden; } + .layout-container .layout-menu .profile-menu li:first-child { + margin-top: 1em; } + .layout-container .layout-menu .profile-menu li:last-child { + margin-bottom: 1em; } + .layout-container .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container .layout-menu.layout-menu-dark .profile { + background-image: url("../images/profile-bg-dark.png"); } + .layout-container .layout-menu.layout-menu-dark .profile .profile-name { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile-menu { + border-bottom: 1px solid #545454; } + .layout-container .layout-menu.layout-menu-dark .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + border-radius: 0; + border: none; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #FFC107; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #FFC107; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #212121; + background-color: #FFC107; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink { + color: #212121; + background-color: #FFC107; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink i { + color: #212121; } + .layout-container .layout-menu .menuitem-badge { + position: absolute; + right: 3.5em; + top: .75em; + display: inline-block; + width: 1em; + height: 1em; + margin-right: .5em; + text-align: center; + background-color: #FFC107; + color: #212121; + font-size: 14px; + font-weight: 700; + line-height: 1em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + .layout-container .layout-menu .layout-menu-tooltip { + display: none; + padding: 0 5px; + position: absolute; + left: 76px; + top: 6px; + z-index: 101; + line-height: 1; } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text { + padding: 6px 8px; + font-weight: 700; + background-color: #353535; + color: #ffffff; + min-width: 75px; + white-space: nowrap; + text-align: center; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #353535; } +.layout-container.menu-layout-overlay .layout-menu { + margin-left: -250px; } +.layout-container.menu-layout-overlay .layout-main { + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-menu { + z-index: 999999999; + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-mask { + display: block; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); } +.layout-container.menu-layout-overlay .topbar { + z-index: 999999998; } + .layout-container.menu-layout-overlay .topbar .topbar-right #menu-button i { + font-size: 36px !important; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.layout-container .layout-main { + padding: 75px 0 0 0; + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-main .layout-content { + padding: 16px; } +.layout-container .layout-mask { + display: none; } +.layout-container .layout-breadcrumb { + background-color: #ffffff; + box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -webkit-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -moz-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + min-height: 42px; } + .layout-container .layout-breadcrumb:before, .layout-container .layout-breadcrumb:after { + content: ""; + display: table; } + .layout-container .layout-breadcrumb:after { + clear: both; } + .layout-container .layout-breadcrumb ul { + margin: 8px 0 0 0; + padding: 0 0 0 20px; + list-style: none; + color: #757575; + display: inline-block; } + .layout-container .layout-breadcrumb ul li { + display: inline-block; + vertical-align: top; + color: #757575; } + .layout-container .layout-breadcrumb ul li:nth-child(even) { + font-size: 20px; } + .layout-container .layout-breadcrumb ul li:first-child(even) { + color: #03A9F4; } + .layout-container .layout-breadcrumb ul li a { + color: #757575; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options { + float: right; + padding: 0px 20px 0 0; + height: 100%; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a { + color: #757575; + display: inline-block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a:hover { + background-color: #e8e8e8; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a i { + line-height: inherit; } +.layout-container .ultima-menu { + margin: 0; + padding: 0; + list-style: none; + width: 268px; } + .layout-container .ultima-menu.ultima-main-menu { + margin-top: 16px; + padding-bottom: 120px; } + .layout-container .ultima-menu li a { + font-size: 1em; + display: block; + padding: .5em 2.5em .5em 1em; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .layout-container .ultima-menu li a i { + color: #757575; } + .layout-container .ultima-menu li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .5em; + font-size: 1.5em; } + .layout-container .ultima-menu li a i:last-child { + float: right; + font-size: 20px; + margin-top: .15em; + margin-right: -.15em; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .ultima-menu li a:hover { + background-color: #e8e8e8; } + .layout-container .ultima-menu li a span { + display: inline-block; + vertical-align: middle; } + .layout-container .ultima-menu li a.active-menuitem-routerlink { + color: #03A9F4; } + .layout-container .ultima-menu li a.active-menuitem-routerlink > i { + color: #03A9F4; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #757575; } + .layout-container .ultima-menu li.active-menuitem > a { + color: #03A9F4; + background-color: #e8e8e8; } + .layout-container .ultima-menu li.active-menuitem > a i { + color: #03A9F4; } + .layout-container .ultima-menu li.active-menuitem > a i:last-child { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .ultima-menu li ul { + padding: 0; + margin: 0; + list-style: none; + overflow: hidden; } + .layout-container .ultima-menu li ul li a { + padding: .5em 2.5em .5em 2em; } + .layout-container .ultima-menu li ul li a > span { + font-size: 15px; } + .layout-container .ultima-menu li ul li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .6em; + font-size: 1.250em; } + .layout-container .ultima-menu li ul li ul li a { + padding-left: 3em; } + .layout-container .ultima-menu li ul li ul ul li a { + padding-left: 4em; } + .layout-container .ultima-menu li ul li ul ul ul li a { + padding-left: 5em; } + .layout-container .ultima-menu li ul li ul ul ul ul li a { + padding-left: 6em; } + .layout-container .ultima-menu li.red-badge > a .menuitem-badge { + background-color: #F44336; + color: #ffffff; } + .layout-container .ultima-menu li.purple-badge > a .menuitem-badge { + background-color: #4527A0; + color: #ffffff; } + .layout-container .ultima-menu li.teal-badge > a .menuitem-badge { + background-color: #00695C; + color: #ffffff; } +.layout-container .footer { + padding: .5em; } + .layout-container .footer .footer-text-left { + float: left; } + .layout-container .footer .footer-text-right { + color: #757575; + float: right; } + .layout-container .footer .footer-text-right span { + vertical-align: middle; + display: inline-block; } +.layout-container .layout-rightpanel { + position: fixed; + top: 75px; + height: 100%; + right: -240px; + width: 240px; + z-index: 100; + background-color: #ffffff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -moz-transition: right 0.3s; + -o-transition: right 0.3s; + -webkit-transition: right 0.3s; + transition: right 0.3s; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); } + .layout-container .layout-rightpanel.layout-rightpanel-active { + right: 0; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); } + .layout-container .layout-rightpanel .layout-rightpanel-content { + padding: 14px; + padding-bottom: 120px; } + .layout-container .layout-rightpanel .ui-scrollpanel { + border-radius: 0; + border: none; } + .layout-container .layout-rightpanel .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-rightpanel .ui-scrollpanel .layout-rightpanel-wrapper { + width: 258px; + padding-right: 18px; } + +.ajax-loader { + font-size: 2em; + color: #FFC107; } + +@media (min-width: 1025px) { + .layout-container .topbar-items { + float: right; + margin: 0; + padding: 5px 0 0 0; + list-style-type: none; } + .layout-container .topbar-items > li { + float: right; + position: relative; + margin-left: 8px; } + .layout-container .topbar-items > li > a { + position: relative; + display: block; } + .layout-container .topbar-items > li > a .topbar-item-name { + display: none; } + .layout-container .topbar-items > li > a .topbar-badge { + position: absolute; + right: -5px; + top: -5px; + background-color: #FFC107; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar-items > li .topbar-icon { + font-size: 36px; + color: #ffffff; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .layout-container .topbar-items > li .topbar-icon:hover { + color: #e8e8e8; } + .layout-container .topbar-items > li.profile-item .profile-image { + width: 36px; + height: 36px; } + .layout-container .topbar-items > li > ul { + position: absolute; + top: 55px; + right: 5px; + display: none; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; } + .layout-container .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar-items > li .topbar-message img { + display: inline-block; + vertical-align: middle; + margin-right: 12px; } + .layout-container.menu-layout-static .layout-menu { + margin-left: 0; } + .layout-container.menu-layout-static .layout-main { + margin-left: 250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-menu { + margin-left: -250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static .layout-mask { + display: none; } + .layout-container.menu-layout-horizontal .topbar { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-left { + background-color: #03A9F4; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-horizontal .layout-menu { + overflow: visible; + position: fixed; + width: 100%; + top: 75px; + height: auto; + background-color: #0277BD; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel { + overflow: visible; + border: none; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu { + width: 100%; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu.ultima-main-menu { + margin-top: 0; + padding-bottom: 0; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li { + float: left; + position: relative; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a { + padding: .5em 1em; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover { + background-color: #e8e8e8; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink { + color: #FFC107; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink > i { + color: #FFC107; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + position: absolute; + top: 41px; + left: 0px; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li a { + padding: 10px 16px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul { + position: static; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul li a { + padding-left: 80px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul ul li a { + padding-left: 96px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > a { + color: #03A9F4; + background-color: #e8e8e8; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a { + color: #212121; + background-color: #FFC107; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #FFC107; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #FFC107; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #212121; + background-color: #FFC107; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li ul { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu .menuitem-badge { + left: 32px; + top: 7px; } + .layout-container.menu-layout-horizontal .layout-menu .active-menuitem .menuitem-badge { + background-color: #ffffff; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-main { + padding-top: 116px; + margin-left: 0px; } + .layout-container.menu-layout-horizontal .layout-mask { + display: none; } + .layout-container.menu-layout-slim .topbar { + left: 75px; + width: calc(100% - 75px); } + .layout-container.menu-layout-slim .topbar .topbar-left { + background: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-slim .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-slim .layout-menu { + width: 75px; + overflow: visible; + z-index: 100; + top: 0; } + .layout-container.menu-layout-slim .layout-menu .profile { + width: calc(100% - 18px); + height: 74px; + padding-top: 15px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-image { + width: 45px; + height: 45px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-name, .layout-container.menu-layout-slim .layout-menu .profile > a i { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel { + border: none; + border-radius: 0; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu { + padding: 0; + width: calc(100% - 18px); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li { + position: relative; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a { + text-align: center; + padding-left: 0; + padding-right: 0; + padding-top: .5em; + padding-bottom: .5em; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a i:first-child { + font-size: 1.75em; + margin-right: 0; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a span, .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a .submenu-icon { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a:hover + .layout-menu-tooltip { + display: block; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul { + background-color: #ffffff; + position: absolute; + top: 0; + left: 75px; + min-width: 200px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li a { + padding: .5em 1em .5em 2em; + padding-left: 16px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul li a { + padding: 80px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul ul li a { + padding: 96px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li.active-menuitem > a:hover + .layout-menu-tooltip { + display: none; } + .layout-container.menu-layout-slim .layout-menu.layout-menu-dark .ultima-menu > li > ul { + background-color: #424242; } + .layout-container.menu-layout-slim .layout-main { + margin-left: 75px; } + .layout-container.menu-layout-slim .layout-footer { + margin-left: 75px; } } +@media (max-width: 1024px) { + .layout-container.menu-layout-static .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static .layout-menu { + margin-left: -265px; } + .layout-container.menu-layout-static .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-menu { + margin-left: 0; + z-index: 999999999; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar { + z-index: 999999998; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); } + .layout-container.menu-layout-static.layout-menu-static-active .layout-main { + margin-left: 0; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-mask { + display: block; } + .layout-container .topbar .topbar-right #topbar-menu-button { + display: block; } + .layout-container .topbar .topbar-right .topbar-items { + position: absolute; + top: 75px; + right: 15px; + width: 275px; + display: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + list-style-type: none; + margin: 0; + padding: 0; } + .layout-container .topbar .topbar-right .topbar-items > li > a { + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + color: #212121; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li > a i { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .layout-container .topbar .topbar-right .topbar-items > li > a:hover { + background-color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-item-name { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-badge { + position: absolute; + left: 30px; + top: 10px; + background-color: #FFC107; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar .topbar-right .topbar-items > li > ul { + display: none; } + .layout-container .topbar .topbar-right .topbar-items > li > ul li a span, .layout-container .topbar .topbar-right .topbar-items > li > ul li a img, .layout-container .topbar .topbar-right .topbar-items > li > ul li a i { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > a { + color: #03A9F4; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a { + padding-left: 32px; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item { + text-align: center; + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input { + top: 0; + width: 100%; + box-sizing: border-box; + padding-right: 16px; + border-color: #bdbdbd; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus { + margin-bottom: -1px; + border-color: #bdbdbd; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus ~ label, + .layout-container .topbar .topbar-right .topbar-items > li.search-item input.ui-state-filled ~ label { + top: -20px; + color: #03A9F4; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item label { + top: 1px; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item i { + position: absolute; + right: 5px; + top: -2px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item .profile-image { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + background: url("../images/avatar.png") top left no-repeat; + background-size: 24px 24px; + margin-right: 14px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item span { + vertical-align: middle; + display: inline-block; } + .layout-container .topbar .topbar-right .topbar-items.topbar-items-visible { + display: block; } } +@media (max-width: 385px) { + .layout-container .topbar .topbar-right #topbar-menu-button { + position: absolute; + height: 1.5em; + right: 24px; + top: 1.375em; } + .layout-container .topbar .topbar-right #topbar-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + position: absolute; + height: 1.5em; + right: 8px; + top: 1.375em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #menu-button { + margin-right: 0; } } +body .layout-wrapper.layout-compact { + font-size: 14px; + line-height: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li a i:last-child { + font-size: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li ul li a span { + font-size: 14px; } + body .layout-wrapper.layout-compact .layout-container .layout-breadcrumb ul li { + vertical-align: middle; } + body .layout-wrapper.layout-compact .ui-radiobutton .ui-radiobutton-box { + width: 18px; + height: 18px; } + body .layout-wrapper.layout-compact .ui-datepicker tbody td a, body .layout-wrapper.layout-compact .ui-datepicker body .ui-datepicker tbody td span { + padding-top: .25em; } + +@media (min-width: 1025px) { + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + top: 35px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li span { + font-size: 14px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-main { + padding-top: 110px; } } diff --git a/src/assets/layout/css/layout-blue.scss b/src/assets/layout/css/layout-blue.scss new file mode 100644 index 0000000..e7a8a40 --- /dev/null +++ b/src/assets/layout/css/layout-blue.scss @@ -0,0 +1,14 @@ +$primaryColor: #03A9F4; +$primaryDarkColor: #0277BD; +$primaryLightColor: #81D4FA; +$accentColor: #FFC107; +$accentDarkColor: #FF8F00; +$accentLightColor: #FFE082; +$accentTextColor: #212121; +$darkMenuBgColor: #424242; +$darkMenuHoverColor: #676767; +$darkMenuRouterLinkActiveColor: #FFC107; +$lightMenuRouterLinkActiveColor: #03A9F4; +$horizontalLightMenuRouterLinkActiveColor: #FFC107; + +@import '../../sass/layout/_layout'; \ No newline at end of file diff --git a/src/assets/layout/css/layout-brown.css b/src/assets/layout/css/layout-brown.css new file mode 100644 index 0000000..7febf88 --- /dev/null +++ b/src/assets/layout/css/layout-brown.css @@ -0,0 +1,1875 @@ +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url("../fonts/roboto-v15-latin-300.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-300.woff2") format("woff2"), url("../fonts/roboto-v15-latin-300.woff") format("woff"), url("../fonts/roboto-v15-latin-300.ttf") format("truetype"), url("../fonts/roboto-v15-latin-300.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url("../fonts/roboto-v15-latin-regular.eot"); + /* IE9 Compat Modes */ + src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v15-latin-regular.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v15-latin-regular.woff") format("woff"), url("../fonts/roboto-v15-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v15-latin-regular.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url("../fonts/roboto-v15-latin-700.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v15-latin-700.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-700.woff2") format("woff2"), url("../fonts/roboto-v15-latin-700.woff") format("woff"), url("../fonts/roboto-v15-latin-700.ttf") format("truetype"), url("../fonts/roboto-v15-latin-700.svg#Roboto") format("svg"); + /* Legacy iOS */ } +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../fonts/MaterialIcons-Regular.eot"); + /* For IE6-8 */ + src: local("Material Icons"), local("MaterialIcons-Regular"), url("../fonts/MaterialIcons-Regular.woff2") format("woff2"), url("../fonts/MaterialIcons-Regular.woff") format("woff"), url("../fonts/MaterialIcons-Regular.ttf") format("truetype"); } +/* Utils */ +.clearfix:after { + content: " "; + display: block; + clear: both; } + +*[hidden] { + display: none; } + +.card { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + background: #ffffff; + padding: 1em; + margin-bottom: 1em; + box-sizing: border-box; } + .card.card-w-title { + padding-bottom: 2em; } + .card h1 { + font-size: 1.5em; + font-weight: 400; + margin: 1em 0; } + .card h1:first-child { + margin-top: .667em; } + .card h2 { + font-size: 1.375em; + font-weight: 400; } + .card h3 { + font-size: 1.250em; + font-weight: 400; } + .card h4 { + font-size: 1.125em; + font-weight: 400; } + +.nopad { + padding: 0; } + .nopad .ui-panel-content { + padding: 0; } + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: none; + transform: none; } } +@keyframes fadeInDown { + from { + opacity: 0; + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + transform: none; } } +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); } } +@keyframes spin { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } +.ui-icon-spin { + -webkit-animation-name: spin; + animation-name: spin; } + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; } + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; } + +.ui-shadow-1 { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.ui-shadow-2 { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-3 { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-4 { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.ui-shadow-5 { + -webkit-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.ui-g { + -ms-flex-wrap: wrap; } + .ui-g.form-group > div { + padding: 1em; } + .ui-g.form-group-m > div { + padding: 1em; } + +/* Ripple */ +/* Ripple Effect Style like Google Material Buttons Effect*/ +.ripplelink { + /* display:block; */ + /*color:#fff;*/ + text-decoration: none; + position: relative; + overflow: hidden; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; + z-index: 0; } + +.ripplelink:hover { + /*z-index:1000;*/ } + +.ink { + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.4); + border-radius: 100%; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); } + +.ripple-animate { + -webkit-animation: ripple 0.65s linear; + -moz-animation: ripple 0.65s linear; + -ms-animation: ripple 0.65s linear; + -o-animation: ripple 0.65s linear; + animation: ripple 0.65s linear; } + +@-webkit-keyframes ripple { + 100% { + opacity: 0; + -webkit-transform: scale(2.5); } } +@-moz-keyframes ripple { + 100% { + opacity: 0; + -moz-transform: scale(2.5); } } +@-o-keyframes ripple { + 100% { + opacity: 0; + -o-transform: scale(2.5); } } +@keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); } } +.splash-screen { + width: 100%; + min-height: 100%; + background-color: #3F51B5; + position: absolute; } + +.splash-loader-container { + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-left: -32px; + margin-top: -32px; } + +.splash-loader { + animation: rotator 1.4s linear infinite; } + +@keyframes rotator { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(270deg); } } +.splash-path { + stroke-dasharray: 187; + stroke-dashoffset: 0; + transform-origin: center; + animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; } + +@keyframes colors { + 0% { + stroke: #4285F4; } + 25% { + stroke: #DE3E35; } + 50% { + stroke: #F7C223; } + 75% { + stroke: #1B9A59; } + 100% { + stroke: #4285F4; } } +@keyframes dash { + 0% { + stroke-dashoffset: 187; } + 50% { + stroke-dashoffset: 46.75; + transform: rotate(135deg); } + 100% { + stroke-dashoffset: 187; + transform: rotate(450deg); } } +.dashboard .overview { + padding: 0 !important; + min-height: 140px; + position: relative; + margin-bottom: 0px !important; } + .dashboard .overview .overview-content { + padding: 16px; } + .dashboard .overview .overview-content .overview-title { + font-size: 18px; } + .dashboard .overview .overview-content .overview-badge { + float: right; + color: #757575; } + .dashboard .overview .overview-content .overview-detail { + display: block; + font-size: 24px; + margin-top: 5px; } + .dashboard .overview .overview-footer { + position: absolute; + bottom: 0; + width: 100%; } + .dashboard .overview .overview-footer img { + display: block; } +.dashboard .colorbox { + padding: 0 !important; + text-align: center; + overflow: hidden; + margin-bottom: 0px !important; } + .dashboard .colorbox i { + font-size: 48px; + margin-top: 10px; + color: #ffffff; } + .dashboard .colorbox .colorbox-name { + font-size: 20px; + display: inline-block; + width: 100%; + margin: 4px 0 10px 0; + color: #ffffff; } + .dashboard .colorbox .colorbox-count { + color: #ffffff; + font-size: 36px; } + .dashboard .colorbox .colorbox-count { + font-weight: bold; } + .dashboard .colorbox.colorbox-1 { + background-color: #4CAF50; } + .dashboard .colorbox.colorbox-1 div:first-child { + background-color: #2E7D32; } + .dashboard .colorbox.colorbox-2 { + background-color: #03A9F4; } + .dashboard .colorbox.colorbox-2 div:first-child { + background-color: #0277BD; } + .dashboard .colorbox.colorbox-3 { + background-color: #673AB7; } + .dashboard .colorbox.colorbox-3 div:first-child { + background-color: #4527A0; } + .dashboard .colorbox.colorbox-4 { + background-color: #009688; } + .dashboard .colorbox.colorbox-4 div:first-child { + background-color: #00695C; } +.dashboard .task-list { + overflow: hidden; } + .dashboard .task-list > .ui-panel { + min-height: 340px; } + .dashboard .task-list .ui-panel-content { + padding: 10px 0 !important; } + .dashboard .task-list ul { + list-style-type: none; + margin: 0; + padding: 0; } + .dashboard .task-list ul li { + padding: 0.625em 0.875em; + border-bottom: 1px solid #dbdbdb; } + .dashboard .task-list ul li:first-child { + margin-top: 10px; } + .dashboard .task-list ul .ui-chkbox { + vertical-align: middle; + margin-right: 5px; } + .dashboard .task-list ul .task-name { + vertical-align: middle; } + .dashboard .task-list ul i { + color: #757575; + float: right; } +.dashboard .contact-form { + overflow: hidden; } + .dashboard .contact-form .ui-panel { + min-height: 340px; } + .dashboard .contact-form .ui-g-12 { + padding: 16px 10px; } + .dashboard .contact-form .ui-button { + margin-top: 20px; } +.dashboard .contacts { + overflow: hidden; } + .dashboard .contacts > .ui-panel { + min-height: 340px; } + .dashboard .contacts .ui-panel-content { + padding: 15px 0 10px 0 !important; } + .dashboard .contacts ul { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .contacts ul li { + border-bottom: 1px solid #d8d8d8; } + .dashboard .contacts ul li a { + padding: 9px; + width: 100%; + box-sizing: border-box; + text-decoration: none; + position: relative; + display: block; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-transition: background-color 0.2s; + -o-transition: background-color 0.2s; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; } + .dashboard .contacts ul li a .name { + position: absolute; + right: 10px; + top: 10px; + font-size: 18px; + color: #212121; } + .dashboard .contacts ul li a .email { + position: absolute; + right: 10px; + top: 30px; + font-size: 14px; + color: #757575; } + .dashboard .contacts ul li a:hover { + cursor: pointer; + background-color: #e8e8e8; } + .dashboard .contacts ul li:last-child { + border: 0; } +.dashboard .activity-list { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .activity-list li { + border-bottom: 1px solid #bdbdbd; + padding: 15px 0 9px 9px; } + .dashboard .activity-list li .count { + font-size: 24px; + color: #ffffff; + background-color: #03A9F4; + font-weight: bold; + display: inline-block; + padding: 5px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; } + .dashboard .activity-list li:first-child { + border-top: 1px solid #bdbdbd; } + .dashboard .activity-list li:last-child { + border: 0; } + .dashboard .activity-list li .ui-g-6:first-child { + font-size: 18px; + padding-left: 0; } + .dashboard .activity-list li .ui-g-6:last-child { + text-align: right; + color: #757575; } +.dashboard .timeline { + height: 100%; + box-sizing: border-box; } + .dashboard .timeline > .ui-g .ui-g-3 { + font-size: 14px; + position: relative; + border-right: 1px solid #bdbdbd; } + .dashboard .timeline > .ui-g .ui-g-3 i { + background-color: #ffffff; + font-size: 36px; + position: absolute; + top: 0px; + right: -18px; } + .dashboard .timeline > .ui-g .ui-g-9 { + padding-left: 1.5em; } + .dashboard .timeline > .ui-g .ui-g-9 .event-text { + color: #757575; + font-size: 14px; + display: block; + padding-bottom: 20px; } + .dashboard .timeline > .ui-g .ui-g-9 .event-content img { + width: 100%; } +.dashboard > div > .ui-panel { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + +.layout-rightpanel .layout-rightpanel-header { + background: url("../images/dashboard/sidebar-image.jpg") no-repeat; + background-size: cover; + height: 118px; + padding: 20px 14px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .layout-rightpanel .layout-rightpanel-header .weather-day, .layout-rightpanel .layout-rightpanel-header .weather-date { + color: #ffffff; + left: 14px; + font-size: 18px; + font-weight: 700; + padding-bottom: 4px; } +.layout-rightpanel .layout-rightpanel-content { + padding: 14px; } + .layout-rightpanel .layout-rightpanel-content h1 { + font-size: 18px; + margin: 0 0 4px 0; } + .layout-rightpanel .layout-rightpanel-content h2 { + font-size: 16px; + margin: 0; + color: #757575; + font-weight: normal; } + .layout-rightpanel .layout-rightpanel-content .weather-today { + text-align: center; + margin-top: 28px; } + .layout-rightpanel .layout-rightpanel-content .weather-today .weather-today-value { + font-size: 36px; + vertical-align: middle; + margin-right: 14px; } + .layout-rightpanel .layout-rightpanel-content .weather-today img { + vertical-align: middle; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather { + list-style-type: none; + margin: 28px 0 0 0; + padding: 0; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li { + padding: 8px 14px; + border-bottom: 1px solid #d8dae2; + position: relative; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li .weekly-weather-value { + position: absolute; + right: 40px; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li img { + width: 24px; + position: absolute; + right: 0px; + top: 4px; } + +.login-body { + background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + height: auto; } + +.login-panel { + text-align: center; + width: 350px; + min-height: 440px; + padding: 50px 20px; + margin: 100px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 25px 40px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-bottom: 20px; } + .login-panel .ui-button:hover { + background-color: #4e342e; } + .login-panel .ui-button:focus { + outline: 0 none; + background-color: #996b5b; } + .login-panel .ui-button.secondary:hover { + background-color: #558B2F; } + .login-panel .ui-button.secondary:focus { + outline: 0 none; + background-color: #a4d070; } + .login-panel .ui-inputtext:focus { + border-width: 0 0 2px 0; + border-color: #795548; + padding-bottom: 0px; } + +.login-footer { + position: absolute; + bottom: 10px; + font-size: 16px; + width: 100%; + text-align: center; + color: #757575; } + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + background: url("../images/login/login2x.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } } +@media (max-width: 1024px) { + .login-panel { + text-align: center; + min-height: 440px; + margin: 100px auto 0 auto; } } +@media (max-width: 640px) { + .login-panel { + text-align: center; + width: 300px; + min-height: 440px; + padding: 40px 20px; + margin: 75px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 20px 20px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-top: 30px; } } +.exception-body { + background-color: #f7f7f7; + height: auto; } + .exception-body .exception-type { + width: 100%; + height: 50%; + padding: 100px 100px 0 100px; + box-sizing: border-box; + text-align: center; } + .exception-body .exception-panel { + text-align: center; + width: 350px; + padding: 35px; + margin: -10% auto 0 auto; + z-index: 100; } + .exception-body .exception-panel i { + font-size: 72px; } + .exception-body .exception-panel h1 { + font-size: 36px; + line-height: 36px; + color: #757575; } + .exception-body .exception-panel .exception-detail { + margin: 20px 0px 100px 0px; + color: #757575; } + .exception-body .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .exception-body .ui-button:hover { + background-color: #558B2F; } + .exception-body.error-page .exception-type { + background-color: #e62a10; } + .exception-body.error-page .exception-type img { + width: 100%; } + .exception-body.error-page .exception-panel i { + color: #f79a84; } + .exception-body.notfound-page .exception-type { + background-color: #3f51b5; } + .exception-body.notfound-page .exception-type img { + width: 54%; } + .exception-body.notfound-page .exception-panel i { + color: #9fa8da; } + .exception-body.accessdenied-page .exception-type { + background-color: #e91e63; } + .exception-body.accessdenied-page .exception-type img { + width: 50%; } + .exception-body.accessdenied-page .exception-panel i { + color: #f48fb1; } + +@media (max-width: 1024px) { + .exception-body .exception-panel { + margin-top: -50px; } } +@media (max-width: 640px) { + .exception-body .exception-panel { + width: 250px; + margin-top: -15px; } } +.landing-wrapper .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .landing-wrapper .ui-button:hover { + background-color: #558B2F; } +.landing-wrapper #header { + width: 100%; + min-height: 400px; + background: url("../images/landing/landing-header.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } + .landing-wrapper #header .header-top { + width: 960px; + margin: 0 auto; + padding: 30px 0px; } + .landing-wrapper #header .header-top .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo.png") top left no-repeat; } + .landing-wrapper #header .header-top #menu { + float: right; + list-style: none; + margin: 0; + padding: 0; } + .landing-wrapper #header .header-top #menu li { + float: left; + display: block; + margin-left: 30px; } + .landing-wrapper #header .header-top #menu li a { + color: #ffffff; } + .landing-wrapper #header .header-top #menu li i { + display: none; } + .landing-wrapper #header .header-top #menu.lmenu-active { + display: block; } + .landing-wrapper #header .header-top #menu-button { + height: 36px; + margin-top: -2px; + float: right; + color: #ffffff; + display: none; } + .landing-wrapper #header .header-top #menu-button i { + font-size: 36px; } + .landing-wrapper #header .header-content { + width: 960px; + margin: 0 auto; + text-align: center; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + color: #ffffff; + line-height: 36px; } +.landing-wrapper #features { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #features h2 { + font-weight: 400; + line-height: 28px; } + .landing-wrapper #features h3 { + font-weight: 400; } + .landing-wrapper #features p { + color: #757575; } + .landing-wrapper #features .ui-g-12 { + padding: 2em .5em; } + .landing-wrapper #features .feature-icon { + display: inline-block; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + background-color: #f4f8fc; + box-sizing: border-box; + width: 100px; + height: 100px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .landing-wrapper #features .feature-icon i { + margin-top: 30px; + font-size: 36px; } + .landing-wrapper #features .feature-icon:hover { + background-color: #e91e63; } + .landing-wrapper #features .feature-icon:hover i { + color: #ffffff; } +.landing-wrapper #promotion { + background: url("../images/landing/promotion.png") top left no-repeat; + background-size: 100% auto; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 150px 0 0 150px; } + .landing-wrapper #promotion .ui-lg-8 h1 { + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 { + margin: -50px 0 -50px 0; } + .landing-wrapper #promotion .ui-lg-4 .card { + -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + margin-bottom: 20px; } + .landing-wrapper #promotion .ui-lg-4 .card h3 { + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 .card p { + color: #757575; } + .landing-wrapper #promotion .ui-lg-4 .card:last-child { + margin-bottom: 0; } +.landing-wrapper #pricing { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #pricing h2 { + font-weight: 400; } + .landing-wrapper #pricing p { + color: #757575; } + .landing-wrapper #pricing .pricing-box .card { + height: 100%; + padding: 0; } + .landing-wrapper #pricing .pricing-box .pricing-header { + padding: 40px 0; + color: #ffffff; } + .landing-wrapper #pricing .pricing-box .pricing-header span { + display: block; + line-height: 48px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.name { + font-weight: 300; + font-size: 24px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.fee { + font-size: 48px; + font-weight: 700; } + .landing-wrapper #pricing .pricing-box .pricing-header span.type { + font-weight: 300; + font-size: 16px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul { + margin: 0; + padding: 30px 20px; + list-style-type: none; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li { + font-size: 18px; + text-align: left; + padding: 10px 14px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li i { + margin-right: 20px; + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li span { + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box.pricing-basic .pricing-header { + background-color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-basic i { + color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-standard .pricing-header { + background-color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-standard i { + color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-professional .pricing-header { + background-color: #607d8b; } + .landing-wrapper #pricing .pricing-box.pricing-professional i { + color: #607d8b; } +.landing-wrapper #video { + background-color: #f7f7f7; + min-width: 400px; } + .landing-wrapper #video .video-content { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #video .video-content h2 { + font-weight: 400; } + .landing-wrapper #video .video-content p { + color: #757575; } +.landing-wrapper .footer { + background-color: #f7f7f7; + border-top: 1px solid #dddddd; } + .landing-wrapper .footer .footer-content { + width: 960px; + margin: 0 auto; + padding: 30px 0px 50px 0px; } + .landing-wrapper .footer .footer-content ul { + float: right; + list-style-type: none; } + .landing-wrapper .footer .footer-content ul li a { + color: #757575; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .landing-wrapper .footer .footer-content ul li a:hover { + color: #212121; } + +@media (max-width: 1024px) { + .landing-wrapper #header { + min-height: 200px; + background-size: cover; } + .landing-wrapper #header .header-top { + z-index: 100; + position: fixed; + top: 0; + background: #424242; + background-size: 100% auto; + padding: 30px; + width: 100%; + box-sizing: border-box; + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .landing-wrapper #header .header-top #menu-button { + display: inline-block; } + .landing-wrapper #header .header-top #menu { + z-index: 100; + position: fixed; + top: 86px; + right: 30px; + float: none; + display: none; + margin: 0; + padding: 0; + width: 225px; + list-style: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: .5s; + -moz-animation-duration: .5s; + animation-duration: .5s; } + .landing-wrapper #header .header-top #menu li { + float: none; + margin-left: 0; } + .landing-wrapper #header .header-top #menu li a { + font-size: 16px; + display: block; + padding: 10px 16px; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .landing-wrapper #header .header-top #menu li a i { + color: #757575; + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .landing-wrapper #header .header-top #menu li a:hover { + background-color: #e8e8e8; } + .landing-wrapper #header .header-top #menu li a span { + display: inline-block; + vertical-align: middle; } + .landing-wrapper #header .header-content { + width: 100%; + padding: 100px 30px 60px 30px; + box-sizing: border-box; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; } + .landing-wrapper #features, .landing-wrapper #promotion, .landing-wrapper #pricing, .landing-wrapper #video, .landing-wrapper .footer .footer-content { + width: 100%; + padding-right: 30px; + padding-left: 30px; + box-sizing: border-box; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 100px 0 30px; + text-align: center; } + .landing-wrapper #promotion .ui-lg-8 h1 { + margin-top: -30px; + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #video .video-content { + width: 100%; } + .landing-wrapper #video .video-content .video-container iframe { + width: 350px; + height: 220px; } + .landing-wrapper .footer .footer-content { + text-align: center; } + .landing-wrapper .footer .footer-content ul { + float: none; + margin: 0; + padding: 0; } } +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .landing-wrapper .header .header-top .logo { + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } } +html { + height: 100%; } + +body { + font-family: Roboto,"Helvetica Neue",sans-serif; + font-size: 16px; + line-height: 1.5em; + color: #212121; + -webkit-font-smoothing: antialiased; + padding: 0; + margin: 0; + background-color: #f7f7f7; + min-height: 100%; } + body a { + text-decoration: none; } + +.layout-mask { + position: fixed; + width: 100%; + height: 100%; + background-color: #424242; + top: 0; + left: 0; + z-index: 999999997; + opacity: 0.7; + filter: alpha(opacity=70); } + +.layout-container .topbar { + position: fixed; + z-index: 100; + width: 100%; + height: 75px; + background-color: #795548; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container .topbar .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } + .layout-container .topbar .topbar-left { + box-sizing: border-box; + padding: 20px; + height: 75px; + width: 250px; + background-color: #4e342e; + float: left; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); } + .layout-container .topbar .topbar-right { + padding: 15px; + position: relative; } + .layout-container .topbar .topbar-right #menu-button { + color: #ffffff; + display: inline-block; + vertical-align: middle; + height: 36px; + margin-right: 10px; + position: relative; + left: -16px; + top: 3px; + background-color: #8BC34A; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); } + .layout-container .topbar .topbar-right #menu-button:hover { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + .layout-container .topbar .topbar-right #menu-button i { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #menu-button i:before { + content: "chevron_left"; } + .layout-container .topbar .topbar-right #topbar-menu-button, .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: none; + color: #ffffff; + vertical-align: middle; + height: 36px; + margin-top: 4px; + float: right; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .layout-container .topbar .topbar-right #topbar-menu-button i, .layout-container .topbar .topbar-right #rightpanel-menu-button i { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: block; } + .layout-container .topbar .topbar-right #rightpanel-menu-button:hover { + color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items .search-item input { + position: relative; + top: -10px; + font-size: 16px; + background-color: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + border-color: #ffffff; + color: #ffffff; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus { + outline: 0 none; + border-bottom-width: 2px; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus ~ label { + top: -5px; + font-size: 12px; + color: #795548; } + .layout-container .topbar .topbar-right .topbar-items .search-item input.ui-state-filled ~ label { + display: none; } + .layout-container .topbar .topbar-right .topbar-items .search-item label { + color: #ffffff; + top: 8px; } +.layout-container .layout-menu { + overflow: visible; + position: fixed; + width: 250px; + z-index: 99; + top: 75px; + height: 100%; + background-color: #ffffff; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-menu .ui-scrollpanel { + background: transparent; + border-radius: 0; + border: none; } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-bar { + background-color: #aaaaaa; + opacity: 0.3; + filter: alpha(opacity=30); } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-menu .ui-scrollpanel .layout-menu { + padding-bottom: 120px; } + .layout-container .layout-menu .profile { + box-sizing: border-box; + padding-top: 2em; + width: 250px; + height: 145px; + text-align: center; + background: url("../images/profile-bg.png") top left no-repeat; + background-size: 250px 145px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); } + .layout-container .layout-menu .profile .profile-image { + width: 60px; + height: 60px; + margin: 0 auto 5px auto; + display: block; } + .layout-container .layout-menu .profile .profile-name { + display: inline-block; + color: #212121; + vertical-align: middle; + font-size: 1em; } + .layout-container .layout-menu .profile i { + color: #212121; + vertical-align: middle; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .layout-menu .profile.profile-expanded i { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .layout-menu .profile-menu { + border-bottom: 1px solid #d6d5d5; + overflow: hidden; } + .layout-container .layout-menu .profile-menu li:first-child { + margin-top: 1em; } + .layout-container .layout-menu .profile-menu li:last-child { + margin-bottom: 1em; } + .layout-container .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container .layout-menu.layout-menu-dark .profile { + background-image: url("../images/profile-bg-dark.png"); } + .layout-container .layout-menu.layout-menu-dark .profile .profile-name { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile-menu { + border-bottom: 1px solid #545454; } + .layout-container .layout-menu.layout-menu-dark .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + border-radius: 0; + border: none; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #8BC34A; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #8BC34A; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #8BC34A; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink { + color: #ffffff; + background-color: #8BC34A; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink i { + color: #212121; } + .layout-container .layout-menu .menuitem-badge { + position: absolute; + right: 3.5em; + top: .75em; + display: inline-block; + width: 1em; + height: 1em; + margin-right: .5em; + text-align: center; + background-color: #8BC34A; + color: #ffffff; + font-size: 14px; + font-weight: 700; + line-height: 1em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + .layout-container .layout-menu .layout-menu-tooltip { + display: none; + padding: 0 5px; + position: absolute; + left: 76px; + top: 6px; + z-index: 101; + line-height: 1; } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text { + padding: 6px 8px; + font-weight: 700; + background-color: #353535; + color: #ffffff; + min-width: 75px; + white-space: nowrap; + text-align: center; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #353535; } +.layout-container.menu-layout-overlay .layout-menu { + margin-left: -250px; } +.layout-container.menu-layout-overlay .layout-main { + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-menu { + z-index: 999999999; + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-mask { + display: block; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); } +.layout-container.menu-layout-overlay .topbar { + z-index: 999999998; } + .layout-container.menu-layout-overlay .topbar .topbar-right #menu-button i { + font-size: 36px !important; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.layout-container .layout-main { + padding: 75px 0 0 0; + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-main .layout-content { + padding: 16px; } +.layout-container .layout-mask { + display: none; } +.layout-container .layout-breadcrumb { + background-color: #ffffff; + box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -webkit-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -moz-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + min-height: 42px; } + .layout-container .layout-breadcrumb:before, .layout-container .layout-breadcrumb:after { + content: ""; + display: table; } + .layout-container .layout-breadcrumb:after { + clear: both; } + .layout-container .layout-breadcrumb ul { + margin: 8px 0 0 0; + padding: 0 0 0 20px; + list-style: none; + color: #757575; + display: inline-block; } + .layout-container .layout-breadcrumb ul li { + display: inline-block; + vertical-align: top; + color: #757575; } + .layout-container .layout-breadcrumb ul li:nth-child(even) { + font-size: 20px; } + .layout-container .layout-breadcrumb ul li:first-child(even) { + color: #795548; } + .layout-container .layout-breadcrumb ul li a { + color: #757575; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options { + float: right; + padding: 0px 20px 0 0; + height: 100%; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a { + color: #757575; + display: inline-block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a:hover { + background-color: #e8e8e8; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a i { + line-height: inherit; } +.layout-container .ultima-menu { + margin: 0; + padding: 0; + list-style: none; + width: 268px; } + .layout-container .ultima-menu.ultima-main-menu { + margin-top: 16px; + padding-bottom: 120px; } + .layout-container .ultima-menu li a { + font-size: 1em; + display: block; + padding: .5em 2.5em .5em 1em; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .layout-container .ultima-menu li a i { + color: #757575; } + .layout-container .ultima-menu li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .5em; + font-size: 1.5em; } + .layout-container .ultima-menu li a i:last-child { + float: right; + font-size: 20px; + margin-top: .15em; + margin-right: -.15em; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .ultima-menu li a:hover { + background-color: #e8e8e8; } + .layout-container .ultima-menu li a span { + display: inline-block; + vertical-align: middle; } + .layout-container .ultima-menu li a.active-menuitem-routerlink { + color: #795548; } + .layout-container .ultima-menu li a.active-menuitem-routerlink > i { + color: #795548; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #757575; } + .layout-container .ultima-menu li.active-menuitem > a { + color: #795548; + background-color: #e8e8e8; } + .layout-container .ultima-menu li.active-menuitem > a i { + color: #795548; } + .layout-container .ultima-menu li.active-menuitem > a i:last-child { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .ultima-menu li ul { + padding: 0; + margin: 0; + list-style: none; + overflow: hidden; } + .layout-container .ultima-menu li ul li a { + padding: .5em 2.5em .5em 2em; } + .layout-container .ultima-menu li ul li a > span { + font-size: 15px; } + .layout-container .ultima-menu li ul li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .6em; + font-size: 1.250em; } + .layout-container .ultima-menu li ul li ul li a { + padding-left: 3em; } + .layout-container .ultima-menu li ul li ul ul li a { + padding-left: 4em; } + .layout-container .ultima-menu li ul li ul ul ul li a { + padding-left: 5em; } + .layout-container .ultima-menu li ul li ul ul ul ul li a { + padding-left: 6em; } + .layout-container .ultima-menu li.red-badge > a .menuitem-badge { + background-color: #F44336; + color: #ffffff; } + .layout-container .ultima-menu li.purple-badge > a .menuitem-badge { + background-color: #4527A0; + color: #ffffff; } + .layout-container .ultima-menu li.teal-badge > a .menuitem-badge { + background-color: #00695C; + color: #ffffff; } +.layout-container .footer { + padding: .5em; } + .layout-container .footer .footer-text-left { + float: left; } + .layout-container .footer .footer-text-right { + color: #757575; + float: right; } + .layout-container .footer .footer-text-right span { + vertical-align: middle; + display: inline-block; } +.layout-container .layout-rightpanel { + position: fixed; + top: 75px; + height: 100%; + right: -240px; + width: 240px; + z-index: 100; + background-color: #ffffff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -moz-transition: right 0.3s; + -o-transition: right 0.3s; + -webkit-transition: right 0.3s; + transition: right 0.3s; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); } + .layout-container .layout-rightpanel.layout-rightpanel-active { + right: 0; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); } + .layout-container .layout-rightpanel .layout-rightpanel-content { + padding: 14px; + padding-bottom: 120px; } + .layout-container .layout-rightpanel .ui-scrollpanel { + border-radius: 0; + border: none; } + .layout-container .layout-rightpanel .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-rightpanel .ui-scrollpanel .layout-rightpanel-wrapper { + width: 258px; + padding-right: 18px; } + +.ajax-loader { + font-size: 2em; + color: #8BC34A; } + +@media (min-width: 1025px) { + .layout-container .topbar-items { + float: right; + margin: 0; + padding: 5px 0 0 0; + list-style-type: none; } + .layout-container .topbar-items > li { + float: right; + position: relative; + margin-left: 8px; } + .layout-container .topbar-items > li > a { + position: relative; + display: block; } + .layout-container .topbar-items > li > a .topbar-item-name { + display: none; } + .layout-container .topbar-items > li > a .topbar-badge { + position: absolute; + right: -5px; + top: -5px; + background-color: #8BC34A; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar-items > li .topbar-icon { + font-size: 36px; + color: #ffffff; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .layout-container .topbar-items > li .topbar-icon:hover { + color: #e8e8e8; } + .layout-container .topbar-items > li.profile-item .profile-image { + width: 36px; + height: 36px; } + .layout-container .topbar-items > li > ul { + position: absolute; + top: 55px; + right: 5px; + display: none; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; } + .layout-container .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar-items > li .topbar-message img { + display: inline-block; + vertical-align: middle; + margin-right: 12px; } + .layout-container.menu-layout-static .layout-menu { + margin-left: 0; } + .layout-container.menu-layout-static .layout-main { + margin-left: 250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-menu { + margin-left: -250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static .layout-mask { + display: none; } + .layout-container.menu-layout-horizontal .topbar { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-left { + background-color: #795548; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-horizontal .layout-menu { + overflow: visible; + position: fixed; + width: 100%; + top: 75px; + height: auto; + background-color: #4e342e; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel { + overflow: visible; + border: none; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu { + width: 100%; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu.ultima-main-menu { + margin-top: 0; + padding-bottom: 0; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li { + float: left; + position: relative; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a { + padding: .5em 1em; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover { + background-color: #e8e8e8; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink { + color: #8BC34A; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink > i { + color: #8BC34A; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + position: absolute; + top: 41px; + left: 0px; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li a { + padding: 10px 16px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul { + position: static; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul li a { + padding-left: 80px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul ul li a { + padding-left: 96px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > a { + color: #795548; + background-color: #e8e8e8; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a { + color: #ffffff; + background-color: #8BC34A; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #8BC34A; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #8BC34A; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #8BC34A; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li ul { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu .menuitem-badge { + left: 32px; + top: 7px; } + .layout-container.menu-layout-horizontal .layout-menu .active-menuitem .menuitem-badge { + background-color: #ffffff; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-main { + padding-top: 116px; + margin-left: 0px; } + .layout-container.menu-layout-horizontal .layout-mask { + display: none; } + .layout-container.menu-layout-slim .topbar { + left: 75px; + width: calc(100% - 75px); } + .layout-container.menu-layout-slim .topbar .topbar-left { + background: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-slim .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-slim .layout-menu { + width: 75px; + overflow: visible; + z-index: 100; + top: 0; } + .layout-container.menu-layout-slim .layout-menu .profile { + width: calc(100% - 18px); + height: 74px; + padding-top: 15px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-image { + width: 45px; + height: 45px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-name, .layout-container.menu-layout-slim .layout-menu .profile > a i { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel { + border: none; + border-radius: 0; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu { + padding: 0; + width: calc(100% - 18px); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li { + position: relative; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a { + text-align: center; + padding-left: 0; + padding-right: 0; + padding-top: .5em; + padding-bottom: .5em; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a i:first-child { + font-size: 1.75em; + margin-right: 0; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a span, .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a .submenu-icon { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a:hover + .layout-menu-tooltip { + display: block; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul { + background-color: #ffffff; + position: absolute; + top: 0; + left: 75px; + min-width: 200px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li a { + padding: .5em 1em .5em 2em; + padding-left: 16px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul li a { + padding: 80px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul ul li a { + padding: 96px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li.active-menuitem > a:hover + .layout-menu-tooltip { + display: none; } + .layout-container.menu-layout-slim .layout-menu.layout-menu-dark .ultima-menu > li > ul { + background-color: #424242; } + .layout-container.menu-layout-slim .layout-main { + margin-left: 75px; } + .layout-container.menu-layout-slim .layout-footer { + margin-left: 75px; } } +@media (max-width: 1024px) { + .layout-container.menu-layout-static .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static .layout-menu { + margin-left: -265px; } + .layout-container.menu-layout-static .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-menu { + margin-left: 0; + z-index: 999999999; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar { + z-index: 999999998; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); } + .layout-container.menu-layout-static.layout-menu-static-active .layout-main { + margin-left: 0; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-mask { + display: block; } + .layout-container .topbar .topbar-right #topbar-menu-button { + display: block; } + .layout-container .topbar .topbar-right .topbar-items { + position: absolute; + top: 75px; + right: 15px; + width: 275px; + display: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + list-style-type: none; + margin: 0; + padding: 0; } + .layout-container .topbar .topbar-right .topbar-items > li > a { + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + color: #212121; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li > a i { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .layout-container .topbar .topbar-right .topbar-items > li > a:hover { + background-color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-item-name { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-badge { + position: absolute; + left: 30px; + top: 10px; + background-color: #8BC34A; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar .topbar-right .topbar-items > li > ul { + display: none; } + .layout-container .topbar .topbar-right .topbar-items > li > ul li a span, .layout-container .topbar .topbar-right .topbar-items > li > ul li a img, .layout-container .topbar .topbar-right .topbar-items > li > ul li a i { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > a { + color: #795548; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a { + padding-left: 32px; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item { + text-align: center; + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input { + top: 0; + width: 100%; + box-sizing: border-box; + padding-right: 16px; + border-color: #bdbdbd; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus { + margin-bottom: -1px; + border-color: #bdbdbd; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus ~ label, + .layout-container .topbar .topbar-right .topbar-items > li.search-item input.ui-state-filled ~ label { + top: -20px; + color: #795548; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item label { + top: 1px; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item i { + position: absolute; + right: 5px; + top: -2px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item .profile-image { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + background: url("../images/avatar.png") top left no-repeat; + background-size: 24px 24px; + margin-right: 14px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item span { + vertical-align: middle; + display: inline-block; } + .layout-container .topbar .topbar-right .topbar-items.topbar-items-visible { + display: block; } } +@media (max-width: 385px) { + .layout-container .topbar .topbar-right #topbar-menu-button { + position: absolute; + height: 1.5em; + right: 24px; + top: 1.375em; } + .layout-container .topbar .topbar-right #topbar-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + position: absolute; + height: 1.5em; + right: 8px; + top: 1.375em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #menu-button { + margin-right: 0; } } +body .layout-wrapper.layout-compact { + font-size: 14px; + line-height: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li a i:last-child { + font-size: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li ul li a span { + font-size: 14px; } + body .layout-wrapper.layout-compact .layout-container .layout-breadcrumb ul li { + vertical-align: middle; } + body .layout-wrapper.layout-compact .ui-radiobutton .ui-radiobutton-box { + width: 18px; + height: 18px; } + body .layout-wrapper.layout-compact .ui-datepicker tbody td a, body .layout-wrapper.layout-compact .ui-datepicker body .ui-datepicker tbody td span { + padding-top: .25em; } + +@media (min-width: 1025px) { + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + top: 35px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li span { + font-size: 14px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-main { + padding-top: 110px; } } diff --git a/src/assets/layout/css/layout-brown.scss b/src/assets/layout/css/layout-brown.scss new file mode 100644 index 0000000..e01415b --- /dev/null +++ b/src/assets/layout/css/layout-brown.scss @@ -0,0 +1,14 @@ +$primaryColor: #795548; +$primaryDarkColor: #4e342e; +$primaryLightColor: #bcaaa4; +$accentColor: #8BC34A; +$accentDarkColor: #558B2F; +$accentLightColor: #C5E1A5; +$accentTextColor: #ffffff; +$darkMenuBgColor: #424242; +$darkMenuHoverColor: #676767; +$darkMenuRouterLinkActiveColor: #8BC34A; +$lightMenuRouterLinkActiveColor: #795548; +$horizontalLightMenuRouterLinkActiveColor: #8BC34A; + +@import '../../sass/layout/_layout'; \ No newline at end of file diff --git a/src/assets/layout/css/layout-cyan.css b/src/assets/layout/css/layout-cyan.css new file mode 100644 index 0000000..87e5106 --- /dev/null +++ b/src/assets/layout/css/layout-cyan.css @@ -0,0 +1,1875 @@ +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url("../fonts/roboto-v15-latin-300.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-300.woff2") format("woff2"), url("../fonts/roboto-v15-latin-300.woff") format("woff"), url("../fonts/roboto-v15-latin-300.ttf") format("truetype"), url("../fonts/roboto-v15-latin-300.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url("../fonts/roboto-v15-latin-regular.eot"); + /* IE9 Compat Modes */ + src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v15-latin-regular.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v15-latin-regular.woff") format("woff"), url("../fonts/roboto-v15-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v15-latin-regular.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url("../fonts/roboto-v15-latin-700.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v15-latin-700.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-700.woff2") format("woff2"), url("../fonts/roboto-v15-latin-700.woff") format("woff"), url("../fonts/roboto-v15-latin-700.ttf") format("truetype"), url("../fonts/roboto-v15-latin-700.svg#Roboto") format("svg"); + /* Legacy iOS */ } +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../fonts/MaterialIcons-Regular.eot"); + /* For IE6-8 */ + src: local("Material Icons"), local("MaterialIcons-Regular"), url("../fonts/MaterialIcons-Regular.woff2") format("woff2"), url("../fonts/MaterialIcons-Regular.woff") format("woff"), url("../fonts/MaterialIcons-Regular.ttf") format("truetype"); } +/* Utils */ +.clearfix:after { + content: " "; + display: block; + clear: both; } + +*[hidden] { + display: none; } + +.card { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + background: #ffffff; + padding: 1em; + margin-bottom: 1em; + box-sizing: border-box; } + .card.card-w-title { + padding-bottom: 2em; } + .card h1 { + font-size: 1.5em; + font-weight: 400; + margin: 1em 0; } + .card h1:first-child { + margin-top: .667em; } + .card h2 { + font-size: 1.375em; + font-weight: 400; } + .card h3 { + font-size: 1.250em; + font-weight: 400; } + .card h4 { + font-size: 1.125em; + font-weight: 400; } + +.nopad { + padding: 0; } + .nopad .ui-panel-content { + padding: 0; } + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: none; + transform: none; } } +@keyframes fadeInDown { + from { + opacity: 0; + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + transform: none; } } +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); } } +@keyframes spin { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } +.ui-icon-spin { + -webkit-animation-name: spin; + animation-name: spin; } + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; } + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; } + +.ui-shadow-1 { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.ui-shadow-2 { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-3 { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-4 { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.ui-shadow-5 { + -webkit-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.ui-g { + -ms-flex-wrap: wrap; } + .ui-g.form-group > div { + padding: 1em; } + .ui-g.form-group-m > div { + padding: 1em; } + +/* Ripple */ +/* Ripple Effect Style like Google Material Buttons Effect*/ +.ripplelink { + /* display:block; */ + /*color:#fff;*/ + text-decoration: none; + position: relative; + overflow: hidden; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; + z-index: 0; } + +.ripplelink:hover { + /*z-index:1000;*/ } + +.ink { + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.4); + border-radius: 100%; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); } + +.ripple-animate { + -webkit-animation: ripple 0.65s linear; + -moz-animation: ripple 0.65s linear; + -ms-animation: ripple 0.65s linear; + -o-animation: ripple 0.65s linear; + animation: ripple 0.65s linear; } + +@-webkit-keyframes ripple { + 100% { + opacity: 0; + -webkit-transform: scale(2.5); } } +@-moz-keyframes ripple { + 100% { + opacity: 0; + -moz-transform: scale(2.5); } } +@-o-keyframes ripple { + 100% { + opacity: 0; + -o-transform: scale(2.5); } } +@keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); } } +.splash-screen { + width: 100%; + min-height: 100%; + background-color: #3F51B5; + position: absolute; } + +.splash-loader-container { + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-left: -32px; + margin-top: -32px; } + +.splash-loader { + animation: rotator 1.4s linear infinite; } + +@keyframes rotator { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(270deg); } } +.splash-path { + stroke-dasharray: 187; + stroke-dashoffset: 0; + transform-origin: center; + animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; } + +@keyframes colors { + 0% { + stroke: #4285F4; } + 25% { + stroke: #DE3E35; } + 50% { + stroke: #F7C223; } + 75% { + stroke: #1B9A59; } + 100% { + stroke: #4285F4; } } +@keyframes dash { + 0% { + stroke-dashoffset: 187; } + 50% { + stroke-dashoffset: 46.75; + transform: rotate(135deg); } + 100% { + stroke-dashoffset: 187; + transform: rotate(450deg); } } +.dashboard .overview { + padding: 0 !important; + min-height: 140px; + position: relative; + margin-bottom: 0px !important; } + .dashboard .overview .overview-content { + padding: 16px; } + .dashboard .overview .overview-content .overview-title { + font-size: 18px; } + .dashboard .overview .overview-content .overview-badge { + float: right; + color: #757575; } + .dashboard .overview .overview-content .overview-detail { + display: block; + font-size: 24px; + margin-top: 5px; } + .dashboard .overview .overview-footer { + position: absolute; + bottom: 0; + width: 100%; } + .dashboard .overview .overview-footer img { + display: block; } +.dashboard .colorbox { + padding: 0 !important; + text-align: center; + overflow: hidden; + margin-bottom: 0px !important; } + .dashboard .colorbox i { + font-size: 48px; + margin-top: 10px; + color: #ffffff; } + .dashboard .colorbox .colorbox-name { + font-size: 20px; + display: inline-block; + width: 100%; + margin: 4px 0 10px 0; + color: #ffffff; } + .dashboard .colorbox .colorbox-count { + color: #ffffff; + font-size: 36px; } + .dashboard .colorbox .colorbox-count { + font-weight: bold; } + .dashboard .colorbox.colorbox-1 { + background-color: #4CAF50; } + .dashboard .colorbox.colorbox-1 div:first-child { + background-color: #2E7D32; } + .dashboard .colorbox.colorbox-2 { + background-color: #03A9F4; } + .dashboard .colorbox.colorbox-2 div:first-child { + background-color: #0277BD; } + .dashboard .colorbox.colorbox-3 { + background-color: #673AB7; } + .dashboard .colorbox.colorbox-3 div:first-child { + background-color: #4527A0; } + .dashboard .colorbox.colorbox-4 { + background-color: #009688; } + .dashboard .colorbox.colorbox-4 div:first-child { + background-color: #00695C; } +.dashboard .task-list { + overflow: hidden; } + .dashboard .task-list > .ui-panel { + min-height: 340px; } + .dashboard .task-list .ui-panel-content { + padding: 10px 0 !important; } + .dashboard .task-list ul { + list-style-type: none; + margin: 0; + padding: 0; } + .dashboard .task-list ul li { + padding: 0.625em 0.875em; + border-bottom: 1px solid #dbdbdb; } + .dashboard .task-list ul li:first-child { + margin-top: 10px; } + .dashboard .task-list ul .ui-chkbox { + vertical-align: middle; + margin-right: 5px; } + .dashboard .task-list ul .task-name { + vertical-align: middle; } + .dashboard .task-list ul i { + color: #757575; + float: right; } +.dashboard .contact-form { + overflow: hidden; } + .dashboard .contact-form .ui-panel { + min-height: 340px; } + .dashboard .contact-form .ui-g-12 { + padding: 16px 10px; } + .dashboard .contact-form .ui-button { + margin-top: 20px; } +.dashboard .contacts { + overflow: hidden; } + .dashboard .contacts > .ui-panel { + min-height: 340px; } + .dashboard .contacts .ui-panel-content { + padding: 15px 0 10px 0 !important; } + .dashboard .contacts ul { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .contacts ul li { + border-bottom: 1px solid #d8d8d8; } + .dashboard .contacts ul li a { + padding: 9px; + width: 100%; + box-sizing: border-box; + text-decoration: none; + position: relative; + display: block; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-transition: background-color 0.2s; + -o-transition: background-color 0.2s; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; } + .dashboard .contacts ul li a .name { + position: absolute; + right: 10px; + top: 10px; + font-size: 18px; + color: #212121; } + .dashboard .contacts ul li a .email { + position: absolute; + right: 10px; + top: 30px; + font-size: 14px; + color: #757575; } + .dashboard .contacts ul li a:hover { + cursor: pointer; + background-color: #e8e8e8; } + .dashboard .contacts ul li:last-child { + border: 0; } +.dashboard .activity-list { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .activity-list li { + border-bottom: 1px solid #bdbdbd; + padding: 15px 0 9px 9px; } + .dashboard .activity-list li .count { + font-size: 24px; + color: #ffffff; + background-color: #03A9F4; + font-weight: bold; + display: inline-block; + padding: 5px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; } + .dashboard .activity-list li:first-child { + border-top: 1px solid #bdbdbd; } + .dashboard .activity-list li:last-child { + border: 0; } + .dashboard .activity-list li .ui-g-6:first-child { + font-size: 18px; + padding-left: 0; } + .dashboard .activity-list li .ui-g-6:last-child { + text-align: right; + color: #757575; } +.dashboard .timeline { + height: 100%; + box-sizing: border-box; } + .dashboard .timeline > .ui-g .ui-g-3 { + font-size: 14px; + position: relative; + border-right: 1px solid #bdbdbd; } + .dashboard .timeline > .ui-g .ui-g-3 i { + background-color: #ffffff; + font-size: 36px; + position: absolute; + top: 0px; + right: -18px; } + .dashboard .timeline > .ui-g .ui-g-9 { + padding-left: 1.5em; } + .dashboard .timeline > .ui-g .ui-g-9 .event-text { + color: #757575; + font-size: 14px; + display: block; + padding-bottom: 20px; } + .dashboard .timeline > .ui-g .ui-g-9 .event-content img { + width: 100%; } +.dashboard > div > .ui-panel { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + +.layout-rightpanel .layout-rightpanel-header { + background: url("../images/dashboard/sidebar-image.jpg") no-repeat; + background-size: cover; + height: 118px; + padding: 20px 14px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .layout-rightpanel .layout-rightpanel-header .weather-day, .layout-rightpanel .layout-rightpanel-header .weather-date { + color: #ffffff; + left: 14px; + font-size: 18px; + font-weight: 700; + padding-bottom: 4px; } +.layout-rightpanel .layout-rightpanel-content { + padding: 14px; } + .layout-rightpanel .layout-rightpanel-content h1 { + font-size: 18px; + margin: 0 0 4px 0; } + .layout-rightpanel .layout-rightpanel-content h2 { + font-size: 16px; + margin: 0; + color: #757575; + font-weight: normal; } + .layout-rightpanel .layout-rightpanel-content .weather-today { + text-align: center; + margin-top: 28px; } + .layout-rightpanel .layout-rightpanel-content .weather-today .weather-today-value { + font-size: 36px; + vertical-align: middle; + margin-right: 14px; } + .layout-rightpanel .layout-rightpanel-content .weather-today img { + vertical-align: middle; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather { + list-style-type: none; + margin: 28px 0 0 0; + padding: 0; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li { + padding: 8px 14px; + border-bottom: 1px solid #d8dae2; + position: relative; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li .weekly-weather-value { + position: absolute; + right: 40px; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li img { + width: 24px; + position: absolute; + right: 0px; + top: 4px; } + +.login-body { + background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + height: auto; } + +.login-panel { + text-align: center; + width: 350px; + min-height: 440px; + padding: 50px 20px; + margin: 100px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 25px 40px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-bottom: 20px; } + .login-panel .ui-button:hover { + background-color: #00838f; } + .login-panel .ui-button:focus { + outline: 0 none; + background-color: #08e3ff; } + .login-panel .ui-button.secondary:hover { + background-color: #ff8f00; } + .login-panel .ui-button.secondary:focus { + outline: 0 none; + background-color: #ffce3a; } + .login-panel .ui-inputtext:focus { + border-width: 0 0 2px 0; + border-color: #00bcd4; + padding-bottom: 0px; } + +.login-footer { + position: absolute; + bottom: 10px; + font-size: 16px; + width: 100%; + text-align: center; + color: #757575; } + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + background: url("../images/login/login2x.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } } +@media (max-width: 1024px) { + .login-panel { + text-align: center; + min-height: 440px; + margin: 100px auto 0 auto; } } +@media (max-width: 640px) { + .login-panel { + text-align: center; + width: 300px; + min-height: 440px; + padding: 40px 20px; + margin: 75px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 20px 20px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-top: 30px; } } +.exception-body { + background-color: #f7f7f7; + height: auto; } + .exception-body .exception-type { + width: 100%; + height: 50%; + padding: 100px 100px 0 100px; + box-sizing: border-box; + text-align: center; } + .exception-body .exception-panel { + text-align: center; + width: 350px; + padding: 35px; + margin: -10% auto 0 auto; + z-index: 100; } + .exception-body .exception-panel i { + font-size: 72px; } + .exception-body .exception-panel h1 { + font-size: 36px; + line-height: 36px; + color: #757575; } + .exception-body .exception-panel .exception-detail { + margin: 20px 0px 100px 0px; + color: #757575; } + .exception-body .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .exception-body .ui-button:hover { + background-color: #ff8f00; } + .exception-body.error-page .exception-type { + background-color: #e62a10; } + .exception-body.error-page .exception-type img { + width: 100%; } + .exception-body.error-page .exception-panel i { + color: #f79a84; } + .exception-body.notfound-page .exception-type { + background-color: #3f51b5; } + .exception-body.notfound-page .exception-type img { + width: 54%; } + .exception-body.notfound-page .exception-panel i { + color: #9fa8da; } + .exception-body.accessdenied-page .exception-type { + background-color: #e91e63; } + .exception-body.accessdenied-page .exception-type img { + width: 50%; } + .exception-body.accessdenied-page .exception-panel i { + color: #f48fb1; } + +@media (max-width: 1024px) { + .exception-body .exception-panel { + margin-top: -50px; } } +@media (max-width: 640px) { + .exception-body .exception-panel { + width: 250px; + margin-top: -15px; } } +.landing-wrapper .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .landing-wrapper .ui-button:hover { + background-color: #ff8f00; } +.landing-wrapper #header { + width: 100%; + min-height: 400px; + background: url("../images/landing/landing-header.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } + .landing-wrapper #header .header-top { + width: 960px; + margin: 0 auto; + padding: 30px 0px; } + .landing-wrapper #header .header-top .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo.png") top left no-repeat; } + .landing-wrapper #header .header-top #menu { + float: right; + list-style: none; + margin: 0; + padding: 0; } + .landing-wrapper #header .header-top #menu li { + float: left; + display: block; + margin-left: 30px; } + .landing-wrapper #header .header-top #menu li a { + color: #ffffff; } + .landing-wrapper #header .header-top #menu li i { + display: none; } + .landing-wrapper #header .header-top #menu.lmenu-active { + display: block; } + .landing-wrapper #header .header-top #menu-button { + height: 36px; + margin-top: -2px; + float: right; + color: #ffffff; + display: none; } + .landing-wrapper #header .header-top #menu-button i { + font-size: 36px; } + .landing-wrapper #header .header-content { + width: 960px; + margin: 0 auto; + text-align: center; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + color: #ffffff; + line-height: 36px; } +.landing-wrapper #features { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #features h2 { + font-weight: 400; + line-height: 28px; } + .landing-wrapper #features h3 { + font-weight: 400; } + .landing-wrapper #features p { + color: #757575; } + .landing-wrapper #features .ui-g-12 { + padding: 2em .5em; } + .landing-wrapper #features .feature-icon { + display: inline-block; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + background-color: #f4f8fc; + box-sizing: border-box; + width: 100px; + height: 100px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .landing-wrapper #features .feature-icon i { + margin-top: 30px; + font-size: 36px; } + .landing-wrapper #features .feature-icon:hover { + background-color: #e91e63; } + .landing-wrapper #features .feature-icon:hover i { + color: #ffffff; } +.landing-wrapper #promotion { + background: url("../images/landing/promotion.png") top left no-repeat; + background-size: 100% auto; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 150px 0 0 150px; } + .landing-wrapper #promotion .ui-lg-8 h1 { + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 { + margin: -50px 0 -50px 0; } + .landing-wrapper #promotion .ui-lg-4 .card { + -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + margin-bottom: 20px; } + .landing-wrapper #promotion .ui-lg-4 .card h3 { + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 .card p { + color: #757575; } + .landing-wrapper #promotion .ui-lg-4 .card:last-child { + margin-bottom: 0; } +.landing-wrapper #pricing { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #pricing h2 { + font-weight: 400; } + .landing-wrapper #pricing p { + color: #757575; } + .landing-wrapper #pricing .pricing-box .card { + height: 100%; + padding: 0; } + .landing-wrapper #pricing .pricing-box .pricing-header { + padding: 40px 0; + color: #ffffff; } + .landing-wrapper #pricing .pricing-box .pricing-header span { + display: block; + line-height: 48px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.name { + font-weight: 300; + font-size: 24px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.fee { + font-size: 48px; + font-weight: 700; } + .landing-wrapper #pricing .pricing-box .pricing-header span.type { + font-weight: 300; + font-size: 16px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul { + margin: 0; + padding: 30px 20px; + list-style-type: none; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li { + font-size: 18px; + text-align: left; + padding: 10px 14px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li i { + margin-right: 20px; + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li span { + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box.pricing-basic .pricing-header { + background-color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-basic i { + color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-standard .pricing-header { + background-color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-standard i { + color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-professional .pricing-header { + background-color: #607d8b; } + .landing-wrapper #pricing .pricing-box.pricing-professional i { + color: #607d8b; } +.landing-wrapper #video { + background-color: #f7f7f7; + min-width: 400px; } + .landing-wrapper #video .video-content { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #video .video-content h2 { + font-weight: 400; } + .landing-wrapper #video .video-content p { + color: #757575; } +.landing-wrapper .footer { + background-color: #f7f7f7; + border-top: 1px solid #dddddd; } + .landing-wrapper .footer .footer-content { + width: 960px; + margin: 0 auto; + padding: 30px 0px 50px 0px; } + .landing-wrapper .footer .footer-content ul { + float: right; + list-style-type: none; } + .landing-wrapper .footer .footer-content ul li a { + color: #757575; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .landing-wrapper .footer .footer-content ul li a:hover { + color: #212121; } + +@media (max-width: 1024px) { + .landing-wrapper #header { + min-height: 200px; + background-size: cover; } + .landing-wrapper #header .header-top { + z-index: 100; + position: fixed; + top: 0; + background: #424242; + background-size: 100% auto; + padding: 30px; + width: 100%; + box-sizing: border-box; + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .landing-wrapper #header .header-top #menu-button { + display: inline-block; } + .landing-wrapper #header .header-top #menu { + z-index: 100; + position: fixed; + top: 86px; + right: 30px; + float: none; + display: none; + margin: 0; + padding: 0; + width: 225px; + list-style: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: .5s; + -moz-animation-duration: .5s; + animation-duration: .5s; } + .landing-wrapper #header .header-top #menu li { + float: none; + margin-left: 0; } + .landing-wrapper #header .header-top #menu li a { + font-size: 16px; + display: block; + padding: 10px 16px; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .landing-wrapper #header .header-top #menu li a i { + color: #757575; + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .landing-wrapper #header .header-top #menu li a:hover { + background-color: #e8e8e8; } + .landing-wrapper #header .header-top #menu li a span { + display: inline-block; + vertical-align: middle; } + .landing-wrapper #header .header-content { + width: 100%; + padding: 100px 30px 60px 30px; + box-sizing: border-box; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; } + .landing-wrapper #features, .landing-wrapper #promotion, .landing-wrapper #pricing, .landing-wrapper #video, .landing-wrapper .footer .footer-content { + width: 100%; + padding-right: 30px; + padding-left: 30px; + box-sizing: border-box; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 100px 0 30px; + text-align: center; } + .landing-wrapper #promotion .ui-lg-8 h1 { + margin-top: -30px; + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #video .video-content { + width: 100%; } + .landing-wrapper #video .video-content .video-container iframe { + width: 350px; + height: 220px; } + .landing-wrapper .footer .footer-content { + text-align: center; } + .landing-wrapper .footer .footer-content ul { + float: none; + margin: 0; + padding: 0; } } +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .landing-wrapper .header .header-top .logo { + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } } +html { + height: 100%; } + +body { + font-family: Roboto,"Helvetica Neue",sans-serif; + font-size: 16px; + line-height: 1.5em; + color: #212121; + -webkit-font-smoothing: antialiased; + padding: 0; + margin: 0; + background-color: #f7f7f7; + min-height: 100%; } + body a { + text-decoration: none; } + +.layout-mask { + position: fixed; + width: 100%; + height: 100%; + background-color: #424242; + top: 0; + left: 0; + z-index: 999999997; + opacity: 0.7; + filter: alpha(opacity=70); } + +.layout-container .topbar { + position: fixed; + z-index: 100; + width: 100%; + height: 75px; + background-color: #00bcd4; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container .topbar .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } + .layout-container .topbar .topbar-left { + box-sizing: border-box; + padding: 20px; + height: 75px; + width: 250px; + background-color: #00838f; + float: left; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); } + .layout-container .topbar .topbar-right { + padding: 15px; + position: relative; } + .layout-container .topbar .topbar-right #menu-button { + color: #212121; + display: inline-block; + vertical-align: middle; + height: 36px; + margin-right: 10px; + position: relative; + left: -16px; + top: 3px; + background-color: #ffc107; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); } + .layout-container .topbar .topbar-right #menu-button:hover { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + .layout-container .topbar .topbar-right #menu-button i { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #menu-button i:before { + content: "chevron_left"; } + .layout-container .topbar .topbar-right #topbar-menu-button, .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: none; + color: #ffffff; + vertical-align: middle; + height: 36px; + margin-top: 4px; + float: right; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .layout-container .topbar .topbar-right #topbar-menu-button i, .layout-container .topbar .topbar-right #rightpanel-menu-button i { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: block; } + .layout-container .topbar .topbar-right #rightpanel-menu-button:hover { + color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items .search-item input { + position: relative; + top: -10px; + font-size: 16px; + background-color: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + border-color: #ffffff; + color: #ffffff; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus { + outline: 0 none; + border-bottom-width: 2px; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus ~ label { + top: -5px; + font-size: 12px; + color: #00bcd4; } + .layout-container .topbar .topbar-right .topbar-items .search-item input.ui-state-filled ~ label { + display: none; } + .layout-container .topbar .topbar-right .topbar-items .search-item label { + color: #ffffff; + top: 8px; } +.layout-container .layout-menu { + overflow: visible; + position: fixed; + width: 250px; + z-index: 99; + top: 75px; + height: 100%; + background-color: #ffffff; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-menu .ui-scrollpanel { + background: transparent; + border-radius: 0; + border: none; } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-bar { + background-color: #aaaaaa; + opacity: 0.3; + filter: alpha(opacity=30); } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-menu .ui-scrollpanel .layout-menu { + padding-bottom: 120px; } + .layout-container .layout-menu .profile { + box-sizing: border-box; + padding-top: 2em; + width: 250px; + height: 145px; + text-align: center; + background: url("../images/profile-bg.png") top left no-repeat; + background-size: 250px 145px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); } + .layout-container .layout-menu .profile .profile-image { + width: 60px; + height: 60px; + margin: 0 auto 5px auto; + display: block; } + .layout-container .layout-menu .profile .profile-name { + display: inline-block; + color: #212121; + vertical-align: middle; + font-size: 1em; } + .layout-container .layout-menu .profile i { + color: #212121; + vertical-align: middle; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .layout-menu .profile.profile-expanded i { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .layout-menu .profile-menu { + border-bottom: 1px solid #d6d5d5; + overflow: hidden; } + .layout-container .layout-menu .profile-menu li:first-child { + margin-top: 1em; } + .layout-container .layout-menu .profile-menu li:last-child { + margin-bottom: 1em; } + .layout-container .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container .layout-menu.layout-menu-dark .profile { + background-image: url("../images/profile-bg-dark.png"); } + .layout-container .layout-menu.layout-menu-dark .profile .profile-name { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile-menu { + border-bottom: 1px solid #545454; } + .layout-container .layout-menu.layout-menu-dark .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + border-radius: 0; + border: none; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #ffc107; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #ffc107; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #212121; + background-color: #ffc107; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink { + color: #212121; + background-color: #ffc107; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink i { + color: #212121; } + .layout-container .layout-menu .menuitem-badge { + position: absolute; + right: 3.5em; + top: .75em; + display: inline-block; + width: 1em; + height: 1em; + margin-right: .5em; + text-align: center; + background-color: #ffc107; + color: #212121; + font-size: 14px; + font-weight: 700; + line-height: 1em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + .layout-container .layout-menu .layout-menu-tooltip { + display: none; + padding: 0 5px; + position: absolute; + left: 76px; + top: 6px; + z-index: 101; + line-height: 1; } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text { + padding: 6px 8px; + font-weight: 700; + background-color: #353535; + color: #ffffff; + min-width: 75px; + white-space: nowrap; + text-align: center; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #353535; } +.layout-container.menu-layout-overlay .layout-menu { + margin-left: -250px; } +.layout-container.menu-layout-overlay .layout-main { + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-menu { + z-index: 999999999; + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-mask { + display: block; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); } +.layout-container.menu-layout-overlay .topbar { + z-index: 999999998; } + .layout-container.menu-layout-overlay .topbar .topbar-right #menu-button i { + font-size: 36px !important; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.layout-container .layout-main { + padding: 75px 0 0 0; + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-main .layout-content { + padding: 16px; } +.layout-container .layout-mask { + display: none; } +.layout-container .layout-breadcrumb { + background-color: #ffffff; + box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -webkit-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -moz-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + min-height: 42px; } + .layout-container .layout-breadcrumb:before, .layout-container .layout-breadcrumb:after { + content: ""; + display: table; } + .layout-container .layout-breadcrumb:after { + clear: both; } + .layout-container .layout-breadcrumb ul { + margin: 8px 0 0 0; + padding: 0 0 0 20px; + list-style: none; + color: #757575; + display: inline-block; } + .layout-container .layout-breadcrumb ul li { + display: inline-block; + vertical-align: top; + color: #757575; } + .layout-container .layout-breadcrumb ul li:nth-child(even) { + font-size: 20px; } + .layout-container .layout-breadcrumb ul li:first-child(even) { + color: #00bcd4; } + .layout-container .layout-breadcrumb ul li a { + color: #757575; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options { + float: right; + padding: 0px 20px 0 0; + height: 100%; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a { + color: #757575; + display: inline-block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a:hover { + background-color: #e8e8e8; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a i { + line-height: inherit; } +.layout-container .ultima-menu { + margin: 0; + padding: 0; + list-style: none; + width: 268px; } + .layout-container .ultima-menu.ultima-main-menu { + margin-top: 16px; + padding-bottom: 120px; } + .layout-container .ultima-menu li a { + font-size: 1em; + display: block; + padding: .5em 2.5em .5em 1em; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .layout-container .ultima-menu li a i { + color: #757575; } + .layout-container .ultima-menu li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .5em; + font-size: 1.5em; } + .layout-container .ultima-menu li a i:last-child { + float: right; + font-size: 20px; + margin-top: .15em; + margin-right: -.15em; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .ultima-menu li a:hover { + background-color: #e8e8e8; } + .layout-container .ultima-menu li a span { + display: inline-block; + vertical-align: middle; } + .layout-container .ultima-menu li a.active-menuitem-routerlink { + color: #00bcd4; } + .layout-container .ultima-menu li a.active-menuitem-routerlink > i { + color: #00bcd4; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #757575; } + .layout-container .ultima-menu li.active-menuitem > a { + color: #00bcd4; + background-color: #e8e8e8; } + .layout-container .ultima-menu li.active-menuitem > a i { + color: #00bcd4; } + .layout-container .ultima-menu li.active-menuitem > a i:last-child { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .ultima-menu li ul { + padding: 0; + margin: 0; + list-style: none; + overflow: hidden; } + .layout-container .ultima-menu li ul li a { + padding: .5em 2.5em .5em 2em; } + .layout-container .ultima-menu li ul li a > span { + font-size: 15px; } + .layout-container .ultima-menu li ul li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .6em; + font-size: 1.250em; } + .layout-container .ultima-menu li ul li ul li a { + padding-left: 3em; } + .layout-container .ultima-menu li ul li ul ul li a { + padding-left: 4em; } + .layout-container .ultima-menu li ul li ul ul ul li a { + padding-left: 5em; } + .layout-container .ultima-menu li ul li ul ul ul ul li a { + padding-left: 6em; } + .layout-container .ultima-menu li.red-badge > a .menuitem-badge { + background-color: #F44336; + color: #ffffff; } + .layout-container .ultima-menu li.purple-badge > a .menuitem-badge { + background-color: #4527A0; + color: #ffffff; } + .layout-container .ultima-menu li.teal-badge > a .menuitem-badge { + background-color: #00695C; + color: #ffffff; } +.layout-container .footer { + padding: .5em; } + .layout-container .footer .footer-text-left { + float: left; } + .layout-container .footer .footer-text-right { + color: #757575; + float: right; } + .layout-container .footer .footer-text-right span { + vertical-align: middle; + display: inline-block; } +.layout-container .layout-rightpanel { + position: fixed; + top: 75px; + height: 100%; + right: -240px; + width: 240px; + z-index: 100; + background-color: #ffffff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -moz-transition: right 0.3s; + -o-transition: right 0.3s; + -webkit-transition: right 0.3s; + transition: right 0.3s; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); } + .layout-container .layout-rightpanel.layout-rightpanel-active { + right: 0; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); } + .layout-container .layout-rightpanel .layout-rightpanel-content { + padding: 14px; + padding-bottom: 120px; } + .layout-container .layout-rightpanel .ui-scrollpanel { + border-radius: 0; + border: none; } + .layout-container .layout-rightpanel .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-rightpanel .ui-scrollpanel .layout-rightpanel-wrapper { + width: 258px; + padding-right: 18px; } + +.ajax-loader { + font-size: 2em; + color: #ffc107; } + +@media (min-width: 1025px) { + .layout-container .topbar-items { + float: right; + margin: 0; + padding: 5px 0 0 0; + list-style-type: none; } + .layout-container .topbar-items > li { + float: right; + position: relative; + margin-left: 8px; } + .layout-container .topbar-items > li > a { + position: relative; + display: block; } + .layout-container .topbar-items > li > a .topbar-item-name { + display: none; } + .layout-container .topbar-items > li > a .topbar-badge { + position: absolute; + right: -5px; + top: -5px; + background-color: #ffc107; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar-items > li .topbar-icon { + font-size: 36px; + color: #ffffff; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .layout-container .topbar-items > li .topbar-icon:hover { + color: #e8e8e8; } + .layout-container .topbar-items > li.profile-item .profile-image { + width: 36px; + height: 36px; } + .layout-container .topbar-items > li > ul { + position: absolute; + top: 55px; + right: 5px; + display: none; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; } + .layout-container .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar-items > li .topbar-message img { + display: inline-block; + vertical-align: middle; + margin-right: 12px; } + .layout-container.menu-layout-static .layout-menu { + margin-left: 0; } + .layout-container.menu-layout-static .layout-main { + margin-left: 250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-menu { + margin-left: -250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static .layout-mask { + display: none; } + .layout-container.menu-layout-horizontal .topbar { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-left { + background-color: #00bcd4; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-horizontal .layout-menu { + overflow: visible; + position: fixed; + width: 100%; + top: 75px; + height: auto; + background-color: #00838f; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel { + overflow: visible; + border: none; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu { + width: 100%; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu.ultima-main-menu { + margin-top: 0; + padding-bottom: 0; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li { + float: left; + position: relative; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a { + padding: .5em 1em; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover { + background-color: #e8e8e8; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink { + color: #ffc107; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink > i { + color: #ffc107; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + position: absolute; + top: 41px; + left: 0px; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li a { + padding: 10px 16px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul { + position: static; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul li a { + padding-left: 80px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul ul li a { + padding-left: 96px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > a { + color: #00bcd4; + background-color: #e8e8e8; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a { + color: #212121; + background-color: #ffc107; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #ffc107; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #ffc107; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #212121; + background-color: #ffc107; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li ul { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu .menuitem-badge { + left: 32px; + top: 7px; } + .layout-container.menu-layout-horizontal .layout-menu .active-menuitem .menuitem-badge { + background-color: #ffffff; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-main { + padding-top: 116px; + margin-left: 0px; } + .layout-container.menu-layout-horizontal .layout-mask { + display: none; } + .layout-container.menu-layout-slim .topbar { + left: 75px; + width: calc(100% - 75px); } + .layout-container.menu-layout-slim .topbar .topbar-left { + background: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-slim .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-slim .layout-menu { + width: 75px; + overflow: visible; + z-index: 100; + top: 0; } + .layout-container.menu-layout-slim .layout-menu .profile { + width: calc(100% - 18px); + height: 74px; + padding-top: 15px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-image { + width: 45px; + height: 45px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-name, .layout-container.menu-layout-slim .layout-menu .profile > a i { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel { + border: none; + border-radius: 0; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu { + padding: 0; + width: calc(100% - 18px); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li { + position: relative; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a { + text-align: center; + padding-left: 0; + padding-right: 0; + padding-top: .5em; + padding-bottom: .5em; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a i:first-child { + font-size: 1.75em; + margin-right: 0; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a span, .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a .submenu-icon { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a:hover + .layout-menu-tooltip { + display: block; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul { + background-color: #ffffff; + position: absolute; + top: 0; + left: 75px; + min-width: 200px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li a { + padding: .5em 1em .5em 2em; + padding-left: 16px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul li a { + padding: 80px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul ul li a { + padding: 96px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li.active-menuitem > a:hover + .layout-menu-tooltip { + display: none; } + .layout-container.menu-layout-slim .layout-menu.layout-menu-dark .ultima-menu > li > ul { + background-color: #424242; } + .layout-container.menu-layout-slim .layout-main { + margin-left: 75px; } + .layout-container.menu-layout-slim .layout-footer { + margin-left: 75px; } } +@media (max-width: 1024px) { + .layout-container.menu-layout-static .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static .layout-menu { + margin-left: -265px; } + .layout-container.menu-layout-static .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-menu { + margin-left: 0; + z-index: 999999999; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar { + z-index: 999999998; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); } + .layout-container.menu-layout-static.layout-menu-static-active .layout-main { + margin-left: 0; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-mask { + display: block; } + .layout-container .topbar .topbar-right #topbar-menu-button { + display: block; } + .layout-container .topbar .topbar-right .topbar-items { + position: absolute; + top: 75px; + right: 15px; + width: 275px; + display: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + list-style-type: none; + margin: 0; + padding: 0; } + .layout-container .topbar .topbar-right .topbar-items > li > a { + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + color: #212121; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li > a i { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .layout-container .topbar .topbar-right .topbar-items > li > a:hover { + background-color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-item-name { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-badge { + position: absolute; + left: 30px; + top: 10px; + background-color: #ffc107; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar .topbar-right .topbar-items > li > ul { + display: none; } + .layout-container .topbar .topbar-right .topbar-items > li > ul li a span, .layout-container .topbar .topbar-right .topbar-items > li > ul li a img, .layout-container .topbar .topbar-right .topbar-items > li > ul li a i { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > a { + color: #00bcd4; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a { + padding-left: 32px; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item { + text-align: center; + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input { + top: 0; + width: 100%; + box-sizing: border-box; + padding-right: 16px; + border-color: #bdbdbd; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus { + margin-bottom: -1px; + border-color: #bdbdbd; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus ~ label, + .layout-container .topbar .topbar-right .topbar-items > li.search-item input.ui-state-filled ~ label { + top: -20px; + color: #00bcd4; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item label { + top: 1px; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item i { + position: absolute; + right: 5px; + top: -2px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item .profile-image { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + background: url("../images/avatar.png") top left no-repeat; + background-size: 24px 24px; + margin-right: 14px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item span { + vertical-align: middle; + display: inline-block; } + .layout-container .topbar .topbar-right .topbar-items.topbar-items-visible { + display: block; } } +@media (max-width: 385px) { + .layout-container .topbar .topbar-right #topbar-menu-button { + position: absolute; + height: 1.5em; + right: 24px; + top: 1.375em; } + .layout-container .topbar .topbar-right #topbar-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + position: absolute; + height: 1.5em; + right: 8px; + top: 1.375em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #menu-button { + margin-right: 0; } } +body .layout-wrapper.layout-compact { + font-size: 14px; + line-height: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li a i:last-child { + font-size: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li ul li a span { + font-size: 14px; } + body .layout-wrapper.layout-compact .layout-container .layout-breadcrumb ul li { + vertical-align: middle; } + body .layout-wrapper.layout-compact .ui-radiobutton .ui-radiobutton-box { + width: 18px; + height: 18px; } + body .layout-wrapper.layout-compact .ui-datepicker tbody td a, body .layout-wrapper.layout-compact .ui-datepicker body .ui-datepicker tbody td span { + padding-top: .25em; } + +@media (min-width: 1025px) { + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + top: 35px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li span { + font-size: 14px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-main { + padding-top: 110px; } } diff --git a/src/assets/layout/css/layout-cyan.scss b/src/assets/layout/css/layout-cyan.scss new file mode 100644 index 0000000..708cc7c --- /dev/null +++ b/src/assets/layout/css/layout-cyan.scss @@ -0,0 +1,14 @@ +$primaryColor: #00bcd4; +$primaryDarkColor: #00838f; +$primaryLightColor: #4dd0e1; +$accentColor: #ffc107; +$accentDarkColor: #ff8f00; +$accentLightColor: #ffe082; +$accentTextColor: #212121; +$darkMenuBgColor: #424242; +$darkMenuHoverColor: #676767; +$darkMenuRouterLinkActiveColor: #ffc107; +$lightMenuRouterLinkActiveColor: #00bcd4; +$horizontalLightMenuRouterLinkActiveColor: #ffc107; + +@import '../../sass/layout/_layout'; \ No newline at end of file diff --git a/src/assets/layout/css/layout-dark-blue.css b/src/assets/layout/css/layout-dark-blue.css new file mode 100644 index 0000000..b6c39ec --- /dev/null +++ b/src/assets/layout/css/layout-dark-blue.css @@ -0,0 +1,1875 @@ +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url("../fonts/roboto-v15-latin-300.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-300.woff2") format("woff2"), url("../fonts/roboto-v15-latin-300.woff") format("woff"), url("../fonts/roboto-v15-latin-300.ttf") format("truetype"), url("../fonts/roboto-v15-latin-300.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url("../fonts/roboto-v15-latin-regular.eot"); + /* IE9 Compat Modes */ + src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v15-latin-regular.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v15-latin-regular.woff") format("woff"), url("../fonts/roboto-v15-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v15-latin-regular.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url("../fonts/roboto-v15-latin-700.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v15-latin-700.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-700.woff2") format("woff2"), url("../fonts/roboto-v15-latin-700.woff") format("woff"), url("../fonts/roboto-v15-latin-700.ttf") format("truetype"), url("../fonts/roboto-v15-latin-700.svg#Roboto") format("svg"); + /* Legacy iOS */ } +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../fonts/MaterialIcons-Regular.eot"); + /* For IE6-8 */ + src: local("Material Icons"), local("MaterialIcons-Regular"), url("../fonts/MaterialIcons-Regular.woff2") format("woff2"), url("../fonts/MaterialIcons-Regular.woff") format("woff"), url("../fonts/MaterialIcons-Regular.ttf") format("truetype"); } +/* Utils */ +.clearfix:after { + content: " "; + display: block; + clear: both; } + +*[hidden] { + display: none; } + +.card { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + background: #ffffff; + padding: 1em; + margin-bottom: 1em; + box-sizing: border-box; } + .card.card-w-title { + padding-bottom: 2em; } + .card h1 { + font-size: 1.5em; + font-weight: 400; + margin: 1em 0; } + .card h1:first-child { + margin-top: .667em; } + .card h2 { + font-size: 1.375em; + font-weight: 400; } + .card h3 { + font-size: 1.250em; + font-weight: 400; } + .card h4 { + font-size: 1.125em; + font-weight: 400; } + +.nopad { + padding: 0; } + .nopad .ui-panel-content { + padding: 0; } + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: none; + transform: none; } } +@keyframes fadeInDown { + from { + opacity: 0; + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + transform: none; } } +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); } } +@keyframes spin { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } +.ui-icon-spin { + -webkit-animation-name: spin; + animation-name: spin; } + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; } + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; } + +.ui-shadow-1 { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.ui-shadow-2 { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-3 { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-4 { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.ui-shadow-5 { + -webkit-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.ui-g { + -ms-flex-wrap: wrap; } + .ui-g.form-group > div { + padding: 1em; } + .ui-g.form-group-m > div { + padding: 1em; } + +/* Ripple */ +/* Ripple Effect Style like Google Material Buttons Effect*/ +.ripplelink { + /* display:block; */ + /*color:#fff;*/ + text-decoration: none; + position: relative; + overflow: hidden; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; + z-index: 0; } + +.ripplelink:hover { + /*z-index:1000;*/ } + +.ink { + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.4); + border-radius: 100%; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); } + +.ripple-animate { + -webkit-animation: ripple 0.65s linear; + -moz-animation: ripple 0.65s linear; + -ms-animation: ripple 0.65s linear; + -o-animation: ripple 0.65s linear; + animation: ripple 0.65s linear; } + +@-webkit-keyframes ripple { + 100% { + opacity: 0; + -webkit-transform: scale(2.5); } } +@-moz-keyframes ripple { + 100% { + opacity: 0; + -moz-transform: scale(2.5); } } +@-o-keyframes ripple { + 100% { + opacity: 0; + -o-transform: scale(2.5); } } +@keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); } } +.splash-screen { + width: 100%; + min-height: 100%; + background-color: #3F51B5; + position: absolute; } + +.splash-loader-container { + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-left: -32px; + margin-top: -32px; } + +.splash-loader { + animation: rotator 1.4s linear infinite; } + +@keyframes rotator { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(270deg); } } +.splash-path { + stroke-dasharray: 187; + stroke-dashoffset: 0; + transform-origin: center; + animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; } + +@keyframes colors { + 0% { + stroke: #4285F4; } + 25% { + stroke: #DE3E35; } + 50% { + stroke: #F7C223; } + 75% { + stroke: #1B9A59; } + 100% { + stroke: #4285F4; } } +@keyframes dash { + 0% { + stroke-dashoffset: 187; } + 50% { + stroke-dashoffset: 46.75; + transform: rotate(135deg); } + 100% { + stroke-dashoffset: 187; + transform: rotate(450deg); } } +.dashboard .overview { + padding: 0 !important; + min-height: 140px; + position: relative; + margin-bottom: 0px !important; } + .dashboard .overview .overview-content { + padding: 16px; } + .dashboard .overview .overview-content .overview-title { + font-size: 18px; } + .dashboard .overview .overview-content .overview-badge { + float: right; + color: #757575; } + .dashboard .overview .overview-content .overview-detail { + display: block; + font-size: 24px; + margin-top: 5px; } + .dashboard .overview .overview-footer { + position: absolute; + bottom: 0; + width: 100%; } + .dashboard .overview .overview-footer img { + display: block; } +.dashboard .colorbox { + padding: 0 !important; + text-align: center; + overflow: hidden; + margin-bottom: 0px !important; } + .dashboard .colorbox i { + font-size: 48px; + margin-top: 10px; + color: #ffffff; } + .dashboard .colorbox .colorbox-name { + font-size: 20px; + display: inline-block; + width: 100%; + margin: 4px 0 10px 0; + color: #ffffff; } + .dashboard .colorbox .colorbox-count { + color: #ffffff; + font-size: 36px; } + .dashboard .colorbox .colorbox-count { + font-weight: bold; } + .dashboard .colorbox.colorbox-1 { + background-color: #4CAF50; } + .dashboard .colorbox.colorbox-1 div:first-child { + background-color: #2E7D32; } + .dashboard .colorbox.colorbox-2 { + background-color: #03A9F4; } + .dashboard .colorbox.colorbox-2 div:first-child { + background-color: #0277BD; } + .dashboard .colorbox.colorbox-3 { + background-color: #673AB7; } + .dashboard .colorbox.colorbox-3 div:first-child { + background-color: #4527A0; } + .dashboard .colorbox.colorbox-4 { + background-color: #009688; } + .dashboard .colorbox.colorbox-4 div:first-child { + background-color: #00695C; } +.dashboard .task-list { + overflow: hidden; } + .dashboard .task-list > .ui-panel { + min-height: 340px; } + .dashboard .task-list .ui-panel-content { + padding: 10px 0 !important; } + .dashboard .task-list ul { + list-style-type: none; + margin: 0; + padding: 0; } + .dashboard .task-list ul li { + padding: 0.625em 0.875em; + border-bottom: 1px solid #dbdbdb; } + .dashboard .task-list ul li:first-child { + margin-top: 10px; } + .dashboard .task-list ul .ui-chkbox { + vertical-align: middle; + margin-right: 5px; } + .dashboard .task-list ul .task-name { + vertical-align: middle; } + .dashboard .task-list ul i { + color: #757575; + float: right; } +.dashboard .contact-form { + overflow: hidden; } + .dashboard .contact-form .ui-panel { + min-height: 340px; } + .dashboard .contact-form .ui-g-12 { + padding: 16px 10px; } + .dashboard .contact-form .ui-button { + margin-top: 20px; } +.dashboard .contacts { + overflow: hidden; } + .dashboard .contacts > .ui-panel { + min-height: 340px; } + .dashboard .contacts .ui-panel-content { + padding: 15px 0 10px 0 !important; } + .dashboard .contacts ul { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .contacts ul li { + border-bottom: 1px solid #d8d8d8; } + .dashboard .contacts ul li a { + padding: 9px; + width: 100%; + box-sizing: border-box; + text-decoration: none; + position: relative; + display: block; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-transition: background-color 0.2s; + -o-transition: background-color 0.2s; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; } + .dashboard .contacts ul li a .name { + position: absolute; + right: 10px; + top: 10px; + font-size: 18px; + color: #212121; } + .dashboard .contacts ul li a .email { + position: absolute; + right: 10px; + top: 30px; + font-size: 14px; + color: #757575; } + .dashboard .contacts ul li a:hover { + cursor: pointer; + background-color: #e8e8e8; } + .dashboard .contacts ul li:last-child { + border: 0; } +.dashboard .activity-list { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .activity-list li { + border-bottom: 1px solid #bdbdbd; + padding: 15px 0 9px 9px; } + .dashboard .activity-list li .count { + font-size: 24px; + color: #ffffff; + background-color: #03A9F4; + font-weight: bold; + display: inline-block; + padding: 5px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; } + .dashboard .activity-list li:first-child { + border-top: 1px solid #bdbdbd; } + .dashboard .activity-list li:last-child { + border: 0; } + .dashboard .activity-list li .ui-g-6:first-child { + font-size: 18px; + padding-left: 0; } + .dashboard .activity-list li .ui-g-6:last-child { + text-align: right; + color: #757575; } +.dashboard .timeline { + height: 100%; + box-sizing: border-box; } + .dashboard .timeline > .ui-g .ui-g-3 { + font-size: 14px; + position: relative; + border-right: 1px solid #bdbdbd; } + .dashboard .timeline > .ui-g .ui-g-3 i { + background-color: #ffffff; + font-size: 36px; + position: absolute; + top: 0px; + right: -18px; } + .dashboard .timeline > .ui-g .ui-g-9 { + padding-left: 1.5em; } + .dashboard .timeline > .ui-g .ui-g-9 .event-text { + color: #757575; + font-size: 14px; + display: block; + padding-bottom: 20px; } + .dashboard .timeline > .ui-g .ui-g-9 .event-content img { + width: 100%; } +.dashboard > div > .ui-panel { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + +.layout-rightpanel .layout-rightpanel-header { + background: url("../images/dashboard/sidebar-image.jpg") no-repeat; + background-size: cover; + height: 118px; + padding: 20px 14px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .layout-rightpanel .layout-rightpanel-header .weather-day, .layout-rightpanel .layout-rightpanel-header .weather-date { + color: #ffffff; + left: 14px; + font-size: 18px; + font-weight: 700; + padding-bottom: 4px; } +.layout-rightpanel .layout-rightpanel-content { + padding: 14px; } + .layout-rightpanel .layout-rightpanel-content h1 { + font-size: 18px; + margin: 0 0 4px 0; } + .layout-rightpanel .layout-rightpanel-content h2 { + font-size: 16px; + margin: 0; + color: #757575; + font-weight: normal; } + .layout-rightpanel .layout-rightpanel-content .weather-today { + text-align: center; + margin-top: 28px; } + .layout-rightpanel .layout-rightpanel-content .weather-today .weather-today-value { + font-size: 36px; + vertical-align: middle; + margin-right: 14px; } + .layout-rightpanel .layout-rightpanel-content .weather-today img { + vertical-align: middle; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather { + list-style-type: none; + margin: 28px 0 0 0; + padding: 0; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li { + padding: 8px 14px; + border-bottom: 1px solid #d8dae2; + position: relative; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li .weekly-weather-value { + position: absolute; + right: 40px; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li img { + width: 24px; + position: absolute; + right: 0px; + top: 4px; } + +.login-body { + background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + height: auto; } + +.login-panel { + text-align: center; + width: 350px; + min-height: 440px; + padding: 50px 20px; + margin: 100px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 25px 40px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-bottom: 20px; } + .login-panel .ui-button:hover { + background-color: #2b3135; } + .login-panel .ui-button:focus { + outline: 0 none; + background-color: #556068; } + .login-panel .ui-button.secondary:hover { + background-color: #274d8d; } + .login-panel .ui-button.secondary:focus { + outline: 0 none; + background-color: #799dd9; } + .login-panel .ui-inputtext:focus { + border-width: 0 0 2px 0; + border-color: #3e464c; + padding-bottom: 0px; } + +.login-footer { + position: absolute; + bottom: 10px; + font-size: 16px; + width: 100%; + text-align: center; + color: #757575; } + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + background: url("../images/login/login2x.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } } +@media (max-width: 1024px) { + .login-panel { + text-align: center; + min-height: 440px; + margin: 100px auto 0 auto; } } +@media (max-width: 640px) { + .login-panel { + text-align: center; + width: 300px; + min-height: 440px; + padding: 40px 20px; + margin: 75px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 20px 20px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-top: 30px; } } +.exception-body { + background-color: #f7f7f7; + height: auto; } + .exception-body .exception-type { + width: 100%; + height: 50%; + padding: 100px 100px 0 100px; + box-sizing: border-box; + text-align: center; } + .exception-body .exception-panel { + text-align: center; + width: 350px; + padding: 35px; + margin: -10% auto 0 auto; + z-index: 100; } + .exception-body .exception-panel i { + font-size: 72px; } + .exception-body .exception-panel h1 { + font-size: 36px; + line-height: 36px; + color: #757575; } + .exception-body .exception-panel .exception-detail { + margin: 20px 0px 100px 0px; + color: #757575; } + .exception-body .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .exception-body .ui-button:hover { + background-color: #274d8d; } + .exception-body.error-page .exception-type { + background-color: #e62a10; } + .exception-body.error-page .exception-type img { + width: 100%; } + .exception-body.error-page .exception-panel i { + color: #f79a84; } + .exception-body.notfound-page .exception-type { + background-color: #3f51b5; } + .exception-body.notfound-page .exception-type img { + width: 54%; } + .exception-body.notfound-page .exception-panel i { + color: #9fa8da; } + .exception-body.accessdenied-page .exception-type { + background-color: #e91e63; } + .exception-body.accessdenied-page .exception-type img { + width: 50%; } + .exception-body.accessdenied-page .exception-panel i { + color: #f48fb1; } + +@media (max-width: 1024px) { + .exception-body .exception-panel { + margin-top: -50px; } } +@media (max-width: 640px) { + .exception-body .exception-panel { + width: 250px; + margin-top: -15px; } } +.landing-wrapper .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .landing-wrapper .ui-button:hover { + background-color: #274d8d; } +.landing-wrapper #header { + width: 100%; + min-height: 400px; + background: url("../images/landing/landing-header.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } + .landing-wrapper #header .header-top { + width: 960px; + margin: 0 auto; + padding: 30px 0px; } + .landing-wrapper #header .header-top .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo.png") top left no-repeat; } + .landing-wrapper #header .header-top #menu { + float: right; + list-style: none; + margin: 0; + padding: 0; } + .landing-wrapper #header .header-top #menu li { + float: left; + display: block; + margin-left: 30px; } + .landing-wrapper #header .header-top #menu li a { + color: #ffffff; } + .landing-wrapper #header .header-top #menu li i { + display: none; } + .landing-wrapper #header .header-top #menu.lmenu-active { + display: block; } + .landing-wrapper #header .header-top #menu-button { + height: 36px; + margin-top: -2px; + float: right; + color: #ffffff; + display: none; } + .landing-wrapper #header .header-top #menu-button i { + font-size: 36px; } + .landing-wrapper #header .header-content { + width: 960px; + margin: 0 auto; + text-align: center; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + color: #ffffff; + line-height: 36px; } +.landing-wrapper #features { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #features h2 { + font-weight: 400; + line-height: 28px; } + .landing-wrapper #features h3 { + font-weight: 400; } + .landing-wrapper #features p { + color: #757575; } + .landing-wrapper #features .ui-g-12 { + padding: 2em .5em; } + .landing-wrapper #features .feature-icon { + display: inline-block; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + background-color: #f4f8fc; + box-sizing: border-box; + width: 100px; + height: 100px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .landing-wrapper #features .feature-icon i { + margin-top: 30px; + font-size: 36px; } + .landing-wrapper #features .feature-icon:hover { + background-color: #e91e63; } + .landing-wrapper #features .feature-icon:hover i { + color: #ffffff; } +.landing-wrapper #promotion { + background: url("../images/landing/promotion.png") top left no-repeat; + background-size: 100% auto; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 150px 0 0 150px; } + .landing-wrapper #promotion .ui-lg-8 h1 { + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 { + margin: -50px 0 -50px 0; } + .landing-wrapper #promotion .ui-lg-4 .card { + -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + margin-bottom: 20px; } + .landing-wrapper #promotion .ui-lg-4 .card h3 { + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 .card p { + color: #757575; } + .landing-wrapper #promotion .ui-lg-4 .card:last-child { + margin-bottom: 0; } +.landing-wrapper #pricing { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #pricing h2 { + font-weight: 400; } + .landing-wrapper #pricing p { + color: #757575; } + .landing-wrapper #pricing .pricing-box .card { + height: 100%; + padding: 0; } + .landing-wrapper #pricing .pricing-box .pricing-header { + padding: 40px 0; + color: #ffffff; } + .landing-wrapper #pricing .pricing-box .pricing-header span { + display: block; + line-height: 48px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.name { + font-weight: 300; + font-size: 24px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.fee { + font-size: 48px; + font-weight: 700; } + .landing-wrapper #pricing .pricing-box .pricing-header span.type { + font-weight: 300; + font-size: 16px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul { + margin: 0; + padding: 30px 20px; + list-style-type: none; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li { + font-size: 18px; + text-align: left; + padding: 10px 14px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li i { + margin-right: 20px; + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li span { + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box.pricing-basic .pricing-header { + background-color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-basic i { + color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-standard .pricing-header { + background-color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-standard i { + color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-professional .pricing-header { + background-color: #607d8b; } + .landing-wrapper #pricing .pricing-box.pricing-professional i { + color: #607d8b; } +.landing-wrapper #video { + background-color: #f7f7f7; + min-width: 400px; } + .landing-wrapper #video .video-content { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #video .video-content h2 { + font-weight: 400; } + .landing-wrapper #video .video-content p { + color: #757575; } +.landing-wrapper .footer { + background-color: #f7f7f7; + border-top: 1px solid #dddddd; } + .landing-wrapper .footer .footer-content { + width: 960px; + margin: 0 auto; + padding: 30px 0px 50px 0px; } + .landing-wrapper .footer .footer-content ul { + float: right; + list-style-type: none; } + .landing-wrapper .footer .footer-content ul li a { + color: #757575; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .landing-wrapper .footer .footer-content ul li a:hover { + color: #212121; } + +@media (max-width: 1024px) { + .landing-wrapper #header { + min-height: 200px; + background-size: cover; } + .landing-wrapper #header .header-top { + z-index: 100; + position: fixed; + top: 0; + background: #424242; + background-size: 100% auto; + padding: 30px; + width: 100%; + box-sizing: border-box; + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .landing-wrapper #header .header-top #menu-button { + display: inline-block; } + .landing-wrapper #header .header-top #menu { + z-index: 100; + position: fixed; + top: 86px; + right: 30px; + float: none; + display: none; + margin: 0; + padding: 0; + width: 225px; + list-style: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: .5s; + -moz-animation-duration: .5s; + animation-duration: .5s; } + .landing-wrapper #header .header-top #menu li { + float: none; + margin-left: 0; } + .landing-wrapper #header .header-top #menu li a { + font-size: 16px; + display: block; + padding: 10px 16px; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .landing-wrapper #header .header-top #menu li a i { + color: #757575; + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .landing-wrapper #header .header-top #menu li a:hover { + background-color: #e8e8e8; } + .landing-wrapper #header .header-top #menu li a span { + display: inline-block; + vertical-align: middle; } + .landing-wrapper #header .header-content { + width: 100%; + padding: 100px 30px 60px 30px; + box-sizing: border-box; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; } + .landing-wrapper #features, .landing-wrapper #promotion, .landing-wrapper #pricing, .landing-wrapper #video, .landing-wrapper .footer .footer-content { + width: 100%; + padding-right: 30px; + padding-left: 30px; + box-sizing: border-box; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 100px 0 30px; + text-align: center; } + .landing-wrapper #promotion .ui-lg-8 h1 { + margin-top: -30px; + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #video .video-content { + width: 100%; } + .landing-wrapper #video .video-content .video-container iframe { + width: 350px; + height: 220px; } + .landing-wrapper .footer .footer-content { + text-align: center; } + .landing-wrapper .footer .footer-content ul { + float: none; + margin: 0; + padding: 0; } } +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .landing-wrapper .header .header-top .logo { + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } } +html { + height: 100%; } + +body { + font-family: Roboto,"Helvetica Neue",sans-serif; + font-size: 16px; + line-height: 1.5em; + color: #212121; + -webkit-font-smoothing: antialiased; + padding: 0; + margin: 0; + background-color: #f7f7f7; + min-height: 100%; } + body a { + text-decoration: none; } + +.layout-mask { + position: fixed; + width: 100%; + height: 100%; + background-color: #424242; + top: 0; + left: 0; + z-index: 999999997; + opacity: 0.7; + filter: alpha(opacity=70); } + +.layout-container .topbar { + position: fixed; + z-index: 100; + width: 100%; + height: 75px; + background-color: #3e464c; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container .topbar .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } + .layout-container .topbar .topbar-left { + box-sizing: border-box; + padding: 20px; + height: 75px; + width: 250px; + background-color: #2b3135; + float: left; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); } + .layout-container .topbar .topbar-right { + padding: 15px; + position: relative; } + .layout-container .topbar .topbar-right #menu-button { + color: #ffffff; + display: inline-block; + vertical-align: middle; + height: 36px; + margin-right: 10px; + position: relative; + left: -16px; + top: 3px; + background-color: #5180ce; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); } + .layout-container .topbar .topbar-right #menu-button:hover { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + .layout-container .topbar .topbar-right #menu-button i { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #menu-button i:before { + content: "chevron_left"; } + .layout-container .topbar .topbar-right #topbar-menu-button, .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: none; + color: #ffffff; + vertical-align: middle; + height: 36px; + margin-top: 4px; + float: right; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .layout-container .topbar .topbar-right #topbar-menu-button i, .layout-container .topbar .topbar-right #rightpanel-menu-button i { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: block; } + .layout-container .topbar .topbar-right #rightpanel-menu-button:hover { + color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items .search-item input { + position: relative; + top: -10px; + font-size: 16px; + background-color: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + border-color: #ffffff; + color: #ffffff; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus { + outline: 0 none; + border-bottom-width: 2px; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus ~ label { + top: -5px; + font-size: 12px; + color: #3e464c; } + .layout-container .topbar .topbar-right .topbar-items .search-item input.ui-state-filled ~ label { + display: none; } + .layout-container .topbar .topbar-right .topbar-items .search-item label { + color: #ffffff; + top: 8px; } +.layout-container .layout-menu { + overflow: visible; + position: fixed; + width: 250px; + z-index: 99; + top: 75px; + height: 100%; + background-color: #ffffff; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-menu .ui-scrollpanel { + background: transparent; + border-radius: 0; + border: none; } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-bar { + background-color: #aaaaaa; + opacity: 0.3; + filter: alpha(opacity=30); } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-menu .ui-scrollpanel .layout-menu { + padding-bottom: 120px; } + .layout-container .layout-menu .profile { + box-sizing: border-box; + padding-top: 2em; + width: 250px; + height: 145px; + text-align: center; + background: url("../images/profile-bg.png") top left no-repeat; + background-size: 250px 145px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); } + .layout-container .layout-menu .profile .profile-image { + width: 60px; + height: 60px; + margin: 0 auto 5px auto; + display: block; } + .layout-container .layout-menu .profile .profile-name { + display: inline-block; + color: #212121; + vertical-align: middle; + font-size: 1em; } + .layout-container .layout-menu .profile i { + color: #212121; + vertical-align: middle; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .layout-menu .profile.profile-expanded i { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .layout-menu .profile-menu { + border-bottom: 1px solid #d6d5d5; + overflow: hidden; } + .layout-container .layout-menu .profile-menu li:first-child { + margin-top: 1em; } + .layout-container .layout-menu .profile-menu li:last-child { + margin-bottom: 1em; } + .layout-container .layout-menu.layout-menu-dark { + background-color: #2b3135; } + .layout-container .layout-menu.layout-menu-dark .profile { + background-image: url("../images/profile-bg-dark.png"); } + .layout-container .layout-menu.layout-menu-dark .profile .profile-name { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile-menu { + border-bottom: 1px solid #545454; } + .layout-container .layout-menu.layout-menu-dark .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + border-radius: 0; + border: none; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #777d81; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #5180ce; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #5180ce; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #5180ce; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink { + color: #ffffff; + background-color: #5180ce; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink i { + color: #212121; } + .layout-container .layout-menu .menuitem-badge { + position: absolute; + right: 3.5em; + top: .75em; + display: inline-block; + width: 1em; + height: 1em; + margin-right: .5em; + text-align: center; + background-color: #5180ce; + color: #ffffff; + font-size: 14px; + font-weight: 700; + line-height: 1em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + .layout-container .layout-menu .layout-menu-tooltip { + display: none; + padding: 0 5px; + position: absolute; + left: 76px; + top: 6px; + z-index: 101; + line-height: 1; } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text { + padding: 6px 8px; + font-weight: 700; + background-color: #202427; + color: #ffffff; + min-width: 75px; + white-space: nowrap; + text-align: center; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #202427; } +.layout-container.menu-layout-overlay .layout-menu { + margin-left: -250px; } +.layout-container.menu-layout-overlay .layout-main { + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-menu { + z-index: 999999999; + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-mask { + display: block; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); } +.layout-container.menu-layout-overlay .topbar { + z-index: 999999998; } + .layout-container.menu-layout-overlay .topbar .topbar-right #menu-button i { + font-size: 36px !important; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.layout-container .layout-main { + padding: 75px 0 0 0; + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-main .layout-content { + padding: 16px; } +.layout-container .layout-mask { + display: none; } +.layout-container .layout-breadcrumb { + background-color: #ffffff; + box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -webkit-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -moz-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + min-height: 42px; } + .layout-container .layout-breadcrumb:before, .layout-container .layout-breadcrumb:after { + content: ""; + display: table; } + .layout-container .layout-breadcrumb:after { + clear: both; } + .layout-container .layout-breadcrumb ul { + margin: 8px 0 0 0; + padding: 0 0 0 20px; + list-style: none; + color: #757575; + display: inline-block; } + .layout-container .layout-breadcrumb ul li { + display: inline-block; + vertical-align: top; + color: #757575; } + .layout-container .layout-breadcrumb ul li:nth-child(even) { + font-size: 20px; } + .layout-container .layout-breadcrumb ul li:first-child(even) { + color: #3e464c; } + .layout-container .layout-breadcrumb ul li a { + color: #757575; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options { + float: right; + padding: 0px 20px 0 0; + height: 100%; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a { + color: #757575; + display: inline-block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a:hover { + background-color: #e8e8e8; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a i { + line-height: inherit; } +.layout-container .ultima-menu { + margin: 0; + padding: 0; + list-style: none; + width: 268px; } + .layout-container .ultima-menu.ultima-main-menu { + margin-top: 16px; + padding-bottom: 120px; } + .layout-container .ultima-menu li a { + font-size: 1em; + display: block; + padding: .5em 2.5em .5em 1em; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .layout-container .ultima-menu li a i { + color: #757575; } + .layout-container .ultima-menu li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .5em; + font-size: 1.5em; } + .layout-container .ultima-menu li a i:last-child { + float: right; + font-size: 20px; + margin-top: .15em; + margin-right: -.15em; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .ultima-menu li a:hover { + background-color: #e8e8e8; } + .layout-container .ultima-menu li a span { + display: inline-block; + vertical-align: middle; } + .layout-container .ultima-menu li a.active-menuitem-routerlink { + color: #5180ce; } + .layout-container .ultima-menu li a.active-menuitem-routerlink > i { + color: #5180ce; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #757575; } + .layout-container .ultima-menu li.active-menuitem > a { + color: #3e464c; + background-color: #e8e8e8; } + .layout-container .ultima-menu li.active-menuitem > a i { + color: #3e464c; } + .layout-container .ultima-menu li.active-menuitem > a i:last-child { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .ultima-menu li ul { + padding: 0; + margin: 0; + list-style: none; + overflow: hidden; } + .layout-container .ultima-menu li ul li a { + padding: .5em 2.5em .5em 2em; } + .layout-container .ultima-menu li ul li a > span { + font-size: 15px; } + .layout-container .ultima-menu li ul li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .6em; + font-size: 1.250em; } + .layout-container .ultima-menu li ul li ul li a { + padding-left: 3em; } + .layout-container .ultima-menu li ul li ul ul li a { + padding-left: 4em; } + .layout-container .ultima-menu li ul li ul ul ul li a { + padding-left: 5em; } + .layout-container .ultima-menu li ul li ul ul ul ul li a { + padding-left: 6em; } + .layout-container .ultima-menu li.red-badge > a .menuitem-badge { + background-color: #F44336; + color: #ffffff; } + .layout-container .ultima-menu li.purple-badge > a .menuitem-badge { + background-color: #4527A0; + color: #ffffff; } + .layout-container .ultima-menu li.teal-badge > a .menuitem-badge { + background-color: #00695C; + color: #ffffff; } +.layout-container .footer { + padding: .5em; } + .layout-container .footer .footer-text-left { + float: left; } + .layout-container .footer .footer-text-right { + color: #757575; + float: right; } + .layout-container .footer .footer-text-right span { + vertical-align: middle; + display: inline-block; } +.layout-container .layout-rightpanel { + position: fixed; + top: 75px; + height: 100%; + right: -240px; + width: 240px; + z-index: 100; + background-color: #ffffff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -moz-transition: right 0.3s; + -o-transition: right 0.3s; + -webkit-transition: right 0.3s; + transition: right 0.3s; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); } + .layout-container .layout-rightpanel.layout-rightpanel-active { + right: 0; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); } + .layout-container .layout-rightpanel .layout-rightpanel-content { + padding: 14px; + padding-bottom: 120px; } + .layout-container .layout-rightpanel .ui-scrollpanel { + border-radius: 0; + border: none; } + .layout-container .layout-rightpanel .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-rightpanel .ui-scrollpanel .layout-rightpanel-wrapper { + width: 258px; + padding-right: 18px; } + +.ajax-loader { + font-size: 2em; + color: #5180ce; } + +@media (min-width: 1025px) { + .layout-container .topbar-items { + float: right; + margin: 0; + padding: 5px 0 0 0; + list-style-type: none; } + .layout-container .topbar-items > li { + float: right; + position: relative; + margin-left: 8px; } + .layout-container .topbar-items > li > a { + position: relative; + display: block; } + .layout-container .topbar-items > li > a .topbar-item-name { + display: none; } + .layout-container .topbar-items > li > a .topbar-badge { + position: absolute; + right: -5px; + top: -5px; + background-color: #5180ce; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar-items > li .topbar-icon { + font-size: 36px; + color: #ffffff; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .layout-container .topbar-items > li .topbar-icon:hover { + color: #e8e8e8; } + .layout-container .topbar-items > li.profile-item .profile-image { + width: 36px; + height: 36px; } + .layout-container .topbar-items > li > ul { + position: absolute; + top: 55px; + right: 5px; + display: none; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; } + .layout-container .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar-items > li .topbar-message img { + display: inline-block; + vertical-align: middle; + margin-right: 12px; } + .layout-container.menu-layout-static .layout-menu { + margin-left: 0; } + .layout-container.menu-layout-static .layout-main { + margin-left: 250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-menu { + margin-left: -250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static .layout-mask { + display: none; } + .layout-container.menu-layout-horizontal .topbar { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-left { + background-color: #3e464c; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-horizontal .layout-menu { + overflow: visible; + position: fixed; + width: 100%; + top: 75px; + height: auto; + background-color: #2b3135; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel { + overflow: visible; + border: none; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu { + width: 100%; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu.ultima-main-menu { + margin-top: 0; + padding-bottom: 0; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li { + float: left; + position: relative; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a { + padding: .5em 1em; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover { + background-color: #e8e8e8; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink { + color: #5180ce; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink > i { + color: #5180ce; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + position: absolute; + top: 41px; + left: 0px; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li a { + padding: 10px 16px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul { + position: static; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul li a { + padding-left: 80px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul ul li a { + padding-left: 96px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > a { + color: #3e464c; + background-color: #e8e8e8; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a { + color: #ffffff; + background-color: #5180ce; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark { + background-color: #2b3135; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #777d81; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #5180ce; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #5180ce; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #5180ce; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li ul { + background-color: #2b3135; } + .layout-container.menu-layout-horizontal .layout-menu .menuitem-badge { + left: 32px; + top: 7px; } + .layout-container.menu-layout-horizontal .layout-menu .active-menuitem .menuitem-badge { + background-color: #ffffff; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-main { + padding-top: 116px; + margin-left: 0px; } + .layout-container.menu-layout-horizontal .layout-mask { + display: none; } + .layout-container.menu-layout-slim .topbar { + left: 75px; + width: calc(100% - 75px); } + .layout-container.menu-layout-slim .topbar .topbar-left { + background: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-slim .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-slim .layout-menu { + width: 75px; + overflow: visible; + z-index: 100; + top: 0; } + .layout-container.menu-layout-slim .layout-menu .profile { + width: calc(100% - 18px); + height: 74px; + padding-top: 15px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-image { + width: 45px; + height: 45px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-name, .layout-container.menu-layout-slim .layout-menu .profile > a i { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel { + border: none; + border-radius: 0; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu { + padding: 0; + width: calc(100% - 18px); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li { + position: relative; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a { + text-align: center; + padding-left: 0; + padding-right: 0; + padding-top: .5em; + padding-bottom: .5em; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a i:first-child { + font-size: 1.75em; + margin-right: 0; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a span, .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a .submenu-icon { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a:hover + .layout-menu-tooltip { + display: block; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul { + background-color: #ffffff; + position: absolute; + top: 0; + left: 75px; + min-width: 200px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li a { + padding: .5em 1em .5em 2em; + padding-left: 16px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul li a { + padding: 80px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul ul li a { + padding: 96px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li.active-menuitem > a:hover + .layout-menu-tooltip { + display: none; } + .layout-container.menu-layout-slim .layout-menu.layout-menu-dark .ultima-menu > li > ul { + background-color: #2b3135; } + .layout-container.menu-layout-slim .layout-main { + margin-left: 75px; } + .layout-container.menu-layout-slim .layout-footer { + margin-left: 75px; } } +@media (max-width: 1024px) { + .layout-container.menu-layout-static .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static .layout-menu { + margin-left: -265px; } + .layout-container.menu-layout-static .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-menu { + margin-left: 0; + z-index: 999999999; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar { + z-index: 999999998; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); } + .layout-container.menu-layout-static.layout-menu-static-active .layout-main { + margin-left: 0; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-mask { + display: block; } + .layout-container .topbar .topbar-right #topbar-menu-button { + display: block; } + .layout-container .topbar .topbar-right .topbar-items { + position: absolute; + top: 75px; + right: 15px; + width: 275px; + display: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + list-style-type: none; + margin: 0; + padding: 0; } + .layout-container .topbar .topbar-right .topbar-items > li > a { + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + color: #212121; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li > a i { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .layout-container .topbar .topbar-right .topbar-items > li > a:hover { + background-color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-item-name { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-badge { + position: absolute; + left: 30px; + top: 10px; + background-color: #5180ce; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar .topbar-right .topbar-items > li > ul { + display: none; } + .layout-container .topbar .topbar-right .topbar-items > li > ul li a span, .layout-container .topbar .topbar-right .topbar-items > li > ul li a img, .layout-container .topbar .topbar-right .topbar-items > li > ul li a i { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > a { + color: #3e464c; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a { + padding-left: 32px; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item { + text-align: center; + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input { + top: 0; + width: 100%; + box-sizing: border-box; + padding-right: 16px; + border-color: #bdbdbd; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus { + margin-bottom: -1px; + border-color: #bdbdbd; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus ~ label, + .layout-container .topbar .topbar-right .topbar-items > li.search-item input.ui-state-filled ~ label { + top: -20px; + color: #3e464c; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item label { + top: 1px; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item i { + position: absolute; + right: 5px; + top: -2px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item .profile-image { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + background: url("../images/avatar.png") top left no-repeat; + background-size: 24px 24px; + margin-right: 14px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item span { + vertical-align: middle; + display: inline-block; } + .layout-container .topbar .topbar-right .topbar-items.topbar-items-visible { + display: block; } } +@media (max-width: 385px) { + .layout-container .topbar .topbar-right #topbar-menu-button { + position: absolute; + height: 1.5em; + right: 24px; + top: 1.375em; } + .layout-container .topbar .topbar-right #topbar-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + position: absolute; + height: 1.5em; + right: 8px; + top: 1.375em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #menu-button { + margin-right: 0; } } +body .layout-wrapper.layout-compact { + font-size: 14px; + line-height: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li a i:last-child { + font-size: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li ul li a span { + font-size: 14px; } + body .layout-wrapper.layout-compact .layout-container .layout-breadcrumb ul li { + vertical-align: middle; } + body .layout-wrapper.layout-compact .ui-radiobutton .ui-radiobutton-box { + width: 18px; + height: 18px; } + body .layout-wrapper.layout-compact .ui-datepicker tbody td a, body .layout-wrapper.layout-compact .ui-datepicker body .ui-datepicker tbody td span { + padding-top: .25em; } + +@media (min-width: 1025px) { + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + top: 35px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li span { + font-size: 14px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-main { + padding-top: 110px; } } diff --git a/src/assets/layout/css/layout-dark-blue.scss b/src/assets/layout/css/layout-dark-blue.scss new file mode 100644 index 0000000..a726c1b --- /dev/null +++ b/src/assets/layout/css/layout-dark-blue.scss @@ -0,0 +1,14 @@ +$primaryColor: #3e464c; +$primaryDarkColor: #2b3135; +$primaryLightColor: #777d81; +$accentColor: #5180ce; +$accentDarkColor: #274d8d; +$accentLightColor: #86b0f5; +$accentTextColor: #ffffff; +$darkMenuBgColor: #2b3135; +$darkMenuHoverColor: #777d81; +$darkMenuRouterLinkActiveColor: #5180ce; +$lightMenuRouterLinkActiveColor: #5180ce; +$horizontalLightMenuRouterLinkActiveColor: #5180ce; + +@import '../../sass/layout/_layout'; \ No newline at end of file diff --git a/src/assets/layout/css/layout-dark-green.css b/src/assets/layout/css/layout-dark-green.css new file mode 100644 index 0000000..2ddc51f --- /dev/null +++ b/src/assets/layout/css/layout-dark-green.css @@ -0,0 +1,1875 @@ +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url("../fonts/roboto-v15-latin-300.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-300.woff2") format("woff2"), url("../fonts/roboto-v15-latin-300.woff") format("woff"), url("../fonts/roboto-v15-latin-300.ttf") format("truetype"), url("../fonts/roboto-v15-latin-300.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url("../fonts/roboto-v15-latin-regular.eot"); + /* IE9 Compat Modes */ + src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v15-latin-regular.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v15-latin-regular.woff") format("woff"), url("../fonts/roboto-v15-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v15-latin-regular.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url("../fonts/roboto-v15-latin-700.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v15-latin-700.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-700.woff2") format("woff2"), url("../fonts/roboto-v15-latin-700.woff") format("woff"), url("../fonts/roboto-v15-latin-700.ttf") format("truetype"), url("../fonts/roboto-v15-latin-700.svg#Roboto") format("svg"); + /* Legacy iOS */ } +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../fonts/MaterialIcons-Regular.eot"); + /* For IE6-8 */ + src: local("Material Icons"), local("MaterialIcons-Regular"), url("../fonts/MaterialIcons-Regular.woff2") format("woff2"), url("../fonts/MaterialIcons-Regular.woff") format("woff"), url("../fonts/MaterialIcons-Regular.ttf") format("truetype"); } +/* Utils */ +.clearfix:after { + content: " "; + display: block; + clear: both; } + +*[hidden] { + display: none; } + +.card { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + background: #ffffff; + padding: 1em; + margin-bottom: 1em; + box-sizing: border-box; } + .card.card-w-title { + padding-bottom: 2em; } + .card h1 { + font-size: 1.5em; + font-weight: 400; + margin: 1em 0; } + .card h1:first-child { + margin-top: .667em; } + .card h2 { + font-size: 1.375em; + font-weight: 400; } + .card h3 { + font-size: 1.250em; + font-weight: 400; } + .card h4 { + font-size: 1.125em; + font-weight: 400; } + +.nopad { + padding: 0; } + .nopad .ui-panel-content { + padding: 0; } + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: none; + transform: none; } } +@keyframes fadeInDown { + from { + opacity: 0; + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + transform: none; } } +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); } } +@keyframes spin { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } +.ui-icon-spin { + -webkit-animation-name: spin; + animation-name: spin; } + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; } + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; } + +.ui-shadow-1 { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.ui-shadow-2 { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-3 { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-4 { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.ui-shadow-5 { + -webkit-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.ui-g { + -ms-flex-wrap: wrap; } + .ui-g.form-group > div { + padding: 1em; } + .ui-g.form-group-m > div { + padding: 1em; } + +/* Ripple */ +/* Ripple Effect Style like Google Material Buttons Effect*/ +.ripplelink { + /* display:block; */ + /*color:#fff;*/ + text-decoration: none; + position: relative; + overflow: hidden; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; + z-index: 0; } + +.ripplelink:hover { + /*z-index:1000;*/ } + +.ink { + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.4); + border-radius: 100%; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); } + +.ripple-animate { + -webkit-animation: ripple 0.65s linear; + -moz-animation: ripple 0.65s linear; + -ms-animation: ripple 0.65s linear; + -o-animation: ripple 0.65s linear; + animation: ripple 0.65s linear; } + +@-webkit-keyframes ripple { + 100% { + opacity: 0; + -webkit-transform: scale(2.5); } } +@-moz-keyframes ripple { + 100% { + opacity: 0; + -moz-transform: scale(2.5); } } +@-o-keyframes ripple { + 100% { + opacity: 0; + -o-transform: scale(2.5); } } +@keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); } } +.splash-screen { + width: 100%; + min-height: 100%; + background-color: #3F51B5; + position: absolute; } + +.splash-loader-container { + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-left: -32px; + margin-top: -32px; } + +.splash-loader { + animation: rotator 1.4s linear infinite; } + +@keyframes rotator { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(270deg); } } +.splash-path { + stroke-dasharray: 187; + stroke-dashoffset: 0; + transform-origin: center; + animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; } + +@keyframes colors { + 0% { + stroke: #4285F4; } + 25% { + stroke: #DE3E35; } + 50% { + stroke: #F7C223; } + 75% { + stroke: #1B9A59; } + 100% { + stroke: #4285F4; } } +@keyframes dash { + 0% { + stroke-dashoffset: 187; } + 50% { + stroke-dashoffset: 46.75; + transform: rotate(135deg); } + 100% { + stroke-dashoffset: 187; + transform: rotate(450deg); } } +.dashboard .overview { + padding: 0 !important; + min-height: 140px; + position: relative; + margin-bottom: 0px !important; } + .dashboard .overview .overview-content { + padding: 16px; } + .dashboard .overview .overview-content .overview-title { + font-size: 18px; } + .dashboard .overview .overview-content .overview-badge { + float: right; + color: #757575; } + .dashboard .overview .overview-content .overview-detail { + display: block; + font-size: 24px; + margin-top: 5px; } + .dashboard .overview .overview-footer { + position: absolute; + bottom: 0; + width: 100%; } + .dashboard .overview .overview-footer img { + display: block; } +.dashboard .colorbox { + padding: 0 !important; + text-align: center; + overflow: hidden; + margin-bottom: 0px !important; } + .dashboard .colorbox i { + font-size: 48px; + margin-top: 10px; + color: #ffffff; } + .dashboard .colorbox .colorbox-name { + font-size: 20px; + display: inline-block; + width: 100%; + margin: 4px 0 10px 0; + color: #ffffff; } + .dashboard .colorbox .colorbox-count { + color: #ffffff; + font-size: 36px; } + .dashboard .colorbox .colorbox-count { + font-weight: bold; } + .dashboard .colorbox.colorbox-1 { + background-color: #4CAF50; } + .dashboard .colorbox.colorbox-1 div:first-child { + background-color: #2E7D32; } + .dashboard .colorbox.colorbox-2 { + background-color: #03A9F4; } + .dashboard .colorbox.colorbox-2 div:first-child { + background-color: #0277BD; } + .dashboard .colorbox.colorbox-3 { + background-color: #673AB7; } + .dashboard .colorbox.colorbox-3 div:first-child { + background-color: #4527A0; } + .dashboard .colorbox.colorbox-4 { + background-color: #009688; } + .dashboard .colorbox.colorbox-4 div:first-child { + background-color: #00695C; } +.dashboard .task-list { + overflow: hidden; } + .dashboard .task-list > .ui-panel { + min-height: 340px; } + .dashboard .task-list .ui-panel-content { + padding: 10px 0 !important; } + .dashboard .task-list ul { + list-style-type: none; + margin: 0; + padding: 0; } + .dashboard .task-list ul li { + padding: 0.625em 0.875em; + border-bottom: 1px solid #dbdbdb; } + .dashboard .task-list ul li:first-child { + margin-top: 10px; } + .dashboard .task-list ul .ui-chkbox { + vertical-align: middle; + margin-right: 5px; } + .dashboard .task-list ul .task-name { + vertical-align: middle; } + .dashboard .task-list ul i { + color: #757575; + float: right; } +.dashboard .contact-form { + overflow: hidden; } + .dashboard .contact-form .ui-panel { + min-height: 340px; } + .dashboard .contact-form .ui-g-12 { + padding: 16px 10px; } + .dashboard .contact-form .ui-button { + margin-top: 20px; } +.dashboard .contacts { + overflow: hidden; } + .dashboard .contacts > .ui-panel { + min-height: 340px; } + .dashboard .contacts .ui-panel-content { + padding: 15px 0 10px 0 !important; } + .dashboard .contacts ul { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .contacts ul li { + border-bottom: 1px solid #d8d8d8; } + .dashboard .contacts ul li a { + padding: 9px; + width: 100%; + box-sizing: border-box; + text-decoration: none; + position: relative; + display: block; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-transition: background-color 0.2s; + -o-transition: background-color 0.2s; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; } + .dashboard .contacts ul li a .name { + position: absolute; + right: 10px; + top: 10px; + font-size: 18px; + color: #212121; } + .dashboard .contacts ul li a .email { + position: absolute; + right: 10px; + top: 30px; + font-size: 14px; + color: #757575; } + .dashboard .contacts ul li a:hover { + cursor: pointer; + background-color: #e8e8e8; } + .dashboard .contacts ul li:last-child { + border: 0; } +.dashboard .activity-list { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .activity-list li { + border-bottom: 1px solid #bdbdbd; + padding: 15px 0 9px 9px; } + .dashboard .activity-list li .count { + font-size: 24px; + color: #ffffff; + background-color: #03A9F4; + font-weight: bold; + display: inline-block; + padding: 5px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; } + .dashboard .activity-list li:first-child { + border-top: 1px solid #bdbdbd; } + .dashboard .activity-list li:last-child { + border: 0; } + .dashboard .activity-list li .ui-g-6:first-child { + font-size: 18px; + padding-left: 0; } + .dashboard .activity-list li .ui-g-6:last-child { + text-align: right; + color: #757575; } +.dashboard .timeline { + height: 100%; + box-sizing: border-box; } + .dashboard .timeline > .ui-g .ui-g-3 { + font-size: 14px; + position: relative; + border-right: 1px solid #bdbdbd; } + .dashboard .timeline > .ui-g .ui-g-3 i { + background-color: #ffffff; + font-size: 36px; + position: absolute; + top: 0px; + right: -18px; } + .dashboard .timeline > .ui-g .ui-g-9 { + padding-left: 1.5em; } + .dashboard .timeline > .ui-g .ui-g-9 .event-text { + color: #757575; + font-size: 14px; + display: block; + padding-bottom: 20px; } + .dashboard .timeline > .ui-g .ui-g-9 .event-content img { + width: 100%; } +.dashboard > div > .ui-panel { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + +.layout-rightpanel .layout-rightpanel-header { + background: url("../images/dashboard/sidebar-image.jpg") no-repeat; + background-size: cover; + height: 118px; + padding: 20px 14px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .layout-rightpanel .layout-rightpanel-header .weather-day, .layout-rightpanel .layout-rightpanel-header .weather-date { + color: #ffffff; + left: 14px; + font-size: 18px; + font-weight: 700; + padding-bottom: 4px; } +.layout-rightpanel .layout-rightpanel-content { + padding: 14px; } + .layout-rightpanel .layout-rightpanel-content h1 { + font-size: 18px; + margin: 0 0 4px 0; } + .layout-rightpanel .layout-rightpanel-content h2 { + font-size: 16px; + margin: 0; + color: #757575; + font-weight: normal; } + .layout-rightpanel .layout-rightpanel-content .weather-today { + text-align: center; + margin-top: 28px; } + .layout-rightpanel .layout-rightpanel-content .weather-today .weather-today-value { + font-size: 36px; + vertical-align: middle; + margin-right: 14px; } + .layout-rightpanel .layout-rightpanel-content .weather-today img { + vertical-align: middle; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather { + list-style-type: none; + margin: 28px 0 0 0; + padding: 0; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li { + padding: 8px 14px; + border-bottom: 1px solid #d8dae2; + position: relative; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li .weekly-weather-value { + position: absolute; + right: 40px; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li img { + width: 24px; + position: absolute; + right: 0px; + top: 4px; } + +.login-body { + background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + height: auto; } + +.login-panel { + text-align: center; + width: 350px; + min-height: 440px; + padding: 50px 20px; + margin: 100px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 25px 40px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-bottom: 20px; } + .login-panel .ui-button:hover { + background-color: #0e2031; } + .login-panel .ui-button:focus { + outline: 0 none; + background-color: #425a70; } + .login-panel .ui-button.secondary:hover { + background-color: #197865; } + .login-panel .ui-button.secondary:focus { + outline: 0 none; + background-color: #21dfb8; } + .login-panel .ui-inputtext:focus { + border-width: 0 0 2px 0; + border-color: #2f4050; + padding-bottom: 0px; } + +.login-footer { + position: absolute; + bottom: 10px; + font-size: 16px; + width: 100%; + text-align: center; + color: #757575; } + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + background: url("../images/login/login2x.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } } +@media (max-width: 1024px) { + .login-panel { + text-align: center; + min-height: 440px; + margin: 100px auto 0 auto; } } +@media (max-width: 640px) { + .login-panel { + text-align: center; + width: 300px; + min-height: 440px; + padding: 40px 20px; + margin: 75px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 20px 20px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-top: 30px; } } +.exception-body { + background-color: #f7f7f7; + height: auto; } + .exception-body .exception-type { + width: 100%; + height: 50%; + padding: 100px 100px 0 100px; + box-sizing: border-box; + text-align: center; } + .exception-body .exception-panel { + text-align: center; + width: 350px; + padding: 35px; + margin: -10% auto 0 auto; + z-index: 100; } + .exception-body .exception-panel i { + font-size: 72px; } + .exception-body .exception-panel h1 { + font-size: 36px; + line-height: 36px; + color: #757575; } + .exception-body .exception-panel .exception-detail { + margin: 20px 0px 100px 0px; + color: #757575; } + .exception-body .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .exception-body .ui-button:hover { + background-color: #197865; } + .exception-body.error-page .exception-type { + background-color: #e62a10; } + .exception-body.error-page .exception-type img { + width: 100%; } + .exception-body.error-page .exception-panel i { + color: #f79a84; } + .exception-body.notfound-page .exception-type { + background-color: #3f51b5; } + .exception-body.notfound-page .exception-type img { + width: 54%; } + .exception-body.notfound-page .exception-panel i { + color: #9fa8da; } + .exception-body.accessdenied-page .exception-type { + background-color: #e91e63; } + .exception-body.accessdenied-page .exception-type img { + width: 50%; } + .exception-body.accessdenied-page .exception-panel i { + color: #f48fb1; } + +@media (max-width: 1024px) { + .exception-body .exception-panel { + margin-top: -50px; } } +@media (max-width: 640px) { + .exception-body .exception-panel { + width: 250px; + margin-top: -15px; } } +.landing-wrapper .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .landing-wrapper .ui-button:hover { + background-color: #197865; } +.landing-wrapper #header { + width: 100%; + min-height: 400px; + background: url("../images/landing/landing-header.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } + .landing-wrapper #header .header-top { + width: 960px; + margin: 0 auto; + padding: 30px 0px; } + .landing-wrapper #header .header-top .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo.png") top left no-repeat; } + .landing-wrapper #header .header-top #menu { + float: right; + list-style: none; + margin: 0; + padding: 0; } + .landing-wrapper #header .header-top #menu li { + float: left; + display: block; + margin-left: 30px; } + .landing-wrapper #header .header-top #menu li a { + color: #ffffff; } + .landing-wrapper #header .header-top #menu li i { + display: none; } + .landing-wrapper #header .header-top #menu.lmenu-active { + display: block; } + .landing-wrapper #header .header-top #menu-button { + height: 36px; + margin-top: -2px; + float: right; + color: #ffffff; + display: none; } + .landing-wrapper #header .header-top #menu-button i { + font-size: 36px; } + .landing-wrapper #header .header-content { + width: 960px; + margin: 0 auto; + text-align: center; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + color: #ffffff; + line-height: 36px; } +.landing-wrapper #features { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #features h2 { + font-weight: 400; + line-height: 28px; } + .landing-wrapper #features h3 { + font-weight: 400; } + .landing-wrapper #features p { + color: #757575; } + .landing-wrapper #features .ui-g-12 { + padding: 2em .5em; } + .landing-wrapper #features .feature-icon { + display: inline-block; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + background-color: #f4f8fc; + box-sizing: border-box; + width: 100px; + height: 100px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .landing-wrapper #features .feature-icon i { + margin-top: 30px; + font-size: 36px; } + .landing-wrapper #features .feature-icon:hover { + background-color: #e91e63; } + .landing-wrapper #features .feature-icon:hover i { + color: #ffffff; } +.landing-wrapper #promotion { + background: url("../images/landing/promotion.png") top left no-repeat; + background-size: 100% auto; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 150px 0 0 150px; } + .landing-wrapper #promotion .ui-lg-8 h1 { + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 { + margin: -50px 0 -50px 0; } + .landing-wrapper #promotion .ui-lg-4 .card { + -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + margin-bottom: 20px; } + .landing-wrapper #promotion .ui-lg-4 .card h3 { + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 .card p { + color: #757575; } + .landing-wrapper #promotion .ui-lg-4 .card:last-child { + margin-bottom: 0; } +.landing-wrapper #pricing { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #pricing h2 { + font-weight: 400; } + .landing-wrapper #pricing p { + color: #757575; } + .landing-wrapper #pricing .pricing-box .card { + height: 100%; + padding: 0; } + .landing-wrapper #pricing .pricing-box .pricing-header { + padding: 40px 0; + color: #ffffff; } + .landing-wrapper #pricing .pricing-box .pricing-header span { + display: block; + line-height: 48px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.name { + font-weight: 300; + font-size: 24px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.fee { + font-size: 48px; + font-weight: 700; } + .landing-wrapper #pricing .pricing-box .pricing-header span.type { + font-weight: 300; + font-size: 16px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul { + margin: 0; + padding: 30px 20px; + list-style-type: none; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li { + font-size: 18px; + text-align: left; + padding: 10px 14px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li i { + margin-right: 20px; + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li span { + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box.pricing-basic .pricing-header { + background-color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-basic i { + color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-standard .pricing-header { + background-color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-standard i { + color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-professional .pricing-header { + background-color: #607d8b; } + .landing-wrapper #pricing .pricing-box.pricing-professional i { + color: #607d8b; } +.landing-wrapper #video { + background-color: #f7f7f7; + min-width: 400px; } + .landing-wrapper #video .video-content { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #video .video-content h2 { + font-weight: 400; } + .landing-wrapper #video .video-content p { + color: #757575; } +.landing-wrapper .footer { + background-color: #f7f7f7; + border-top: 1px solid #dddddd; } + .landing-wrapper .footer .footer-content { + width: 960px; + margin: 0 auto; + padding: 30px 0px 50px 0px; } + .landing-wrapper .footer .footer-content ul { + float: right; + list-style-type: none; } + .landing-wrapper .footer .footer-content ul li a { + color: #757575; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .landing-wrapper .footer .footer-content ul li a:hover { + color: #212121; } + +@media (max-width: 1024px) { + .landing-wrapper #header { + min-height: 200px; + background-size: cover; } + .landing-wrapper #header .header-top { + z-index: 100; + position: fixed; + top: 0; + background: #424242; + background-size: 100% auto; + padding: 30px; + width: 100%; + box-sizing: border-box; + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .landing-wrapper #header .header-top #menu-button { + display: inline-block; } + .landing-wrapper #header .header-top #menu { + z-index: 100; + position: fixed; + top: 86px; + right: 30px; + float: none; + display: none; + margin: 0; + padding: 0; + width: 225px; + list-style: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: .5s; + -moz-animation-duration: .5s; + animation-duration: .5s; } + .landing-wrapper #header .header-top #menu li { + float: none; + margin-left: 0; } + .landing-wrapper #header .header-top #menu li a { + font-size: 16px; + display: block; + padding: 10px 16px; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .landing-wrapper #header .header-top #menu li a i { + color: #757575; + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .landing-wrapper #header .header-top #menu li a:hover { + background-color: #e8e8e8; } + .landing-wrapper #header .header-top #menu li a span { + display: inline-block; + vertical-align: middle; } + .landing-wrapper #header .header-content { + width: 100%; + padding: 100px 30px 60px 30px; + box-sizing: border-box; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; } + .landing-wrapper #features, .landing-wrapper #promotion, .landing-wrapper #pricing, .landing-wrapper #video, .landing-wrapper .footer .footer-content { + width: 100%; + padding-right: 30px; + padding-left: 30px; + box-sizing: border-box; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 100px 0 30px; + text-align: center; } + .landing-wrapper #promotion .ui-lg-8 h1 { + margin-top: -30px; + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #video .video-content { + width: 100%; } + .landing-wrapper #video .video-content .video-container iframe { + width: 350px; + height: 220px; } + .landing-wrapper .footer .footer-content { + text-align: center; } + .landing-wrapper .footer .footer-content ul { + float: none; + margin: 0; + padding: 0; } } +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .landing-wrapper .header .header-top .logo { + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } } +html { + height: 100%; } + +body { + font-family: Roboto,"Helvetica Neue",sans-serif; + font-size: 16px; + line-height: 1.5em; + color: #212121; + -webkit-font-smoothing: antialiased; + padding: 0; + margin: 0; + background-color: #f7f7f7; + min-height: 100%; } + body a { + text-decoration: none; } + +.layout-mask { + position: fixed; + width: 100%; + height: 100%; + background-color: #424242; + top: 0; + left: 0; + z-index: 999999997; + opacity: 0.7; + filter: alpha(opacity=70); } + +.layout-container .topbar { + position: fixed; + z-index: 100; + width: 100%; + height: 75px; + background-color: #2f4050; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container .topbar .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } + .layout-container .topbar .topbar-left { + box-sizing: border-box; + padding: 20px; + height: 75px; + width: 250px; + background-color: #0e2031; + float: left; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); } + .layout-container .topbar .topbar-right { + padding: 15px; + position: relative; } + .layout-container .topbar .topbar-right #menu-button { + color: #ffffff; + display: inline-block; + vertical-align: middle; + height: 36px; + margin-right: 10px; + position: relative; + left: -16px; + top: 3px; + background-color: #1ab394; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); } + .layout-container .topbar .topbar-right #menu-button:hover { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + .layout-container .topbar .topbar-right #menu-button i { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #menu-button i:before { + content: "chevron_left"; } + .layout-container .topbar .topbar-right #topbar-menu-button, .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: none; + color: #ffffff; + vertical-align: middle; + height: 36px; + margin-top: 4px; + float: right; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .layout-container .topbar .topbar-right #topbar-menu-button i, .layout-container .topbar .topbar-right #rightpanel-menu-button i { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: block; } + .layout-container .topbar .topbar-right #rightpanel-menu-button:hover { + color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items .search-item input { + position: relative; + top: -10px; + font-size: 16px; + background-color: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + border-color: #ffffff; + color: #ffffff; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus { + outline: 0 none; + border-bottom-width: 2px; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus ~ label { + top: -5px; + font-size: 12px; + color: #2f4050; } + .layout-container .topbar .topbar-right .topbar-items .search-item input.ui-state-filled ~ label { + display: none; } + .layout-container .topbar .topbar-right .topbar-items .search-item label { + color: #ffffff; + top: 8px; } +.layout-container .layout-menu { + overflow: visible; + position: fixed; + width: 250px; + z-index: 99; + top: 75px; + height: 100%; + background-color: #ffffff; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-menu .ui-scrollpanel { + background: transparent; + border-radius: 0; + border: none; } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-bar { + background-color: #aaaaaa; + opacity: 0.3; + filter: alpha(opacity=30); } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-menu .ui-scrollpanel .layout-menu { + padding-bottom: 120px; } + .layout-container .layout-menu .profile { + box-sizing: border-box; + padding-top: 2em; + width: 250px; + height: 145px; + text-align: center; + background: url("../images/profile-bg.png") top left no-repeat; + background-size: 250px 145px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); } + .layout-container .layout-menu .profile .profile-image { + width: 60px; + height: 60px; + margin: 0 auto 5px auto; + display: block; } + .layout-container .layout-menu .profile .profile-name { + display: inline-block; + color: #212121; + vertical-align: middle; + font-size: 1em; } + .layout-container .layout-menu .profile i { + color: #212121; + vertical-align: middle; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .layout-menu .profile.profile-expanded i { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .layout-menu .profile-menu { + border-bottom: 1px solid #d6d5d5; + overflow: hidden; } + .layout-container .layout-menu .profile-menu li:first-child { + margin-top: 1em; } + .layout-container .layout-menu .profile-menu li:last-child { + margin-bottom: 1em; } + .layout-container .layout-menu.layout-menu-dark { + background-color: #0e2031; } + .layout-container .layout-menu.layout-menu-dark .profile { + background-image: url("../images/profile-bg-dark.png"); } + .layout-container .layout-menu.layout-menu-dark .profile .profile-name { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile-menu { + border-bottom: 1px solid #545454; } + .layout-container .layout-menu.layout-menu-dark .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + border-radius: 0; + border: none; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #5b6976; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #1ab394; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #1ab394; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #1ab394; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink { + color: #ffffff; + background-color: #1ab394; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink i { + color: #212121; } + .layout-container .layout-menu .menuitem-badge { + position: absolute; + right: 3.5em; + top: .75em; + display: inline-block; + width: 1em; + height: 1em; + margin-right: .5em; + text-align: center; + background-color: #1ab394; + color: #ffffff; + font-size: 14px; + font-weight: 700; + line-height: 1em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + .layout-container .layout-menu .layout-menu-tooltip { + display: none; + padding: 0 5px; + position: absolute; + left: 76px; + top: 6px; + z-index: 101; + line-height: 1; } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text { + padding: 6px 8px; + font-weight: 700; + background-color: #08131d; + color: #ffffff; + min-width: 75px; + white-space: nowrap; + text-align: center; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #08131d; } +.layout-container.menu-layout-overlay .layout-menu { + margin-left: -250px; } +.layout-container.menu-layout-overlay .layout-main { + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-menu { + z-index: 999999999; + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-mask { + display: block; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); } +.layout-container.menu-layout-overlay .topbar { + z-index: 999999998; } + .layout-container.menu-layout-overlay .topbar .topbar-right #menu-button i { + font-size: 36px !important; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.layout-container .layout-main { + padding: 75px 0 0 0; + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-main .layout-content { + padding: 16px; } +.layout-container .layout-mask { + display: none; } +.layout-container .layout-breadcrumb { + background-color: #ffffff; + box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -webkit-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -moz-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + min-height: 42px; } + .layout-container .layout-breadcrumb:before, .layout-container .layout-breadcrumb:after { + content: ""; + display: table; } + .layout-container .layout-breadcrumb:after { + clear: both; } + .layout-container .layout-breadcrumb ul { + margin: 8px 0 0 0; + padding: 0 0 0 20px; + list-style: none; + color: #757575; + display: inline-block; } + .layout-container .layout-breadcrumb ul li { + display: inline-block; + vertical-align: top; + color: #757575; } + .layout-container .layout-breadcrumb ul li:nth-child(even) { + font-size: 20px; } + .layout-container .layout-breadcrumb ul li:first-child(even) { + color: #2f4050; } + .layout-container .layout-breadcrumb ul li a { + color: #757575; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options { + float: right; + padding: 0px 20px 0 0; + height: 100%; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a { + color: #757575; + display: inline-block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a:hover { + background-color: #e8e8e8; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a i { + line-height: inherit; } +.layout-container .ultima-menu { + margin: 0; + padding: 0; + list-style: none; + width: 268px; } + .layout-container .ultima-menu.ultima-main-menu { + margin-top: 16px; + padding-bottom: 120px; } + .layout-container .ultima-menu li a { + font-size: 1em; + display: block; + padding: .5em 2.5em .5em 1em; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .layout-container .ultima-menu li a i { + color: #757575; } + .layout-container .ultima-menu li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .5em; + font-size: 1.5em; } + .layout-container .ultima-menu li a i:last-child { + float: right; + font-size: 20px; + margin-top: .15em; + margin-right: -.15em; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .ultima-menu li a:hover { + background-color: #e8e8e8; } + .layout-container .ultima-menu li a span { + display: inline-block; + vertical-align: middle; } + .layout-container .ultima-menu li a.active-menuitem-routerlink { + color: #1ab394; } + .layout-container .ultima-menu li a.active-menuitem-routerlink > i { + color: #1ab394; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #757575; } + .layout-container .ultima-menu li.active-menuitem > a { + color: #2f4050; + background-color: #e8e8e8; } + .layout-container .ultima-menu li.active-menuitem > a i { + color: #2f4050; } + .layout-container .ultima-menu li.active-menuitem > a i:last-child { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .ultima-menu li ul { + padding: 0; + margin: 0; + list-style: none; + overflow: hidden; } + .layout-container .ultima-menu li ul li a { + padding: .5em 2.5em .5em 2em; } + .layout-container .ultima-menu li ul li a > span { + font-size: 15px; } + .layout-container .ultima-menu li ul li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .6em; + font-size: 1.250em; } + .layout-container .ultima-menu li ul li ul li a { + padding-left: 3em; } + .layout-container .ultima-menu li ul li ul ul li a { + padding-left: 4em; } + .layout-container .ultima-menu li ul li ul ul ul li a { + padding-left: 5em; } + .layout-container .ultima-menu li ul li ul ul ul ul li a { + padding-left: 6em; } + .layout-container .ultima-menu li.red-badge > a .menuitem-badge { + background-color: #F44336; + color: #ffffff; } + .layout-container .ultima-menu li.purple-badge > a .menuitem-badge { + background-color: #4527A0; + color: #ffffff; } + .layout-container .ultima-menu li.teal-badge > a .menuitem-badge { + background-color: #00695C; + color: #ffffff; } +.layout-container .footer { + padding: .5em; } + .layout-container .footer .footer-text-left { + float: left; } + .layout-container .footer .footer-text-right { + color: #757575; + float: right; } + .layout-container .footer .footer-text-right span { + vertical-align: middle; + display: inline-block; } +.layout-container .layout-rightpanel { + position: fixed; + top: 75px; + height: 100%; + right: -240px; + width: 240px; + z-index: 100; + background-color: #ffffff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -moz-transition: right 0.3s; + -o-transition: right 0.3s; + -webkit-transition: right 0.3s; + transition: right 0.3s; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); } + .layout-container .layout-rightpanel.layout-rightpanel-active { + right: 0; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); } + .layout-container .layout-rightpanel .layout-rightpanel-content { + padding: 14px; + padding-bottom: 120px; } + .layout-container .layout-rightpanel .ui-scrollpanel { + border-radius: 0; + border: none; } + .layout-container .layout-rightpanel .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-rightpanel .ui-scrollpanel .layout-rightpanel-wrapper { + width: 258px; + padding-right: 18px; } + +.ajax-loader { + font-size: 2em; + color: #1ab394; } + +@media (min-width: 1025px) { + .layout-container .topbar-items { + float: right; + margin: 0; + padding: 5px 0 0 0; + list-style-type: none; } + .layout-container .topbar-items > li { + float: right; + position: relative; + margin-left: 8px; } + .layout-container .topbar-items > li > a { + position: relative; + display: block; } + .layout-container .topbar-items > li > a .topbar-item-name { + display: none; } + .layout-container .topbar-items > li > a .topbar-badge { + position: absolute; + right: -5px; + top: -5px; + background-color: #1ab394; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar-items > li .topbar-icon { + font-size: 36px; + color: #ffffff; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .layout-container .topbar-items > li .topbar-icon:hover { + color: #e8e8e8; } + .layout-container .topbar-items > li.profile-item .profile-image { + width: 36px; + height: 36px; } + .layout-container .topbar-items > li > ul { + position: absolute; + top: 55px; + right: 5px; + display: none; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; } + .layout-container .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar-items > li .topbar-message img { + display: inline-block; + vertical-align: middle; + margin-right: 12px; } + .layout-container.menu-layout-static .layout-menu { + margin-left: 0; } + .layout-container.menu-layout-static .layout-main { + margin-left: 250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-menu { + margin-left: -250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static .layout-mask { + display: none; } + .layout-container.menu-layout-horizontal .topbar { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-left { + background-color: #2f4050; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-horizontal .layout-menu { + overflow: visible; + position: fixed; + width: 100%; + top: 75px; + height: auto; + background-color: #0e2031; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel { + overflow: visible; + border: none; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu { + width: 100%; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu.ultima-main-menu { + margin-top: 0; + padding-bottom: 0; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li { + float: left; + position: relative; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a { + padding: .5em 1em; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover { + background-color: #e8e8e8; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink { + color: #1ab394; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink > i { + color: #1ab394; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + position: absolute; + top: 41px; + left: 0px; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li a { + padding: 10px 16px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul { + position: static; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul li a { + padding-left: 80px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul ul li a { + padding-left: 96px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > a { + color: #2f4050; + background-color: #e8e8e8; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a { + color: #ffffff; + background-color: #1ab394; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark { + background-color: #0e2031; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #5b6976; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #1ab394; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #1ab394; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #1ab394; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li ul { + background-color: #0e2031; } + .layout-container.menu-layout-horizontal .layout-menu .menuitem-badge { + left: 32px; + top: 7px; } + .layout-container.menu-layout-horizontal .layout-menu .active-menuitem .menuitem-badge { + background-color: #ffffff; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-main { + padding-top: 116px; + margin-left: 0px; } + .layout-container.menu-layout-horizontal .layout-mask { + display: none; } + .layout-container.menu-layout-slim .topbar { + left: 75px; + width: calc(100% - 75px); } + .layout-container.menu-layout-slim .topbar .topbar-left { + background: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-slim .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-slim .layout-menu { + width: 75px; + overflow: visible; + z-index: 100; + top: 0; } + .layout-container.menu-layout-slim .layout-menu .profile { + width: calc(100% - 18px); + height: 74px; + padding-top: 15px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-image { + width: 45px; + height: 45px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-name, .layout-container.menu-layout-slim .layout-menu .profile > a i { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel { + border: none; + border-radius: 0; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu { + padding: 0; + width: calc(100% - 18px); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li { + position: relative; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a { + text-align: center; + padding-left: 0; + padding-right: 0; + padding-top: .5em; + padding-bottom: .5em; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a i:first-child { + font-size: 1.75em; + margin-right: 0; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a span, .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a .submenu-icon { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a:hover + .layout-menu-tooltip { + display: block; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul { + background-color: #ffffff; + position: absolute; + top: 0; + left: 75px; + min-width: 200px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li a { + padding: .5em 1em .5em 2em; + padding-left: 16px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul li a { + padding: 80px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul ul li a { + padding: 96px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li.active-menuitem > a:hover + .layout-menu-tooltip { + display: none; } + .layout-container.menu-layout-slim .layout-menu.layout-menu-dark .ultima-menu > li > ul { + background-color: #0e2031; } + .layout-container.menu-layout-slim .layout-main { + margin-left: 75px; } + .layout-container.menu-layout-slim .layout-footer { + margin-left: 75px; } } +@media (max-width: 1024px) { + .layout-container.menu-layout-static .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static .layout-menu { + margin-left: -265px; } + .layout-container.menu-layout-static .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-menu { + margin-left: 0; + z-index: 999999999; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar { + z-index: 999999998; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); } + .layout-container.menu-layout-static.layout-menu-static-active .layout-main { + margin-left: 0; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-mask { + display: block; } + .layout-container .topbar .topbar-right #topbar-menu-button { + display: block; } + .layout-container .topbar .topbar-right .topbar-items { + position: absolute; + top: 75px; + right: 15px; + width: 275px; + display: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + list-style-type: none; + margin: 0; + padding: 0; } + .layout-container .topbar .topbar-right .topbar-items > li > a { + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + color: #212121; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li > a i { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .layout-container .topbar .topbar-right .topbar-items > li > a:hover { + background-color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-item-name { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-badge { + position: absolute; + left: 30px; + top: 10px; + background-color: #1ab394; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar .topbar-right .topbar-items > li > ul { + display: none; } + .layout-container .topbar .topbar-right .topbar-items > li > ul li a span, .layout-container .topbar .topbar-right .topbar-items > li > ul li a img, .layout-container .topbar .topbar-right .topbar-items > li > ul li a i { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > a { + color: #2f4050; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a { + padding-left: 32px; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item { + text-align: center; + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input { + top: 0; + width: 100%; + box-sizing: border-box; + padding-right: 16px; + border-color: #bdbdbd; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus { + margin-bottom: -1px; + border-color: #bdbdbd; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus ~ label, + .layout-container .topbar .topbar-right .topbar-items > li.search-item input.ui-state-filled ~ label { + top: -20px; + color: #2f4050; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item label { + top: 1px; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item i { + position: absolute; + right: 5px; + top: -2px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item .profile-image { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + background: url("../images/avatar.png") top left no-repeat; + background-size: 24px 24px; + margin-right: 14px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item span { + vertical-align: middle; + display: inline-block; } + .layout-container .topbar .topbar-right .topbar-items.topbar-items-visible { + display: block; } } +@media (max-width: 385px) { + .layout-container .topbar .topbar-right #topbar-menu-button { + position: absolute; + height: 1.5em; + right: 24px; + top: 1.375em; } + .layout-container .topbar .topbar-right #topbar-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + position: absolute; + height: 1.5em; + right: 8px; + top: 1.375em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #menu-button { + margin-right: 0; } } +body .layout-wrapper.layout-compact { + font-size: 14px; + line-height: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li a i:last-child { + font-size: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li ul li a span { + font-size: 14px; } + body .layout-wrapper.layout-compact .layout-container .layout-breadcrumb ul li { + vertical-align: middle; } + body .layout-wrapper.layout-compact .ui-radiobutton .ui-radiobutton-box { + width: 18px; + height: 18px; } + body .layout-wrapper.layout-compact .ui-datepicker tbody td a, body .layout-wrapper.layout-compact .ui-datepicker body .ui-datepicker tbody td span { + padding-top: .25em; } + +@media (min-width: 1025px) { + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + top: 35px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li span { + font-size: 14px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-main { + padding-top: 110px; } } diff --git a/src/assets/layout/css/layout-dark-green.scss b/src/assets/layout/css/layout-dark-green.scss new file mode 100644 index 0000000..6972a56 --- /dev/null +++ b/src/assets/layout/css/layout-dark-green.scss @@ -0,0 +1,14 @@ +$primaryColor: #2f4050; +$primaryDarkColor: #0e2031; +$primaryLightColor: #5b6976; +$accentColor: #1ab394; +$accentDarkColor: #197865; +$accentLightColor: #6be7ce; +$accentTextColor: #ffffff; +$darkMenuBgColor: #0e2031; +$darkMenuHoverColor: #5b6976; +$darkMenuRouterLinkActiveColor: #1ab394; +$lightMenuRouterLinkActiveColor: #1ab394; +$horizontalLightMenuRouterLinkActiveColor: #1ab394; + +@import '../../sass/layout/_layout'; \ No newline at end of file diff --git a/src/assets/layout/css/layout-green.css b/src/assets/layout/css/layout-green.css new file mode 100644 index 0000000..1996370 --- /dev/null +++ b/src/assets/layout/css/layout-green.css @@ -0,0 +1,1875 @@ +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url("../fonts/roboto-v15-latin-300.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-300.woff2") format("woff2"), url("../fonts/roboto-v15-latin-300.woff") format("woff"), url("../fonts/roboto-v15-latin-300.ttf") format("truetype"), url("../fonts/roboto-v15-latin-300.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url("../fonts/roboto-v15-latin-regular.eot"); + /* IE9 Compat Modes */ + src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v15-latin-regular.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v15-latin-regular.woff") format("woff"), url("../fonts/roboto-v15-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v15-latin-regular.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url("../fonts/roboto-v15-latin-700.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v15-latin-700.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-700.woff2") format("woff2"), url("../fonts/roboto-v15-latin-700.woff") format("woff"), url("../fonts/roboto-v15-latin-700.ttf") format("truetype"), url("../fonts/roboto-v15-latin-700.svg#Roboto") format("svg"); + /* Legacy iOS */ } +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../fonts/MaterialIcons-Regular.eot"); + /* For IE6-8 */ + src: local("Material Icons"), local("MaterialIcons-Regular"), url("../fonts/MaterialIcons-Regular.woff2") format("woff2"), url("../fonts/MaterialIcons-Regular.woff") format("woff"), url("../fonts/MaterialIcons-Regular.ttf") format("truetype"); } +/* Utils */ +.clearfix:after { + content: " "; + display: block; + clear: both; } + +*[hidden] { + display: none; } + +.card { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + background: #ffffff; + padding: 1em; + margin-bottom: 1em; + box-sizing: border-box; } + .card.card-w-title { + padding-bottom: 2em; } + .card h1 { + font-size: 1.5em; + font-weight: 400; + margin: 1em 0; } + .card h1:first-child { + margin-top: .667em; } + .card h2 { + font-size: 1.375em; + font-weight: 400; } + .card h3 { + font-size: 1.250em; + font-weight: 400; } + .card h4 { + font-size: 1.125em; + font-weight: 400; } + +.nopad { + padding: 0; } + .nopad .ui-panel-content { + padding: 0; } + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: none; + transform: none; } } +@keyframes fadeInDown { + from { + opacity: 0; + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + transform: none; } } +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); } } +@keyframes spin { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } +.ui-icon-spin { + -webkit-animation-name: spin; + animation-name: spin; } + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; } + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; } + +.ui-shadow-1 { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.ui-shadow-2 { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-3 { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-4 { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.ui-shadow-5 { + -webkit-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.ui-g { + -ms-flex-wrap: wrap; } + .ui-g.form-group > div { + padding: 1em; } + .ui-g.form-group-m > div { + padding: 1em; } + +/* Ripple */ +/* Ripple Effect Style like Google Material Buttons Effect*/ +.ripplelink { + /* display:block; */ + /*color:#fff;*/ + text-decoration: none; + position: relative; + overflow: hidden; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; + z-index: 0; } + +.ripplelink:hover { + /*z-index:1000;*/ } + +.ink { + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.4); + border-radius: 100%; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); } + +.ripple-animate { + -webkit-animation: ripple 0.65s linear; + -moz-animation: ripple 0.65s linear; + -ms-animation: ripple 0.65s linear; + -o-animation: ripple 0.65s linear; + animation: ripple 0.65s linear; } + +@-webkit-keyframes ripple { + 100% { + opacity: 0; + -webkit-transform: scale(2.5); } } +@-moz-keyframes ripple { + 100% { + opacity: 0; + -moz-transform: scale(2.5); } } +@-o-keyframes ripple { + 100% { + opacity: 0; + -o-transform: scale(2.5); } } +@keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); } } +.splash-screen { + width: 100%; + min-height: 100%; + background-color: #3F51B5; + position: absolute; } + +.splash-loader-container { + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-left: -32px; + margin-top: -32px; } + +.splash-loader { + animation: rotator 1.4s linear infinite; } + +@keyframes rotator { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(270deg); } } +.splash-path { + stroke-dasharray: 187; + stroke-dashoffset: 0; + transform-origin: center; + animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; } + +@keyframes colors { + 0% { + stroke: #4285F4; } + 25% { + stroke: #DE3E35; } + 50% { + stroke: #F7C223; } + 75% { + stroke: #1B9A59; } + 100% { + stroke: #4285F4; } } +@keyframes dash { + 0% { + stroke-dashoffset: 187; } + 50% { + stroke-dashoffset: 46.75; + transform: rotate(135deg); } + 100% { + stroke-dashoffset: 187; + transform: rotate(450deg); } } +.dashboard .overview { + padding: 0 !important; + min-height: 140px; + position: relative; + margin-bottom: 0px !important; } + .dashboard .overview .overview-content { + padding: 16px; } + .dashboard .overview .overview-content .overview-title { + font-size: 18px; } + .dashboard .overview .overview-content .overview-badge { + float: right; + color: #757575; } + .dashboard .overview .overview-content .overview-detail { + display: block; + font-size: 24px; + margin-top: 5px; } + .dashboard .overview .overview-footer { + position: absolute; + bottom: 0; + width: 100%; } + .dashboard .overview .overview-footer img { + display: block; } +.dashboard .colorbox { + padding: 0 !important; + text-align: center; + overflow: hidden; + margin-bottom: 0px !important; } + .dashboard .colorbox i { + font-size: 48px; + margin-top: 10px; + color: #ffffff; } + .dashboard .colorbox .colorbox-name { + font-size: 20px; + display: inline-block; + width: 100%; + margin: 4px 0 10px 0; + color: #ffffff; } + .dashboard .colorbox .colorbox-count { + color: #ffffff; + font-size: 36px; } + .dashboard .colorbox .colorbox-count { + font-weight: bold; } + .dashboard .colorbox.colorbox-1 { + background-color: #4CAF50; } + .dashboard .colorbox.colorbox-1 div:first-child { + background-color: #2E7D32; } + .dashboard .colorbox.colorbox-2 { + background-color: #03A9F4; } + .dashboard .colorbox.colorbox-2 div:first-child { + background-color: #0277BD; } + .dashboard .colorbox.colorbox-3 { + background-color: #673AB7; } + .dashboard .colorbox.colorbox-3 div:first-child { + background-color: #4527A0; } + .dashboard .colorbox.colorbox-4 { + background-color: #009688; } + .dashboard .colorbox.colorbox-4 div:first-child { + background-color: #00695C; } +.dashboard .task-list { + overflow: hidden; } + .dashboard .task-list > .ui-panel { + min-height: 340px; } + .dashboard .task-list .ui-panel-content { + padding: 10px 0 !important; } + .dashboard .task-list ul { + list-style-type: none; + margin: 0; + padding: 0; } + .dashboard .task-list ul li { + padding: 0.625em 0.875em; + border-bottom: 1px solid #dbdbdb; } + .dashboard .task-list ul li:first-child { + margin-top: 10px; } + .dashboard .task-list ul .ui-chkbox { + vertical-align: middle; + margin-right: 5px; } + .dashboard .task-list ul .task-name { + vertical-align: middle; } + .dashboard .task-list ul i { + color: #757575; + float: right; } +.dashboard .contact-form { + overflow: hidden; } + .dashboard .contact-form .ui-panel { + min-height: 340px; } + .dashboard .contact-form .ui-g-12 { + padding: 16px 10px; } + .dashboard .contact-form .ui-button { + margin-top: 20px; } +.dashboard .contacts { + overflow: hidden; } + .dashboard .contacts > .ui-panel { + min-height: 340px; } + .dashboard .contacts .ui-panel-content { + padding: 15px 0 10px 0 !important; } + .dashboard .contacts ul { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .contacts ul li { + border-bottom: 1px solid #d8d8d8; } + .dashboard .contacts ul li a { + padding: 9px; + width: 100%; + box-sizing: border-box; + text-decoration: none; + position: relative; + display: block; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-transition: background-color 0.2s; + -o-transition: background-color 0.2s; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; } + .dashboard .contacts ul li a .name { + position: absolute; + right: 10px; + top: 10px; + font-size: 18px; + color: #212121; } + .dashboard .contacts ul li a .email { + position: absolute; + right: 10px; + top: 30px; + font-size: 14px; + color: #757575; } + .dashboard .contacts ul li a:hover { + cursor: pointer; + background-color: #e8e8e8; } + .dashboard .contacts ul li:last-child { + border: 0; } +.dashboard .activity-list { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .activity-list li { + border-bottom: 1px solid #bdbdbd; + padding: 15px 0 9px 9px; } + .dashboard .activity-list li .count { + font-size: 24px; + color: #ffffff; + background-color: #03A9F4; + font-weight: bold; + display: inline-block; + padding: 5px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; } + .dashboard .activity-list li:first-child { + border-top: 1px solid #bdbdbd; } + .dashboard .activity-list li:last-child { + border: 0; } + .dashboard .activity-list li .ui-g-6:first-child { + font-size: 18px; + padding-left: 0; } + .dashboard .activity-list li .ui-g-6:last-child { + text-align: right; + color: #757575; } +.dashboard .timeline { + height: 100%; + box-sizing: border-box; } + .dashboard .timeline > .ui-g .ui-g-3 { + font-size: 14px; + position: relative; + border-right: 1px solid #bdbdbd; } + .dashboard .timeline > .ui-g .ui-g-3 i { + background-color: #ffffff; + font-size: 36px; + position: absolute; + top: 0px; + right: -18px; } + .dashboard .timeline > .ui-g .ui-g-9 { + padding-left: 1.5em; } + .dashboard .timeline > .ui-g .ui-g-9 .event-text { + color: #757575; + font-size: 14px; + display: block; + padding-bottom: 20px; } + .dashboard .timeline > .ui-g .ui-g-9 .event-content img { + width: 100%; } +.dashboard > div > .ui-panel { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + +.layout-rightpanel .layout-rightpanel-header { + background: url("../images/dashboard/sidebar-image.jpg") no-repeat; + background-size: cover; + height: 118px; + padding: 20px 14px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .layout-rightpanel .layout-rightpanel-header .weather-day, .layout-rightpanel .layout-rightpanel-header .weather-date { + color: #ffffff; + left: 14px; + font-size: 18px; + font-weight: 700; + padding-bottom: 4px; } +.layout-rightpanel .layout-rightpanel-content { + padding: 14px; } + .layout-rightpanel .layout-rightpanel-content h1 { + font-size: 18px; + margin: 0 0 4px 0; } + .layout-rightpanel .layout-rightpanel-content h2 { + font-size: 16px; + margin: 0; + color: #757575; + font-weight: normal; } + .layout-rightpanel .layout-rightpanel-content .weather-today { + text-align: center; + margin-top: 28px; } + .layout-rightpanel .layout-rightpanel-content .weather-today .weather-today-value { + font-size: 36px; + vertical-align: middle; + margin-right: 14px; } + .layout-rightpanel .layout-rightpanel-content .weather-today img { + vertical-align: middle; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather { + list-style-type: none; + margin: 28px 0 0 0; + padding: 0; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li { + padding: 8px 14px; + border-bottom: 1px solid #d8dae2; + position: relative; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li .weekly-weather-value { + position: absolute; + right: 40px; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li img { + width: 24px; + position: absolute; + right: 0px; + top: 4px; } + +.login-body { + background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + height: auto; } + +.login-panel { + text-align: center; + width: 350px; + min-height: 440px; + padding: 50px 20px; + margin: 100px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 25px 40px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-bottom: 20px; } + .login-panel .ui-button:hover { + background-color: #2E7D32; } + .login-panel .ui-button:focus { + outline: 0 none; + background-color: #6ec071; } + .login-panel .ui-button.secondary:hover { + background-color: #4527A0; } + .login-panel .ui-button.secondary:focus { + outline: 0 none; + background-color: #fff06e; } + .login-panel .ui-inputtext:focus { + border-width: 0 0 2px 0; + border-color: #4CAF50; + padding-bottom: 0px; } + +.login-footer { + position: absolute; + bottom: 10px; + font-size: 16px; + width: 100%; + text-align: center; + color: #757575; } + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + background: url("../images/login/login2x.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } } +@media (max-width: 1024px) { + .login-panel { + text-align: center; + min-height: 440px; + margin: 100px auto 0 auto; } } +@media (max-width: 640px) { + .login-panel { + text-align: center; + width: 300px; + min-height: 440px; + padding: 40px 20px; + margin: 75px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 20px 20px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-top: 30px; } } +.exception-body { + background-color: #f7f7f7; + height: auto; } + .exception-body .exception-type { + width: 100%; + height: 50%; + padding: 100px 100px 0 100px; + box-sizing: border-box; + text-align: center; } + .exception-body .exception-panel { + text-align: center; + width: 350px; + padding: 35px; + margin: -10% auto 0 auto; + z-index: 100; } + .exception-body .exception-panel i { + font-size: 72px; } + .exception-body .exception-panel h1 { + font-size: 36px; + line-height: 36px; + color: #757575; } + .exception-body .exception-panel .exception-detail { + margin: 20px 0px 100px 0px; + color: #757575; } + .exception-body .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .exception-body .ui-button:hover { + background-color: #4527A0; } + .exception-body.error-page .exception-type { + background-color: #e62a10; } + .exception-body.error-page .exception-type img { + width: 100%; } + .exception-body.error-page .exception-panel i { + color: #f79a84; } + .exception-body.notfound-page .exception-type { + background-color: #3f51b5; } + .exception-body.notfound-page .exception-type img { + width: 54%; } + .exception-body.notfound-page .exception-panel i { + color: #9fa8da; } + .exception-body.accessdenied-page .exception-type { + background-color: #e91e63; } + .exception-body.accessdenied-page .exception-type img { + width: 50%; } + .exception-body.accessdenied-page .exception-panel i { + color: #f48fb1; } + +@media (max-width: 1024px) { + .exception-body .exception-panel { + margin-top: -50px; } } +@media (max-width: 640px) { + .exception-body .exception-panel { + width: 250px; + margin-top: -15px; } } +.landing-wrapper .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .landing-wrapper .ui-button:hover { + background-color: #4527A0; } +.landing-wrapper #header { + width: 100%; + min-height: 400px; + background: url("../images/landing/landing-header.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } + .landing-wrapper #header .header-top { + width: 960px; + margin: 0 auto; + padding: 30px 0px; } + .landing-wrapper #header .header-top .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo.png") top left no-repeat; } + .landing-wrapper #header .header-top #menu { + float: right; + list-style: none; + margin: 0; + padding: 0; } + .landing-wrapper #header .header-top #menu li { + float: left; + display: block; + margin-left: 30px; } + .landing-wrapper #header .header-top #menu li a { + color: #ffffff; } + .landing-wrapper #header .header-top #menu li i { + display: none; } + .landing-wrapper #header .header-top #menu.lmenu-active { + display: block; } + .landing-wrapper #header .header-top #menu-button { + height: 36px; + margin-top: -2px; + float: right; + color: #ffffff; + display: none; } + .landing-wrapper #header .header-top #menu-button i { + font-size: 36px; } + .landing-wrapper #header .header-content { + width: 960px; + margin: 0 auto; + text-align: center; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + color: #ffffff; + line-height: 36px; } +.landing-wrapper #features { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #features h2 { + font-weight: 400; + line-height: 28px; } + .landing-wrapper #features h3 { + font-weight: 400; } + .landing-wrapper #features p { + color: #757575; } + .landing-wrapper #features .ui-g-12 { + padding: 2em .5em; } + .landing-wrapper #features .feature-icon { + display: inline-block; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + background-color: #f4f8fc; + box-sizing: border-box; + width: 100px; + height: 100px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .landing-wrapper #features .feature-icon i { + margin-top: 30px; + font-size: 36px; } + .landing-wrapper #features .feature-icon:hover { + background-color: #e91e63; } + .landing-wrapper #features .feature-icon:hover i { + color: #ffffff; } +.landing-wrapper #promotion { + background: url("../images/landing/promotion.png") top left no-repeat; + background-size: 100% auto; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 150px 0 0 150px; } + .landing-wrapper #promotion .ui-lg-8 h1 { + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 { + margin: -50px 0 -50px 0; } + .landing-wrapper #promotion .ui-lg-4 .card { + -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + margin-bottom: 20px; } + .landing-wrapper #promotion .ui-lg-4 .card h3 { + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 .card p { + color: #757575; } + .landing-wrapper #promotion .ui-lg-4 .card:last-child { + margin-bottom: 0; } +.landing-wrapper #pricing { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #pricing h2 { + font-weight: 400; } + .landing-wrapper #pricing p { + color: #757575; } + .landing-wrapper #pricing .pricing-box .card { + height: 100%; + padding: 0; } + .landing-wrapper #pricing .pricing-box .pricing-header { + padding: 40px 0; + color: #ffffff; } + .landing-wrapper #pricing .pricing-box .pricing-header span { + display: block; + line-height: 48px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.name { + font-weight: 300; + font-size: 24px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.fee { + font-size: 48px; + font-weight: 700; } + .landing-wrapper #pricing .pricing-box .pricing-header span.type { + font-weight: 300; + font-size: 16px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul { + margin: 0; + padding: 30px 20px; + list-style-type: none; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li { + font-size: 18px; + text-align: left; + padding: 10px 14px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li i { + margin-right: 20px; + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li span { + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box.pricing-basic .pricing-header { + background-color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-basic i { + color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-standard .pricing-header { + background-color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-standard i { + color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-professional .pricing-header { + background-color: #607d8b; } + .landing-wrapper #pricing .pricing-box.pricing-professional i { + color: #607d8b; } +.landing-wrapper #video { + background-color: #f7f7f7; + min-width: 400px; } + .landing-wrapper #video .video-content { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #video .video-content h2 { + font-weight: 400; } + .landing-wrapper #video .video-content p { + color: #757575; } +.landing-wrapper .footer { + background-color: #f7f7f7; + border-top: 1px solid #dddddd; } + .landing-wrapper .footer .footer-content { + width: 960px; + margin: 0 auto; + padding: 30px 0px 50px 0px; } + .landing-wrapper .footer .footer-content ul { + float: right; + list-style-type: none; } + .landing-wrapper .footer .footer-content ul li a { + color: #757575; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .landing-wrapper .footer .footer-content ul li a:hover { + color: #212121; } + +@media (max-width: 1024px) { + .landing-wrapper #header { + min-height: 200px; + background-size: cover; } + .landing-wrapper #header .header-top { + z-index: 100; + position: fixed; + top: 0; + background: #424242; + background-size: 100% auto; + padding: 30px; + width: 100%; + box-sizing: border-box; + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .landing-wrapper #header .header-top #menu-button { + display: inline-block; } + .landing-wrapper #header .header-top #menu { + z-index: 100; + position: fixed; + top: 86px; + right: 30px; + float: none; + display: none; + margin: 0; + padding: 0; + width: 225px; + list-style: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: .5s; + -moz-animation-duration: .5s; + animation-duration: .5s; } + .landing-wrapper #header .header-top #menu li { + float: none; + margin-left: 0; } + .landing-wrapper #header .header-top #menu li a { + font-size: 16px; + display: block; + padding: 10px 16px; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .landing-wrapper #header .header-top #menu li a i { + color: #757575; + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .landing-wrapper #header .header-top #menu li a:hover { + background-color: #e8e8e8; } + .landing-wrapper #header .header-top #menu li a span { + display: inline-block; + vertical-align: middle; } + .landing-wrapper #header .header-content { + width: 100%; + padding: 100px 30px 60px 30px; + box-sizing: border-box; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; } + .landing-wrapper #features, .landing-wrapper #promotion, .landing-wrapper #pricing, .landing-wrapper #video, .landing-wrapper .footer .footer-content { + width: 100%; + padding-right: 30px; + padding-left: 30px; + box-sizing: border-box; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 100px 0 30px; + text-align: center; } + .landing-wrapper #promotion .ui-lg-8 h1 { + margin-top: -30px; + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #video .video-content { + width: 100%; } + .landing-wrapper #video .video-content .video-container iframe { + width: 350px; + height: 220px; } + .landing-wrapper .footer .footer-content { + text-align: center; } + .landing-wrapper .footer .footer-content ul { + float: none; + margin: 0; + padding: 0; } } +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .landing-wrapper .header .header-top .logo { + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } } +html { + height: 100%; } + +body { + font-family: Roboto,"Helvetica Neue",sans-serif; + font-size: 16px; + line-height: 1.5em; + color: #212121; + -webkit-font-smoothing: antialiased; + padding: 0; + margin: 0; + background-color: #f7f7f7; + min-height: 100%; } + body a { + text-decoration: none; } + +.layout-mask { + position: fixed; + width: 100%; + height: 100%; + background-color: #424242; + top: 0; + left: 0; + z-index: 999999997; + opacity: 0.7; + filter: alpha(opacity=70); } + +.layout-container .topbar { + position: fixed; + z-index: 100; + width: 100%; + height: 75px; + background-color: #4CAF50; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container .topbar .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } + .layout-container .topbar .topbar-left { + box-sizing: border-box; + padding: 20px; + height: 75px; + width: 250px; + background-color: #2E7D32; + float: left; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); } + .layout-container .topbar .topbar-right { + padding: 15px; + position: relative; } + .layout-container .topbar .topbar-right #menu-button { + color: #212121; + display: inline-block; + vertical-align: middle; + height: 36px; + margin-right: 10px; + position: relative; + left: -16px; + top: 3px; + background-color: #ffeb3b; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); } + .layout-container .topbar .topbar-right #menu-button:hover { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + .layout-container .topbar .topbar-right #menu-button i { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #menu-button i:before { + content: "chevron_left"; } + .layout-container .topbar .topbar-right #topbar-menu-button, .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: none; + color: #ffffff; + vertical-align: middle; + height: 36px; + margin-top: 4px; + float: right; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .layout-container .topbar .topbar-right #topbar-menu-button i, .layout-container .topbar .topbar-right #rightpanel-menu-button i { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: block; } + .layout-container .topbar .topbar-right #rightpanel-menu-button:hover { + color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items .search-item input { + position: relative; + top: -10px; + font-size: 16px; + background-color: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + border-color: #ffffff; + color: #ffffff; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus { + outline: 0 none; + border-bottom-width: 2px; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus ~ label { + top: -5px; + font-size: 12px; + color: #4CAF50; } + .layout-container .topbar .topbar-right .topbar-items .search-item input.ui-state-filled ~ label { + display: none; } + .layout-container .topbar .topbar-right .topbar-items .search-item label { + color: #ffffff; + top: 8px; } +.layout-container .layout-menu { + overflow: visible; + position: fixed; + width: 250px; + z-index: 99; + top: 75px; + height: 100%; + background-color: #ffffff; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-menu .ui-scrollpanel { + background: transparent; + border-radius: 0; + border: none; } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-bar { + background-color: #aaaaaa; + opacity: 0.3; + filter: alpha(opacity=30); } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-menu .ui-scrollpanel .layout-menu { + padding-bottom: 120px; } + .layout-container .layout-menu .profile { + box-sizing: border-box; + padding-top: 2em; + width: 250px; + height: 145px; + text-align: center; + background: url("../images/profile-bg.png") top left no-repeat; + background-size: 250px 145px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); } + .layout-container .layout-menu .profile .profile-image { + width: 60px; + height: 60px; + margin: 0 auto 5px auto; + display: block; } + .layout-container .layout-menu .profile .profile-name { + display: inline-block; + color: #212121; + vertical-align: middle; + font-size: 1em; } + .layout-container .layout-menu .profile i { + color: #212121; + vertical-align: middle; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .layout-menu .profile.profile-expanded i { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .layout-menu .profile-menu { + border-bottom: 1px solid #d6d5d5; + overflow: hidden; } + .layout-container .layout-menu .profile-menu li:first-child { + margin-top: 1em; } + .layout-container .layout-menu .profile-menu li:last-child { + margin-bottom: 1em; } + .layout-container .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container .layout-menu.layout-menu-dark .profile { + background-image: url("../images/profile-bg-dark.png"); } + .layout-container .layout-menu.layout-menu-dark .profile .profile-name { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile-menu { + border-bottom: 1px solid #545454; } + .layout-container .layout-menu.layout-menu-dark .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + border-radius: 0; + border: none; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #ffeb3b; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #ffeb3b; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #212121; + background-color: #ffeb3b; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink { + color: #212121; + background-color: #ffeb3b; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink i { + color: #212121; } + .layout-container .layout-menu .menuitem-badge { + position: absolute; + right: 3.5em; + top: .75em; + display: inline-block; + width: 1em; + height: 1em; + margin-right: .5em; + text-align: center; + background-color: #ffeb3b; + color: #212121; + font-size: 14px; + font-weight: 700; + line-height: 1em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + .layout-container .layout-menu .layout-menu-tooltip { + display: none; + padding: 0 5px; + position: absolute; + left: 76px; + top: 6px; + z-index: 101; + line-height: 1; } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text { + padding: 6px 8px; + font-weight: 700; + background-color: #353535; + color: #ffffff; + min-width: 75px; + white-space: nowrap; + text-align: center; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #353535; } +.layout-container.menu-layout-overlay .layout-menu { + margin-left: -250px; } +.layout-container.menu-layout-overlay .layout-main { + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-menu { + z-index: 999999999; + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-mask { + display: block; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); } +.layout-container.menu-layout-overlay .topbar { + z-index: 999999998; } + .layout-container.menu-layout-overlay .topbar .topbar-right #menu-button i { + font-size: 36px !important; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.layout-container .layout-main { + padding: 75px 0 0 0; + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-main .layout-content { + padding: 16px; } +.layout-container .layout-mask { + display: none; } +.layout-container .layout-breadcrumb { + background-color: #ffffff; + box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -webkit-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -moz-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + min-height: 42px; } + .layout-container .layout-breadcrumb:before, .layout-container .layout-breadcrumb:after { + content: ""; + display: table; } + .layout-container .layout-breadcrumb:after { + clear: both; } + .layout-container .layout-breadcrumb ul { + margin: 8px 0 0 0; + padding: 0 0 0 20px; + list-style: none; + color: #757575; + display: inline-block; } + .layout-container .layout-breadcrumb ul li { + display: inline-block; + vertical-align: top; + color: #757575; } + .layout-container .layout-breadcrumb ul li:nth-child(even) { + font-size: 20px; } + .layout-container .layout-breadcrumb ul li:first-child(even) { + color: #4CAF50; } + .layout-container .layout-breadcrumb ul li a { + color: #757575; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options { + float: right; + padding: 0px 20px 0 0; + height: 100%; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a { + color: #757575; + display: inline-block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a:hover { + background-color: #e8e8e8; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a i { + line-height: inherit; } +.layout-container .ultima-menu { + margin: 0; + padding: 0; + list-style: none; + width: 268px; } + .layout-container .ultima-menu.ultima-main-menu { + margin-top: 16px; + padding-bottom: 120px; } + .layout-container .ultima-menu li a { + font-size: 1em; + display: block; + padding: .5em 2.5em .5em 1em; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .layout-container .ultima-menu li a i { + color: #757575; } + .layout-container .ultima-menu li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .5em; + font-size: 1.5em; } + .layout-container .ultima-menu li a i:last-child { + float: right; + font-size: 20px; + margin-top: .15em; + margin-right: -.15em; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .ultima-menu li a:hover { + background-color: #e8e8e8; } + .layout-container .ultima-menu li a span { + display: inline-block; + vertical-align: middle; } + .layout-container .ultima-menu li a.active-menuitem-routerlink { + color: #4CAF50; } + .layout-container .ultima-menu li a.active-menuitem-routerlink > i { + color: #4CAF50; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #757575; } + .layout-container .ultima-menu li.active-menuitem > a { + color: #4CAF50; + background-color: #e8e8e8; } + .layout-container .ultima-menu li.active-menuitem > a i { + color: #4CAF50; } + .layout-container .ultima-menu li.active-menuitem > a i:last-child { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .ultima-menu li ul { + padding: 0; + margin: 0; + list-style: none; + overflow: hidden; } + .layout-container .ultima-menu li ul li a { + padding: .5em 2.5em .5em 2em; } + .layout-container .ultima-menu li ul li a > span { + font-size: 15px; } + .layout-container .ultima-menu li ul li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .6em; + font-size: 1.250em; } + .layout-container .ultima-menu li ul li ul li a { + padding-left: 3em; } + .layout-container .ultima-menu li ul li ul ul li a { + padding-left: 4em; } + .layout-container .ultima-menu li ul li ul ul ul li a { + padding-left: 5em; } + .layout-container .ultima-menu li ul li ul ul ul ul li a { + padding-left: 6em; } + .layout-container .ultima-menu li.red-badge > a .menuitem-badge { + background-color: #F44336; + color: #ffffff; } + .layout-container .ultima-menu li.purple-badge > a .menuitem-badge { + background-color: #4527A0; + color: #ffffff; } + .layout-container .ultima-menu li.teal-badge > a .menuitem-badge { + background-color: #00695C; + color: #ffffff; } +.layout-container .footer { + padding: .5em; } + .layout-container .footer .footer-text-left { + float: left; } + .layout-container .footer .footer-text-right { + color: #757575; + float: right; } + .layout-container .footer .footer-text-right span { + vertical-align: middle; + display: inline-block; } +.layout-container .layout-rightpanel { + position: fixed; + top: 75px; + height: 100%; + right: -240px; + width: 240px; + z-index: 100; + background-color: #ffffff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -moz-transition: right 0.3s; + -o-transition: right 0.3s; + -webkit-transition: right 0.3s; + transition: right 0.3s; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); } + .layout-container .layout-rightpanel.layout-rightpanel-active { + right: 0; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); } + .layout-container .layout-rightpanel .layout-rightpanel-content { + padding: 14px; + padding-bottom: 120px; } + .layout-container .layout-rightpanel .ui-scrollpanel { + border-radius: 0; + border: none; } + .layout-container .layout-rightpanel .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-rightpanel .ui-scrollpanel .layout-rightpanel-wrapper { + width: 258px; + padding-right: 18px; } + +.ajax-loader { + font-size: 2em; + color: #ffeb3b; } + +@media (min-width: 1025px) { + .layout-container .topbar-items { + float: right; + margin: 0; + padding: 5px 0 0 0; + list-style-type: none; } + .layout-container .topbar-items > li { + float: right; + position: relative; + margin-left: 8px; } + .layout-container .topbar-items > li > a { + position: relative; + display: block; } + .layout-container .topbar-items > li > a .topbar-item-name { + display: none; } + .layout-container .topbar-items > li > a .topbar-badge { + position: absolute; + right: -5px; + top: -5px; + background-color: #ffeb3b; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar-items > li .topbar-icon { + font-size: 36px; + color: #ffffff; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .layout-container .topbar-items > li .topbar-icon:hover { + color: #e8e8e8; } + .layout-container .topbar-items > li.profile-item .profile-image { + width: 36px; + height: 36px; } + .layout-container .topbar-items > li > ul { + position: absolute; + top: 55px; + right: 5px; + display: none; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; } + .layout-container .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar-items > li .topbar-message img { + display: inline-block; + vertical-align: middle; + margin-right: 12px; } + .layout-container.menu-layout-static .layout-menu { + margin-left: 0; } + .layout-container.menu-layout-static .layout-main { + margin-left: 250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-menu { + margin-left: -250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static .layout-mask { + display: none; } + .layout-container.menu-layout-horizontal .topbar { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-left { + background-color: #4CAF50; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-horizontal .layout-menu { + overflow: visible; + position: fixed; + width: 100%; + top: 75px; + height: auto; + background-color: #2E7D32; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel { + overflow: visible; + border: none; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu { + width: 100%; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu.ultima-main-menu { + margin-top: 0; + padding-bottom: 0; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li { + float: left; + position: relative; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a { + padding: .5em 1em; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover { + background-color: #e8e8e8; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink { + color: #ffeb3b; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink > i { + color: #ffeb3b; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + position: absolute; + top: 41px; + left: 0px; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li a { + padding: 10px 16px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul { + position: static; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul li a { + padding-left: 80px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul ul li a { + padding-left: 96px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > a { + color: #4CAF50; + background-color: #e8e8e8; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a { + color: #212121; + background-color: #ffeb3b; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #ffeb3b; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #ffeb3b; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #212121; + background-color: #ffeb3b; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li ul { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu .menuitem-badge { + left: 32px; + top: 7px; } + .layout-container.menu-layout-horizontal .layout-menu .active-menuitem .menuitem-badge { + background-color: #ffffff; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-main { + padding-top: 116px; + margin-left: 0px; } + .layout-container.menu-layout-horizontal .layout-mask { + display: none; } + .layout-container.menu-layout-slim .topbar { + left: 75px; + width: calc(100% - 75px); } + .layout-container.menu-layout-slim .topbar .topbar-left { + background: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-slim .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-slim .layout-menu { + width: 75px; + overflow: visible; + z-index: 100; + top: 0; } + .layout-container.menu-layout-slim .layout-menu .profile { + width: calc(100% - 18px); + height: 74px; + padding-top: 15px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-image { + width: 45px; + height: 45px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-name, .layout-container.menu-layout-slim .layout-menu .profile > a i { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel { + border: none; + border-radius: 0; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu { + padding: 0; + width: calc(100% - 18px); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li { + position: relative; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a { + text-align: center; + padding-left: 0; + padding-right: 0; + padding-top: .5em; + padding-bottom: .5em; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a i:first-child { + font-size: 1.75em; + margin-right: 0; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a span, .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a .submenu-icon { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a:hover + .layout-menu-tooltip { + display: block; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul { + background-color: #ffffff; + position: absolute; + top: 0; + left: 75px; + min-width: 200px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li a { + padding: .5em 1em .5em 2em; + padding-left: 16px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul li a { + padding: 80px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul ul li a { + padding: 96px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li.active-menuitem > a:hover + .layout-menu-tooltip { + display: none; } + .layout-container.menu-layout-slim .layout-menu.layout-menu-dark .ultima-menu > li > ul { + background-color: #424242; } + .layout-container.menu-layout-slim .layout-main { + margin-left: 75px; } + .layout-container.menu-layout-slim .layout-footer { + margin-left: 75px; } } +@media (max-width: 1024px) { + .layout-container.menu-layout-static .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static .layout-menu { + margin-left: -265px; } + .layout-container.menu-layout-static .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-menu { + margin-left: 0; + z-index: 999999999; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar { + z-index: 999999998; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); } + .layout-container.menu-layout-static.layout-menu-static-active .layout-main { + margin-left: 0; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-mask { + display: block; } + .layout-container .topbar .topbar-right #topbar-menu-button { + display: block; } + .layout-container .topbar .topbar-right .topbar-items { + position: absolute; + top: 75px; + right: 15px; + width: 275px; + display: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + list-style-type: none; + margin: 0; + padding: 0; } + .layout-container .topbar .topbar-right .topbar-items > li > a { + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + color: #212121; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li > a i { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .layout-container .topbar .topbar-right .topbar-items > li > a:hover { + background-color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-item-name { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-badge { + position: absolute; + left: 30px; + top: 10px; + background-color: #ffeb3b; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar .topbar-right .topbar-items > li > ul { + display: none; } + .layout-container .topbar .topbar-right .topbar-items > li > ul li a span, .layout-container .topbar .topbar-right .topbar-items > li > ul li a img, .layout-container .topbar .topbar-right .topbar-items > li > ul li a i { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > a { + color: #4CAF50; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a { + padding-left: 32px; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item { + text-align: center; + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input { + top: 0; + width: 100%; + box-sizing: border-box; + padding-right: 16px; + border-color: #bdbdbd; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus { + margin-bottom: -1px; + border-color: #bdbdbd; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus ~ label, + .layout-container .topbar .topbar-right .topbar-items > li.search-item input.ui-state-filled ~ label { + top: -20px; + color: #4CAF50; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item label { + top: 1px; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item i { + position: absolute; + right: 5px; + top: -2px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item .profile-image { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + background: url("../images/avatar.png") top left no-repeat; + background-size: 24px 24px; + margin-right: 14px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item span { + vertical-align: middle; + display: inline-block; } + .layout-container .topbar .topbar-right .topbar-items.topbar-items-visible { + display: block; } } +@media (max-width: 385px) { + .layout-container .topbar .topbar-right #topbar-menu-button { + position: absolute; + height: 1.5em; + right: 24px; + top: 1.375em; } + .layout-container .topbar .topbar-right #topbar-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + position: absolute; + height: 1.5em; + right: 8px; + top: 1.375em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #menu-button { + margin-right: 0; } } +body .layout-wrapper.layout-compact { + font-size: 14px; + line-height: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li a i:last-child { + font-size: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li ul li a span { + font-size: 14px; } + body .layout-wrapper.layout-compact .layout-container .layout-breadcrumb ul li { + vertical-align: middle; } + body .layout-wrapper.layout-compact .ui-radiobutton .ui-radiobutton-box { + width: 18px; + height: 18px; } + body .layout-wrapper.layout-compact .ui-datepicker tbody td a, body .layout-wrapper.layout-compact .ui-datepicker body .ui-datepicker tbody td span { + padding-top: .25em; } + +@media (min-width: 1025px) { + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + top: 35px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li span { + font-size: 14px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-main { + padding-top: 110px; } } diff --git a/src/assets/layout/css/layout-green.scss b/src/assets/layout/css/layout-green.scss new file mode 100644 index 0000000..671ebd6 --- /dev/null +++ b/src/assets/layout/css/layout-green.scss @@ -0,0 +1,14 @@ +$primaryColor: #4CAF50; +$primaryDarkColor: #2E7D32; +$primaryLightColor: #A5D6A7; +$accentColor: #ffeb3b; +$accentDarkColor: #4527A0; +$accentLightColor: #f9a825; +$accentTextColor: #212121; +$darkMenuBgColor: #424242; +$darkMenuHoverColor: #676767; +$darkMenuRouterLinkActiveColor: #ffeb3b; +$lightMenuRouterLinkActiveColor: #4CAF50; +$horizontalLightMenuRouterLinkActiveColor: #ffeb3b; + +@import '../../sass/layout/_layout'; \ No newline at end of file diff --git a/src/assets/layout/css/layout-grey.css b/src/assets/layout/css/layout-grey.css new file mode 100644 index 0000000..6cccc19 --- /dev/null +++ b/src/assets/layout/css/layout-grey.css @@ -0,0 +1,1875 @@ +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url("../fonts/roboto-v15-latin-300.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-300.woff2") format("woff2"), url("../fonts/roboto-v15-latin-300.woff") format("woff"), url("../fonts/roboto-v15-latin-300.ttf") format("truetype"), url("../fonts/roboto-v15-latin-300.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url("../fonts/roboto-v15-latin-regular.eot"); + /* IE9 Compat Modes */ + src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v15-latin-regular.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v15-latin-regular.woff") format("woff"), url("../fonts/roboto-v15-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v15-latin-regular.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url("../fonts/roboto-v15-latin-700.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v15-latin-700.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-700.woff2") format("woff2"), url("../fonts/roboto-v15-latin-700.woff") format("woff"), url("../fonts/roboto-v15-latin-700.ttf") format("truetype"), url("../fonts/roboto-v15-latin-700.svg#Roboto") format("svg"); + /* Legacy iOS */ } +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../fonts/MaterialIcons-Regular.eot"); + /* For IE6-8 */ + src: local("Material Icons"), local("MaterialIcons-Regular"), url("../fonts/MaterialIcons-Regular.woff2") format("woff2"), url("../fonts/MaterialIcons-Regular.woff") format("woff"), url("../fonts/MaterialIcons-Regular.ttf") format("truetype"); } +/* Utils */ +.clearfix:after { + content: " "; + display: block; + clear: both; } + +*[hidden] { + display: none; } + +.card { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + background: #ffffff; + padding: 1em; + margin-bottom: 1em; + box-sizing: border-box; } + .card.card-w-title { + padding-bottom: 2em; } + .card h1 { + font-size: 1.5em; + font-weight: 400; + margin: 1em 0; } + .card h1:first-child { + margin-top: .667em; } + .card h2 { + font-size: 1.375em; + font-weight: 400; } + .card h3 { + font-size: 1.250em; + font-weight: 400; } + .card h4 { + font-size: 1.125em; + font-weight: 400; } + +.nopad { + padding: 0; } + .nopad .ui-panel-content { + padding: 0; } + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: none; + transform: none; } } +@keyframes fadeInDown { + from { + opacity: 0; + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + transform: none; } } +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); } } +@keyframes spin { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } +.ui-icon-spin { + -webkit-animation-name: spin; + animation-name: spin; } + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; } + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; } + +.ui-shadow-1 { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.ui-shadow-2 { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-3 { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-4 { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.ui-shadow-5 { + -webkit-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.ui-g { + -ms-flex-wrap: wrap; } + .ui-g.form-group > div { + padding: 1em; } + .ui-g.form-group-m > div { + padding: 1em; } + +/* Ripple */ +/* Ripple Effect Style like Google Material Buttons Effect*/ +.ripplelink { + /* display:block; */ + /*color:#fff;*/ + text-decoration: none; + position: relative; + overflow: hidden; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; + z-index: 0; } + +.ripplelink:hover { + /*z-index:1000;*/ } + +.ink { + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.4); + border-radius: 100%; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); } + +.ripple-animate { + -webkit-animation: ripple 0.65s linear; + -moz-animation: ripple 0.65s linear; + -ms-animation: ripple 0.65s linear; + -o-animation: ripple 0.65s linear; + animation: ripple 0.65s linear; } + +@-webkit-keyframes ripple { + 100% { + opacity: 0; + -webkit-transform: scale(2.5); } } +@-moz-keyframes ripple { + 100% { + opacity: 0; + -moz-transform: scale(2.5); } } +@-o-keyframes ripple { + 100% { + opacity: 0; + -o-transform: scale(2.5); } } +@keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); } } +.splash-screen { + width: 100%; + min-height: 100%; + background-color: #3F51B5; + position: absolute; } + +.splash-loader-container { + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-left: -32px; + margin-top: -32px; } + +.splash-loader { + animation: rotator 1.4s linear infinite; } + +@keyframes rotator { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(270deg); } } +.splash-path { + stroke-dasharray: 187; + stroke-dashoffset: 0; + transform-origin: center; + animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; } + +@keyframes colors { + 0% { + stroke: #4285F4; } + 25% { + stroke: #DE3E35; } + 50% { + stroke: #F7C223; } + 75% { + stroke: #1B9A59; } + 100% { + stroke: #4285F4; } } +@keyframes dash { + 0% { + stroke-dashoffset: 187; } + 50% { + stroke-dashoffset: 46.75; + transform: rotate(135deg); } + 100% { + stroke-dashoffset: 187; + transform: rotate(450deg); } } +.dashboard .overview { + padding: 0 !important; + min-height: 140px; + position: relative; + margin-bottom: 0px !important; } + .dashboard .overview .overview-content { + padding: 16px; } + .dashboard .overview .overview-content .overview-title { + font-size: 18px; } + .dashboard .overview .overview-content .overview-badge { + float: right; + color: #757575; } + .dashboard .overview .overview-content .overview-detail { + display: block; + font-size: 24px; + margin-top: 5px; } + .dashboard .overview .overview-footer { + position: absolute; + bottom: 0; + width: 100%; } + .dashboard .overview .overview-footer img { + display: block; } +.dashboard .colorbox { + padding: 0 !important; + text-align: center; + overflow: hidden; + margin-bottom: 0px !important; } + .dashboard .colorbox i { + font-size: 48px; + margin-top: 10px; + color: #ffffff; } + .dashboard .colorbox .colorbox-name { + font-size: 20px; + display: inline-block; + width: 100%; + margin: 4px 0 10px 0; + color: #ffffff; } + .dashboard .colorbox .colorbox-count { + color: #ffffff; + font-size: 36px; } + .dashboard .colorbox .colorbox-count { + font-weight: bold; } + .dashboard .colorbox.colorbox-1 { + background-color: #4CAF50; } + .dashboard .colorbox.colorbox-1 div:first-child { + background-color: #2E7D32; } + .dashboard .colorbox.colorbox-2 { + background-color: #03A9F4; } + .dashboard .colorbox.colorbox-2 div:first-child { + background-color: #0277BD; } + .dashboard .colorbox.colorbox-3 { + background-color: #673AB7; } + .dashboard .colorbox.colorbox-3 div:first-child { + background-color: #4527A0; } + .dashboard .colorbox.colorbox-4 { + background-color: #009688; } + .dashboard .colorbox.colorbox-4 div:first-child { + background-color: #00695C; } +.dashboard .task-list { + overflow: hidden; } + .dashboard .task-list > .ui-panel { + min-height: 340px; } + .dashboard .task-list .ui-panel-content { + padding: 10px 0 !important; } + .dashboard .task-list ul { + list-style-type: none; + margin: 0; + padding: 0; } + .dashboard .task-list ul li { + padding: 0.625em 0.875em; + border-bottom: 1px solid #dbdbdb; } + .dashboard .task-list ul li:first-child { + margin-top: 10px; } + .dashboard .task-list ul .ui-chkbox { + vertical-align: middle; + margin-right: 5px; } + .dashboard .task-list ul .task-name { + vertical-align: middle; } + .dashboard .task-list ul i { + color: #757575; + float: right; } +.dashboard .contact-form { + overflow: hidden; } + .dashboard .contact-form .ui-panel { + min-height: 340px; } + .dashboard .contact-form .ui-g-12 { + padding: 16px 10px; } + .dashboard .contact-form .ui-button { + margin-top: 20px; } +.dashboard .contacts { + overflow: hidden; } + .dashboard .contacts > .ui-panel { + min-height: 340px; } + .dashboard .contacts .ui-panel-content { + padding: 15px 0 10px 0 !important; } + .dashboard .contacts ul { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .contacts ul li { + border-bottom: 1px solid #d8d8d8; } + .dashboard .contacts ul li a { + padding: 9px; + width: 100%; + box-sizing: border-box; + text-decoration: none; + position: relative; + display: block; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-transition: background-color 0.2s; + -o-transition: background-color 0.2s; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; } + .dashboard .contacts ul li a .name { + position: absolute; + right: 10px; + top: 10px; + font-size: 18px; + color: #212121; } + .dashboard .contacts ul li a .email { + position: absolute; + right: 10px; + top: 30px; + font-size: 14px; + color: #757575; } + .dashboard .contacts ul li a:hover { + cursor: pointer; + background-color: #e8e8e8; } + .dashboard .contacts ul li:last-child { + border: 0; } +.dashboard .activity-list { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .activity-list li { + border-bottom: 1px solid #bdbdbd; + padding: 15px 0 9px 9px; } + .dashboard .activity-list li .count { + font-size: 24px; + color: #ffffff; + background-color: #03A9F4; + font-weight: bold; + display: inline-block; + padding: 5px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; } + .dashboard .activity-list li:first-child { + border-top: 1px solid #bdbdbd; } + .dashboard .activity-list li:last-child { + border: 0; } + .dashboard .activity-list li .ui-g-6:first-child { + font-size: 18px; + padding-left: 0; } + .dashboard .activity-list li .ui-g-6:last-child { + text-align: right; + color: #757575; } +.dashboard .timeline { + height: 100%; + box-sizing: border-box; } + .dashboard .timeline > .ui-g .ui-g-3 { + font-size: 14px; + position: relative; + border-right: 1px solid #bdbdbd; } + .dashboard .timeline > .ui-g .ui-g-3 i { + background-color: #ffffff; + font-size: 36px; + position: absolute; + top: 0px; + right: -18px; } + .dashboard .timeline > .ui-g .ui-g-9 { + padding-left: 1.5em; } + .dashboard .timeline > .ui-g .ui-g-9 .event-text { + color: #757575; + font-size: 14px; + display: block; + padding-bottom: 20px; } + .dashboard .timeline > .ui-g .ui-g-9 .event-content img { + width: 100%; } +.dashboard > div > .ui-panel { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + +.layout-rightpanel .layout-rightpanel-header { + background: url("../images/dashboard/sidebar-image.jpg") no-repeat; + background-size: cover; + height: 118px; + padding: 20px 14px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .layout-rightpanel .layout-rightpanel-header .weather-day, .layout-rightpanel .layout-rightpanel-header .weather-date { + color: #ffffff; + left: 14px; + font-size: 18px; + font-weight: 700; + padding-bottom: 4px; } +.layout-rightpanel .layout-rightpanel-content { + padding: 14px; } + .layout-rightpanel .layout-rightpanel-content h1 { + font-size: 18px; + margin: 0 0 4px 0; } + .layout-rightpanel .layout-rightpanel-content h2 { + font-size: 16px; + margin: 0; + color: #757575; + font-weight: normal; } + .layout-rightpanel .layout-rightpanel-content .weather-today { + text-align: center; + margin-top: 28px; } + .layout-rightpanel .layout-rightpanel-content .weather-today .weather-today-value { + font-size: 36px; + vertical-align: middle; + margin-right: 14px; } + .layout-rightpanel .layout-rightpanel-content .weather-today img { + vertical-align: middle; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather { + list-style-type: none; + margin: 28px 0 0 0; + padding: 0; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li { + padding: 8px 14px; + border-bottom: 1px solid #d8dae2; + position: relative; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li .weekly-weather-value { + position: absolute; + right: 40px; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li img { + width: 24px; + position: absolute; + right: 0px; + top: 4px; } + +.login-body { + background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + height: auto; } + +.login-panel { + text-align: center; + width: 350px; + min-height: 440px; + padding: 50px 20px; + margin: 100px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 25px 40px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-bottom: 20px; } + .login-panel .ui-button:hover { + background-color: #424242; } + .login-panel .ui-button:focus { + outline: 0 none; + background-color: #8f8f8f; } + .login-panel .ui-button.secondary:hover { + background-color: #D84315; } + .login-panel .ui-button.secondary:focus { + outline: 0 none; + background-color: #ff7e55; } + .login-panel .ui-inputtext:focus { + border-width: 0 0 2px 0; + border-color: #757575; + padding-bottom: 0px; } + +.login-footer { + position: absolute; + bottom: 10px; + font-size: 16px; + width: 100%; + text-align: center; + color: #757575; } + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + background: url("../images/login/login2x.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } } +@media (max-width: 1024px) { + .login-panel { + text-align: center; + min-height: 440px; + margin: 100px auto 0 auto; } } +@media (max-width: 640px) { + .login-panel { + text-align: center; + width: 300px; + min-height: 440px; + padding: 40px 20px; + margin: 75px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 20px 20px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-top: 30px; } } +.exception-body { + background-color: #f7f7f7; + height: auto; } + .exception-body .exception-type { + width: 100%; + height: 50%; + padding: 100px 100px 0 100px; + box-sizing: border-box; + text-align: center; } + .exception-body .exception-panel { + text-align: center; + width: 350px; + padding: 35px; + margin: -10% auto 0 auto; + z-index: 100; } + .exception-body .exception-panel i { + font-size: 72px; } + .exception-body .exception-panel h1 { + font-size: 36px; + line-height: 36px; + color: #757575; } + .exception-body .exception-panel .exception-detail { + margin: 20px 0px 100px 0px; + color: #757575; } + .exception-body .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .exception-body .ui-button:hover { + background-color: #D84315; } + .exception-body.error-page .exception-type { + background-color: #e62a10; } + .exception-body.error-page .exception-type img { + width: 100%; } + .exception-body.error-page .exception-panel i { + color: #f79a84; } + .exception-body.notfound-page .exception-type { + background-color: #3f51b5; } + .exception-body.notfound-page .exception-type img { + width: 54%; } + .exception-body.notfound-page .exception-panel i { + color: #9fa8da; } + .exception-body.accessdenied-page .exception-type { + background-color: #e91e63; } + .exception-body.accessdenied-page .exception-type img { + width: 50%; } + .exception-body.accessdenied-page .exception-panel i { + color: #f48fb1; } + +@media (max-width: 1024px) { + .exception-body .exception-panel { + margin-top: -50px; } } +@media (max-width: 640px) { + .exception-body .exception-panel { + width: 250px; + margin-top: -15px; } } +.landing-wrapper .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .landing-wrapper .ui-button:hover { + background-color: #D84315; } +.landing-wrapper #header { + width: 100%; + min-height: 400px; + background: url("../images/landing/landing-header.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } + .landing-wrapper #header .header-top { + width: 960px; + margin: 0 auto; + padding: 30px 0px; } + .landing-wrapper #header .header-top .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo.png") top left no-repeat; } + .landing-wrapper #header .header-top #menu { + float: right; + list-style: none; + margin: 0; + padding: 0; } + .landing-wrapper #header .header-top #menu li { + float: left; + display: block; + margin-left: 30px; } + .landing-wrapper #header .header-top #menu li a { + color: #ffffff; } + .landing-wrapper #header .header-top #menu li i { + display: none; } + .landing-wrapper #header .header-top #menu.lmenu-active { + display: block; } + .landing-wrapper #header .header-top #menu-button { + height: 36px; + margin-top: -2px; + float: right; + color: #ffffff; + display: none; } + .landing-wrapper #header .header-top #menu-button i { + font-size: 36px; } + .landing-wrapper #header .header-content { + width: 960px; + margin: 0 auto; + text-align: center; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + color: #ffffff; + line-height: 36px; } +.landing-wrapper #features { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #features h2 { + font-weight: 400; + line-height: 28px; } + .landing-wrapper #features h3 { + font-weight: 400; } + .landing-wrapper #features p { + color: #757575; } + .landing-wrapper #features .ui-g-12 { + padding: 2em .5em; } + .landing-wrapper #features .feature-icon { + display: inline-block; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + background-color: #f4f8fc; + box-sizing: border-box; + width: 100px; + height: 100px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .landing-wrapper #features .feature-icon i { + margin-top: 30px; + font-size: 36px; } + .landing-wrapper #features .feature-icon:hover { + background-color: #e91e63; } + .landing-wrapper #features .feature-icon:hover i { + color: #ffffff; } +.landing-wrapper #promotion { + background: url("../images/landing/promotion.png") top left no-repeat; + background-size: 100% auto; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 150px 0 0 150px; } + .landing-wrapper #promotion .ui-lg-8 h1 { + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 { + margin: -50px 0 -50px 0; } + .landing-wrapper #promotion .ui-lg-4 .card { + -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + margin-bottom: 20px; } + .landing-wrapper #promotion .ui-lg-4 .card h3 { + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 .card p { + color: #757575; } + .landing-wrapper #promotion .ui-lg-4 .card:last-child { + margin-bottom: 0; } +.landing-wrapper #pricing { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #pricing h2 { + font-weight: 400; } + .landing-wrapper #pricing p { + color: #757575; } + .landing-wrapper #pricing .pricing-box .card { + height: 100%; + padding: 0; } + .landing-wrapper #pricing .pricing-box .pricing-header { + padding: 40px 0; + color: #ffffff; } + .landing-wrapper #pricing .pricing-box .pricing-header span { + display: block; + line-height: 48px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.name { + font-weight: 300; + font-size: 24px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.fee { + font-size: 48px; + font-weight: 700; } + .landing-wrapper #pricing .pricing-box .pricing-header span.type { + font-weight: 300; + font-size: 16px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul { + margin: 0; + padding: 30px 20px; + list-style-type: none; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li { + font-size: 18px; + text-align: left; + padding: 10px 14px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li i { + margin-right: 20px; + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li span { + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box.pricing-basic .pricing-header { + background-color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-basic i { + color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-standard .pricing-header { + background-color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-standard i { + color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-professional .pricing-header { + background-color: #607d8b; } + .landing-wrapper #pricing .pricing-box.pricing-professional i { + color: #607d8b; } +.landing-wrapper #video { + background-color: #f7f7f7; + min-width: 400px; } + .landing-wrapper #video .video-content { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #video .video-content h2 { + font-weight: 400; } + .landing-wrapper #video .video-content p { + color: #757575; } +.landing-wrapper .footer { + background-color: #f7f7f7; + border-top: 1px solid #dddddd; } + .landing-wrapper .footer .footer-content { + width: 960px; + margin: 0 auto; + padding: 30px 0px 50px 0px; } + .landing-wrapper .footer .footer-content ul { + float: right; + list-style-type: none; } + .landing-wrapper .footer .footer-content ul li a { + color: #757575; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .landing-wrapper .footer .footer-content ul li a:hover { + color: #212121; } + +@media (max-width: 1024px) { + .landing-wrapper #header { + min-height: 200px; + background-size: cover; } + .landing-wrapper #header .header-top { + z-index: 100; + position: fixed; + top: 0; + background: #424242; + background-size: 100% auto; + padding: 30px; + width: 100%; + box-sizing: border-box; + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .landing-wrapper #header .header-top #menu-button { + display: inline-block; } + .landing-wrapper #header .header-top #menu { + z-index: 100; + position: fixed; + top: 86px; + right: 30px; + float: none; + display: none; + margin: 0; + padding: 0; + width: 225px; + list-style: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: .5s; + -moz-animation-duration: .5s; + animation-duration: .5s; } + .landing-wrapper #header .header-top #menu li { + float: none; + margin-left: 0; } + .landing-wrapper #header .header-top #menu li a { + font-size: 16px; + display: block; + padding: 10px 16px; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .landing-wrapper #header .header-top #menu li a i { + color: #757575; + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .landing-wrapper #header .header-top #menu li a:hover { + background-color: #e8e8e8; } + .landing-wrapper #header .header-top #menu li a span { + display: inline-block; + vertical-align: middle; } + .landing-wrapper #header .header-content { + width: 100%; + padding: 100px 30px 60px 30px; + box-sizing: border-box; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; } + .landing-wrapper #features, .landing-wrapper #promotion, .landing-wrapper #pricing, .landing-wrapper #video, .landing-wrapper .footer .footer-content { + width: 100%; + padding-right: 30px; + padding-left: 30px; + box-sizing: border-box; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 100px 0 30px; + text-align: center; } + .landing-wrapper #promotion .ui-lg-8 h1 { + margin-top: -30px; + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #video .video-content { + width: 100%; } + .landing-wrapper #video .video-content .video-container iframe { + width: 350px; + height: 220px; } + .landing-wrapper .footer .footer-content { + text-align: center; } + .landing-wrapper .footer .footer-content ul { + float: none; + margin: 0; + padding: 0; } } +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .landing-wrapper .header .header-top .logo { + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } } +html { + height: 100%; } + +body { + font-family: Roboto,"Helvetica Neue",sans-serif; + font-size: 16px; + line-height: 1.5em; + color: #212121; + -webkit-font-smoothing: antialiased; + padding: 0; + margin: 0; + background-color: #f7f7f7; + min-height: 100%; } + body a { + text-decoration: none; } + +.layout-mask { + position: fixed; + width: 100%; + height: 100%; + background-color: #424242; + top: 0; + left: 0; + z-index: 999999997; + opacity: 0.7; + filter: alpha(opacity=70); } + +.layout-container .topbar { + position: fixed; + z-index: 100; + width: 100%; + height: 75px; + background-color: #757575; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container .topbar .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } + .layout-container .topbar .topbar-left { + box-sizing: border-box; + padding: 20px; + height: 75px; + width: 250px; + background-color: #424242; + float: left; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); } + .layout-container .topbar .topbar-right { + padding: 15px; + position: relative; } + .layout-container .topbar .topbar-right #menu-button { + color: #ffffff; + display: inline-block; + vertical-align: middle; + height: 36px; + margin-right: 10px; + position: relative; + left: -16px; + top: 3px; + background-color: #FF5722; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); } + .layout-container .topbar .topbar-right #menu-button:hover { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + .layout-container .topbar .topbar-right #menu-button i { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #menu-button i:before { + content: "chevron_left"; } + .layout-container .topbar .topbar-right #topbar-menu-button, .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: none; + color: #ffffff; + vertical-align: middle; + height: 36px; + margin-top: 4px; + float: right; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .layout-container .topbar .topbar-right #topbar-menu-button i, .layout-container .topbar .topbar-right #rightpanel-menu-button i { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: block; } + .layout-container .topbar .topbar-right #rightpanel-menu-button:hover { + color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items .search-item input { + position: relative; + top: -10px; + font-size: 16px; + background-color: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + border-color: #ffffff; + color: #ffffff; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus { + outline: 0 none; + border-bottom-width: 2px; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus ~ label { + top: -5px; + font-size: 12px; + color: #757575; } + .layout-container .topbar .topbar-right .topbar-items .search-item input.ui-state-filled ~ label { + display: none; } + .layout-container .topbar .topbar-right .topbar-items .search-item label { + color: #ffffff; + top: 8px; } +.layout-container .layout-menu { + overflow: visible; + position: fixed; + width: 250px; + z-index: 99; + top: 75px; + height: 100%; + background-color: #ffffff; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-menu .ui-scrollpanel { + background: transparent; + border-radius: 0; + border: none; } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-bar { + background-color: #aaaaaa; + opacity: 0.3; + filter: alpha(opacity=30); } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-menu .ui-scrollpanel .layout-menu { + padding-bottom: 120px; } + .layout-container .layout-menu .profile { + box-sizing: border-box; + padding-top: 2em; + width: 250px; + height: 145px; + text-align: center; + background: url("../images/profile-bg.png") top left no-repeat; + background-size: 250px 145px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); } + .layout-container .layout-menu .profile .profile-image { + width: 60px; + height: 60px; + margin: 0 auto 5px auto; + display: block; } + .layout-container .layout-menu .profile .profile-name { + display: inline-block; + color: #212121; + vertical-align: middle; + font-size: 1em; } + .layout-container .layout-menu .profile i { + color: #212121; + vertical-align: middle; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .layout-menu .profile.profile-expanded i { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .layout-menu .profile-menu { + border-bottom: 1px solid #d6d5d5; + overflow: hidden; } + .layout-container .layout-menu .profile-menu li:first-child { + margin-top: 1em; } + .layout-container .layout-menu .profile-menu li:last-child { + margin-bottom: 1em; } + .layout-container .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container .layout-menu.layout-menu-dark .profile { + background-image: url("../images/profile-bg-dark.png"); } + .layout-container .layout-menu.layout-menu-dark .profile .profile-name { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile-menu { + border-bottom: 1px solid #545454; } + .layout-container .layout-menu.layout-menu-dark .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + border-radius: 0; + border: none; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #FF5722; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #FF5722; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #FF5722; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink { + color: #ffffff; + background-color: #FF5722; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink i { + color: #212121; } + .layout-container .layout-menu .menuitem-badge { + position: absolute; + right: 3.5em; + top: .75em; + display: inline-block; + width: 1em; + height: 1em; + margin-right: .5em; + text-align: center; + background-color: #FF5722; + color: #ffffff; + font-size: 14px; + font-weight: 700; + line-height: 1em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + .layout-container .layout-menu .layout-menu-tooltip { + display: none; + padding: 0 5px; + position: absolute; + left: 76px; + top: 6px; + z-index: 101; + line-height: 1; } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text { + padding: 6px 8px; + font-weight: 700; + background-color: #353535; + color: #ffffff; + min-width: 75px; + white-space: nowrap; + text-align: center; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #353535; } +.layout-container.menu-layout-overlay .layout-menu { + margin-left: -250px; } +.layout-container.menu-layout-overlay .layout-main { + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-menu { + z-index: 999999999; + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-mask { + display: block; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); } +.layout-container.menu-layout-overlay .topbar { + z-index: 999999998; } + .layout-container.menu-layout-overlay .topbar .topbar-right #menu-button i { + font-size: 36px !important; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.layout-container .layout-main { + padding: 75px 0 0 0; + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-main .layout-content { + padding: 16px; } +.layout-container .layout-mask { + display: none; } +.layout-container .layout-breadcrumb { + background-color: #ffffff; + box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -webkit-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -moz-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + min-height: 42px; } + .layout-container .layout-breadcrumb:before, .layout-container .layout-breadcrumb:after { + content: ""; + display: table; } + .layout-container .layout-breadcrumb:after { + clear: both; } + .layout-container .layout-breadcrumb ul { + margin: 8px 0 0 0; + padding: 0 0 0 20px; + list-style: none; + color: #757575; + display: inline-block; } + .layout-container .layout-breadcrumb ul li { + display: inline-block; + vertical-align: top; + color: #757575; } + .layout-container .layout-breadcrumb ul li:nth-child(even) { + font-size: 20px; } + .layout-container .layout-breadcrumb ul li:first-child(even) { + color: #757575; } + .layout-container .layout-breadcrumb ul li a { + color: #757575; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options { + float: right; + padding: 0px 20px 0 0; + height: 100%; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a { + color: #757575; + display: inline-block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a:hover { + background-color: #e8e8e8; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a i { + line-height: inherit; } +.layout-container .ultima-menu { + margin: 0; + padding: 0; + list-style: none; + width: 268px; } + .layout-container .ultima-menu.ultima-main-menu { + margin-top: 16px; + padding-bottom: 120px; } + .layout-container .ultima-menu li a { + font-size: 1em; + display: block; + padding: .5em 2.5em .5em 1em; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .layout-container .ultima-menu li a i { + color: #757575; } + .layout-container .ultima-menu li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .5em; + font-size: 1.5em; } + .layout-container .ultima-menu li a i:last-child { + float: right; + font-size: 20px; + margin-top: .15em; + margin-right: -.15em; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .ultima-menu li a:hover { + background-color: #e8e8e8; } + .layout-container .ultima-menu li a span { + display: inline-block; + vertical-align: middle; } + .layout-container .ultima-menu li a.active-menuitem-routerlink { + color: #FF5722; } + .layout-container .ultima-menu li a.active-menuitem-routerlink > i { + color: #FF5722; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #757575; } + .layout-container .ultima-menu li.active-menuitem > a { + color: #757575; + background-color: #e8e8e8; } + .layout-container .ultima-menu li.active-menuitem > a i { + color: #757575; } + .layout-container .ultima-menu li.active-menuitem > a i:last-child { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .ultima-menu li ul { + padding: 0; + margin: 0; + list-style: none; + overflow: hidden; } + .layout-container .ultima-menu li ul li a { + padding: .5em 2.5em .5em 2em; } + .layout-container .ultima-menu li ul li a > span { + font-size: 15px; } + .layout-container .ultima-menu li ul li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .6em; + font-size: 1.250em; } + .layout-container .ultima-menu li ul li ul li a { + padding-left: 3em; } + .layout-container .ultima-menu li ul li ul ul li a { + padding-left: 4em; } + .layout-container .ultima-menu li ul li ul ul ul li a { + padding-left: 5em; } + .layout-container .ultima-menu li ul li ul ul ul ul li a { + padding-left: 6em; } + .layout-container .ultima-menu li.red-badge > a .menuitem-badge { + background-color: #F44336; + color: #ffffff; } + .layout-container .ultima-menu li.purple-badge > a .menuitem-badge { + background-color: #4527A0; + color: #ffffff; } + .layout-container .ultima-menu li.teal-badge > a .menuitem-badge { + background-color: #00695C; + color: #ffffff; } +.layout-container .footer { + padding: .5em; } + .layout-container .footer .footer-text-left { + float: left; } + .layout-container .footer .footer-text-right { + color: #757575; + float: right; } + .layout-container .footer .footer-text-right span { + vertical-align: middle; + display: inline-block; } +.layout-container .layout-rightpanel { + position: fixed; + top: 75px; + height: 100%; + right: -240px; + width: 240px; + z-index: 100; + background-color: #ffffff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -moz-transition: right 0.3s; + -o-transition: right 0.3s; + -webkit-transition: right 0.3s; + transition: right 0.3s; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); } + .layout-container .layout-rightpanel.layout-rightpanel-active { + right: 0; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); } + .layout-container .layout-rightpanel .layout-rightpanel-content { + padding: 14px; + padding-bottom: 120px; } + .layout-container .layout-rightpanel .ui-scrollpanel { + border-radius: 0; + border: none; } + .layout-container .layout-rightpanel .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-rightpanel .ui-scrollpanel .layout-rightpanel-wrapper { + width: 258px; + padding-right: 18px; } + +.ajax-loader { + font-size: 2em; + color: #FF5722; } + +@media (min-width: 1025px) { + .layout-container .topbar-items { + float: right; + margin: 0; + padding: 5px 0 0 0; + list-style-type: none; } + .layout-container .topbar-items > li { + float: right; + position: relative; + margin-left: 8px; } + .layout-container .topbar-items > li > a { + position: relative; + display: block; } + .layout-container .topbar-items > li > a .topbar-item-name { + display: none; } + .layout-container .topbar-items > li > a .topbar-badge { + position: absolute; + right: -5px; + top: -5px; + background-color: #FF5722; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar-items > li .topbar-icon { + font-size: 36px; + color: #ffffff; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .layout-container .topbar-items > li .topbar-icon:hover { + color: #e8e8e8; } + .layout-container .topbar-items > li.profile-item .profile-image { + width: 36px; + height: 36px; } + .layout-container .topbar-items > li > ul { + position: absolute; + top: 55px; + right: 5px; + display: none; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; } + .layout-container .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar-items > li .topbar-message img { + display: inline-block; + vertical-align: middle; + margin-right: 12px; } + .layout-container.menu-layout-static .layout-menu { + margin-left: 0; } + .layout-container.menu-layout-static .layout-main { + margin-left: 250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-menu { + margin-left: -250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static .layout-mask { + display: none; } + .layout-container.menu-layout-horizontal .topbar { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-left { + background-color: #757575; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-horizontal .layout-menu { + overflow: visible; + position: fixed; + width: 100%; + top: 75px; + height: auto; + background-color: #424242; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel { + overflow: visible; + border: none; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu { + width: 100%; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu.ultima-main-menu { + margin-top: 0; + padding-bottom: 0; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li { + float: left; + position: relative; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a { + padding: .5em 1em; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover { + background-color: #e8e8e8; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink { + color: #FF5722; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink > i { + color: #FF5722; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + position: absolute; + top: 41px; + left: 0px; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li a { + padding: 10px 16px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul { + position: static; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul li a { + padding-left: 80px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul ul li a { + padding-left: 96px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > a { + color: #757575; + background-color: #e8e8e8; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a { + color: #ffffff; + background-color: #FF5722; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #FF5722; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #FF5722; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #FF5722; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li ul { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu .menuitem-badge { + left: 32px; + top: 7px; } + .layout-container.menu-layout-horizontal .layout-menu .active-menuitem .menuitem-badge { + background-color: #ffffff; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-main { + padding-top: 116px; + margin-left: 0px; } + .layout-container.menu-layout-horizontal .layout-mask { + display: none; } + .layout-container.menu-layout-slim .topbar { + left: 75px; + width: calc(100% - 75px); } + .layout-container.menu-layout-slim .topbar .topbar-left { + background: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-slim .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-slim .layout-menu { + width: 75px; + overflow: visible; + z-index: 100; + top: 0; } + .layout-container.menu-layout-slim .layout-menu .profile { + width: calc(100% - 18px); + height: 74px; + padding-top: 15px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-image { + width: 45px; + height: 45px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-name, .layout-container.menu-layout-slim .layout-menu .profile > a i { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel { + border: none; + border-radius: 0; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu { + padding: 0; + width: calc(100% - 18px); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li { + position: relative; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a { + text-align: center; + padding-left: 0; + padding-right: 0; + padding-top: .5em; + padding-bottom: .5em; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a i:first-child { + font-size: 1.75em; + margin-right: 0; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a span, .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a .submenu-icon { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a:hover + .layout-menu-tooltip { + display: block; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul { + background-color: #ffffff; + position: absolute; + top: 0; + left: 75px; + min-width: 200px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li a { + padding: .5em 1em .5em 2em; + padding-left: 16px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul li a { + padding: 80px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul ul li a { + padding: 96px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li.active-menuitem > a:hover + .layout-menu-tooltip { + display: none; } + .layout-container.menu-layout-slim .layout-menu.layout-menu-dark .ultima-menu > li > ul { + background-color: #424242; } + .layout-container.menu-layout-slim .layout-main { + margin-left: 75px; } + .layout-container.menu-layout-slim .layout-footer { + margin-left: 75px; } } +@media (max-width: 1024px) { + .layout-container.menu-layout-static .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static .layout-menu { + margin-left: -265px; } + .layout-container.menu-layout-static .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-menu { + margin-left: 0; + z-index: 999999999; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar { + z-index: 999999998; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); } + .layout-container.menu-layout-static.layout-menu-static-active .layout-main { + margin-left: 0; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-mask { + display: block; } + .layout-container .topbar .topbar-right #topbar-menu-button { + display: block; } + .layout-container .topbar .topbar-right .topbar-items { + position: absolute; + top: 75px; + right: 15px; + width: 275px; + display: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + list-style-type: none; + margin: 0; + padding: 0; } + .layout-container .topbar .topbar-right .topbar-items > li > a { + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + color: #212121; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li > a i { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .layout-container .topbar .topbar-right .topbar-items > li > a:hover { + background-color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-item-name { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-badge { + position: absolute; + left: 30px; + top: 10px; + background-color: #FF5722; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar .topbar-right .topbar-items > li > ul { + display: none; } + .layout-container .topbar .topbar-right .topbar-items > li > ul li a span, .layout-container .topbar .topbar-right .topbar-items > li > ul li a img, .layout-container .topbar .topbar-right .topbar-items > li > ul li a i { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > a { + color: #757575; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a { + padding-left: 32px; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item { + text-align: center; + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input { + top: 0; + width: 100%; + box-sizing: border-box; + padding-right: 16px; + border-color: #bdbdbd; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus { + margin-bottom: -1px; + border-color: #bdbdbd; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus ~ label, + .layout-container .topbar .topbar-right .topbar-items > li.search-item input.ui-state-filled ~ label { + top: -20px; + color: #757575; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item label { + top: 1px; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item i { + position: absolute; + right: 5px; + top: -2px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item .profile-image { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + background: url("../images/avatar.png") top left no-repeat; + background-size: 24px 24px; + margin-right: 14px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item span { + vertical-align: middle; + display: inline-block; } + .layout-container .topbar .topbar-right .topbar-items.topbar-items-visible { + display: block; } } +@media (max-width: 385px) { + .layout-container .topbar .topbar-right #topbar-menu-button { + position: absolute; + height: 1.5em; + right: 24px; + top: 1.375em; } + .layout-container .topbar .topbar-right #topbar-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + position: absolute; + height: 1.5em; + right: 8px; + top: 1.375em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #menu-button { + margin-right: 0; } } +body .layout-wrapper.layout-compact { + font-size: 14px; + line-height: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li a i:last-child { + font-size: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li ul li a span { + font-size: 14px; } + body .layout-wrapper.layout-compact .layout-container .layout-breadcrumb ul li { + vertical-align: middle; } + body .layout-wrapper.layout-compact .ui-radiobutton .ui-radiobutton-box { + width: 18px; + height: 18px; } + body .layout-wrapper.layout-compact .ui-datepicker tbody td a, body .layout-wrapper.layout-compact .ui-datepicker body .ui-datepicker tbody td span { + padding-top: .25em; } + +@media (min-width: 1025px) { + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + top: 35px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li span { + font-size: 14px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-main { + padding-top: 110px; } } diff --git a/src/assets/layout/css/layout-grey.scss b/src/assets/layout/css/layout-grey.scss new file mode 100644 index 0000000..7ca3433 --- /dev/null +++ b/src/assets/layout/css/layout-grey.scss @@ -0,0 +1,14 @@ +$primaryColor: #757575; +$primaryDarkColor: #424242; +$primaryLightColor: #EEEEEE; +$accentColor: #FF5722; +$accentDarkColor: #D84315; +$accentLightColor: #FFAB91; +$accentTextColor: #ffffff; +$darkMenuBgColor: #424242; +$darkMenuHoverColor: #676767; +$darkMenuRouterLinkActiveColor: #FF5722; +$lightMenuRouterLinkActiveColor: #FF5722; +$horizontalLightMenuRouterLinkActiveColor: #FF5722; + +@import '../../sass/layout/_layout'; \ No newline at end of file diff --git a/src/assets/layout/css/layout-indigo.css b/src/assets/layout/css/layout-indigo.css new file mode 100644 index 0000000..5c05915 --- /dev/null +++ b/src/assets/layout/css/layout-indigo.css @@ -0,0 +1,1879 @@ +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url("../fonts/roboto-v15-latin-300.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-300.woff2") format("woff2"), url("../fonts/roboto-v15-latin-300.woff") format("woff"), url("../fonts/roboto-v15-latin-300.ttf") format("truetype"), url("../fonts/roboto-v15-latin-300.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url("../fonts/roboto-v15-latin-regular.eot"); + /* IE9 Compat Modes */ + src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v15-latin-regular.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v15-latin-regular.woff") format("woff"), url("../fonts/roboto-v15-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v15-latin-regular.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url("../fonts/roboto-v15-latin-700.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v15-latin-700.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-700.woff2") format("woff2"), url("../fonts/roboto-v15-latin-700.woff") format("woff"), url("../fonts/roboto-v15-latin-700.ttf") format("truetype"), url("../fonts/roboto-v15-latin-700.svg#Roboto") format("svg"); + /* Legacy iOS */ } +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../fonts/MaterialIcons-Regular.eot"); + /* For IE6-8 */ + src: local("Material Icons"), local("MaterialIcons-Regular"), url("../fonts/MaterialIcons-Regular.woff2") format("woff2"), url("../fonts/MaterialIcons-Regular.woff") format("woff"), url("../fonts/MaterialIcons-Regular.ttf") format("truetype"); } +/* Utils */ +.clearfix:after { + content: " "; + display: block; + clear: both; } + +*[hidden] { + display: none; } + +.card { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + background: #ffffff; + padding: 1em; + margin-bottom: 1em; + box-sizing: border-box; } + .card.card-w-title { + padding-bottom: 2em; } + .card h1 { + font-size: 1.5em; + font-weight: 400; + margin: 1em 0; } + .card h1:first-child { + margin-top: .667em; } + .card h2 { + font-size: 1.375em; + font-weight: 400; } + .card h3 { + font-size: 1.250em; + font-weight: 400; } + .card h4 { + font-size: 1.125em; + font-weight: 400; } + +.nopad { + padding: 0; } + .nopad .ui-panel-content { + padding: 0; } + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: none; + transform: none; } } +@keyframes fadeInDown { + from { + opacity: 0; + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + transform: none; } } +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); } } +@keyframes spin { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } +.ui-icon-spin { + -webkit-animation-name: spin; + animation-name: spin; } + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; } + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; } + +.ui-shadow-1 { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.ui-shadow-2 { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-3 { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-4 { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.ui-shadow-5 { + -webkit-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.ui-g { + -ms-flex-wrap: wrap; } + .ui-g.form-group > div { + padding: 1em; } + .ui-g.form-group-m > div { + padding: 1em; } + +/* Ripple */ +/* Ripple Effect Style like Google Material Buttons Effect*/ +.ripplelink { + /* display:block; */ + /*color:#fff;*/ + text-decoration: none; + position: relative; + overflow: hidden; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; + z-index: 0; } + +.ripplelink:hover { + /*z-index:1000;*/ } + +.ink { + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.4); + border-radius: 100%; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); } + +.ripple-animate { + -webkit-animation: ripple 0.65s linear; + -moz-animation: ripple 0.65s linear; + -ms-animation: ripple 0.65s linear; + -o-animation: ripple 0.65s linear; + animation: ripple 0.65s linear; } + +@-webkit-keyframes ripple { + 100% { + opacity: 0; + -webkit-transform: scale(2.5); } } +@-moz-keyframes ripple { + 100% { + opacity: 0; + -moz-transform: scale(2.5); } } +@-o-keyframes ripple { + 100% { + opacity: 0; + -o-transform: scale(2.5); } } +@keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); } } +.splash-screen { + width: 100%; + min-height: 100%; + background-color: #3F51B5; + position: absolute; } + +.splash-loader-container { + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-left: -32px; + margin-top: -32px; } + +.splash-loader { + animation: rotator 1.4s linear infinite; } + +@keyframes rotator { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(270deg); } } +.splash-path { + stroke-dasharray: 187; + stroke-dashoffset: 0; + transform-origin: center; + animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; } + +@keyframes colors { + 0% { + stroke: #4285F4; } + 25% { + stroke: #DE3E35; } + 50% { + stroke: #F7C223; } + 75% { + stroke: #1B9A59; } + 100% { + stroke: #4285F4; } } +@keyframes dash { + 0% { + stroke-dashoffset: 187; } + 50% { + stroke-dashoffset: 46.75; + transform: rotate(135deg); } + 100% { + stroke-dashoffset: 187; + transform: rotate(450deg); } } +.dashboard .overview { + padding: 0 !important; + min-height: 140px; + position: relative; + margin-bottom: 0px !important; } + .dashboard .overview .overview-content { + padding: 16px; } + .dashboard .overview .overview-content .overview-title { + font-size: 18px; } + .dashboard .overview .overview-content .overview-badge { + float: right; + color: #757575; } + .dashboard .overview .overview-content .overview-detail { + display: block; + font-size: 24px; + margin-top: 5px; } + .dashboard .overview .overview-footer { + position: absolute; + bottom: 0; + width: 100%; } + .dashboard .overview .overview-footer img { + display: block; } +.dashboard .colorbox { + padding: 0 !important; + text-align: center; + overflow: hidden; + margin-bottom: 0px !important; } + .dashboard .colorbox i { + font-size: 48px; + margin-top: 10px; + color: #ffffff; } + .dashboard .colorbox .colorbox-name { + font-size: 20px; + display: inline-block; + width: 100%; + margin: 4px 0 10px 0; + color: #ffffff; } + .dashboard .colorbox .colorbox-count { + color: #ffffff; + font-size: 36px; } + .dashboard .colorbox .colorbox-count { + font-weight: bold; } + .dashboard .colorbox.colorbox-1 { + background-color: #4CAF50; } + .dashboard .colorbox.colorbox-1 div:first-child { + background-color: #2E7D32; } + .dashboard .colorbox.colorbox-2 { + background-color: #03A9F4; } + .dashboard .colorbox.colorbox-2 div:first-child { + background-color: #0277BD; } + .dashboard .colorbox.colorbox-3 { + background-color: #673AB7; } + .dashboard .colorbox.colorbox-3 div:first-child { + background-color: #4527A0; } + .dashboard .colorbox.colorbox-4 { + background-color: #009688; } + .dashboard .colorbox.colorbox-4 div:first-child { + background-color: #00695C; } +.dashboard .task-list { + overflow: hidden; } + .dashboard .task-list > .ui-panel { + min-height: 340px; } + .dashboard .task-list .ui-panel-content { + padding: 10px 0 !important; } + .dashboard .task-list ul { + list-style-type: none; + margin: 0; + padding: 0; } + .dashboard .task-list ul li { + padding: 0.625em 0.875em; + border-bottom: 1px solid #dbdbdb; } + .dashboard .task-list ul li:first-child { + margin-top: 10px; } + .dashboard .task-list ul .ui-chkbox { + vertical-align: middle; + margin-right: 5px; } + .dashboard .task-list ul .task-name { + vertical-align: middle; } + .dashboard .task-list ul i { + color: #757575; + float: right; } +.dashboard .contact-form { + overflow: hidden; } + .dashboard .contact-form .ui-panel { + min-height: 340px; } + .dashboard .contact-form .ui-g-12 { + padding: 16px 10px; } + .dashboard .contact-form .ui-button { + margin-top: 20px; } +.dashboard .contacts { + overflow: hidden; } + .dashboard .contacts > .ui-panel { + min-height: 340px; } + .dashboard .contacts .ui-panel-content { + padding: 15px 0 10px 0 !important; } + .dashboard .contacts ul { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .contacts ul li { + border-bottom: 1px solid #d8d8d8; } + .dashboard .contacts ul li a { + padding: 9px; + width: 100%; + box-sizing: border-box; + text-decoration: none; + position: relative; + display: block; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-transition: background-color 0.2s; + -o-transition: background-color 0.2s; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; } + .dashboard .contacts ul li a .name { + position: absolute; + right: 10px; + top: 10px; + font-size: 18px; + color: #212121; } + .dashboard .contacts ul li a .email { + position: absolute; + right: 10px; + top: 30px; + font-size: 14px; + color: #757575; } + .dashboard .contacts ul li a:hover { + cursor: pointer; + background-color: #e8e8e8; } + .dashboard .contacts ul li:last-child { + border: 0; } +.dashboard .activity-list { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .activity-list li { + border-bottom: 1px solid #bdbdbd; + padding: 15px 0 9px 9px; } + .dashboard .activity-list li .count { + font-size: 24px; + color: #ffffff; + background-color: #03A9F4; + font-weight: bold; + display: inline-block; + padding: 5px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; } + .dashboard .activity-list li:first-child { + border-top: 1px solid #bdbdbd; } + .dashboard .activity-list li:last-child { + border: 0; } + .dashboard .activity-list li .ui-g-6:first-child { + font-size: 18px; + padding-left: 0; } + .dashboard .activity-list li .ui-g-6:last-child { + text-align: right; + color: #757575; } +.dashboard .timeline { + height: 100%; + box-sizing: border-box; } + .dashboard .timeline > .ui-g .ui-g-3 { + font-size: 14px; + position: relative; + border-right: 1px solid #bdbdbd; } + .dashboard .timeline > .ui-g .ui-g-3 i { + background-color: #ffffff; + font-size: 36px; + position: absolute; + top: 0px; + right: -18px; } + .dashboard .timeline > .ui-g .ui-g-9 { + padding-left: 1.5em; } + .dashboard .timeline > .ui-g .ui-g-9 .event-text { + color: #757575; + font-size: 14px; + display: block; + padding-bottom: 20px; } + .dashboard .timeline > .ui-g .ui-g-9 .event-content img { + width: 100%; } +.dashboard > div > .ui-panel { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + +.layout-rightpanel .layout-rightpanel-header { + background: url("../images/dashboard/sidebar-image.jpg") no-repeat; + background-size: cover; + height: 118px; + padding: 20px 14px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .layout-rightpanel .layout-rightpanel-header .weather-day, .layout-rightpanel .layout-rightpanel-header .weather-date { + color: #ffffff; + left: 14px; + font-size: 18px; + font-weight: 700; + padding-bottom: 4px; } +.layout-rightpanel .layout-rightpanel-content { + padding: 14px; } + .layout-rightpanel .layout-rightpanel-content h1 { + font-size: 18px; + margin: 0 0 4px 0; } + .layout-rightpanel .layout-rightpanel-content h2 { + font-size: 16px; + margin: 0; + color: #757575; + font-weight: normal; } + .layout-rightpanel .layout-rightpanel-content .weather-today { + text-align: center; + margin-top: 28px; } + .layout-rightpanel .layout-rightpanel-content .weather-today .weather-today-value { + font-size: 36px; + vertical-align: middle; + margin-right: 14px; } + .layout-rightpanel .layout-rightpanel-content .weather-today img { + vertical-align: middle; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather { + list-style-type: none; + margin: 28px 0 0 0; + padding: 0; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li { + padding: 8px 14px; + border-bottom: 1px solid #d8dae2; + position: relative; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li .weekly-weather-value { + position: absolute; + right: 40px; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li img { + width: 24px; + position: absolute; + right: 0px; + top: 4px; } + +.login-body { + background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + height: auto; } + +.login-panel { + text-align: center; + width: 350px; + min-height: 440px; + padding: 50px 20px; + margin: 100px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 25px 40px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-bottom: 20px; } + .login-panel .ui-button:hover { + background-color: #283593; } + .login-panel .ui-button:focus { + outline: 0 none; + background-color: #606fc7; } + .login-panel .ui-button.secondary:hover { + background-color: #ad1457; } + .login-panel .ui-button.secondary:focus { + outline: 0 none; + background-color: #ee4c83; } + .login-panel .ui-inputtext:focus { + border-width: 0 0 2px 0; + border-color: #3F51B5; + padding-bottom: 0px; } + +.login-footer { + position: absolute; + bottom: 10px; + font-size: 16px; + width: 100%; + text-align: center; + color: #757575; } + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + /*background: url("../images/login/login2x.png") top left no-repeat #f7f7f7;*/ + background: url("../images/login11.jpg") top left no-repeat; + background-size: 100% 100%; } } +@media (max-width: 1024px) { + .login-panel { + text-align: center; + min-height: 440px; + margin: 100px auto 0 auto; } } +@media (max-width: 640px) { + .login-panel { + text-align: center; + width: 300px; + min-height: 440px; + padding: 40px 20px; + margin: 75px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 20px 20px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-top: 30px; } } +.exception-body { + background-color: #f7f7f7; + height: auto; } + .exception-body .exception-type { + width: 100%; + height: 50%; + padding: 100px 100px 0 100px; + box-sizing: border-box; + text-align: center; } + .exception-body .exception-panel { + text-align: center; + width: 350px; + padding: 35px; + margin: -10% auto 0 auto; + z-index: 100; } + .exception-body .exception-panel i { + font-size: 72px; } + .exception-body .exception-panel h1 { + font-size: 36px; + line-height: 36px; + color: #757575; } + .exception-body .exception-panel .exception-detail { + margin: 20px 0px 100px 0px; + color: #757575; } + .exception-body .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .exception-body .ui-button:hover { + background-color: #ad1457; } + .exception-body.error-page .exception-type { + background-color: #e62a10; } + .exception-body.error-page .exception-type img { + width: 100%; } + .exception-body.error-page .exception-panel i { + color: #f79a84; } + .exception-body.notfound-page .exception-type { + background-color: #3f51b5; } + .exception-body.notfound-page .exception-type img { + width: 54%; } + .exception-body.notfound-page .exception-panel i { + color: #9fa8da; } + .exception-body.accessdenied-page .exception-type { + background-color: #e91e63; } + .exception-body.accessdenied-page .exception-type img { + width: 50%; } + .exception-body.accessdenied-page .exception-panel i { + color: #f48fb1; } + +@media (max-width: 1024px) { + .exception-body .exception-panel { + margin-top: -50px; } } +@media (max-width: 640px) { + .exception-body .exception-panel { + width: 250px; + margin-top: -15px; } } +.landing-wrapper .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .landing-wrapper .ui-button:hover { + background-color: #ad1457; } +.landing-wrapper #header { + width: 100%; + min-height: 400px; + background: url("../images/landing/landing-header.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } + .landing-wrapper #header .header-top { + width: 960px; + margin: 0 auto; + padding: 30px 0px; } + .landing-wrapper #header .header-top .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + /*background: url("../images/logo.png") top left no-repeat; }*/ + background: url("../images/overFlow_CI_white_200_30.png") top left no-repeat; } + .landing-wrapper #header .header-top #menu { + float: right; + list-style: none; + margin: 0; + padding: 0; } + .landing-wrapper #header .header-top #menu li { + float: left; + display: block; + margin-left: 30px; } + .landing-wrapper #header .header-top #menu li a { + color: #ffffff; } + .landing-wrapper #header .header-top #menu li i { + display: none; } + .landing-wrapper #header .header-top #menu.lmenu-active { + display: block; } + .landing-wrapper #header .header-top #menu-button { + height: 36px; + margin-top: -2px; + float: right; + color: #ffffff; + display: none; } + .landing-wrapper #header .header-top #menu-button i { + font-size: 36px; } + .landing-wrapper #header .header-content { + width: 960px; + margin: 0 auto; + text-align: center; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + color: #ffffff; + line-height: 36px; } +.landing-wrapper #features { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #features h2 { + font-weight: 400; + line-height: 28px; } + .landing-wrapper #features h3 { + font-weight: 400; } + .landing-wrapper #features p { + color: #757575; } + .landing-wrapper #features .ui-g-12 { + padding: 2em .5em; } + .landing-wrapper #features .feature-icon { + display: inline-block; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + background-color: #f4f8fc; + box-sizing: border-box; + width: 100px; + height: 100px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .landing-wrapper #features .feature-icon i { + margin-top: 30px; + font-size: 36px; } + .landing-wrapper #features .feature-icon:hover { + background-color: #e91e63; } + .landing-wrapper #features .feature-icon:hover i { + color: #ffffff; } +.landing-wrapper #promotion { + background: url("../images/landing/promotion.png") top left no-repeat; + background-size: 100% auto; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 150px 0 0 150px; } + .landing-wrapper #promotion .ui-lg-8 h1 { + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 { + margin: -50px 0 -50px 0; } + .landing-wrapper #promotion .ui-lg-4 .card { + -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + margin-bottom: 20px; } + .landing-wrapper #promotion .ui-lg-4 .card h3 { + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 .card p { + color: #757575; } + .landing-wrapper #promotion .ui-lg-4 .card:last-child { + margin-bottom: 0; } +.landing-wrapper #pricing { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #pricing h2 { + font-weight: 400; } + .landing-wrapper #pricing p { + color: #757575; } + .landing-wrapper #pricing .pricing-box .card { + height: 100%; + padding: 0; } + .landing-wrapper #pricing .pricing-box .pricing-header { + padding: 40px 0; + color: #ffffff; } + .landing-wrapper #pricing .pricing-box .pricing-header span { + display: block; + line-height: 48px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.name { + font-weight: 300; + font-size: 24px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.fee { + font-size: 48px; + font-weight: 700; } + .landing-wrapper #pricing .pricing-box .pricing-header span.type { + font-weight: 300; + font-size: 16px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul { + margin: 0; + padding: 30px 20px; + list-style-type: none; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li { + font-size: 18px; + text-align: left; + padding: 10px 14px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li i { + margin-right: 20px; + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li span { + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box.pricing-basic .pricing-header { + background-color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-basic i { + color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-standard .pricing-header { + background-color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-standard i { + color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-professional .pricing-header { + background-color: #607d8b; } + .landing-wrapper #pricing .pricing-box.pricing-professional i { + color: #607d8b; } +.landing-wrapper #video { + background-color: #f7f7f7; + min-width: 400px; } + .landing-wrapper #video .video-content { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #video .video-content h2 { + font-weight: 400; } + .landing-wrapper #video .video-content p { + color: #757575; } +.landing-wrapper .footer { + background-color: #f7f7f7; + border-top: 1px solid #dddddd; } + .landing-wrapper .footer .footer-content { + width: 960px; + margin: 0 auto; + padding: 30px 0px 50px 0px; } + .landing-wrapper .footer .footer-content ul { + float: right; + list-style-type: none; } + .landing-wrapper .footer .footer-content ul li a { + color: #757575; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .landing-wrapper .footer .footer-content ul li a:hover { + color: #212121; } + +@media (max-width: 1024px) { + .landing-wrapper #header { + min-height: 200px; + background-size: cover; } + .landing-wrapper #header .header-top { + z-index: 100; + position: fixed; + top: 0; + background: #424242; + background-size: 100% auto; + padding: 30px; + width: 100%; + box-sizing: border-box; + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .landing-wrapper #header .header-top #menu-button { + display: inline-block; } + .landing-wrapper #header .header-top #menu { + z-index: 100; + position: fixed; + top: 86px; + right: 30px; + float: none; + display: none; + margin: 0; + padding: 0; + width: 225px; + list-style: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: .5s; + -moz-animation-duration: .5s; + animation-duration: .5s; } + .landing-wrapper #header .header-top #menu li { + float: none; + margin-left: 0; } + .landing-wrapper #header .header-top #menu li a { + font-size: 16px; + display: block; + padding: 10px 16px; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .landing-wrapper #header .header-top #menu li a i { + color: #757575; + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .landing-wrapper #header .header-top #menu li a:hover { + background-color: #e8e8e8; } + .landing-wrapper #header .header-top #menu li a span { + display: inline-block; + vertical-align: middle; } + .landing-wrapper #header .header-content { + width: 100%; + padding: 100px 30px 60px 30px; + box-sizing: border-box; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; } + .landing-wrapper #features, .landing-wrapper #promotion, .landing-wrapper #pricing, .landing-wrapper #video, .landing-wrapper .footer .footer-content { + width: 100%; + padding-right: 30px; + padding-left: 30px; + box-sizing: border-box; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 100px 0 30px; + text-align: center; } + .landing-wrapper #promotion .ui-lg-8 h1 { + margin-top: -30px; + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #video .video-content { + width: 100%; } + .landing-wrapper #video .video-content .video-container iframe { + width: 350px; + height: 220px; } + .landing-wrapper .footer .footer-content { + text-align: center; } + .landing-wrapper .footer .footer-content ul { + float: none; + margin: 0; + padding: 0; } } +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .landing-wrapper .header .header-top .logo { + /*background: url("../images/logo2x.png") top left no-repeat;*/ + background: url("../images/overFlow_CI_white_200_30.png") top left no-repeat; + background-size: 200px 30px; } } +html { + height: 100%; } + +body { + font-family: Roboto,"Helvetica Neue",sans-serif; + font-size: 16px; + line-height: 1.5em; + color: #212121; + -webkit-font-smoothing: antialiased; + padding: 0; + margin: 0; + background-color: #f7f7f7; + min-height: 100%; } + body a { + text-decoration: none; } + +.layout-mask { + position: fixed; + width: 100%; + height: 100%; + background-color: #424242; + top: 0; + left: 0; + z-index: 999999997; + opacity: 0.7; + filter: alpha(opacity=70); } + +.layout-container .topbar { + position: fixed; + z-index: 100; + width: 100%; + height: 75px; + background-color: #3F51B5; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container .topbar .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + /*background: url("../images/logo2x.png") top left no-repeat;*/ + background: url("../images/overFlow_CI_white_200_30.png") top left no-repeat; + background-size: 200px 30px; } + .layout-container .topbar .topbar-left { + box-sizing: border-box; + padding: 20px; + height: 75px; + width: 250px; + background-color: #283593; + float: left; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); } + .layout-container .topbar .topbar-right { + padding: 15px; + position: relative; } + .layout-container .topbar .topbar-right #menu-button { + color: #ffffff; + display: inline-block; + vertical-align: middle; + height: 36px; + margin-right: 10px; + position: relative; + left: -16px; + top: 3px; + background-color: #E91E63; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); } + .layout-container .topbar .topbar-right #menu-button:hover { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + .layout-container .topbar .topbar-right #menu-button i { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #menu-button i:before { + content: "chevron_left"; } + .layout-container .topbar .topbar-right #topbar-menu-button, .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: none; + color: #ffffff; + vertical-align: middle; + height: 36px; + margin-top: 4px; + float: right; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .layout-container .topbar .topbar-right #topbar-menu-button i, .layout-container .topbar .topbar-right #rightpanel-menu-button i { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: block; } + .layout-container .topbar .topbar-right #rightpanel-menu-button:hover { + color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items .search-item input { + position: relative; + top: -10px; + font-size: 16px; + background-color: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + border-color: #ffffff; + color: #ffffff; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus { + outline: 0 none; + border-bottom-width: 2px; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus ~ label { + top: -5px; + font-size: 12px; + color: #3F51B5; } + .layout-container .topbar .topbar-right .topbar-items .search-item input.ui-state-filled ~ label { + display: none; } + .layout-container .topbar .topbar-right .topbar-items .search-item label { + color: #ffffff; + top: 8px; } +.layout-container .layout-menu { + overflow: visible; + position: fixed; + width: 250px; + z-index: 99; + top: 75px; + height: 100%; + background-color: #ffffff; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-menu .ui-scrollpanel { + background: transparent; + border-radius: 0; + border: none; } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-bar { + background-color: #aaaaaa; + opacity: 0.3; + filter: alpha(opacity=30); } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-menu .ui-scrollpanel .layout-menu { + padding-bottom: 120px; } + .layout-container .layout-menu .profile { + box-sizing: border-box; + padding-top: 2em; + width: 250px; + height: 145px; + text-align: center; + background: url("../images/profile-bg.png") top left no-repeat; + background-size: 250px 145px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); } + .layout-container .layout-menu .profile .profile-image { + width: 60px; + height: 60px; + margin: 0 auto 5px auto; + display: block; } + .layout-container .layout-menu .profile .profile-name { + display: inline-block; + color: #212121; + vertical-align: middle; + font-size: 1em; } + .layout-container .layout-menu .profile i { + color: #212121; + vertical-align: middle; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .layout-menu .profile.profile-expanded i { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .layout-menu .profile-menu { + border-bottom: 1px solid #d6d5d5; + overflow: hidden; } + .layout-container .layout-menu .profile-menu li:first-child { + margin-top: 1em; } + .layout-container .layout-menu .profile-menu li:last-child { + margin-bottom: 1em; } + .layout-container .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container .layout-menu.layout-menu-dark .profile { + background-image: url("../images/profile-bg-dark.png"); } + .layout-container .layout-menu.layout-menu-dark .profile .profile-name { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile-menu { + border-bottom: 1px solid #545454; } + .layout-container .layout-menu.layout-menu-dark .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + border-radius: 0; + border: none; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #9fa8da; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #9fa8da; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #E91E63; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink { + color: #ffffff; + background-color: #E91E63; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink i { + color: #212121; } + .layout-container .layout-menu .menuitem-badge { + position: absolute; + right: 3.5em; + top: .75em; + display: inline-block; + width: 1em; + height: 1em; + margin-right: .5em; + text-align: center; + background-color: #E91E63; + color: #ffffff; + font-size: 14px; + font-weight: 700; + line-height: 1em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + .layout-container .layout-menu .layout-menu-tooltip { + display: none; + padding: 0 5px; + position: absolute; + left: 76px; + top: 6px; + z-index: 101; + line-height: 1; } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text { + padding: 6px 8px; + font-weight: 700; + background-color: #353535; + color: #ffffff; + min-width: 75px; + white-space: nowrap; + text-align: center; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #353535; } +.layout-container.menu-layout-overlay .layout-menu { + margin-left: -250px; } +.layout-container.menu-layout-overlay .layout-main { + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-menu { + z-index: 999999999; + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-mask { + display: block; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); } +.layout-container.menu-layout-overlay .topbar { + z-index: 999999998; } + .layout-container.menu-layout-overlay .topbar .topbar-right #menu-button i { + font-size: 36px !important; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.layout-container .layout-main { + padding: 75px 0 0 0; + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-main .layout-content { + padding: 16px; } +.layout-container .layout-mask { + display: none; } +.layout-container .layout-breadcrumb { + background-color: #ffffff; + box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -webkit-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -moz-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + min-height: 42px; } + .layout-container .layout-breadcrumb:before, .layout-container .layout-breadcrumb:after { + content: ""; + display: table; } + .layout-container .layout-breadcrumb:after { + clear: both; } + .layout-container .layout-breadcrumb ul { + margin: 8px 0 0 0; + padding: 0 0 0 20px; + list-style: none; + color: #757575; + display: inline-block; } + .layout-container .layout-breadcrumb ul li { + display: inline-block; + vertical-align: top; + color: #757575; } + .layout-container .layout-breadcrumb ul li:nth-child(even) { + font-size: 20px; } + .layout-container .layout-breadcrumb ul li:first-child(even) { + color: #3F51B5; } + .layout-container .layout-breadcrumb ul li a { + color: #757575; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options { + float: right; + padding: 0px 20px 0 0; + height: 100%; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a { + color: #757575; + display: inline-block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a:hover { + background-color: #e8e8e8; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a i { + line-height: inherit; } +.layout-container .ultima-menu { + margin: 0; + padding: 0; + list-style: none; + width: 268px; } + .layout-container .ultima-menu.ultima-main-menu { + margin-top: 16px; + padding-bottom: 120px; } + .layout-container .ultima-menu li a { + font-size: 1em; + display: block; + padding: .5em 2.5em .5em 1em; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .layout-container .ultima-menu li a i { + color: #757575; } + .layout-container .ultima-menu li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .5em; + font-size: 1.5em; } + .layout-container .ultima-menu li a i:last-child { + float: right; + font-size: 20px; + margin-top: .15em; + margin-right: -.15em; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .ultima-menu li a:hover { + background-color: #e8e8e8; } + .layout-container .ultima-menu li a span { + display: inline-block; + vertical-align: middle; } + .layout-container .ultima-menu li a.active-menuitem-routerlink { + color: #3F51B5; } + .layout-container .ultima-menu li a.active-menuitem-routerlink > i { + color: #3F51B5; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #757575; } + .layout-container .ultima-menu li.active-menuitem > a { + color: #3F51B5; + background-color: #e8e8e8; } + .layout-container .ultima-menu li.active-menuitem > a i { + color: #3F51B5; } + .layout-container .ultima-menu li.active-menuitem > a i:last-child { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .ultima-menu li ul { + padding: 0; + margin: 0; + list-style: none; + overflow: hidden; } + .layout-container .ultima-menu li ul li a { + padding: .5em 2.5em .5em 2em; } + .layout-container .ultima-menu li ul li a > span { + font-size: 15px; } + .layout-container .ultima-menu li ul li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .6em; + font-size: 1.250em; } + .layout-container .ultima-menu li ul li ul li a { + padding-left: 3em; } + .layout-container .ultima-menu li ul li ul ul li a { + padding-left: 4em; } + .layout-container .ultima-menu li ul li ul ul ul li a { + padding-left: 5em; } + .layout-container .ultima-menu li ul li ul ul ul ul li a { + padding-left: 6em; } + .layout-container .ultima-menu li.red-badge > a .menuitem-badge { + background-color: #F44336; + color: #ffffff; } + .layout-container .ultima-menu li.purple-badge > a .menuitem-badge { + background-color: #4527A0; + color: #ffffff; } + .layout-container .ultima-menu li.teal-badge > a .menuitem-badge { + background-color: #00695C; + color: #ffffff; } +.layout-container .footer { + padding: .5em; } + .layout-container .footer .footer-text-left { + float: left; } + .layout-container .footer .footer-text-right { + color: #757575; + float: right; } + .layout-container .footer .footer-text-right span { + vertical-align: middle; + display: inline-block; } +.layout-container .layout-rightpanel { + position: fixed; + top: 75px; + height: 100%; + right: -240px; + width: 240px; + z-index: 100; + background-color: #ffffff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -moz-transition: right 0.3s; + -o-transition: right 0.3s; + -webkit-transition: right 0.3s; + transition: right 0.3s; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); } + .layout-container .layout-rightpanel.layout-rightpanel-active { + right: 0; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); } + .layout-container .layout-rightpanel .layout-rightpanel-content { + padding: 14px; + padding-bottom: 120px; } + .layout-container .layout-rightpanel .ui-scrollpanel { + border-radius: 0; + border: none; } + .layout-container .layout-rightpanel .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-rightpanel .ui-scrollpanel .layout-rightpanel-wrapper { + width: 258px; + padding-right: 18px; } + +.ajax-loader { + font-size: 2em; + color: #E91E63; } + +@media (min-width: 1025px) { + .layout-container .topbar-items { + float: right; + margin: 0; + padding: 5px 0 0 0; + list-style-type: none; } + .layout-container .topbar-items > li { + float: right; + position: relative; + margin-left: 8px; } + .layout-container .topbar-items > li > a { + position: relative; + display: block; } + .layout-container .topbar-items > li > a .topbar-item-name { + display: none; } + .layout-container .topbar-items > li > a .topbar-badge { + position: absolute; + right: -5px; + top: -5px; + background-color: #E91E63; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar-items > li .topbar-icon { + font-size: 36px; + color: #ffffff; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .layout-container .topbar-items > li .topbar-icon:hover { + color: #e8e8e8; } + .layout-container .topbar-items > li.profile-item .profile-image { + width: 36px; + height: 36px; } + .layout-container .topbar-items > li > ul { + position: absolute; + top: 55px; + right: 5px; + display: none; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; } + .layout-container .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar-items > li .topbar-message img { + display: inline-block; + vertical-align: middle; + margin-right: 12px; } + .layout-container.menu-layout-static .layout-menu { + margin-left: 0; } + .layout-container.menu-layout-static .layout-main { + margin-left: 250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-menu { + margin-left: -250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static .layout-mask { + display: none; } + .layout-container.menu-layout-horizontal .topbar { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-left { + background-color: #3F51B5; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-horizontal .layout-menu { + overflow: visible; + position: fixed; + width: 100%; + top: 75px; + height: auto; + background-color: #283593; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel { + overflow: visible; + border: none; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu { + width: 100%; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu.ultima-main-menu { + margin-top: 0; + padding-bottom: 0; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li { + float: left; + position: relative; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a { + padding: .5em 1em; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover { + background-color: #e8e8e8; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink { + color: #9fa8da; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink > i { + color: #9fa8da; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + position: absolute; + top: 41px; + left: 0px; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li a { + padding: 10px 16px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul { + position: static; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul li a { + padding-left: 80px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul ul li a { + padding-left: 96px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > a { + color: #3F51B5; + background-color: #e8e8e8; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a { + color: #ffffff; + background-color: #E91E63; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #9fa8da; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #9fa8da; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #E91E63; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li ul { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu .menuitem-badge { + left: 32px; + top: 7px; } + .layout-container.menu-layout-horizontal .layout-menu .active-menuitem .menuitem-badge { + background-color: #ffffff; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-main { + padding-top: 116px; + margin-left: 0px; } + .layout-container.menu-layout-horizontal .layout-mask { + display: none; } + .layout-container.menu-layout-slim .topbar { + left: 75px; + width: calc(100% - 75px); } + .layout-container.menu-layout-slim .topbar .topbar-left { + background: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-slim .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-slim .layout-menu { + width: 75px; + overflow: visible; + z-index: 100; + top: 0; } + .layout-container.menu-layout-slim .layout-menu .profile { + width: calc(100% - 18px); + height: 74px; + padding-top: 15px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-image { + width: 45px; + height: 45px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-name, .layout-container.menu-layout-slim .layout-menu .profile > a i { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel { + border: none; + border-radius: 0; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu { + padding: 0; + width: calc(100% - 18px); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li { + position: relative; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a { + text-align: center; + padding-left: 0; + padding-right: 0; + padding-top: .5em; + padding-bottom: .5em; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a i:first-child { + font-size: 1.75em; + margin-right: 0; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a span, .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a .submenu-icon { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a:hover + .layout-menu-tooltip { + display: block; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul { + background-color: #ffffff; + position: absolute; + top: 0; + left: 75px; + min-width: 200px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li a { + padding: .5em 1em .5em 2em; + padding-left: 16px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul li a { + padding: 80px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul ul li a { + padding: 96px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li.active-menuitem > a:hover + .layout-menu-tooltip { + display: none; } + .layout-container.menu-layout-slim .layout-menu.layout-menu-dark .ultima-menu > li > ul { + background-color: #424242; } + .layout-container.menu-layout-slim .layout-main { + margin-left: 75px; } + .layout-container.menu-layout-slim .layout-footer { + margin-left: 75px; } } +@media (max-width: 1024px) { + .layout-container.menu-layout-static .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static .layout-menu { + margin-left: -265px; } + .layout-container.menu-layout-static .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-menu { + margin-left: 0; + z-index: 999999999; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar { + z-index: 999999998; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); } + .layout-container.menu-layout-static.layout-menu-static-active .layout-main { + margin-left: 0; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-mask { + display: block; } + .layout-container .topbar .topbar-right #topbar-menu-button { + display: block; } + .layout-container .topbar .topbar-right .topbar-items { + position: absolute; + top: 75px; + right: 15px; + width: 275px; + display: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + list-style-type: none; + margin: 0; + padding: 0; } + .layout-container .topbar .topbar-right .topbar-items > li > a { + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + color: #212121; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li > a i { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .layout-container .topbar .topbar-right .topbar-items > li > a:hover { + background-color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-item-name { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-badge { + position: absolute; + left: 30px; + top: 10px; + background-color: #E91E63; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar .topbar-right .topbar-items > li > ul { + display: none; } + .layout-container .topbar .topbar-right .topbar-items > li > ul li a span, .layout-container .topbar .topbar-right .topbar-items > li > ul li a img, .layout-container .topbar .topbar-right .topbar-items > li > ul li a i { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > a { + color: #3F51B5; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a { + padding-left: 32px; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item { + text-align: center; + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input { + top: 0; + width: 100%; + box-sizing: border-box; + padding-right: 16px; + border-color: #bdbdbd; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus { + margin-bottom: -1px; + border-color: #bdbdbd; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus ~ label, + .layout-container .topbar .topbar-right .topbar-items > li.search-item input.ui-state-filled ~ label { + top: -20px; + color: #3F51B5; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item label { + top: 1px; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item i { + position: absolute; + right: 5px; + top: -2px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item .profile-image { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + background: url("../images/avatar.png") top left no-repeat; + background-size: 24px 24px; + margin-right: 14px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item span { + vertical-align: middle; + display: inline-block; } + .layout-container .topbar .topbar-right .topbar-items.topbar-items-visible { + display: block; } } +@media (max-width: 385px) { + .layout-container .topbar .topbar-right #topbar-menu-button { + position: absolute; + height: 1.5em; + right: 24px; + top: 1.375em; } + .layout-container .topbar .topbar-right #topbar-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + position: absolute; + height: 1.5em; + right: 8px; + top: 1.375em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #menu-button { + margin-right: 0; } } +body .layout-wrapper.layout-compact { + font-size: 14px; + line-height: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li a i:last-child { + font-size: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li ul li a span { + font-size: 14px; } + body .layout-wrapper.layout-compact .layout-container .layout-breadcrumb ul li { + vertical-align: middle; } + body .layout-wrapper.layout-compact .ui-radiobutton .ui-radiobutton-box { + width: 18px; + height: 18px; } + body .layout-wrapper.layout-compact .ui-datepicker tbody td a, body .layout-wrapper.layout-compact .ui-datepicker body .ui-datepicker tbody td span { + padding-top: .25em; } + +@media (min-width: 1025px) { + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + top: 35px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li span { + font-size: 14px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-main { + padding-top: 110px; } } diff --git a/src/assets/layout/css/layout-indigo.scss b/src/assets/layout/css/layout-indigo.scss new file mode 100644 index 0000000..3bb2522 --- /dev/null +++ b/src/assets/layout/css/layout-indigo.scss @@ -0,0 +1,14 @@ +$primaryColor: #3F51B5; +$primaryDarkColor: #283593; +$primaryLightColor: #9fa8da; +$accentColor: #E91E63; +$accentDarkColor: #ad1457; +$accentLightColor: #f48fb1; +$accentTextColor: #ffffff; +$darkMenuBgColor: #424242; +$darkMenuHoverColor: #676767; +$darkMenuRouterLinkActiveColor: #9fa8da; +$lightMenuRouterLinkActiveColor: #3F51B5; +$horizontalLightMenuRouterLinkActiveColor: #9fa8da; + +@import '../../sass/layout/_layout'; \ No newline at end of file diff --git a/src/assets/layout/css/layout-purple-amber.css b/src/assets/layout/css/layout-purple-amber.css new file mode 100644 index 0000000..d9398de --- /dev/null +++ b/src/assets/layout/css/layout-purple-amber.css @@ -0,0 +1,1875 @@ +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url("../fonts/roboto-v15-latin-300.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-300.woff2") format("woff2"), url("../fonts/roboto-v15-latin-300.woff") format("woff"), url("../fonts/roboto-v15-latin-300.ttf") format("truetype"), url("../fonts/roboto-v15-latin-300.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url("../fonts/roboto-v15-latin-regular.eot"); + /* IE9 Compat Modes */ + src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v15-latin-regular.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v15-latin-regular.woff") format("woff"), url("../fonts/roboto-v15-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v15-latin-regular.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url("../fonts/roboto-v15-latin-700.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v15-latin-700.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-700.woff2") format("woff2"), url("../fonts/roboto-v15-latin-700.woff") format("woff"), url("../fonts/roboto-v15-latin-700.ttf") format("truetype"), url("../fonts/roboto-v15-latin-700.svg#Roboto") format("svg"); + /* Legacy iOS */ } +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../fonts/MaterialIcons-Regular.eot"); + /* For IE6-8 */ + src: local("Material Icons"), local("MaterialIcons-Regular"), url("../fonts/MaterialIcons-Regular.woff2") format("woff2"), url("../fonts/MaterialIcons-Regular.woff") format("woff"), url("../fonts/MaterialIcons-Regular.ttf") format("truetype"); } +/* Utils */ +.clearfix:after { + content: " "; + display: block; + clear: both; } + +*[hidden] { + display: none; } + +.card { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + background: #ffffff; + padding: 1em; + margin-bottom: 1em; + box-sizing: border-box; } + .card.card-w-title { + padding-bottom: 2em; } + .card h1 { + font-size: 1.5em; + font-weight: 400; + margin: 1em 0; } + .card h1:first-child { + margin-top: .667em; } + .card h2 { + font-size: 1.375em; + font-weight: 400; } + .card h3 { + font-size: 1.250em; + font-weight: 400; } + .card h4 { + font-size: 1.125em; + font-weight: 400; } + +.nopad { + padding: 0; } + .nopad .ui-panel-content { + padding: 0; } + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: none; + transform: none; } } +@keyframes fadeInDown { + from { + opacity: 0; + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + transform: none; } } +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); } } +@keyframes spin { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } +.ui-icon-spin { + -webkit-animation-name: spin; + animation-name: spin; } + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; } + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; } + +.ui-shadow-1 { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.ui-shadow-2 { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-3 { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-4 { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.ui-shadow-5 { + -webkit-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.ui-g { + -ms-flex-wrap: wrap; } + .ui-g.form-group > div { + padding: 1em; } + .ui-g.form-group-m > div { + padding: 1em; } + +/* Ripple */ +/* Ripple Effect Style like Google Material Buttons Effect*/ +.ripplelink { + /* display:block; */ + /*color:#fff;*/ + text-decoration: none; + position: relative; + overflow: hidden; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; + z-index: 0; } + +.ripplelink:hover { + /*z-index:1000;*/ } + +.ink { + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.4); + border-radius: 100%; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); } + +.ripple-animate { + -webkit-animation: ripple 0.65s linear; + -moz-animation: ripple 0.65s linear; + -ms-animation: ripple 0.65s linear; + -o-animation: ripple 0.65s linear; + animation: ripple 0.65s linear; } + +@-webkit-keyframes ripple { + 100% { + opacity: 0; + -webkit-transform: scale(2.5); } } +@-moz-keyframes ripple { + 100% { + opacity: 0; + -moz-transform: scale(2.5); } } +@-o-keyframes ripple { + 100% { + opacity: 0; + -o-transform: scale(2.5); } } +@keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); } } +.splash-screen { + width: 100%; + min-height: 100%; + background-color: #3F51B5; + position: absolute; } + +.splash-loader-container { + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-left: -32px; + margin-top: -32px; } + +.splash-loader { + animation: rotator 1.4s linear infinite; } + +@keyframes rotator { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(270deg); } } +.splash-path { + stroke-dasharray: 187; + stroke-dashoffset: 0; + transform-origin: center; + animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; } + +@keyframes colors { + 0% { + stroke: #4285F4; } + 25% { + stroke: #DE3E35; } + 50% { + stroke: #F7C223; } + 75% { + stroke: #1B9A59; } + 100% { + stroke: #4285F4; } } +@keyframes dash { + 0% { + stroke-dashoffset: 187; } + 50% { + stroke-dashoffset: 46.75; + transform: rotate(135deg); } + 100% { + stroke-dashoffset: 187; + transform: rotate(450deg); } } +.dashboard .overview { + padding: 0 !important; + min-height: 140px; + position: relative; + margin-bottom: 0px !important; } + .dashboard .overview .overview-content { + padding: 16px; } + .dashboard .overview .overview-content .overview-title { + font-size: 18px; } + .dashboard .overview .overview-content .overview-badge { + float: right; + color: #757575; } + .dashboard .overview .overview-content .overview-detail { + display: block; + font-size: 24px; + margin-top: 5px; } + .dashboard .overview .overview-footer { + position: absolute; + bottom: 0; + width: 100%; } + .dashboard .overview .overview-footer img { + display: block; } +.dashboard .colorbox { + padding: 0 !important; + text-align: center; + overflow: hidden; + margin-bottom: 0px !important; } + .dashboard .colorbox i { + font-size: 48px; + margin-top: 10px; + color: #ffffff; } + .dashboard .colorbox .colorbox-name { + font-size: 20px; + display: inline-block; + width: 100%; + margin: 4px 0 10px 0; + color: #ffffff; } + .dashboard .colorbox .colorbox-count { + color: #ffffff; + font-size: 36px; } + .dashboard .colorbox .colorbox-count { + font-weight: bold; } + .dashboard .colorbox.colorbox-1 { + background-color: #4CAF50; } + .dashboard .colorbox.colorbox-1 div:first-child { + background-color: #2E7D32; } + .dashboard .colorbox.colorbox-2 { + background-color: #03A9F4; } + .dashboard .colorbox.colorbox-2 div:first-child { + background-color: #0277BD; } + .dashboard .colorbox.colorbox-3 { + background-color: #673AB7; } + .dashboard .colorbox.colorbox-3 div:first-child { + background-color: #4527A0; } + .dashboard .colorbox.colorbox-4 { + background-color: #009688; } + .dashboard .colorbox.colorbox-4 div:first-child { + background-color: #00695C; } +.dashboard .task-list { + overflow: hidden; } + .dashboard .task-list > .ui-panel { + min-height: 340px; } + .dashboard .task-list .ui-panel-content { + padding: 10px 0 !important; } + .dashboard .task-list ul { + list-style-type: none; + margin: 0; + padding: 0; } + .dashboard .task-list ul li { + padding: 0.625em 0.875em; + border-bottom: 1px solid #dbdbdb; } + .dashboard .task-list ul li:first-child { + margin-top: 10px; } + .dashboard .task-list ul .ui-chkbox { + vertical-align: middle; + margin-right: 5px; } + .dashboard .task-list ul .task-name { + vertical-align: middle; } + .dashboard .task-list ul i { + color: #757575; + float: right; } +.dashboard .contact-form { + overflow: hidden; } + .dashboard .contact-form .ui-panel { + min-height: 340px; } + .dashboard .contact-form .ui-g-12 { + padding: 16px 10px; } + .dashboard .contact-form .ui-button { + margin-top: 20px; } +.dashboard .contacts { + overflow: hidden; } + .dashboard .contacts > .ui-panel { + min-height: 340px; } + .dashboard .contacts .ui-panel-content { + padding: 15px 0 10px 0 !important; } + .dashboard .contacts ul { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .contacts ul li { + border-bottom: 1px solid #d8d8d8; } + .dashboard .contacts ul li a { + padding: 9px; + width: 100%; + box-sizing: border-box; + text-decoration: none; + position: relative; + display: block; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-transition: background-color 0.2s; + -o-transition: background-color 0.2s; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; } + .dashboard .contacts ul li a .name { + position: absolute; + right: 10px; + top: 10px; + font-size: 18px; + color: #212121; } + .dashboard .contacts ul li a .email { + position: absolute; + right: 10px; + top: 30px; + font-size: 14px; + color: #757575; } + .dashboard .contacts ul li a:hover { + cursor: pointer; + background-color: #e8e8e8; } + .dashboard .contacts ul li:last-child { + border: 0; } +.dashboard .activity-list { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .activity-list li { + border-bottom: 1px solid #bdbdbd; + padding: 15px 0 9px 9px; } + .dashboard .activity-list li .count { + font-size: 24px; + color: #ffffff; + background-color: #03A9F4; + font-weight: bold; + display: inline-block; + padding: 5px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; } + .dashboard .activity-list li:first-child { + border-top: 1px solid #bdbdbd; } + .dashboard .activity-list li:last-child { + border: 0; } + .dashboard .activity-list li .ui-g-6:first-child { + font-size: 18px; + padding-left: 0; } + .dashboard .activity-list li .ui-g-6:last-child { + text-align: right; + color: #757575; } +.dashboard .timeline { + height: 100%; + box-sizing: border-box; } + .dashboard .timeline > .ui-g .ui-g-3 { + font-size: 14px; + position: relative; + border-right: 1px solid #bdbdbd; } + .dashboard .timeline > .ui-g .ui-g-3 i { + background-color: #ffffff; + font-size: 36px; + position: absolute; + top: 0px; + right: -18px; } + .dashboard .timeline > .ui-g .ui-g-9 { + padding-left: 1.5em; } + .dashboard .timeline > .ui-g .ui-g-9 .event-text { + color: #757575; + font-size: 14px; + display: block; + padding-bottom: 20px; } + .dashboard .timeline > .ui-g .ui-g-9 .event-content img { + width: 100%; } +.dashboard > div > .ui-panel { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + +.layout-rightpanel .layout-rightpanel-header { + background: url("../images/dashboard/sidebar-image.jpg") no-repeat; + background-size: cover; + height: 118px; + padding: 20px 14px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .layout-rightpanel .layout-rightpanel-header .weather-day, .layout-rightpanel .layout-rightpanel-header .weather-date { + color: #ffffff; + left: 14px; + font-size: 18px; + font-weight: 700; + padding-bottom: 4px; } +.layout-rightpanel .layout-rightpanel-content { + padding: 14px; } + .layout-rightpanel .layout-rightpanel-content h1 { + font-size: 18px; + margin: 0 0 4px 0; } + .layout-rightpanel .layout-rightpanel-content h2 { + font-size: 16px; + margin: 0; + color: #757575; + font-weight: normal; } + .layout-rightpanel .layout-rightpanel-content .weather-today { + text-align: center; + margin-top: 28px; } + .layout-rightpanel .layout-rightpanel-content .weather-today .weather-today-value { + font-size: 36px; + vertical-align: middle; + margin-right: 14px; } + .layout-rightpanel .layout-rightpanel-content .weather-today img { + vertical-align: middle; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather { + list-style-type: none; + margin: 28px 0 0 0; + padding: 0; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li { + padding: 8px 14px; + border-bottom: 1px solid #d8dae2; + position: relative; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li .weekly-weather-value { + position: absolute; + right: 40px; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li img { + width: 24px; + position: absolute; + right: 0px; + top: 4px; } + +.login-body { + background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + height: auto; } + +.login-panel { + text-align: center; + width: 350px; + min-height: 440px; + padding: 50px 20px; + margin: 100px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 25px 40px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-bottom: 20px; } + .login-panel .ui-button:hover { + background-color: #4527A0; } + .login-panel .ui-button:focus { + outline: 0 none; + background-color: #8259cb; } + .login-panel .ui-button.secondary:hover { + background-color: #FF8F00; } + .login-panel .ui-button.secondary:focus { + outline: 0 none; + background-color: #ffce3a; } + .login-panel .ui-inputtext:focus { + border-width: 0 0 2px 0; + border-color: #673AB7; + padding-bottom: 0px; } + +.login-footer { + position: absolute; + bottom: 10px; + font-size: 16px; + width: 100%; + text-align: center; + color: #757575; } + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + background: url("../images/login/login2x.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } } +@media (max-width: 1024px) { + .login-panel { + text-align: center; + min-height: 440px; + margin: 100px auto 0 auto; } } +@media (max-width: 640px) { + .login-panel { + text-align: center; + width: 300px; + min-height: 440px; + padding: 40px 20px; + margin: 75px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 20px 20px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-top: 30px; } } +.exception-body { + background-color: #f7f7f7; + height: auto; } + .exception-body .exception-type { + width: 100%; + height: 50%; + padding: 100px 100px 0 100px; + box-sizing: border-box; + text-align: center; } + .exception-body .exception-panel { + text-align: center; + width: 350px; + padding: 35px; + margin: -10% auto 0 auto; + z-index: 100; } + .exception-body .exception-panel i { + font-size: 72px; } + .exception-body .exception-panel h1 { + font-size: 36px; + line-height: 36px; + color: #757575; } + .exception-body .exception-panel .exception-detail { + margin: 20px 0px 100px 0px; + color: #757575; } + .exception-body .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .exception-body .ui-button:hover { + background-color: #FF8F00; } + .exception-body.error-page .exception-type { + background-color: #e62a10; } + .exception-body.error-page .exception-type img { + width: 100%; } + .exception-body.error-page .exception-panel i { + color: #f79a84; } + .exception-body.notfound-page .exception-type { + background-color: #3f51b5; } + .exception-body.notfound-page .exception-type img { + width: 54%; } + .exception-body.notfound-page .exception-panel i { + color: #9fa8da; } + .exception-body.accessdenied-page .exception-type { + background-color: #e91e63; } + .exception-body.accessdenied-page .exception-type img { + width: 50%; } + .exception-body.accessdenied-page .exception-panel i { + color: #f48fb1; } + +@media (max-width: 1024px) { + .exception-body .exception-panel { + margin-top: -50px; } } +@media (max-width: 640px) { + .exception-body .exception-panel { + width: 250px; + margin-top: -15px; } } +.landing-wrapper .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .landing-wrapper .ui-button:hover { + background-color: #FF8F00; } +.landing-wrapper #header { + width: 100%; + min-height: 400px; + background: url("../images/landing/landing-header.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } + .landing-wrapper #header .header-top { + width: 960px; + margin: 0 auto; + padding: 30px 0px; } + .landing-wrapper #header .header-top .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo.png") top left no-repeat; } + .landing-wrapper #header .header-top #menu { + float: right; + list-style: none; + margin: 0; + padding: 0; } + .landing-wrapper #header .header-top #menu li { + float: left; + display: block; + margin-left: 30px; } + .landing-wrapper #header .header-top #menu li a { + color: #ffffff; } + .landing-wrapper #header .header-top #menu li i { + display: none; } + .landing-wrapper #header .header-top #menu.lmenu-active { + display: block; } + .landing-wrapper #header .header-top #menu-button { + height: 36px; + margin-top: -2px; + float: right; + color: #ffffff; + display: none; } + .landing-wrapper #header .header-top #menu-button i { + font-size: 36px; } + .landing-wrapper #header .header-content { + width: 960px; + margin: 0 auto; + text-align: center; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + color: #ffffff; + line-height: 36px; } +.landing-wrapper #features { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #features h2 { + font-weight: 400; + line-height: 28px; } + .landing-wrapper #features h3 { + font-weight: 400; } + .landing-wrapper #features p { + color: #757575; } + .landing-wrapper #features .ui-g-12 { + padding: 2em .5em; } + .landing-wrapper #features .feature-icon { + display: inline-block; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + background-color: #f4f8fc; + box-sizing: border-box; + width: 100px; + height: 100px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .landing-wrapper #features .feature-icon i { + margin-top: 30px; + font-size: 36px; } + .landing-wrapper #features .feature-icon:hover { + background-color: #e91e63; } + .landing-wrapper #features .feature-icon:hover i { + color: #ffffff; } +.landing-wrapper #promotion { + background: url("../images/landing/promotion.png") top left no-repeat; + background-size: 100% auto; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 150px 0 0 150px; } + .landing-wrapper #promotion .ui-lg-8 h1 { + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 { + margin: -50px 0 -50px 0; } + .landing-wrapper #promotion .ui-lg-4 .card { + -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + margin-bottom: 20px; } + .landing-wrapper #promotion .ui-lg-4 .card h3 { + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 .card p { + color: #757575; } + .landing-wrapper #promotion .ui-lg-4 .card:last-child { + margin-bottom: 0; } +.landing-wrapper #pricing { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #pricing h2 { + font-weight: 400; } + .landing-wrapper #pricing p { + color: #757575; } + .landing-wrapper #pricing .pricing-box .card { + height: 100%; + padding: 0; } + .landing-wrapper #pricing .pricing-box .pricing-header { + padding: 40px 0; + color: #ffffff; } + .landing-wrapper #pricing .pricing-box .pricing-header span { + display: block; + line-height: 48px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.name { + font-weight: 300; + font-size: 24px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.fee { + font-size: 48px; + font-weight: 700; } + .landing-wrapper #pricing .pricing-box .pricing-header span.type { + font-weight: 300; + font-size: 16px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul { + margin: 0; + padding: 30px 20px; + list-style-type: none; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li { + font-size: 18px; + text-align: left; + padding: 10px 14px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li i { + margin-right: 20px; + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li span { + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box.pricing-basic .pricing-header { + background-color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-basic i { + color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-standard .pricing-header { + background-color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-standard i { + color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-professional .pricing-header { + background-color: #607d8b; } + .landing-wrapper #pricing .pricing-box.pricing-professional i { + color: #607d8b; } +.landing-wrapper #video { + background-color: #f7f7f7; + min-width: 400px; } + .landing-wrapper #video .video-content { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #video .video-content h2 { + font-weight: 400; } + .landing-wrapper #video .video-content p { + color: #757575; } +.landing-wrapper .footer { + background-color: #f7f7f7; + border-top: 1px solid #dddddd; } + .landing-wrapper .footer .footer-content { + width: 960px; + margin: 0 auto; + padding: 30px 0px 50px 0px; } + .landing-wrapper .footer .footer-content ul { + float: right; + list-style-type: none; } + .landing-wrapper .footer .footer-content ul li a { + color: #757575; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .landing-wrapper .footer .footer-content ul li a:hover { + color: #212121; } + +@media (max-width: 1024px) { + .landing-wrapper #header { + min-height: 200px; + background-size: cover; } + .landing-wrapper #header .header-top { + z-index: 100; + position: fixed; + top: 0; + background: #424242; + background-size: 100% auto; + padding: 30px; + width: 100%; + box-sizing: border-box; + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .landing-wrapper #header .header-top #menu-button { + display: inline-block; } + .landing-wrapper #header .header-top #menu { + z-index: 100; + position: fixed; + top: 86px; + right: 30px; + float: none; + display: none; + margin: 0; + padding: 0; + width: 225px; + list-style: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: .5s; + -moz-animation-duration: .5s; + animation-duration: .5s; } + .landing-wrapper #header .header-top #menu li { + float: none; + margin-left: 0; } + .landing-wrapper #header .header-top #menu li a { + font-size: 16px; + display: block; + padding: 10px 16px; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .landing-wrapper #header .header-top #menu li a i { + color: #757575; + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .landing-wrapper #header .header-top #menu li a:hover { + background-color: #e8e8e8; } + .landing-wrapper #header .header-top #menu li a span { + display: inline-block; + vertical-align: middle; } + .landing-wrapper #header .header-content { + width: 100%; + padding: 100px 30px 60px 30px; + box-sizing: border-box; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; } + .landing-wrapper #features, .landing-wrapper #promotion, .landing-wrapper #pricing, .landing-wrapper #video, .landing-wrapper .footer .footer-content { + width: 100%; + padding-right: 30px; + padding-left: 30px; + box-sizing: border-box; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 100px 0 30px; + text-align: center; } + .landing-wrapper #promotion .ui-lg-8 h1 { + margin-top: -30px; + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #video .video-content { + width: 100%; } + .landing-wrapper #video .video-content .video-container iframe { + width: 350px; + height: 220px; } + .landing-wrapper .footer .footer-content { + text-align: center; } + .landing-wrapper .footer .footer-content ul { + float: none; + margin: 0; + padding: 0; } } +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .landing-wrapper .header .header-top .logo { + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } } +html { + height: 100%; } + +body { + font-family: Roboto,"Helvetica Neue",sans-serif; + font-size: 16px; + line-height: 1.5em; + color: #212121; + -webkit-font-smoothing: antialiased; + padding: 0; + margin: 0; + background-color: #f7f7f7; + min-height: 100%; } + body a { + text-decoration: none; } + +.layout-mask { + position: fixed; + width: 100%; + height: 100%; + background-color: #424242; + top: 0; + left: 0; + z-index: 999999997; + opacity: 0.7; + filter: alpha(opacity=70); } + +.layout-container .topbar { + position: fixed; + z-index: 100; + width: 100%; + height: 75px; + background-color: #673AB7; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container .topbar .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } + .layout-container .topbar .topbar-left { + box-sizing: border-box; + padding: 20px; + height: 75px; + width: 250px; + background-color: #4527A0; + float: left; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); } + .layout-container .topbar .topbar-right { + padding: 15px; + position: relative; } + .layout-container .topbar .topbar-right #menu-button { + color: #212121; + display: inline-block; + vertical-align: middle; + height: 36px; + margin-right: 10px; + position: relative; + left: -16px; + top: 3px; + background-color: #FFC107; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); } + .layout-container .topbar .topbar-right #menu-button:hover { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + .layout-container .topbar .topbar-right #menu-button i { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #menu-button i:before { + content: "chevron_left"; } + .layout-container .topbar .topbar-right #topbar-menu-button, .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: none; + color: #ffffff; + vertical-align: middle; + height: 36px; + margin-top: 4px; + float: right; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .layout-container .topbar .topbar-right #topbar-menu-button i, .layout-container .topbar .topbar-right #rightpanel-menu-button i { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: block; } + .layout-container .topbar .topbar-right #rightpanel-menu-button:hover { + color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items .search-item input { + position: relative; + top: -10px; + font-size: 16px; + background-color: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + border-color: #ffffff; + color: #ffffff; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus { + outline: 0 none; + border-bottom-width: 2px; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus ~ label { + top: -5px; + font-size: 12px; + color: #673AB7; } + .layout-container .topbar .topbar-right .topbar-items .search-item input.ui-state-filled ~ label { + display: none; } + .layout-container .topbar .topbar-right .topbar-items .search-item label { + color: #ffffff; + top: 8px; } +.layout-container .layout-menu { + overflow: visible; + position: fixed; + width: 250px; + z-index: 99; + top: 75px; + height: 100%; + background-color: #ffffff; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-menu .ui-scrollpanel { + background: transparent; + border-radius: 0; + border: none; } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-bar { + background-color: #aaaaaa; + opacity: 0.3; + filter: alpha(opacity=30); } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-menu .ui-scrollpanel .layout-menu { + padding-bottom: 120px; } + .layout-container .layout-menu .profile { + box-sizing: border-box; + padding-top: 2em; + width: 250px; + height: 145px; + text-align: center; + background: url("../images/profile-bg.png") top left no-repeat; + background-size: 250px 145px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); } + .layout-container .layout-menu .profile .profile-image { + width: 60px; + height: 60px; + margin: 0 auto 5px auto; + display: block; } + .layout-container .layout-menu .profile .profile-name { + display: inline-block; + color: #212121; + vertical-align: middle; + font-size: 1em; } + .layout-container .layout-menu .profile i { + color: #212121; + vertical-align: middle; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .layout-menu .profile.profile-expanded i { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .layout-menu .profile-menu { + border-bottom: 1px solid #d6d5d5; + overflow: hidden; } + .layout-container .layout-menu .profile-menu li:first-child { + margin-top: 1em; } + .layout-container .layout-menu .profile-menu li:last-child { + margin-bottom: 1em; } + .layout-container .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container .layout-menu.layout-menu-dark .profile { + background-image: url("../images/profile-bg-dark.png"); } + .layout-container .layout-menu.layout-menu-dark .profile .profile-name { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile-menu { + border-bottom: 1px solid #545454; } + .layout-container .layout-menu.layout-menu-dark .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + border-radius: 0; + border: none; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #FFC107; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #FFC107; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #212121; + background-color: #FFC107; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink { + color: #212121; + background-color: #FFC107; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink i { + color: #212121; } + .layout-container .layout-menu .menuitem-badge { + position: absolute; + right: 3.5em; + top: .75em; + display: inline-block; + width: 1em; + height: 1em; + margin-right: .5em; + text-align: center; + background-color: #FFC107; + color: #212121; + font-size: 14px; + font-weight: 700; + line-height: 1em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + .layout-container .layout-menu .layout-menu-tooltip { + display: none; + padding: 0 5px; + position: absolute; + left: 76px; + top: 6px; + z-index: 101; + line-height: 1; } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text { + padding: 6px 8px; + font-weight: 700; + background-color: #353535; + color: #ffffff; + min-width: 75px; + white-space: nowrap; + text-align: center; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #353535; } +.layout-container.menu-layout-overlay .layout-menu { + margin-left: -250px; } +.layout-container.menu-layout-overlay .layout-main { + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-menu { + z-index: 999999999; + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-mask { + display: block; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); } +.layout-container.menu-layout-overlay .topbar { + z-index: 999999998; } + .layout-container.menu-layout-overlay .topbar .topbar-right #menu-button i { + font-size: 36px !important; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.layout-container .layout-main { + padding: 75px 0 0 0; + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-main .layout-content { + padding: 16px; } +.layout-container .layout-mask { + display: none; } +.layout-container .layout-breadcrumb { + background-color: #ffffff; + box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -webkit-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -moz-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + min-height: 42px; } + .layout-container .layout-breadcrumb:before, .layout-container .layout-breadcrumb:after { + content: ""; + display: table; } + .layout-container .layout-breadcrumb:after { + clear: both; } + .layout-container .layout-breadcrumb ul { + margin: 8px 0 0 0; + padding: 0 0 0 20px; + list-style: none; + color: #757575; + display: inline-block; } + .layout-container .layout-breadcrumb ul li { + display: inline-block; + vertical-align: top; + color: #757575; } + .layout-container .layout-breadcrumb ul li:nth-child(even) { + font-size: 20px; } + .layout-container .layout-breadcrumb ul li:first-child(even) { + color: #673AB7; } + .layout-container .layout-breadcrumb ul li a { + color: #757575; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options { + float: right; + padding: 0px 20px 0 0; + height: 100%; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a { + color: #757575; + display: inline-block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a:hover { + background-color: #e8e8e8; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a i { + line-height: inherit; } +.layout-container .ultima-menu { + margin: 0; + padding: 0; + list-style: none; + width: 268px; } + .layout-container .ultima-menu.ultima-main-menu { + margin-top: 16px; + padding-bottom: 120px; } + .layout-container .ultima-menu li a { + font-size: 1em; + display: block; + padding: .5em 2.5em .5em 1em; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .layout-container .ultima-menu li a i { + color: #757575; } + .layout-container .ultima-menu li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .5em; + font-size: 1.5em; } + .layout-container .ultima-menu li a i:last-child { + float: right; + font-size: 20px; + margin-top: .15em; + margin-right: -.15em; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .ultima-menu li a:hover { + background-color: #e8e8e8; } + .layout-container .ultima-menu li a span { + display: inline-block; + vertical-align: middle; } + .layout-container .ultima-menu li a.active-menuitem-routerlink { + color: #673AB7; } + .layout-container .ultima-menu li a.active-menuitem-routerlink > i { + color: #673AB7; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #757575; } + .layout-container .ultima-menu li.active-menuitem > a { + color: #673AB7; + background-color: #e8e8e8; } + .layout-container .ultima-menu li.active-menuitem > a i { + color: #673AB7; } + .layout-container .ultima-menu li.active-menuitem > a i:last-child { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .ultima-menu li ul { + padding: 0; + margin: 0; + list-style: none; + overflow: hidden; } + .layout-container .ultima-menu li ul li a { + padding: .5em 2.5em .5em 2em; } + .layout-container .ultima-menu li ul li a > span { + font-size: 15px; } + .layout-container .ultima-menu li ul li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .6em; + font-size: 1.250em; } + .layout-container .ultima-menu li ul li ul li a { + padding-left: 3em; } + .layout-container .ultima-menu li ul li ul ul li a { + padding-left: 4em; } + .layout-container .ultima-menu li ul li ul ul ul li a { + padding-left: 5em; } + .layout-container .ultima-menu li ul li ul ul ul ul li a { + padding-left: 6em; } + .layout-container .ultima-menu li.red-badge > a .menuitem-badge { + background-color: #F44336; + color: #ffffff; } + .layout-container .ultima-menu li.purple-badge > a .menuitem-badge { + background-color: #4527A0; + color: #ffffff; } + .layout-container .ultima-menu li.teal-badge > a .menuitem-badge { + background-color: #00695C; + color: #ffffff; } +.layout-container .footer { + padding: .5em; } + .layout-container .footer .footer-text-left { + float: left; } + .layout-container .footer .footer-text-right { + color: #757575; + float: right; } + .layout-container .footer .footer-text-right span { + vertical-align: middle; + display: inline-block; } +.layout-container .layout-rightpanel { + position: fixed; + top: 75px; + height: 100%; + right: -240px; + width: 240px; + z-index: 100; + background-color: #ffffff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -moz-transition: right 0.3s; + -o-transition: right 0.3s; + -webkit-transition: right 0.3s; + transition: right 0.3s; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); } + .layout-container .layout-rightpanel.layout-rightpanel-active { + right: 0; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); } + .layout-container .layout-rightpanel .layout-rightpanel-content { + padding: 14px; + padding-bottom: 120px; } + .layout-container .layout-rightpanel .ui-scrollpanel { + border-radius: 0; + border: none; } + .layout-container .layout-rightpanel .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-rightpanel .ui-scrollpanel .layout-rightpanel-wrapper { + width: 258px; + padding-right: 18px; } + +.ajax-loader { + font-size: 2em; + color: #FFC107; } + +@media (min-width: 1025px) { + .layout-container .topbar-items { + float: right; + margin: 0; + padding: 5px 0 0 0; + list-style-type: none; } + .layout-container .topbar-items > li { + float: right; + position: relative; + margin-left: 8px; } + .layout-container .topbar-items > li > a { + position: relative; + display: block; } + .layout-container .topbar-items > li > a .topbar-item-name { + display: none; } + .layout-container .topbar-items > li > a .topbar-badge { + position: absolute; + right: -5px; + top: -5px; + background-color: #FFC107; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar-items > li .topbar-icon { + font-size: 36px; + color: #ffffff; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .layout-container .topbar-items > li .topbar-icon:hover { + color: #e8e8e8; } + .layout-container .topbar-items > li.profile-item .profile-image { + width: 36px; + height: 36px; } + .layout-container .topbar-items > li > ul { + position: absolute; + top: 55px; + right: 5px; + display: none; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; } + .layout-container .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar-items > li .topbar-message img { + display: inline-block; + vertical-align: middle; + margin-right: 12px; } + .layout-container.menu-layout-static .layout-menu { + margin-left: 0; } + .layout-container.menu-layout-static .layout-main { + margin-left: 250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-menu { + margin-left: -250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static .layout-mask { + display: none; } + .layout-container.menu-layout-horizontal .topbar { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-left { + background-color: #673AB7; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-horizontal .layout-menu { + overflow: visible; + position: fixed; + width: 100%; + top: 75px; + height: auto; + background-color: #4527A0; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel { + overflow: visible; + border: none; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu { + width: 100%; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu.ultima-main-menu { + margin-top: 0; + padding-bottom: 0; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li { + float: left; + position: relative; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a { + padding: .5em 1em; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover { + background-color: #e8e8e8; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink { + color: #FFC107; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink > i { + color: #FFC107; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + position: absolute; + top: 41px; + left: 0px; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li a { + padding: 10px 16px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul { + position: static; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul li a { + padding-left: 80px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul ul li a { + padding-left: 96px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > a { + color: #673AB7; + background-color: #e8e8e8; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a { + color: #212121; + background-color: #FFC107; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #FFC107; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #FFC107; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #212121; + background-color: #FFC107; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li ul { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu .menuitem-badge { + left: 32px; + top: 7px; } + .layout-container.menu-layout-horizontal .layout-menu .active-menuitem .menuitem-badge { + background-color: #ffffff; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-main { + padding-top: 116px; + margin-left: 0px; } + .layout-container.menu-layout-horizontal .layout-mask { + display: none; } + .layout-container.menu-layout-slim .topbar { + left: 75px; + width: calc(100% - 75px); } + .layout-container.menu-layout-slim .topbar .topbar-left { + background: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-slim .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-slim .layout-menu { + width: 75px; + overflow: visible; + z-index: 100; + top: 0; } + .layout-container.menu-layout-slim .layout-menu .profile { + width: calc(100% - 18px); + height: 74px; + padding-top: 15px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-image { + width: 45px; + height: 45px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-name, .layout-container.menu-layout-slim .layout-menu .profile > a i { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel { + border: none; + border-radius: 0; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu { + padding: 0; + width: calc(100% - 18px); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li { + position: relative; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a { + text-align: center; + padding-left: 0; + padding-right: 0; + padding-top: .5em; + padding-bottom: .5em; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a i:first-child { + font-size: 1.75em; + margin-right: 0; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a span, .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a .submenu-icon { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a:hover + .layout-menu-tooltip { + display: block; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul { + background-color: #ffffff; + position: absolute; + top: 0; + left: 75px; + min-width: 200px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li a { + padding: .5em 1em .5em 2em; + padding-left: 16px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul li a { + padding: 80px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul ul li a { + padding: 96px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li.active-menuitem > a:hover + .layout-menu-tooltip { + display: none; } + .layout-container.menu-layout-slim .layout-menu.layout-menu-dark .ultima-menu > li > ul { + background-color: #424242; } + .layout-container.menu-layout-slim .layout-main { + margin-left: 75px; } + .layout-container.menu-layout-slim .layout-footer { + margin-left: 75px; } } +@media (max-width: 1024px) { + .layout-container.menu-layout-static .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static .layout-menu { + margin-left: -265px; } + .layout-container.menu-layout-static .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-menu { + margin-left: 0; + z-index: 999999999; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar { + z-index: 999999998; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); } + .layout-container.menu-layout-static.layout-menu-static-active .layout-main { + margin-left: 0; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-mask { + display: block; } + .layout-container .topbar .topbar-right #topbar-menu-button { + display: block; } + .layout-container .topbar .topbar-right .topbar-items { + position: absolute; + top: 75px; + right: 15px; + width: 275px; + display: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + list-style-type: none; + margin: 0; + padding: 0; } + .layout-container .topbar .topbar-right .topbar-items > li > a { + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + color: #212121; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li > a i { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .layout-container .topbar .topbar-right .topbar-items > li > a:hover { + background-color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-item-name { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-badge { + position: absolute; + left: 30px; + top: 10px; + background-color: #FFC107; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar .topbar-right .topbar-items > li > ul { + display: none; } + .layout-container .topbar .topbar-right .topbar-items > li > ul li a span, .layout-container .topbar .topbar-right .topbar-items > li > ul li a img, .layout-container .topbar .topbar-right .topbar-items > li > ul li a i { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > a { + color: #673AB7; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a { + padding-left: 32px; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item { + text-align: center; + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input { + top: 0; + width: 100%; + box-sizing: border-box; + padding-right: 16px; + border-color: #bdbdbd; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus { + margin-bottom: -1px; + border-color: #bdbdbd; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus ~ label, + .layout-container .topbar .topbar-right .topbar-items > li.search-item input.ui-state-filled ~ label { + top: -20px; + color: #673AB7; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item label { + top: 1px; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item i { + position: absolute; + right: 5px; + top: -2px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item .profile-image { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + background: url("../images/avatar.png") top left no-repeat; + background-size: 24px 24px; + margin-right: 14px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item span { + vertical-align: middle; + display: inline-block; } + .layout-container .topbar .topbar-right .topbar-items.topbar-items-visible { + display: block; } } +@media (max-width: 385px) { + .layout-container .topbar .topbar-right #topbar-menu-button { + position: absolute; + height: 1.5em; + right: 24px; + top: 1.375em; } + .layout-container .topbar .topbar-right #topbar-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + position: absolute; + height: 1.5em; + right: 8px; + top: 1.375em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #menu-button { + margin-right: 0; } } +body .layout-wrapper.layout-compact { + font-size: 14px; + line-height: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li a i:last-child { + font-size: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li ul li a span { + font-size: 14px; } + body .layout-wrapper.layout-compact .layout-container .layout-breadcrumb ul li { + vertical-align: middle; } + body .layout-wrapper.layout-compact .ui-radiobutton .ui-radiobutton-box { + width: 18px; + height: 18px; } + body .layout-wrapper.layout-compact .ui-datepicker tbody td a, body .layout-wrapper.layout-compact .ui-datepicker body .ui-datepicker tbody td span { + padding-top: .25em; } + +@media (min-width: 1025px) { + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + top: 35px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li span { + font-size: 14px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-main { + padding-top: 110px; } } diff --git a/src/assets/layout/css/layout-purple-amber.scss b/src/assets/layout/css/layout-purple-amber.scss new file mode 100644 index 0000000..ba20a5b --- /dev/null +++ b/src/assets/layout/css/layout-purple-amber.scss @@ -0,0 +1,14 @@ +$primaryColor: #673AB7; +$primaryDarkColor: #4527A0; +$primaryLightColor: #B39DDB; +$accentColor: #FFC107; +$accentDarkColor: #FF8F00; +$accentLightColor: #FFE082; +$accentTextColor: #212121; +$darkMenuBgColor: #424242; +$darkMenuHoverColor: #676767; +$darkMenuRouterLinkActiveColor: #FFC107; +$lightMenuRouterLinkActiveColor: #673AB7; +$horizontalLightMenuRouterLinkActiveColor: #FFC107; + +@import '../../sass/layout/_layout'; \ No newline at end of file diff --git a/src/assets/layout/css/layout-purple-cyan.css b/src/assets/layout/css/layout-purple-cyan.css new file mode 100644 index 0000000..3727d08 --- /dev/null +++ b/src/assets/layout/css/layout-purple-cyan.css @@ -0,0 +1,1875 @@ +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url("../fonts/roboto-v15-latin-300.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-300.woff2") format("woff2"), url("../fonts/roboto-v15-latin-300.woff") format("woff"), url("../fonts/roboto-v15-latin-300.ttf") format("truetype"), url("../fonts/roboto-v15-latin-300.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url("../fonts/roboto-v15-latin-regular.eot"); + /* IE9 Compat Modes */ + src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v15-latin-regular.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v15-latin-regular.woff") format("woff"), url("../fonts/roboto-v15-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v15-latin-regular.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url("../fonts/roboto-v15-latin-700.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v15-latin-700.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-700.woff2") format("woff2"), url("../fonts/roboto-v15-latin-700.woff") format("woff"), url("../fonts/roboto-v15-latin-700.ttf") format("truetype"), url("../fonts/roboto-v15-latin-700.svg#Roboto") format("svg"); + /* Legacy iOS */ } +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../fonts/MaterialIcons-Regular.eot"); + /* For IE6-8 */ + src: local("Material Icons"), local("MaterialIcons-Regular"), url("../fonts/MaterialIcons-Regular.woff2") format("woff2"), url("../fonts/MaterialIcons-Regular.woff") format("woff"), url("../fonts/MaterialIcons-Regular.ttf") format("truetype"); } +/* Utils */ +.clearfix:after { + content: " "; + display: block; + clear: both; } + +*[hidden] { + display: none; } + +.card { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + background: #ffffff; + padding: 1em; + margin-bottom: 1em; + box-sizing: border-box; } + .card.card-w-title { + padding-bottom: 2em; } + .card h1 { + font-size: 1.5em; + font-weight: 400; + margin: 1em 0; } + .card h1:first-child { + margin-top: .667em; } + .card h2 { + font-size: 1.375em; + font-weight: 400; } + .card h3 { + font-size: 1.250em; + font-weight: 400; } + .card h4 { + font-size: 1.125em; + font-weight: 400; } + +.nopad { + padding: 0; } + .nopad .ui-panel-content { + padding: 0; } + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: none; + transform: none; } } +@keyframes fadeInDown { + from { + opacity: 0; + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + transform: none; } } +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); } } +@keyframes spin { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } +.ui-icon-spin { + -webkit-animation-name: spin; + animation-name: spin; } + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; } + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; } + +.ui-shadow-1 { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.ui-shadow-2 { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-3 { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-4 { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.ui-shadow-5 { + -webkit-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.ui-g { + -ms-flex-wrap: wrap; } + .ui-g.form-group > div { + padding: 1em; } + .ui-g.form-group-m > div { + padding: 1em; } + +/* Ripple */ +/* Ripple Effect Style like Google Material Buttons Effect*/ +.ripplelink { + /* display:block; */ + /*color:#fff;*/ + text-decoration: none; + position: relative; + overflow: hidden; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; + z-index: 0; } + +.ripplelink:hover { + /*z-index:1000;*/ } + +.ink { + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.4); + border-radius: 100%; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); } + +.ripple-animate { + -webkit-animation: ripple 0.65s linear; + -moz-animation: ripple 0.65s linear; + -ms-animation: ripple 0.65s linear; + -o-animation: ripple 0.65s linear; + animation: ripple 0.65s linear; } + +@-webkit-keyframes ripple { + 100% { + opacity: 0; + -webkit-transform: scale(2.5); } } +@-moz-keyframes ripple { + 100% { + opacity: 0; + -moz-transform: scale(2.5); } } +@-o-keyframes ripple { + 100% { + opacity: 0; + -o-transform: scale(2.5); } } +@keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); } } +.splash-screen { + width: 100%; + min-height: 100%; + background-color: #3F51B5; + position: absolute; } + +.splash-loader-container { + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-left: -32px; + margin-top: -32px; } + +.splash-loader { + animation: rotator 1.4s linear infinite; } + +@keyframes rotator { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(270deg); } } +.splash-path { + stroke-dasharray: 187; + stroke-dashoffset: 0; + transform-origin: center; + animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; } + +@keyframes colors { + 0% { + stroke: #4285F4; } + 25% { + stroke: #DE3E35; } + 50% { + stroke: #F7C223; } + 75% { + stroke: #1B9A59; } + 100% { + stroke: #4285F4; } } +@keyframes dash { + 0% { + stroke-dashoffset: 187; } + 50% { + stroke-dashoffset: 46.75; + transform: rotate(135deg); } + 100% { + stroke-dashoffset: 187; + transform: rotate(450deg); } } +.dashboard .overview { + padding: 0 !important; + min-height: 140px; + position: relative; + margin-bottom: 0px !important; } + .dashboard .overview .overview-content { + padding: 16px; } + .dashboard .overview .overview-content .overview-title { + font-size: 18px; } + .dashboard .overview .overview-content .overview-badge { + float: right; + color: #757575; } + .dashboard .overview .overview-content .overview-detail { + display: block; + font-size: 24px; + margin-top: 5px; } + .dashboard .overview .overview-footer { + position: absolute; + bottom: 0; + width: 100%; } + .dashboard .overview .overview-footer img { + display: block; } +.dashboard .colorbox { + padding: 0 !important; + text-align: center; + overflow: hidden; + margin-bottom: 0px !important; } + .dashboard .colorbox i { + font-size: 48px; + margin-top: 10px; + color: #ffffff; } + .dashboard .colorbox .colorbox-name { + font-size: 20px; + display: inline-block; + width: 100%; + margin: 4px 0 10px 0; + color: #ffffff; } + .dashboard .colorbox .colorbox-count { + color: #ffffff; + font-size: 36px; } + .dashboard .colorbox .colorbox-count { + font-weight: bold; } + .dashboard .colorbox.colorbox-1 { + background-color: #4CAF50; } + .dashboard .colorbox.colorbox-1 div:first-child { + background-color: #2E7D32; } + .dashboard .colorbox.colorbox-2 { + background-color: #03A9F4; } + .dashboard .colorbox.colorbox-2 div:first-child { + background-color: #0277BD; } + .dashboard .colorbox.colorbox-3 { + background-color: #673AB7; } + .dashboard .colorbox.colorbox-3 div:first-child { + background-color: #4527A0; } + .dashboard .colorbox.colorbox-4 { + background-color: #009688; } + .dashboard .colorbox.colorbox-4 div:first-child { + background-color: #00695C; } +.dashboard .task-list { + overflow: hidden; } + .dashboard .task-list > .ui-panel { + min-height: 340px; } + .dashboard .task-list .ui-panel-content { + padding: 10px 0 !important; } + .dashboard .task-list ul { + list-style-type: none; + margin: 0; + padding: 0; } + .dashboard .task-list ul li { + padding: 0.625em 0.875em; + border-bottom: 1px solid #dbdbdb; } + .dashboard .task-list ul li:first-child { + margin-top: 10px; } + .dashboard .task-list ul .ui-chkbox { + vertical-align: middle; + margin-right: 5px; } + .dashboard .task-list ul .task-name { + vertical-align: middle; } + .dashboard .task-list ul i { + color: #757575; + float: right; } +.dashboard .contact-form { + overflow: hidden; } + .dashboard .contact-form .ui-panel { + min-height: 340px; } + .dashboard .contact-form .ui-g-12 { + padding: 16px 10px; } + .dashboard .contact-form .ui-button { + margin-top: 20px; } +.dashboard .contacts { + overflow: hidden; } + .dashboard .contacts > .ui-panel { + min-height: 340px; } + .dashboard .contacts .ui-panel-content { + padding: 15px 0 10px 0 !important; } + .dashboard .contacts ul { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .contacts ul li { + border-bottom: 1px solid #d8d8d8; } + .dashboard .contacts ul li a { + padding: 9px; + width: 100%; + box-sizing: border-box; + text-decoration: none; + position: relative; + display: block; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-transition: background-color 0.2s; + -o-transition: background-color 0.2s; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; } + .dashboard .contacts ul li a .name { + position: absolute; + right: 10px; + top: 10px; + font-size: 18px; + color: #212121; } + .dashboard .contacts ul li a .email { + position: absolute; + right: 10px; + top: 30px; + font-size: 14px; + color: #757575; } + .dashboard .contacts ul li a:hover { + cursor: pointer; + background-color: #e8e8e8; } + .dashboard .contacts ul li:last-child { + border: 0; } +.dashboard .activity-list { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .activity-list li { + border-bottom: 1px solid #bdbdbd; + padding: 15px 0 9px 9px; } + .dashboard .activity-list li .count { + font-size: 24px; + color: #ffffff; + background-color: #03A9F4; + font-weight: bold; + display: inline-block; + padding: 5px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; } + .dashboard .activity-list li:first-child { + border-top: 1px solid #bdbdbd; } + .dashboard .activity-list li:last-child { + border: 0; } + .dashboard .activity-list li .ui-g-6:first-child { + font-size: 18px; + padding-left: 0; } + .dashboard .activity-list li .ui-g-6:last-child { + text-align: right; + color: #757575; } +.dashboard .timeline { + height: 100%; + box-sizing: border-box; } + .dashboard .timeline > .ui-g .ui-g-3 { + font-size: 14px; + position: relative; + border-right: 1px solid #bdbdbd; } + .dashboard .timeline > .ui-g .ui-g-3 i { + background-color: #ffffff; + font-size: 36px; + position: absolute; + top: 0px; + right: -18px; } + .dashboard .timeline > .ui-g .ui-g-9 { + padding-left: 1.5em; } + .dashboard .timeline > .ui-g .ui-g-9 .event-text { + color: #757575; + font-size: 14px; + display: block; + padding-bottom: 20px; } + .dashboard .timeline > .ui-g .ui-g-9 .event-content img { + width: 100%; } +.dashboard > div > .ui-panel { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + +.layout-rightpanel .layout-rightpanel-header { + background: url("../images/dashboard/sidebar-image.jpg") no-repeat; + background-size: cover; + height: 118px; + padding: 20px 14px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .layout-rightpanel .layout-rightpanel-header .weather-day, .layout-rightpanel .layout-rightpanel-header .weather-date { + color: #ffffff; + left: 14px; + font-size: 18px; + font-weight: 700; + padding-bottom: 4px; } +.layout-rightpanel .layout-rightpanel-content { + padding: 14px; } + .layout-rightpanel .layout-rightpanel-content h1 { + font-size: 18px; + margin: 0 0 4px 0; } + .layout-rightpanel .layout-rightpanel-content h2 { + font-size: 16px; + margin: 0; + color: #757575; + font-weight: normal; } + .layout-rightpanel .layout-rightpanel-content .weather-today { + text-align: center; + margin-top: 28px; } + .layout-rightpanel .layout-rightpanel-content .weather-today .weather-today-value { + font-size: 36px; + vertical-align: middle; + margin-right: 14px; } + .layout-rightpanel .layout-rightpanel-content .weather-today img { + vertical-align: middle; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather { + list-style-type: none; + margin: 28px 0 0 0; + padding: 0; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li { + padding: 8px 14px; + border-bottom: 1px solid #d8dae2; + position: relative; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li .weekly-weather-value { + position: absolute; + right: 40px; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li img { + width: 24px; + position: absolute; + right: 0px; + top: 4px; } + +.login-body { + background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + height: auto; } + +.login-panel { + text-align: center; + width: 350px; + min-height: 440px; + padding: 50px 20px; + margin: 100px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 25px 40px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-bottom: 20px; } + .login-panel .ui-button:hover { + background-color: #4527A0; } + .login-panel .ui-button:focus { + outline: 0 none; + background-color: #8259cb; } + .login-panel .ui-button.secondary:hover { + background-color: #00838F; } + .login-panel .ui-button.secondary:focus { + outline: 0 none; + background-color: #08e3ff; } + .login-panel .ui-inputtext:focus { + border-width: 0 0 2px 0; + border-color: #673AB7; + padding-bottom: 0px; } + +.login-footer { + position: absolute; + bottom: 10px; + font-size: 16px; + width: 100%; + text-align: center; + color: #757575; } + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + background: url("../images/login/login2x.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } } +@media (max-width: 1024px) { + .login-panel { + text-align: center; + min-height: 440px; + margin: 100px auto 0 auto; } } +@media (max-width: 640px) { + .login-panel { + text-align: center; + width: 300px; + min-height: 440px; + padding: 40px 20px; + margin: 75px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 20px 20px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-top: 30px; } } +.exception-body { + background-color: #f7f7f7; + height: auto; } + .exception-body .exception-type { + width: 100%; + height: 50%; + padding: 100px 100px 0 100px; + box-sizing: border-box; + text-align: center; } + .exception-body .exception-panel { + text-align: center; + width: 350px; + padding: 35px; + margin: -10% auto 0 auto; + z-index: 100; } + .exception-body .exception-panel i { + font-size: 72px; } + .exception-body .exception-panel h1 { + font-size: 36px; + line-height: 36px; + color: #757575; } + .exception-body .exception-panel .exception-detail { + margin: 20px 0px 100px 0px; + color: #757575; } + .exception-body .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .exception-body .ui-button:hover { + background-color: #00838F; } + .exception-body.error-page .exception-type { + background-color: #e62a10; } + .exception-body.error-page .exception-type img { + width: 100%; } + .exception-body.error-page .exception-panel i { + color: #f79a84; } + .exception-body.notfound-page .exception-type { + background-color: #3f51b5; } + .exception-body.notfound-page .exception-type img { + width: 54%; } + .exception-body.notfound-page .exception-panel i { + color: #9fa8da; } + .exception-body.accessdenied-page .exception-type { + background-color: #e91e63; } + .exception-body.accessdenied-page .exception-type img { + width: 50%; } + .exception-body.accessdenied-page .exception-panel i { + color: #f48fb1; } + +@media (max-width: 1024px) { + .exception-body .exception-panel { + margin-top: -50px; } } +@media (max-width: 640px) { + .exception-body .exception-panel { + width: 250px; + margin-top: -15px; } } +.landing-wrapper .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .landing-wrapper .ui-button:hover { + background-color: #00838F; } +.landing-wrapper #header { + width: 100%; + min-height: 400px; + background: url("../images/landing/landing-header.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } + .landing-wrapper #header .header-top { + width: 960px; + margin: 0 auto; + padding: 30px 0px; } + .landing-wrapper #header .header-top .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo.png") top left no-repeat; } + .landing-wrapper #header .header-top #menu { + float: right; + list-style: none; + margin: 0; + padding: 0; } + .landing-wrapper #header .header-top #menu li { + float: left; + display: block; + margin-left: 30px; } + .landing-wrapper #header .header-top #menu li a { + color: #ffffff; } + .landing-wrapper #header .header-top #menu li i { + display: none; } + .landing-wrapper #header .header-top #menu.lmenu-active { + display: block; } + .landing-wrapper #header .header-top #menu-button { + height: 36px; + margin-top: -2px; + float: right; + color: #ffffff; + display: none; } + .landing-wrapper #header .header-top #menu-button i { + font-size: 36px; } + .landing-wrapper #header .header-content { + width: 960px; + margin: 0 auto; + text-align: center; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + color: #ffffff; + line-height: 36px; } +.landing-wrapper #features { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #features h2 { + font-weight: 400; + line-height: 28px; } + .landing-wrapper #features h3 { + font-weight: 400; } + .landing-wrapper #features p { + color: #757575; } + .landing-wrapper #features .ui-g-12 { + padding: 2em .5em; } + .landing-wrapper #features .feature-icon { + display: inline-block; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + background-color: #f4f8fc; + box-sizing: border-box; + width: 100px; + height: 100px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .landing-wrapper #features .feature-icon i { + margin-top: 30px; + font-size: 36px; } + .landing-wrapper #features .feature-icon:hover { + background-color: #e91e63; } + .landing-wrapper #features .feature-icon:hover i { + color: #ffffff; } +.landing-wrapper #promotion { + background: url("../images/landing/promotion.png") top left no-repeat; + background-size: 100% auto; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 150px 0 0 150px; } + .landing-wrapper #promotion .ui-lg-8 h1 { + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 { + margin: -50px 0 -50px 0; } + .landing-wrapper #promotion .ui-lg-4 .card { + -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + margin-bottom: 20px; } + .landing-wrapper #promotion .ui-lg-4 .card h3 { + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 .card p { + color: #757575; } + .landing-wrapper #promotion .ui-lg-4 .card:last-child { + margin-bottom: 0; } +.landing-wrapper #pricing { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #pricing h2 { + font-weight: 400; } + .landing-wrapper #pricing p { + color: #757575; } + .landing-wrapper #pricing .pricing-box .card { + height: 100%; + padding: 0; } + .landing-wrapper #pricing .pricing-box .pricing-header { + padding: 40px 0; + color: #ffffff; } + .landing-wrapper #pricing .pricing-box .pricing-header span { + display: block; + line-height: 48px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.name { + font-weight: 300; + font-size: 24px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.fee { + font-size: 48px; + font-weight: 700; } + .landing-wrapper #pricing .pricing-box .pricing-header span.type { + font-weight: 300; + font-size: 16px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul { + margin: 0; + padding: 30px 20px; + list-style-type: none; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li { + font-size: 18px; + text-align: left; + padding: 10px 14px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li i { + margin-right: 20px; + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li span { + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box.pricing-basic .pricing-header { + background-color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-basic i { + color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-standard .pricing-header { + background-color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-standard i { + color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-professional .pricing-header { + background-color: #607d8b; } + .landing-wrapper #pricing .pricing-box.pricing-professional i { + color: #607d8b; } +.landing-wrapper #video { + background-color: #f7f7f7; + min-width: 400px; } + .landing-wrapper #video .video-content { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #video .video-content h2 { + font-weight: 400; } + .landing-wrapper #video .video-content p { + color: #757575; } +.landing-wrapper .footer { + background-color: #f7f7f7; + border-top: 1px solid #dddddd; } + .landing-wrapper .footer .footer-content { + width: 960px; + margin: 0 auto; + padding: 30px 0px 50px 0px; } + .landing-wrapper .footer .footer-content ul { + float: right; + list-style-type: none; } + .landing-wrapper .footer .footer-content ul li a { + color: #757575; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .landing-wrapper .footer .footer-content ul li a:hover { + color: #212121; } + +@media (max-width: 1024px) { + .landing-wrapper #header { + min-height: 200px; + background-size: cover; } + .landing-wrapper #header .header-top { + z-index: 100; + position: fixed; + top: 0; + background: #424242; + background-size: 100% auto; + padding: 30px; + width: 100%; + box-sizing: border-box; + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .landing-wrapper #header .header-top #menu-button { + display: inline-block; } + .landing-wrapper #header .header-top #menu { + z-index: 100; + position: fixed; + top: 86px; + right: 30px; + float: none; + display: none; + margin: 0; + padding: 0; + width: 225px; + list-style: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: .5s; + -moz-animation-duration: .5s; + animation-duration: .5s; } + .landing-wrapper #header .header-top #menu li { + float: none; + margin-left: 0; } + .landing-wrapper #header .header-top #menu li a { + font-size: 16px; + display: block; + padding: 10px 16px; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .landing-wrapper #header .header-top #menu li a i { + color: #757575; + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .landing-wrapper #header .header-top #menu li a:hover { + background-color: #e8e8e8; } + .landing-wrapper #header .header-top #menu li a span { + display: inline-block; + vertical-align: middle; } + .landing-wrapper #header .header-content { + width: 100%; + padding: 100px 30px 60px 30px; + box-sizing: border-box; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; } + .landing-wrapper #features, .landing-wrapper #promotion, .landing-wrapper #pricing, .landing-wrapper #video, .landing-wrapper .footer .footer-content { + width: 100%; + padding-right: 30px; + padding-left: 30px; + box-sizing: border-box; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 100px 0 30px; + text-align: center; } + .landing-wrapper #promotion .ui-lg-8 h1 { + margin-top: -30px; + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #video .video-content { + width: 100%; } + .landing-wrapper #video .video-content .video-container iframe { + width: 350px; + height: 220px; } + .landing-wrapper .footer .footer-content { + text-align: center; } + .landing-wrapper .footer .footer-content ul { + float: none; + margin: 0; + padding: 0; } } +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .landing-wrapper .header .header-top .logo { + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } } +html { + height: 100%; } + +body { + font-family: Roboto,"Helvetica Neue",sans-serif; + font-size: 16px; + line-height: 1.5em; + color: #212121; + -webkit-font-smoothing: antialiased; + padding: 0; + margin: 0; + background-color: #f7f7f7; + min-height: 100%; } + body a { + text-decoration: none; } + +.layout-mask { + position: fixed; + width: 100%; + height: 100%; + background-color: #424242; + top: 0; + left: 0; + z-index: 999999997; + opacity: 0.7; + filter: alpha(opacity=70); } + +.layout-container .topbar { + position: fixed; + z-index: 100; + width: 100%; + height: 75px; + background-color: #673AB7; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container .topbar .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } + .layout-container .topbar .topbar-left { + box-sizing: border-box; + padding: 20px; + height: 75px; + width: 250px; + background-color: #4527A0; + float: left; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); } + .layout-container .topbar .topbar-right { + padding: 15px; + position: relative; } + .layout-container .topbar .topbar-right #menu-button { + color: #ffffff; + display: inline-block; + vertical-align: middle; + height: 36px; + margin-right: 10px; + position: relative; + left: -16px; + top: 3px; + background-color: #00BCD4; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); } + .layout-container .topbar .topbar-right #menu-button:hover { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + .layout-container .topbar .topbar-right #menu-button i { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #menu-button i:before { + content: "chevron_left"; } + .layout-container .topbar .topbar-right #topbar-menu-button, .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: none; + color: #ffffff; + vertical-align: middle; + height: 36px; + margin-top: 4px; + float: right; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .layout-container .topbar .topbar-right #topbar-menu-button i, .layout-container .topbar .topbar-right #rightpanel-menu-button i { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: block; } + .layout-container .topbar .topbar-right #rightpanel-menu-button:hover { + color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items .search-item input { + position: relative; + top: -10px; + font-size: 16px; + background-color: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + border-color: #ffffff; + color: #ffffff; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus { + outline: 0 none; + border-bottom-width: 2px; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus ~ label { + top: -5px; + font-size: 12px; + color: #673AB7; } + .layout-container .topbar .topbar-right .topbar-items .search-item input.ui-state-filled ~ label { + display: none; } + .layout-container .topbar .topbar-right .topbar-items .search-item label { + color: #ffffff; + top: 8px; } +.layout-container .layout-menu { + overflow: visible; + position: fixed; + width: 250px; + z-index: 99; + top: 75px; + height: 100%; + background-color: #ffffff; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-menu .ui-scrollpanel { + background: transparent; + border-radius: 0; + border: none; } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-bar { + background-color: #aaaaaa; + opacity: 0.3; + filter: alpha(opacity=30); } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-menu .ui-scrollpanel .layout-menu { + padding-bottom: 120px; } + .layout-container .layout-menu .profile { + box-sizing: border-box; + padding-top: 2em; + width: 250px; + height: 145px; + text-align: center; + background: url("../images/profile-bg.png") top left no-repeat; + background-size: 250px 145px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); } + .layout-container .layout-menu .profile .profile-image { + width: 60px; + height: 60px; + margin: 0 auto 5px auto; + display: block; } + .layout-container .layout-menu .profile .profile-name { + display: inline-block; + color: #212121; + vertical-align: middle; + font-size: 1em; } + .layout-container .layout-menu .profile i { + color: #212121; + vertical-align: middle; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .layout-menu .profile.profile-expanded i { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .layout-menu .profile-menu { + border-bottom: 1px solid #d6d5d5; + overflow: hidden; } + .layout-container .layout-menu .profile-menu li:first-child { + margin-top: 1em; } + .layout-container .layout-menu .profile-menu li:last-child { + margin-bottom: 1em; } + .layout-container .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container .layout-menu.layout-menu-dark .profile { + background-image: url("../images/profile-bg-dark.png"); } + .layout-container .layout-menu.layout-menu-dark .profile .profile-name { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile-menu { + border-bottom: 1px solid #545454; } + .layout-container .layout-menu.layout-menu-dark .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + border-radius: 0; + border: none; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #00BCD4; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #00BCD4; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #00BCD4; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink { + color: #ffffff; + background-color: #00BCD4; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink i { + color: #212121; } + .layout-container .layout-menu .menuitem-badge { + position: absolute; + right: 3.5em; + top: .75em; + display: inline-block; + width: 1em; + height: 1em; + margin-right: .5em; + text-align: center; + background-color: #00BCD4; + color: #ffffff; + font-size: 14px; + font-weight: 700; + line-height: 1em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + .layout-container .layout-menu .layout-menu-tooltip { + display: none; + padding: 0 5px; + position: absolute; + left: 76px; + top: 6px; + z-index: 101; + line-height: 1; } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text { + padding: 6px 8px; + font-weight: 700; + background-color: #353535; + color: #ffffff; + min-width: 75px; + white-space: nowrap; + text-align: center; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #353535; } +.layout-container.menu-layout-overlay .layout-menu { + margin-left: -250px; } +.layout-container.menu-layout-overlay .layout-main { + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-menu { + z-index: 999999999; + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-mask { + display: block; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); } +.layout-container.menu-layout-overlay .topbar { + z-index: 999999998; } + .layout-container.menu-layout-overlay .topbar .topbar-right #menu-button i { + font-size: 36px !important; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.layout-container .layout-main { + padding: 75px 0 0 0; + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-main .layout-content { + padding: 16px; } +.layout-container .layout-mask { + display: none; } +.layout-container .layout-breadcrumb { + background-color: #ffffff; + box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -webkit-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -moz-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + min-height: 42px; } + .layout-container .layout-breadcrumb:before, .layout-container .layout-breadcrumb:after { + content: ""; + display: table; } + .layout-container .layout-breadcrumb:after { + clear: both; } + .layout-container .layout-breadcrumb ul { + margin: 8px 0 0 0; + padding: 0 0 0 20px; + list-style: none; + color: #757575; + display: inline-block; } + .layout-container .layout-breadcrumb ul li { + display: inline-block; + vertical-align: top; + color: #757575; } + .layout-container .layout-breadcrumb ul li:nth-child(even) { + font-size: 20px; } + .layout-container .layout-breadcrumb ul li:first-child(even) { + color: #673AB7; } + .layout-container .layout-breadcrumb ul li a { + color: #757575; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options { + float: right; + padding: 0px 20px 0 0; + height: 100%; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a { + color: #757575; + display: inline-block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a:hover { + background-color: #e8e8e8; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a i { + line-height: inherit; } +.layout-container .ultima-menu { + margin: 0; + padding: 0; + list-style: none; + width: 268px; } + .layout-container .ultima-menu.ultima-main-menu { + margin-top: 16px; + padding-bottom: 120px; } + .layout-container .ultima-menu li a { + font-size: 1em; + display: block; + padding: .5em 2.5em .5em 1em; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .layout-container .ultima-menu li a i { + color: #757575; } + .layout-container .ultima-menu li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .5em; + font-size: 1.5em; } + .layout-container .ultima-menu li a i:last-child { + float: right; + font-size: 20px; + margin-top: .15em; + margin-right: -.15em; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .ultima-menu li a:hover { + background-color: #e8e8e8; } + .layout-container .ultima-menu li a span { + display: inline-block; + vertical-align: middle; } + .layout-container .ultima-menu li a.active-menuitem-routerlink { + color: #673AB7; } + .layout-container .ultima-menu li a.active-menuitem-routerlink > i { + color: #673AB7; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #757575; } + .layout-container .ultima-menu li.active-menuitem > a { + color: #673AB7; + background-color: #e8e8e8; } + .layout-container .ultima-menu li.active-menuitem > a i { + color: #673AB7; } + .layout-container .ultima-menu li.active-menuitem > a i:last-child { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .ultima-menu li ul { + padding: 0; + margin: 0; + list-style: none; + overflow: hidden; } + .layout-container .ultima-menu li ul li a { + padding: .5em 2.5em .5em 2em; } + .layout-container .ultima-menu li ul li a > span { + font-size: 15px; } + .layout-container .ultima-menu li ul li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .6em; + font-size: 1.250em; } + .layout-container .ultima-menu li ul li ul li a { + padding-left: 3em; } + .layout-container .ultima-menu li ul li ul ul li a { + padding-left: 4em; } + .layout-container .ultima-menu li ul li ul ul ul li a { + padding-left: 5em; } + .layout-container .ultima-menu li ul li ul ul ul ul li a { + padding-left: 6em; } + .layout-container .ultima-menu li.red-badge > a .menuitem-badge { + background-color: #F44336; + color: #ffffff; } + .layout-container .ultima-menu li.purple-badge > a .menuitem-badge { + background-color: #4527A0; + color: #ffffff; } + .layout-container .ultima-menu li.teal-badge > a .menuitem-badge { + background-color: #00695C; + color: #ffffff; } +.layout-container .footer { + padding: .5em; } + .layout-container .footer .footer-text-left { + float: left; } + .layout-container .footer .footer-text-right { + color: #757575; + float: right; } + .layout-container .footer .footer-text-right span { + vertical-align: middle; + display: inline-block; } +.layout-container .layout-rightpanel { + position: fixed; + top: 75px; + height: 100%; + right: -240px; + width: 240px; + z-index: 100; + background-color: #ffffff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -moz-transition: right 0.3s; + -o-transition: right 0.3s; + -webkit-transition: right 0.3s; + transition: right 0.3s; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); } + .layout-container .layout-rightpanel.layout-rightpanel-active { + right: 0; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); } + .layout-container .layout-rightpanel .layout-rightpanel-content { + padding: 14px; + padding-bottom: 120px; } + .layout-container .layout-rightpanel .ui-scrollpanel { + border-radius: 0; + border: none; } + .layout-container .layout-rightpanel .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-rightpanel .ui-scrollpanel .layout-rightpanel-wrapper { + width: 258px; + padding-right: 18px; } + +.ajax-loader { + font-size: 2em; + color: #00BCD4; } + +@media (min-width: 1025px) { + .layout-container .topbar-items { + float: right; + margin: 0; + padding: 5px 0 0 0; + list-style-type: none; } + .layout-container .topbar-items > li { + float: right; + position: relative; + margin-left: 8px; } + .layout-container .topbar-items > li > a { + position: relative; + display: block; } + .layout-container .topbar-items > li > a .topbar-item-name { + display: none; } + .layout-container .topbar-items > li > a .topbar-badge { + position: absolute; + right: -5px; + top: -5px; + background-color: #00BCD4; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar-items > li .topbar-icon { + font-size: 36px; + color: #ffffff; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .layout-container .topbar-items > li .topbar-icon:hover { + color: #e8e8e8; } + .layout-container .topbar-items > li.profile-item .profile-image { + width: 36px; + height: 36px; } + .layout-container .topbar-items > li > ul { + position: absolute; + top: 55px; + right: 5px; + display: none; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; } + .layout-container .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar-items > li .topbar-message img { + display: inline-block; + vertical-align: middle; + margin-right: 12px; } + .layout-container.menu-layout-static .layout-menu { + margin-left: 0; } + .layout-container.menu-layout-static .layout-main { + margin-left: 250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-menu { + margin-left: -250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static .layout-mask { + display: none; } + .layout-container.menu-layout-horizontal .topbar { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-left { + background-color: #673AB7; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-horizontal .layout-menu { + overflow: visible; + position: fixed; + width: 100%; + top: 75px; + height: auto; + background-color: #4527A0; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel { + overflow: visible; + border: none; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu { + width: 100%; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu.ultima-main-menu { + margin-top: 0; + padding-bottom: 0; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li { + float: left; + position: relative; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a { + padding: .5em 1em; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover { + background-color: #e8e8e8; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink { + color: #00BCD4; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink > i { + color: #00BCD4; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + position: absolute; + top: 41px; + left: 0px; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li a { + padding: 10px 16px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul { + position: static; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul li a { + padding-left: 80px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul ul li a { + padding-left: 96px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > a { + color: #673AB7; + background-color: #e8e8e8; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a { + color: #ffffff; + background-color: #00BCD4; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #00BCD4; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #00BCD4; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #ffffff; + background-color: #00BCD4; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li ul { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu .menuitem-badge { + left: 32px; + top: 7px; } + .layout-container.menu-layout-horizontal .layout-menu .active-menuitem .menuitem-badge { + background-color: #ffffff; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-main { + padding-top: 116px; + margin-left: 0px; } + .layout-container.menu-layout-horizontal .layout-mask { + display: none; } + .layout-container.menu-layout-slim .topbar { + left: 75px; + width: calc(100% - 75px); } + .layout-container.menu-layout-slim .topbar .topbar-left { + background: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-slim .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-slim .layout-menu { + width: 75px; + overflow: visible; + z-index: 100; + top: 0; } + .layout-container.menu-layout-slim .layout-menu .profile { + width: calc(100% - 18px); + height: 74px; + padding-top: 15px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-image { + width: 45px; + height: 45px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-name, .layout-container.menu-layout-slim .layout-menu .profile > a i { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel { + border: none; + border-radius: 0; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu { + padding: 0; + width: calc(100% - 18px); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li { + position: relative; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a { + text-align: center; + padding-left: 0; + padding-right: 0; + padding-top: .5em; + padding-bottom: .5em; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a i:first-child { + font-size: 1.75em; + margin-right: 0; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a span, .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a .submenu-icon { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a:hover + .layout-menu-tooltip { + display: block; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul { + background-color: #ffffff; + position: absolute; + top: 0; + left: 75px; + min-width: 200px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li a { + padding: .5em 1em .5em 2em; + padding-left: 16px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul li a { + padding: 80px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul ul li a { + padding: 96px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li.active-menuitem > a:hover + .layout-menu-tooltip { + display: none; } + .layout-container.menu-layout-slim .layout-menu.layout-menu-dark .ultima-menu > li > ul { + background-color: #424242; } + .layout-container.menu-layout-slim .layout-main { + margin-left: 75px; } + .layout-container.menu-layout-slim .layout-footer { + margin-left: 75px; } } +@media (max-width: 1024px) { + .layout-container.menu-layout-static .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static .layout-menu { + margin-left: -265px; } + .layout-container.menu-layout-static .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-menu { + margin-left: 0; + z-index: 999999999; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar { + z-index: 999999998; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); } + .layout-container.menu-layout-static.layout-menu-static-active .layout-main { + margin-left: 0; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-mask { + display: block; } + .layout-container .topbar .topbar-right #topbar-menu-button { + display: block; } + .layout-container .topbar .topbar-right .topbar-items { + position: absolute; + top: 75px; + right: 15px; + width: 275px; + display: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + list-style-type: none; + margin: 0; + padding: 0; } + .layout-container .topbar .topbar-right .topbar-items > li > a { + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + color: #212121; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li > a i { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .layout-container .topbar .topbar-right .topbar-items > li > a:hover { + background-color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-item-name { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-badge { + position: absolute; + left: 30px; + top: 10px; + background-color: #00BCD4; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar .topbar-right .topbar-items > li > ul { + display: none; } + .layout-container .topbar .topbar-right .topbar-items > li > ul li a span, .layout-container .topbar .topbar-right .topbar-items > li > ul li a img, .layout-container .topbar .topbar-right .topbar-items > li > ul li a i { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > a { + color: #673AB7; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a { + padding-left: 32px; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item { + text-align: center; + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input { + top: 0; + width: 100%; + box-sizing: border-box; + padding-right: 16px; + border-color: #bdbdbd; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus { + margin-bottom: -1px; + border-color: #bdbdbd; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus ~ label, + .layout-container .topbar .topbar-right .topbar-items > li.search-item input.ui-state-filled ~ label { + top: -20px; + color: #673AB7; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item label { + top: 1px; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item i { + position: absolute; + right: 5px; + top: -2px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item .profile-image { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + background: url("../images/avatar.png") top left no-repeat; + background-size: 24px 24px; + margin-right: 14px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item span { + vertical-align: middle; + display: inline-block; } + .layout-container .topbar .topbar-right .topbar-items.topbar-items-visible { + display: block; } } +@media (max-width: 385px) { + .layout-container .topbar .topbar-right #topbar-menu-button { + position: absolute; + height: 1.5em; + right: 24px; + top: 1.375em; } + .layout-container .topbar .topbar-right #topbar-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + position: absolute; + height: 1.5em; + right: 8px; + top: 1.375em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #menu-button { + margin-right: 0; } } +body .layout-wrapper.layout-compact { + font-size: 14px; + line-height: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li a i:last-child { + font-size: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li ul li a span { + font-size: 14px; } + body .layout-wrapper.layout-compact .layout-container .layout-breadcrumb ul li { + vertical-align: middle; } + body .layout-wrapper.layout-compact .ui-radiobutton .ui-radiobutton-box { + width: 18px; + height: 18px; } + body .layout-wrapper.layout-compact .ui-datepicker tbody td a, body .layout-wrapper.layout-compact .ui-datepicker body .ui-datepicker tbody td span { + padding-top: .25em; } + +@media (min-width: 1025px) { + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + top: 35px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li span { + font-size: 14px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-main { + padding-top: 110px; } } diff --git a/src/assets/layout/css/layout-purple-cyan.scss b/src/assets/layout/css/layout-purple-cyan.scss new file mode 100644 index 0000000..0f961c2 --- /dev/null +++ b/src/assets/layout/css/layout-purple-cyan.scss @@ -0,0 +1,14 @@ +$primaryColor: #673AB7; +$primaryDarkColor: #4527A0; +$primaryLightColor: #B39DDB; +$accentColor: #00BCD4; +$accentDarkColor: #00838F; +$accentLightColor: #80DEEA; +$accentTextColor: #ffffff; +$darkMenuBgColor: #424242; +$darkMenuHoverColor: #676767; +$darkMenuRouterLinkActiveColor: #00BCD4; +$lightMenuRouterLinkActiveColor: #673AB7; +$horizontalLightMenuRouterLinkActiveColor: #00BCD4; + +@import '../../sass/layout/_layout'; diff --git a/src/assets/layout/css/layout-teal.css b/src/assets/layout/css/layout-teal.css new file mode 100644 index 0000000..e884fad --- /dev/null +++ b/src/assets/layout/css/layout-teal.css @@ -0,0 +1,1875 @@ +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url("../fonts/roboto-v15-latin-300.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Light"), local("Roboto-Light"), url("../fonts/roboto-v15-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-300.woff2") format("woff2"), url("../fonts/roboto-v15-latin-300.woff") format("woff"), url("../fonts/roboto-v15-latin-300.ttf") format("truetype"), url("../fonts/roboto-v15-latin-300.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url("../fonts/roboto-v15-latin-regular.eot"); + /* IE9 Compat Modes */ + src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto-v15-latin-regular.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v15-latin-regular.woff") format("woff"), url("../fonts/roboto-v15-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v15-latin-regular.svg#Roboto") format("svg"); + /* Legacy iOS */ } +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url("../fonts/roboto-v15-latin-700.eot"); + /* IE9 Compat Modes */ + src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto-v15-latin-700.eot#iefix") format("embedded-opentype"), url("../fonts/roboto-v15-latin-700.woff2") format("woff2"), url("../fonts/roboto-v15-latin-700.woff") format("woff"), url("../fonts/roboto-v15-latin-700.ttf") format("truetype"), url("../fonts/roboto-v15-latin-700.svg#Roboto") format("svg"); + /* Legacy iOS */ } +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../fonts/MaterialIcons-Regular.eot"); + /* For IE6-8 */ + src: local("Material Icons"), local("MaterialIcons-Regular"), url("../fonts/MaterialIcons-Regular.woff2") format("woff2"), url("../fonts/MaterialIcons-Regular.woff") format("woff"), url("../fonts/MaterialIcons-Regular.ttf") format("truetype"); } +/* Utils */ +.clearfix:after { + content: " "; + display: block; + clear: both; } + +*[hidden] { + display: none; } + +.card { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + background: #ffffff; + padding: 1em; + margin-bottom: 1em; + box-sizing: border-box; } + .card.card-w-title { + padding-bottom: 2em; } + .card h1 { + font-size: 1.5em; + font-weight: 400; + margin: 1em 0; } + .card h1:first-child { + margin-top: .667em; } + .card h2 { + font-size: 1.375em; + font-weight: 400; } + .card h3 { + font-size: 1.250em; + font-weight: 400; } + .card h4 { + font-size: 1.125em; + font-weight: 400; } + +.nopad { + padding: 0; } + .nopad .ui-panel-content { + padding: 0; } + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: none; + transform: none; } } +@keyframes fadeInDown { + from { + opacity: 0; + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + transform: none; } } +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@keyframes fadeOutUp { + from { + opacity: 1; } + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } } +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); } + to { + -webkit-transform: rotate(359deg); } } +@keyframes spin { + from { + transform: rotate(0deg); } + to { + transform: rotate(359deg); } } +.ui-icon-spin { + -webkit-animation-name: spin; + animation-name: spin; } + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; } + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; } + +.ui-shadow-1 { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.ui-shadow-2 { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-3 { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.ui-shadow-4 { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.ui-shadow-5 { + -webkit-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + -moz-box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.ui-g { + -ms-flex-wrap: wrap; } + .ui-g.form-group > div { + padding: 1em; } + .ui-g.form-group-m > div { + padding: 1em; } + +/* Ripple */ +/* Ripple Effect Style like Google Material Buttons Effect*/ +.ripplelink { + /* display:block; */ + /*color:#fff;*/ + text-decoration: none; + position: relative; + overflow: hidden; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; + z-index: 0; } + +.ripplelink:hover { + /*z-index:1000;*/ } + +.ink { + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.4); + border-radius: 100%; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); } + +.ripple-animate { + -webkit-animation: ripple 0.65s linear; + -moz-animation: ripple 0.65s linear; + -ms-animation: ripple 0.65s linear; + -o-animation: ripple 0.65s linear; + animation: ripple 0.65s linear; } + +@-webkit-keyframes ripple { + 100% { + opacity: 0; + -webkit-transform: scale(2.5); } } +@-moz-keyframes ripple { + 100% { + opacity: 0; + -moz-transform: scale(2.5); } } +@-o-keyframes ripple { + 100% { + opacity: 0; + -o-transform: scale(2.5); } } +@keyframes ripple { + 100% { + opacity: 0; + transform: scale(2.5); } } +.splash-screen { + width: 100%; + min-height: 100%; + background-color: #3F51B5; + position: absolute; } + +.splash-loader-container { + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-left: -32px; + margin-top: -32px; } + +.splash-loader { + animation: rotator 1.4s linear infinite; } + +@keyframes rotator { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(270deg); } } +.splash-path { + stroke-dasharray: 187; + stroke-dashoffset: 0; + transform-origin: center; + animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; } + +@keyframes colors { + 0% { + stroke: #4285F4; } + 25% { + stroke: #DE3E35; } + 50% { + stroke: #F7C223; } + 75% { + stroke: #1B9A59; } + 100% { + stroke: #4285F4; } } +@keyframes dash { + 0% { + stroke-dashoffset: 187; } + 50% { + stroke-dashoffset: 46.75; + transform: rotate(135deg); } + 100% { + stroke-dashoffset: 187; + transform: rotate(450deg); } } +.dashboard .overview { + padding: 0 !important; + min-height: 140px; + position: relative; + margin-bottom: 0px !important; } + .dashboard .overview .overview-content { + padding: 16px; } + .dashboard .overview .overview-content .overview-title { + font-size: 18px; } + .dashboard .overview .overview-content .overview-badge { + float: right; + color: #757575; } + .dashboard .overview .overview-content .overview-detail { + display: block; + font-size: 24px; + margin-top: 5px; } + .dashboard .overview .overview-footer { + position: absolute; + bottom: 0; + width: 100%; } + .dashboard .overview .overview-footer img { + display: block; } +.dashboard .colorbox { + padding: 0 !important; + text-align: center; + overflow: hidden; + margin-bottom: 0px !important; } + .dashboard .colorbox i { + font-size: 48px; + margin-top: 10px; + color: #ffffff; } + .dashboard .colorbox .colorbox-name { + font-size: 20px; + display: inline-block; + width: 100%; + margin: 4px 0 10px 0; + color: #ffffff; } + .dashboard .colorbox .colorbox-count { + color: #ffffff; + font-size: 36px; } + .dashboard .colorbox .colorbox-count { + font-weight: bold; } + .dashboard .colorbox.colorbox-1 { + background-color: #4CAF50; } + .dashboard .colorbox.colorbox-1 div:first-child { + background-color: #2E7D32; } + .dashboard .colorbox.colorbox-2 { + background-color: #03A9F4; } + .dashboard .colorbox.colorbox-2 div:first-child { + background-color: #0277BD; } + .dashboard .colorbox.colorbox-3 { + background-color: #673AB7; } + .dashboard .colorbox.colorbox-3 div:first-child { + background-color: #4527A0; } + .dashboard .colorbox.colorbox-4 { + background-color: #009688; } + .dashboard .colorbox.colorbox-4 div:first-child { + background-color: #00695C; } +.dashboard .task-list { + overflow: hidden; } + .dashboard .task-list > .ui-panel { + min-height: 340px; } + .dashboard .task-list .ui-panel-content { + padding: 10px 0 !important; } + .dashboard .task-list ul { + list-style-type: none; + margin: 0; + padding: 0; } + .dashboard .task-list ul li { + padding: 0.625em 0.875em; + border-bottom: 1px solid #dbdbdb; } + .dashboard .task-list ul li:first-child { + margin-top: 10px; } + .dashboard .task-list ul .ui-chkbox { + vertical-align: middle; + margin-right: 5px; } + .dashboard .task-list ul .task-name { + vertical-align: middle; } + .dashboard .task-list ul i { + color: #757575; + float: right; } +.dashboard .contact-form { + overflow: hidden; } + .dashboard .contact-form .ui-panel { + min-height: 340px; } + .dashboard .contact-form .ui-g-12 { + padding: 16px 10px; } + .dashboard .contact-form .ui-button { + margin-top: 20px; } +.dashboard .contacts { + overflow: hidden; } + .dashboard .contacts > .ui-panel { + min-height: 340px; } + .dashboard .contacts .ui-panel-content { + padding: 15px 0 10px 0 !important; } + .dashboard .contacts ul { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .contacts ul li { + border-bottom: 1px solid #d8d8d8; } + .dashboard .contacts ul li a { + padding: 9px; + width: 100%; + box-sizing: border-box; + text-decoration: none; + position: relative; + display: block; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-transition: background-color 0.2s; + -o-transition: background-color 0.2s; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; } + .dashboard .contacts ul li a .name { + position: absolute; + right: 10px; + top: 10px; + font-size: 18px; + color: #212121; } + .dashboard .contacts ul li a .email { + position: absolute; + right: 10px; + top: 30px; + font-size: 14px; + color: #757575; } + .dashboard .contacts ul li a:hover { + cursor: pointer; + background-color: #e8e8e8; } + .dashboard .contacts ul li:last-child { + border: 0; } +.dashboard .activity-list { + list-style-type: none; + padding: 0; + margin: 0; } + .dashboard .activity-list li { + border-bottom: 1px solid #bdbdbd; + padding: 15px 0 9px 9px; } + .dashboard .activity-list li .count { + font-size: 24px; + color: #ffffff; + background-color: #03A9F4; + font-weight: bold; + display: inline-block; + padding: 5px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; } + .dashboard .activity-list li:first-child { + border-top: 1px solid #bdbdbd; } + .dashboard .activity-list li:last-child { + border: 0; } + .dashboard .activity-list li .ui-g-6:first-child { + font-size: 18px; + padding-left: 0; } + .dashboard .activity-list li .ui-g-6:last-child { + text-align: right; + color: #757575; } +.dashboard .timeline { + height: 100%; + box-sizing: border-box; } + .dashboard .timeline > .ui-g .ui-g-3 { + font-size: 14px; + position: relative; + border-right: 1px solid #bdbdbd; } + .dashboard .timeline > .ui-g .ui-g-3 i { + background-color: #ffffff; + font-size: 36px; + position: absolute; + top: 0px; + right: -18px; } + .dashboard .timeline > .ui-g .ui-g-9 { + padding-left: 1.5em; } + .dashboard .timeline > .ui-g .ui-g-9 .event-text { + color: #757575; + font-size: 14px; + display: block; + padding-bottom: 20px; } + .dashboard .timeline > .ui-g .ui-g-9 .event-content img { + width: 100%; } +.dashboard > div > .ui-panel { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + +.layout-rightpanel .layout-rightpanel-header { + background: url("../images/dashboard/sidebar-image.jpg") no-repeat; + background-size: cover; + height: 118px; + padding: 20px 14px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + .layout-rightpanel .layout-rightpanel-header .weather-day, .layout-rightpanel .layout-rightpanel-header .weather-date { + color: #ffffff; + left: 14px; + font-size: 18px; + font-weight: 700; + padding-bottom: 4px; } +.layout-rightpanel .layout-rightpanel-content { + padding: 14px; } + .layout-rightpanel .layout-rightpanel-content h1 { + font-size: 18px; + margin: 0 0 4px 0; } + .layout-rightpanel .layout-rightpanel-content h2 { + font-size: 16px; + margin: 0; + color: #757575; + font-weight: normal; } + .layout-rightpanel .layout-rightpanel-content .weather-today { + text-align: center; + margin-top: 28px; } + .layout-rightpanel .layout-rightpanel-content .weather-today .weather-today-value { + font-size: 36px; + vertical-align: middle; + margin-right: 14px; } + .layout-rightpanel .layout-rightpanel-content .weather-today img { + vertical-align: middle; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather { + list-style-type: none; + margin: 28px 0 0 0; + padding: 0; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li { + padding: 8px 14px; + border-bottom: 1px solid #d8dae2; + position: relative; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li .weekly-weather-value { + position: absolute; + right: 40px; } + .layout-rightpanel .layout-rightpanel-content .weekly-weather li img { + width: 24px; + position: absolute; + right: 0px; + top: 4px; } + +.login-body { + background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + height: auto; } + +.login-panel { + text-align: center; + width: 350px; + min-height: 440px; + padding: 50px 20px; + margin: 100px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 25px 40px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-bottom: 20px; } + .login-panel .ui-button:hover { + background-color: #00695C; } + .login-panel .ui-button:focus { + outline: 0 none; + background-color: #00c9b6; } + .login-panel .ui-button.secondary:hover { + background-color: #9E9D24; } + .login-panel .ui-button.secondary:focus { + outline: 0 none; + background-color: #d8e464; } + .login-panel .ui-inputtext:focus { + border-width: 0 0 2px 0; + border-color: #009688; + padding-bottom: 0px; } + +.login-footer { + position: absolute; + bottom: 10px; + font-size: 16px; + width: 100%; + text-align: center; + color: #757575; } + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + background: url("../images/login/login2x.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } } +@media (max-width: 1024px) { + .login-panel { + text-align: center; + min-height: 440px; + margin: 100px auto 0 auto; } } +@media (max-width: 640px) { + .login-panel { + text-align: center; + width: 300px; + min-height: 440px; + padding: 40px 20px; + margin: 75px auto 0 auto; } + .login-panel .ui-g .ui-g-12 { + padding: 20px 20px; } + .login-panel .ui-g .ui-g-12 .ui-button { + margin-top: 30px; } } +.exception-body { + background-color: #f7f7f7; + height: auto; } + .exception-body .exception-type { + width: 100%; + height: 50%; + padding: 100px 100px 0 100px; + box-sizing: border-box; + text-align: center; } + .exception-body .exception-panel { + text-align: center; + width: 350px; + padding: 35px; + margin: -10% auto 0 auto; + z-index: 100; } + .exception-body .exception-panel i { + font-size: 72px; } + .exception-body .exception-panel h1 { + font-size: 36px; + line-height: 36px; + color: #757575; } + .exception-body .exception-panel .exception-detail { + margin: 20px 0px 100px 0px; + color: #757575; } + .exception-body .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .exception-body .ui-button:hover { + background-color: #9E9D24; } + .exception-body.error-page .exception-type { + background-color: #e62a10; } + .exception-body.error-page .exception-type img { + width: 100%; } + .exception-body.error-page .exception-panel i { + color: #f79a84; } + .exception-body.notfound-page .exception-type { + background-color: #3f51b5; } + .exception-body.notfound-page .exception-type img { + width: 54%; } + .exception-body.notfound-page .exception-panel i { + color: #9fa8da; } + .exception-body.accessdenied-page .exception-type { + background-color: #e91e63; } + .exception-body.accessdenied-page .exception-type img { + width: 50%; } + .exception-body.accessdenied-page .exception-panel i { + color: #f48fb1; } + +@media (max-width: 1024px) { + .exception-body .exception-panel { + margin-top: -50px; } } +@media (max-width: 640px) { + .exception-body .exception-panel { + width: 250px; + margin-top: -15px; } } +.landing-wrapper .ui-button { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + .landing-wrapper .ui-button:hover { + background-color: #9E9D24; } +.landing-wrapper #header { + width: 100%; + min-height: 400px; + background: url("../images/landing/landing-header.png") top left no-repeat #f7f7f7; + background-size: 100% auto; } + .landing-wrapper #header .header-top { + width: 960px; + margin: 0 auto; + padding: 30px 0px; } + .landing-wrapper #header .header-top .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo.png") top left no-repeat; } + .landing-wrapper #header .header-top #menu { + float: right; + list-style: none; + margin: 0; + padding: 0; } + .landing-wrapper #header .header-top #menu li { + float: left; + display: block; + margin-left: 30px; } + .landing-wrapper #header .header-top #menu li a { + color: #ffffff; } + .landing-wrapper #header .header-top #menu li i { + display: none; } + .landing-wrapper #header .header-top #menu.lmenu-active { + display: block; } + .landing-wrapper #header .header-top #menu-button { + height: 36px; + margin-top: -2px; + float: right; + color: #ffffff; + display: none; } + .landing-wrapper #header .header-top #menu-button i { + font-size: 36px; } + .landing-wrapper #header .header-content { + width: 960px; + margin: 0 auto; + text-align: center; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + color: #ffffff; + line-height: 36px; } +.landing-wrapper #features { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #features h2 { + font-weight: 400; + line-height: 28px; } + .landing-wrapper #features h3 { + font-weight: 400; } + .landing-wrapper #features p { + color: #757575; } + .landing-wrapper #features .ui-g-12 { + padding: 2em .5em; } + .landing-wrapper #features .feature-icon { + display: inline-block; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + background-color: #f4f8fc; + box-sizing: border-box; + width: 100px; + height: 100px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .landing-wrapper #features .feature-icon i { + margin-top: 30px; + font-size: 36px; } + .landing-wrapper #features .feature-icon:hover { + background-color: #e91e63; } + .landing-wrapper #features .feature-icon:hover i { + color: #ffffff; } +.landing-wrapper #promotion { + background: url("../images/landing/promotion.png") top left no-repeat; + background-size: 100% auto; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 150px 0 0 150px; } + .landing-wrapper #promotion .ui-lg-8 h1 { + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 { + margin: -50px 0 -50px 0; } + .landing-wrapper #promotion .ui-lg-4 .card { + -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + margin-bottom: 20px; } + .landing-wrapper #promotion .ui-lg-4 .card h3 { + font-weight: 400; } + .landing-wrapper #promotion .ui-lg-4 .card p { + color: #757575; } + .landing-wrapper #promotion .ui-lg-4 .card:last-child { + margin-bottom: 0; } +.landing-wrapper #pricing { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #pricing h2 { + font-weight: 400; } + .landing-wrapper #pricing p { + color: #757575; } + .landing-wrapper #pricing .pricing-box .card { + height: 100%; + padding: 0; } + .landing-wrapper #pricing .pricing-box .pricing-header { + padding: 40px 0; + color: #ffffff; } + .landing-wrapper #pricing .pricing-box .pricing-header span { + display: block; + line-height: 48px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.name { + font-weight: 300; + font-size: 24px; } + .landing-wrapper #pricing .pricing-box .pricing-header span.fee { + font-size: 48px; + font-weight: 700; } + .landing-wrapper #pricing .pricing-box .pricing-header span.type { + font-weight: 300; + font-size: 16px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul { + margin: 0; + padding: 30px 20px; + list-style-type: none; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li { + font-size: 18px; + text-align: left; + padding: 10px 14px; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li i { + margin-right: 20px; + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box .pricing-content ul li span { + vertical-align: middle; } + .landing-wrapper #pricing .pricing-box.pricing-basic .pricing-header { + background-color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-basic i { + color: #3f51b5; } + .landing-wrapper #pricing .pricing-box.pricing-standard .pricing-header { + background-color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-standard i { + color: #e91e63; } + .landing-wrapper #pricing .pricing-box.pricing-professional .pricing-header { + background-color: #607d8b; } + .landing-wrapper #pricing .pricing-box.pricing-professional i { + color: #607d8b; } +.landing-wrapper #video { + background-color: #f7f7f7; + min-width: 400px; } + .landing-wrapper #video .video-content { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; } + .landing-wrapper #video .video-content h2 { + font-weight: 400; } + .landing-wrapper #video .video-content p { + color: #757575; } +.landing-wrapper .footer { + background-color: #f7f7f7; + border-top: 1px solid #dddddd; } + .landing-wrapper .footer .footer-content { + width: 960px; + margin: 0 auto; + padding: 30px 0px 50px 0px; } + .landing-wrapper .footer .footer-content ul { + float: right; + list-style-type: none; } + .landing-wrapper .footer .footer-content ul li a { + color: #757575; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .landing-wrapper .footer .footer-content ul li a:hover { + color: #212121; } + +@media (max-width: 1024px) { + .landing-wrapper #header { + min-height: 200px; + background-size: cover; } + .landing-wrapper #header .header-top { + z-index: 100; + position: fixed; + top: 0; + background: #424242; + background-size: 100% auto; + padding: 30px; + width: 100%; + box-sizing: border-box; + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .landing-wrapper #header .header-top #menu-button { + display: inline-block; } + .landing-wrapper #header .header-top #menu { + z-index: 100; + position: fixed; + top: 86px; + right: 30px; + float: none; + display: none; + margin: 0; + padding: 0; + width: 225px; + list-style: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: .5s; + -moz-animation-duration: .5s; + animation-duration: .5s; } + .landing-wrapper #header .header-top #menu li { + float: none; + margin-left: 0; } + .landing-wrapper #header .header-top #menu li a { + font-size: 16px; + display: block; + padding: 10px 16px; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .landing-wrapper #header .header-top #menu li a i { + color: #757575; + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .landing-wrapper #header .header-top #menu li a:hover { + background-color: #e8e8e8; } + .landing-wrapper #header .header-top #menu li a span { + display: inline-block; + vertical-align: middle; } + .landing-wrapper #header .header-content { + width: 100%; + padding: 100px 30px 60px 30px; + box-sizing: border-box; } + .landing-wrapper #header .header-content h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; } + .landing-wrapper #features, .landing-wrapper #promotion, .landing-wrapper #pricing, .landing-wrapper #video, .landing-wrapper .footer .footer-content { + width: 100%; + padding-right: 30px; + padding-left: 30px; + box-sizing: border-box; } + .landing-wrapper #promotion .ui-lg-8 { + padding: 100px 0 30px; + text-align: center; } + .landing-wrapper #promotion .ui-lg-8 h1 { + margin-top: -30px; + font-weight: 48px; + color: #ffffff; + font-weight: 400; } + .landing-wrapper #video .video-content { + width: 100%; } + .landing-wrapper #video .video-content .video-container iframe { + width: 350px; + height: 220px; } + .landing-wrapper .footer .footer-content { + text-align: center; } + .landing-wrapper .footer .footer-content ul { + float: none; + margin: 0; + padding: 0; } } +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .landing-wrapper .header .header-top .logo { + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } } +html { + height: 100%; } + +body { + font-family: Roboto,"Helvetica Neue",sans-serif; + font-size: 16px; + line-height: 1.5em; + color: #212121; + -webkit-font-smoothing: antialiased; + padding: 0; + margin: 0; + background-color: #f7f7f7; + min-height: 100%; } + body a { + text-decoration: none; } + +.layout-mask { + position: fixed; + width: 100%; + height: 100%; + background-color: #424242; + top: 0; + left: 0; + z-index: 999999997; + opacity: 0.7; + filter: alpha(opacity=70); } + +.layout-container .topbar { + position: fixed; + z-index: 100; + width: 100%; + height: 75px; + background-color: #009688; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container .topbar .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; } + .layout-container .topbar .topbar-left { + box-sizing: border-box; + padding: 20px; + height: 75px; + width: 250px; + background-color: #00695C; + float: left; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); } + .layout-container .topbar .topbar-right { + padding: 15px; + position: relative; } + .layout-container .topbar .topbar-right #menu-button { + color: #212121; + display: inline-block; + vertical-align: middle; + height: 36px; + margin-right: 10px; + position: relative; + left: -16px; + top: 3px; + background-color: #CDDC39; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.23), 0 3px 10px rgba(0, 0, 0, 0.16); } + .layout-container .topbar .topbar-right #menu-button:hover { + -webkit-transform: scale(1.2); + -moz-transform: scale(1.2); + -o-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); } + .layout-container .topbar .topbar-right #menu-button i { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #menu-button i:before { + content: "chevron_left"; } + .layout-container .topbar .topbar-right #topbar-menu-button, .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: none; + color: #ffffff; + vertical-align: middle; + height: 36px; + margin-top: 4px; + float: right; + -moz-transition: all 0.3s; + -o-transition: all 0.3s; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .layout-container .topbar .topbar-right #topbar-menu-button i, .layout-container .topbar .topbar-right #rightpanel-menu-button i { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 36px; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + display: block; } + .layout-container .topbar .topbar-right #rightpanel-menu-button:hover { + color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items .search-item input { + position: relative; + top: -10px; + font-size: 16px; + background-color: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + border-color: #ffffff; + color: #ffffff; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus { + outline: 0 none; + border-bottom-width: 2px; } + .layout-container .topbar .topbar-right .topbar-items .search-item input:focus ~ label { + top: -5px; + font-size: 12px; + color: #009688; } + .layout-container .topbar .topbar-right .topbar-items .search-item input.ui-state-filled ~ label { + display: none; } + .layout-container .topbar .topbar-right .topbar-items .search-item label { + color: #ffffff; + top: 8px; } +.layout-container .layout-menu { + overflow: visible; + position: fixed; + width: 250px; + z-index: 99; + top: 75px; + height: 100%; + background-color: #ffffff; + box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.3); + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-menu .ui-scrollpanel { + background: transparent; + border-radius: 0; + border: none; } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-bar { + background-color: #aaaaaa; + opacity: 0.3; + filter: alpha(opacity=30); } + .layout-container .layout-menu .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-menu .ui-scrollpanel .layout-menu { + padding-bottom: 120px; } + .layout-container .layout-menu .profile { + box-sizing: border-box; + padding-top: 2em; + width: 250px; + height: 145px; + text-align: center; + background: url("../images/profile-bg.png") top left no-repeat; + background-size: 250px 145px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); } + .layout-container .layout-menu .profile .profile-image { + width: 60px; + height: 60px; + margin: 0 auto 5px auto; + display: block; } + .layout-container .layout-menu .profile .profile-name { + display: inline-block; + color: #212121; + vertical-align: middle; + font-size: 1em; } + .layout-container .layout-menu .profile i { + color: #212121; + vertical-align: middle; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .layout-menu .profile.profile-expanded i { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .layout-menu .profile-menu { + border-bottom: 1px solid #d6d5d5; + overflow: hidden; } + .layout-container .layout-menu .profile-menu li:first-child { + margin-top: 1em; } + .layout-container .layout-menu .profile-menu li:last-child { + margin-bottom: 1em; } + .layout-container .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container .layout-menu.layout-menu-dark .profile { + background-image: url("../images/profile-bg-dark.png"); } + .layout-container .layout-menu.layout-menu-dark .profile .profile-name { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark .profile-menu { + border-bottom: 1px solid #545454; } + .layout-container .layout-menu.layout-menu-dark .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + border-radius: 0; + border: none; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #CDDC39; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #CDDC39; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #ffffff; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #212121; + background-color: #CDDC39; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink { + color: #212121; + background-color: #CDDC39; } + .layout-container .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a.active-menuitem-routerlink i { + color: #212121; } + .layout-container .layout-menu .menuitem-badge { + position: absolute; + right: 3.5em; + top: .75em; + display: inline-block; + width: 1em; + height: 1em; + margin-right: .5em; + text-align: center; + background-color: #CDDC39; + color: #212121; + font-size: 14px; + font-weight: 700; + line-height: 1em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + .layout-container .layout-menu .layout-menu-tooltip { + display: none; + padding: 0 5px; + position: absolute; + left: 76px; + top: 6px; + z-index: 101; + line-height: 1; } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-text { + padding: 6px 8px; + font-weight: 700; + background-color: #353535; + color: #ffffff; + min-width: 75px; + white-space: nowrap; + text-align: center; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } + .layout-container .layout-menu .layout-menu-tooltip .layout-menu-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #353535; } +.layout-container.menu-layout-overlay .layout-menu { + margin-left: -250px; } +.layout-container.menu-layout-overlay .layout-main { + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-menu { + z-index: 999999999; + margin-left: 0px; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .layout-mask { + display: block; } +.layout-container.menu-layout-overlay.layout-menu-overlay-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); } +.layout-container.menu-layout-overlay .topbar { + z-index: 999999998; } + .layout-container.menu-layout-overlay .topbar .topbar-right #menu-button i { + font-size: 36px !important; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } +.layout-container .layout-main { + padding: 75px 0 0 0; + -moz-transition: margin-left 0.3s; + -o-transition: margin-left 0.3s; + -webkit-transition: margin-left 0.3s; + transition: margin-left 0.3s; } + .layout-container .layout-main .layout-content { + padding: 16px; } +.layout-container .layout-mask { + display: none; } +.layout-container .layout-breadcrumb { + background-color: #ffffff; + box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -webkit-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + -moz-box-shadow: inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14); + min-height: 42px; } + .layout-container .layout-breadcrumb:before, .layout-container .layout-breadcrumb:after { + content: ""; + display: table; } + .layout-container .layout-breadcrumb:after { + clear: both; } + .layout-container .layout-breadcrumb ul { + margin: 8px 0 0 0; + padding: 0 0 0 20px; + list-style: none; + color: #757575; + display: inline-block; } + .layout-container .layout-breadcrumb ul li { + display: inline-block; + vertical-align: top; + color: #757575; } + .layout-container .layout-breadcrumb ul li:nth-child(even) { + font-size: 20px; } + .layout-container .layout-breadcrumb ul li:first-child(even) { + color: #009688; } + .layout-container .layout-breadcrumb ul li a { + color: #757575; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options { + float: right; + padding: 0px 20px 0 0; + height: 100%; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a { + color: #757575; + display: inline-block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a:hover { + background-color: #e8e8e8; } + .layout-container .layout-breadcrumb .layout-breadcrumb-options a i { + line-height: inherit; } +.layout-container .ultima-menu { + margin: 0; + padding: 0; + list-style: none; + width: 268px; } + .layout-container .ultima-menu.ultima-main-menu { + margin-top: 16px; + padding-bottom: 120px; } + .layout-container .ultima-menu li a { + font-size: 1em; + display: block; + padding: .5em 2.5em .5em 1em; + color: #212121; + width: 100%; + box-sizing: border-box; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + overflow: hidden; } + .layout-container .ultima-menu li a i { + color: #757575; } + .layout-container .ultima-menu li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .5em; + font-size: 1.5em; } + .layout-container .ultima-menu li a i:last-child { + float: right; + font-size: 20px; + margin-top: .15em; + margin-right: -.15em; + -moz-transition: transform 0.3s; + -o-transition: transform 0.3s; + -webkit-transition: transform 0.3s; + transition: transform 0.3s; } + .layout-container .ultima-menu li a:hover { + background-color: #e8e8e8; } + .layout-container .ultima-menu li a span { + display: inline-block; + vertical-align: middle; } + .layout-container .ultima-menu li a.active-menuitem-routerlink { + color: #009688; } + .layout-container .ultima-menu li a.active-menuitem-routerlink > i { + color: #009688; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container .ultima-menu li a.active-menuitem-routerlink:hover > i { + color: #757575; } + .layout-container .ultima-menu li.active-menuitem > a { + color: #009688; + background-color: #e8e8e8; } + .layout-container .ultima-menu li.active-menuitem > a i { + color: #009688; } + .layout-container .ultima-menu li.active-menuitem > a i:last-child { + -webkit-transform: rotate(-180deg); + -moz-transform: rotate(-180deg); + -o-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); } + .layout-container .ultima-menu li ul { + padding: 0; + margin: 0; + list-style: none; + overflow: hidden; } + .layout-container .ultima-menu li ul li a { + padding: .5em 2.5em .5em 2em; } + .layout-container .ultima-menu li ul li a > span { + font-size: 15px; } + .layout-container .ultima-menu li ul li a i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .6em; + font-size: 1.250em; } + .layout-container .ultima-menu li ul li ul li a { + padding-left: 3em; } + .layout-container .ultima-menu li ul li ul ul li a { + padding-left: 4em; } + .layout-container .ultima-menu li ul li ul ul ul li a { + padding-left: 5em; } + .layout-container .ultima-menu li ul li ul ul ul ul li a { + padding-left: 6em; } + .layout-container .ultima-menu li.red-badge > a .menuitem-badge { + background-color: #F44336; + color: #ffffff; } + .layout-container .ultima-menu li.purple-badge > a .menuitem-badge { + background-color: #4527A0; + color: #ffffff; } + .layout-container .ultima-menu li.teal-badge > a .menuitem-badge { + background-color: #00695C; + color: #ffffff; } +.layout-container .footer { + padding: .5em; } + .layout-container .footer .footer-text-left { + float: left; } + .layout-container .footer .footer-text-right { + color: #757575; + float: right; } + .layout-container .footer .footer-text-right span { + vertical-align: middle; + display: inline-block; } +.layout-container .layout-rightpanel { + position: fixed; + top: 75px; + height: 100%; + right: -240px; + width: 240px; + z-index: 100; + background-color: #ffffff; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -moz-transition: right 0.3s; + -o-transition: right 0.3s; + -webkit-transition: right 0.3s; + transition: right 0.3s; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3); } + .layout-container .layout-rightpanel.layout-rightpanel-active { + right: 0; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); } + .layout-container .layout-rightpanel .layout-rightpanel-content { + padding: 14px; + padding-bottom: 120px; } + .layout-container .layout-rightpanel .ui-scrollpanel { + border-radius: 0; + border: none; } + .layout-container .layout-rightpanel .ui-scrollpanel .ui-scrollpanel-hidden { + display: block; + visibility: hidden; } + .layout-container .layout-rightpanel .ui-scrollpanel .layout-rightpanel-wrapper { + width: 258px; + padding-right: 18px; } + +.ajax-loader { + font-size: 2em; + color: #CDDC39; } + +@media (min-width: 1025px) { + .layout-container .topbar-items { + float: right; + margin: 0; + padding: 5px 0 0 0; + list-style-type: none; } + .layout-container .topbar-items > li { + float: right; + position: relative; + margin-left: 8px; } + .layout-container .topbar-items > li > a { + position: relative; + display: block; } + .layout-container .topbar-items > li > a .topbar-item-name { + display: none; } + .layout-container .topbar-items > li > a .topbar-badge { + position: absolute; + right: -5px; + top: -5px; + background-color: #CDDC39; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar-items > li .topbar-icon { + font-size: 36px; + color: #ffffff; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; } + .layout-container .topbar-items > li .topbar-icon:hover { + color: #e8e8e8; } + .layout-container .topbar-items > li.profile-item .profile-image { + width: 36px; + height: 36px; } + .layout-container .topbar-items > li > ul { + position: absolute; + top: 55px; + right: 5px; + display: none; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; } + .layout-container .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar-items > li .topbar-message img { + display: inline-block; + vertical-align: middle; + margin-right: 12px; } + .layout-container.menu-layout-static .layout-menu { + margin-left: 0; } + .layout-container.menu-layout-static .layout-main { + margin-left: 250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-menu { + margin-left: -250px; } + .layout-container.menu-layout-static.layout-menu-static-inactive .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static .layout-mask { + display: none; } + .layout-container.menu-layout-horizontal .topbar { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-left { + background-color: #009688; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-horizontal .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-horizontal .layout-menu { + overflow: visible; + position: fixed; + width: 100%; + top: 75px; + height: auto; + background-color: #00695C; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel { + overflow: visible; + border: none; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu { + width: 100%; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu.ultima-main-menu { + margin-top: 0; + padding-bottom: 0; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li { + float: left; + position: relative; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a { + padding: .5em 1em; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover { + background-color: #e8e8e8; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink { + color: #CDDC39; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink > i { + color: #CDDC39; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > a.active-menuitem-routerlink:hover i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + position: absolute; + top: 41px; + left: 0px; + width: 250px; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li a { + padding: 10px 16px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul { + position: static; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul li a { + padding-left: 80px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li ul ul ul ul ul li a { + padding-left: 96px; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > a { + color: #009688; + background-color: #e8e8e8; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a { + color: #212121; + background-color: #CDDC39; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > a i { + color: #212121; } + .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li.active-menuitem > ul { + display: block; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover { + background-color: #676767; + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink { + color: #CDDC39; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink i { + color: #CDDC39; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li a.active-menuitem-routerlink:hover i { + color: #ffffff; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li.active-menuitem > a { + color: #212121; + background-color: #CDDC39; } + .layout-container.menu-layout-horizontal .layout-menu.layout-menu-dark ul.ultima-menu li ul { + background-color: #424242; } + .layout-container.menu-layout-horizontal .layout-menu .menuitem-badge { + left: 32px; + top: 7px; } + .layout-container.menu-layout-horizontal .layout-menu .active-menuitem .menuitem-badge { + background-color: #ffffff; + color: #212121; } + .layout-container.menu-layout-horizontal .layout-main { + padding-top: 116px; + margin-left: 0px; } + .layout-container.menu-layout-horizontal .layout-mask { + display: none; } + .layout-container.menu-layout-slim .topbar { + left: 75px; + width: calc(100% - 75px); } + .layout-container.menu-layout-slim .topbar .topbar-left { + background: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + .layout-container.menu-layout-slim .topbar .topbar-right #menu-button { + display: none; } + .layout-container.menu-layout-slim .layout-menu { + width: 75px; + overflow: visible; + z-index: 100; + top: 0; } + .layout-container.menu-layout-slim .layout-menu .profile { + width: calc(100% - 18px); + height: 74px; + padding-top: 15px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-image { + width: 45px; + height: 45px; } + .layout-container.menu-layout-slim .layout-menu .profile > a .profile-name, .layout-container.menu-layout-slim .layout-menu .profile > a i { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel { + border: none; + border-radius: 0; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ui-scrollpanel .ui-scrollpanel-wrapper .ui-scrollpanel-content { + overflow: visible; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu { + padding: 0; + width: calc(100% - 18px); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li { + position: relative; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a { + text-align: center; + padding-left: 0; + padding-right: 0; + padding-top: .5em; + padding-bottom: .5em; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a i:first-child { + font-size: 1.75em; + margin-right: 0; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a span, .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a .submenu-icon { + display: none; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > a:hover + .layout-menu-tooltip { + display: block; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul { + background-color: #ffffff; + position: absolute; + top: 0; + left: 75px; + min-width: 200px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li a { + padding: .5em 1em .5em 2em; + padding-left: 16px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul li a { + padding-left: 32px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul li a { + padding-left: 48px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul li a { + padding-left: 64px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul li a { + padding: 80px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li > ul li ul ul ul ul ul li a { + padding: 96px; } + .layout-container.menu-layout-slim .layout-menu .ultima-menu > li.active-menuitem > a:hover + .layout-menu-tooltip { + display: none; } + .layout-container.menu-layout-slim .layout-menu.layout-menu-dark .ultima-menu > li > ul { + background-color: #424242; } + .layout-container.menu-layout-slim .layout-main { + margin-left: 75px; } + .layout-container.menu-layout-slim .layout-footer { + margin-left: 75px; } } +@media (max-width: 1024px) { + .layout-container.menu-layout-static .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .layout-container.menu-layout-static .layout-menu { + margin-left: -265px; } + .layout-container.menu-layout-static .layout-main { + margin-left: 0px; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-menu { + margin-left: 0; + z-index: 999999999; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar { + z-index: 999999998; } + .layout-container.menu-layout-static.layout-menu-static-active .topbar .topbar-right #menu-button i { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); } + .layout-container.menu-layout-static.layout-menu-static-active .layout-main { + margin-left: 0; } + .layout-container.menu-layout-static.layout-menu-static-active .layout-mask { + display: block; } + .layout-container .topbar .topbar-right #topbar-menu-button { + display: block; } + .layout-container .topbar .topbar-right .topbar-items { + position: absolute; + top: 75px; + right: 15px; + width: 275px; + display: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: 0.3s; + -moz-animation-duration: 0.3s; + animation-duration: 0.3s; + list-style-type: none; + margin: 0; + padding: 0; } + .layout-container .topbar .topbar-right .topbar-items > li > a { + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + color: #212121; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li > a i { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; } + .layout-container .topbar .topbar-right .topbar-items > li > a:hover { + background-color: #e8e8e8; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-item-name { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li > a .topbar-badge { + position: absolute; + left: 30px; + top: 10px; + background-color: #CDDC39; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; } + .layout-container .topbar .topbar-right .topbar-items > li > ul { + display: none; } + .layout-container .topbar .topbar-right .topbar-items > li > ul li a span, .layout-container .topbar .topbar-right .topbar-items > li > ul li a img, .layout-container .topbar .topbar-right .topbar-items > li > ul li a i { + display: inline-block; + vertical-align: middle; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > a { + color: #009688; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul { + display: block; } + .layout-container .topbar .topbar-right .topbar-items > li.active-top-menu > ul li a { + padding-left: 32px; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item { + text-align: center; + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + position: relative; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input { + top: 0; + width: 100%; + box-sizing: border-box; + padding-right: 16px; + border-color: #bdbdbd; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus { + margin-bottom: -1px; + border-color: #bdbdbd; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item input:focus ~ label, + .layout-container .topbar .topbar-right .topbar-items > li.search-item input.ui-state-filled ~ label { + top: -20px; + color: #009688; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item label { + top: 1px; + color: #212121; } + .layout-container .topbar .topbar-right .topbar-items > li.search-item i { + position: absolute; + right: 5px; + top: -2px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item .profile-image { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + background: url("../images/avatar.png") top left no-repeat; + background-size: 24px 24px; + margin-right: 14px; } + .layout-container .topbar .topbar-right .topbar-items > li.profile-item span { + vertical-align: middle; + display: inline-block; } + .layout-container .topbar .topbar-right .topbar-items.topbar-items-visible { + display: block; } } +@media (max-width: 385px) { + .layout-container .topbar .topbar-right #topbar-menu-button { + position: absolute; + height: 1.5em; + right: 24px; + top: 1.375em; } + .layout-container .topbar .topbar-right #topbar-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button { + position: absolute; + height: 1.5em; + right: 8px; + top: 1.375em; } + .layout-container .topbar .topbar-right #rightpanel-menu-button i { + font-size: 1.5em; } + .layout-container .topbar .topbar-right #menu-button { + margin-right: 0; } } +body .layout-wrapper.layout-compact { + font-size: 14px; + line-height: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li a i:last-child { + font-size: 18px; } + body .layout-wrapper.layout-compact .layout-container .ultima-menu li ul li a span { + font-size: 14px; } + body .layout-wrapper.layout-compact .layout-container .layout-breadcrumb ul li { + vertical-align: middle; } + body .layout-wrapper.layout-compact .ui-radiobutton .ui-radiobutton-box { + width: 18px; + height: 18px; } + body .layout-wrapper.layout-compact .ui-datepicker tbody td a, body .layout-wrapper.layout-compact .ui-datepicker body .ui-datepicker tbody td span { + padding-top: .25em; } + +@media (min-width: 1025px) { + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul { + top: 35px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-menu ul.ultima-menu > li > ul li span { + font-size: 14px; } + .layout-wrapper.layout-compact .layout-container.menu-layout-horizontal .layout-main { + padding-top: 110px; } } diff --git a/src/assets/layout/css/layout-teal.scss b/src/assets/layout/css/layout-teal.scss new file mode 100644 index 0000000..b8fbcf8 --- /dev/null +++ b/src/assets/layout/css/layout-teal.scss @@ -0,0 +1,14 @@ +$primaryColor: #009688; +$primaryDarkColor: #00695C; +$primaryLightColor: #80CBC4; +$accentColor: #CDDC39; +$accentDarkColor: #9E9D24; +$accentLightColor: #E6EE9C; +$accentTextColor: #212121; +$darkMenuBgColor: #424242; +$darkMenuHoverColor: #676767; +$darkMenuRouterLinkActiveColor: #CDDC39; +$lightMenuRouterLinkActiveColor: #009688; +$horizontalLightMenuRouterLinkActiveColor: #CDDC39; + +@import '../../sass/layout/_layout'; \ No newline at end of file diff --git a/src/assets/layout/css/primeng.min.css b/src/assets/layout/css/primeng.min.css new file mode 100644 index 0000000..905b063 --- /dev/null +++ b/src/assets/layout/css/primeng.min.css @@ -0,0 +1 @@ +.ui-widget *{box-sizing:border-box}.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:before,.ui-helper-clearfix:after{content:"";display:table}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{zoom:1}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-state-disabled{cursor:default !important}.ui-state-disabled a{cursor:default !important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .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-shadow{-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,0.3);-moz-box-shadow:0 1px 3px 0 rgba(0,0,0,0.3);box-shadow:0 1px 3px 0 rgba(0,0,0,0.3)}.ui-unselectable-text{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.ui-scrollbar-measure{width:100px;height:100px;overflow:scroll;position:absolute;top:-9999px}.ui-accordion{width:100%}.ui-accordion .ui-accordion-header{cursor:pointer;position:relative;margin-top:1px;zoom:1}.ui-accordion .ui-accordion-header a{display:block;padding:.5em .5em .5em 2em}.ui-accordion .ui-accordion-header .fa{position:absolute;left:.5em;top:50%;margin-top:-.5em}.ui-accordion .ui-accordion-content{padding:1em;border-top:0;overflow:auto;zoom:1}.ui-accordion .ui-accordion-header.ui-state-disabled,.ui-accordion .ui-accordion-header.ui-state-disabled a{cursor:default}.ui-accordion-content-wrapper-overflown{overflow:hidden}.ui-autocomplete{width:auto;zoom:1;cursor:pointer;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;position:relative;display:inline-block}.ui-autocomplete .ui-autocomplete-dropdown{position:absolute;height:100%;width:2em}.ui-autocomplete-query{font-weight:bold}.ui-autocomplete-panel{position:absolute;overflow:auto}.ui-autocomplete-panel .ui-autocomplete-list{padding:.4em;border:0 none}.ui-autocomplete-panel .ui-autocomplete-list-item{border:0 none;cursor:pointer;font-weight:normal;margin:1px 0;padding:.186em .313em;text-align:left}.ui-autocomplete .ui-button-icon-only{border-left:0 none}.ui-autocomplete-multiple-container.ui-inputtext{clear:left;cursor:text;list-style-type:none;margin:0;overflow:hidden;padding:0 .25em}.ui-autocomplete-token{cursor:default;display:inline-block;vertical-align:middle;overflow:hidden;padding:.125em .5em;white-space:nowrap;position:relative;margin-right:.125em;border:0 none;font-size:.9em}.ui-autocomplete-token-label{display:block;margin-right:2em}.ui-autocomplete-token-icon{margin-top:-.5em;position:absolute;right:.2em;top:50%;cursor:pointer}.ui-autocomplete-input-token{display:inline-block;vertical-align:middle;list-style-type:none;margin:0 0 0 .125em;padding:.25em .25em .25em 0}.ui-autocomplete-input-token .ui-inputtext{border:0 none;width:10em;outline:medium none;background-color:transparent;margin:0;padding:0;box-shadow:none;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.ui-autocomplete-dd input.ui-corner-all{-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-autocomplete-dd .ui-autocomplete-dropdown.ui-corner-all{-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-fluid .ui-autocomplete,.ui-fluid .ui-autocomplete-input{width:100%}.ui-fluid .ui-autocomplete .ui-autocomplete-dropdown.ui-button{width:2em}.ui-blockui{position:absolute;top:0;left:0;width:100%;height:100%}.ui-blockui-document{position:fixed}.ui-breadcrumb{margin:0;padding:0;padding:.3em}.ui-breadcrumb ul{margin:0;padding:0}.ui-breadcrumb ul li{display:inline-block;vertical-align:middle}.ui-breadcrumb ul li .ui-menuitem-link{text-decoration:none}.ui-button{display:inline-block;position:relative;padding:0;margin-right:.1em;text-decoration:none !important;cursor:pointer;text-align:center;zoom:1;overflow:visible}.ui-button-icon-only{width:2em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.25em 1em}.ui-button-icon-only .ui-button-text{padding:.25em;text-indent:-9999999px}.ui-button-text-icon-left .ui-button-text{padding:.25em 1em .25em 2.1em}.ui-button-text-icon-right .ui-button-text{padding:.25em 2.1em .25em 1em}.ui-button-icon-only .fa,.ui-button-text-icon-left .fa,.ui-button-text-icon-right .fa{position:absolute;top:50%;margin-top:-.5em}.ui-button-icon-only .fa{top:50%;left:50%;margin-top:-.5em;margin-left:-.6em}.ui-button-icon-left{left:.5em}.ui-button-icon-right{right:.5em}.ui-buttonset .ui-button{margin-left:0;margin-right:0}button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-fluid .ui-button{width:100%;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.ui-fluid .ui-buttonset{width:100%}.ui-fluid .ui-buttonset.ui-buttonset-1 .ui-button{width:100%}.ui-fluid .ui-buttonset.ui-buttonset-2 .ui-button{width:50%}.ui-fluid .ui-buttonset.ui-buttonset-3 .ui-button{width:33.3%}.ui-fluid .ui-buttonset.ui-buttonset-4 .ui-button{width:25%}.ui-fluid .ui-buttonset.ui-buttonset-5 .ui-button{width:20%}.ui-fluid .ui-buttonset.ui-buttonset-6 .ui-button{width:16.6%}@media(max-width:640px){.ui-fluid .ui-buttonset.ui-buttonset-1 .ui-button,.ui-fluid .ui-buttonset.ui-buttonset-2 .ui-button,.ui-fluid .ui-buttonset.ui-buttonset-3 .ui-button,.ui-fluid .ui-buttonset.ui-buttonset-4 .ui-button,.ui-fluid .ui-buttonset.ui-buttonset-5 .ui-button,.ui-fluid .ui-buttonset.ui-buttonset-6 .ui-button{width:100%}}.ui-button.ui-button-secondary.ui-state-default{background-color:#fff;border-color:#ccc;color:#373a3c}.ui-button.ui-button-secondary.ui-state-hover,.ui-button.ui-button-secondary.ui-state-focus{background-color:#f2f2f2}.ui-button.ui-button-secondary.ui-state-active{background-color:#e6e6e6}.ui-button.ui-button-success.ui-state-default{background-color:#5cb85c;border-color:#5cb85c;color:#fff}.ui-button.ui-button-success.ui-state-hover,.ui-button.ui-button-success.ui-state-focus{background-color:#4cae4c}.ui-button.ui-button-success.ui-state-active{background-color:#449d44}.ui-button.ui-button-info.ui-state-default{background-color:#5bc0de;border-color:#5bc0de;color:#fff}.ui-button.ui-button-info.ui-state-hover,.ui-button.ui-button-info.ui-state-focus{background-color:#46b8da}.ui-button.ui-button-info.ui-state-active{background-color:#31b0d5}.ui-button.ui-button-warning.ui-state-default{background-color:#f0ad4e;border-color:#f0ad4e;color:#fff}.ui-button.ui-button-warning.ui-state-hover,.ui-button.ui-button-warning.ui-state-focus{background-color:#eea236}.ui-button.ui-button-warning.ui-state-active{background-color:#ec971f}.ui-button.ui-button-danger.ui-state-default{background-color:#d9534f;border-color:#d9534f;color:#fff}.ui-button.ui-button-danger.ui-state-hover,.ui-button.ui-button-danger.ui-state-focus{background-color:#d43f3a}.ui-button.ui-button-danger.ui-state-active{background-color:#c9302c}.ui-calendar{position:relative;display:inline-block}.ui-calendar button{position:absolute;height:100%;border-top-left-radius:0;border-bottom-left-radius:0;position:absolute;width:2em;border-left:0 none}.ui-fluid .ui-calendar{width:100%}.ui-fluid .ui-calendar button{width:2em}.ui-datepicker{width:17em;padding:.2em;display:none;position:absolute}.ui-datepicker.ui-datepicker-inline{display:block;position:static}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:.125em;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev{left:.125em}.ui-datepicker .ui-datepicker-next{right:.125em}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;top:50%;margin-top:-.5em}.ui-datepicker .ui-datepicker-prev span{margin-left:-.25em}.ui-datepicker .ui-datepicker-next span{margin-left:-.125em}.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:.125em 0}.ui-datepicker select.ui-datepicker-month{width:55%}.ui-datepicker select.ui-datepicker-year{width:35%}.ui-datepicker select.ui-datepicker-month{margin-right:.25em}.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:bold;border:0}.ui-datepicker td{border:0;padding:.125em}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.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-calendar.ui-calendar-w-btn input{-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;-khtml-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;-khtml-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-timepicker{text-align:center;padding:.5em 0}.ui-timepicker>div{display:inline-block;margin-left:.5em;min-width:1.5em}.ui-timepicker>.ui-minute-picker{margin-left:0}.ui-timepicker>.ui-separator{margin-left:0;min-width:.75em}.ui-timepicker>.ui-separator a{visibility:hidden}.ui-timepicker>div a{display:block;opacity:.7;filter:Alpha(Opacity=70)}.ui-timepicker>div a:hover{display:block;opacity:1;filter:Alpha(Opacity=100)}.ui-carousel{position:relative;padding:.063em}.ui-carousel .ui-carousel-viewport .ui-carousel-items{list-style:none outside none;margin:0;padding:0;position:relative;width:32000px;left:0}.ui-carousel .ui-carousel-viewport .ui-carousel-items .ui-carousel-item{margin:1px;padding:0;float:left;box-sizing:border-box}.ui-carousel .ui-carousel-viewport{overflow:hidden;position:relative;border:0}.ui-carousel .ui-carousel-footer{margin:1px 1px 0 1px;padding:.5em;overflow:hidden}.ui-carousel .ui-carousel-header{margin:0 1px;overflow:hidden;padding:.625em}.ui-carousel .ui-carousel-header .ui-carousel-header-title{display:inline-block;overflow:hidden}.ui-carousel .ui-carousel-dropdown,.ui-carousel .ui-carousel-mobiledropdown{float:right;margin:0 .625em;background-image:none}.ui-carousel .ui-carousel-dropdown option,.ui-carousel .ui-carousel-mobiledropdown option{background-image:none;border:0 none;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}.ui-carousel .ui-carousel-button{float:right;margin:.125em}.ui-carousel .ui-carousel-page-link{float:left;margin:0 .125em;text-decoration:none}.ui-carousel .ui-carousel-page-link,.ui-carousel .ui-carousel-button{cursor:pointer}.ui-carousel .ui-carousel-page-links{margin:0 .5em;margin-top:.125em;float:right}.ui-carousel .ui-carousel-mobiledropdown{display:none}.ui-chkbox{display:inline-block;cursor:pointer;vertical-align:middle;margin-right:.25em}.ui-chkbox .ui-chkbox-box{width:1.125em;height:1.125em;line-height:1.125em;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;text-align:center}.ui-chkbox .ui-chkbox-icon{line-height:inherit;display:block}.ui-chkbox-label{vertical-align:middle}.ui-chips>ul.ui-inputtext{clear:left;cursor:text;list-style-type:none;margin:0;overflow:hidden;padding:0 .25em}.ui-chips-token{cursor:default;display:inline-block;vertical-align:middle;overflow:hidden;padding:.125em .5em;white-space:nowrap;position:relative;margin-right:.125em;border:0 none;font-size:.9em}.ui-chips-token .ui-chips-token-label{display:block;margin-right:2em}.ui-chips>.ui-state-disabled .ui-chips-token-label{margin-right:0}.ui-chips-token .ui-chips-token-icon{margin-top:-.5em;position:absolute;right:.2em;top:50%;cursor:pointer}.ui-chips-input-token{display:inline-block;vertical-align:middle;list-style-type:none;margin:0 0 0 .125em;padding:.25em .25em .25em 0}.ui-chips-input-token .ui-inputtext{border:0 none;width:10em;outline:medium none;background-color:transparent;margin:0;padding:0;box-shadow:none;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.ui-datagrid .ui-paginator{text-align:center;border-top:0 none}.ui-datagrid-column{padding:.25em}.ui-datagrid-content-empty{padding:.25em .625em}.ui-datagrid .ui-datagrid-header,.ui-datagrid .ui-datagrid-footer{text-align:center;padding:.5em .75em}.ui-datagrid .ui-datagrid-header{border-bottom:0 none}.ui-datagrid .ui-datagrid-footer{border-top:0 none}.ui-datagrid .ui-paginator-top{border-bottom:0 none}.ui-datagrid .ui-paginator-bottom{border-top:0 none}.ui-datalist .ui-datalist-header,.ui-datalist .ui-datalist-footer{text-align:center;padding:.5em .75em}.ui-datalist .ui-datalist-header{border-bottom:0 none}.ui-datalist .ui-datalist-footer{border-top:0 none}.ui-datalist .ui-paginator{border-top:0 none}.ui-datalist .ui-datalist-data{margin:0;padding:0}.ui-datalist .ui-datalist-data>li{list-style-type:none}.ui-datascroller .ui-datascroller-header{text-align:center;padding:.5em .75em;border-bottom:0 none}.ui-datascroller .ui-datascroller-footer{text-align:center;padding:.25em .625em;border-top:0 none}.ui-datascroller .ui-datascroller-content{padding:.25em .625em}.ui-datascroller-inline .ui-datascroller-content{overflow:auto}.ui-datascroller .ui-datascroller-list{list-style-type:none;margin:0;padding:0}.ui-datatable table{border-collapse:collapse;width:100%;table-layout:fixed}.ui-datatable .ui-datatable-header,.ui-datatable .ui-datatable-caption,.ui-datatable .ui-datatable-footer{text-align:center;padding:.5em .75em;box-sizing:border-box}.ui-datatable .ui-datatable-caption,.ui-datatable .ui-datatable-header{border-bottom:0 none}.ui-datatable .ui-datatable-footer{border-top:0 none}.ui-datatable thead th,.ui-datatable tfoot td{text-align:center}.ui-datatable thead th,.ui-datatable tbody td,.ui-datatable tfoot td,.ui-datatable tfoot th{padding:.25em .5em;overflow:hidden;border-width:1px;border-style:solid}.ui-datatable thead tr{border-width:0}.ui-datatable thead th,.ui-datatable tfoot td,.ui-datatable tbody td{border-color:inherit;box-sizing:border-box}.ui-datatable tbody{outline:0}.ui-datatable .ui-sortable-column{cursor:pointer}.ui-datatable .ui-sortable-column-icon{display:inline-block;margin-left:.125em}.ui-datatable tr.ui-state-highlight{cursor:pointer}.ui-datatable-scrollable-body{overflow:auto}.ui-datatable-scrollable-header{overflow:hidden}.ui-datatable-scrollable .ui-datatable-scrollable-header{position:relative;border:0 none}.ui-datatable-scrollable .ui-datatable-scrollable-header td{font-weight:normal}.ui-datatable .ui-datatable-scrollable-body{min-height:0}.ui-datatable .ui-datatable-data tr.ui-state-hover,.ui-datatable .ui-datatable-data tr.ui-state-highlight{border-color:inherit;font-weight:inherit;cursor:pointer}.ui-datatable-scrollable-theadclone{height:0}.ui-datatable-scrollable-theadclone tr{height:0}.ui-datatable-scrollable-theadclone th.ui-state-default{height:0;border-bottom-width:0;border-top-width:0;padding-top:0;padding-bottom:0;outline:0 none}.ui-datatable-scrollable-theadclone th span.ui-column-title{display:block;height:0}.ui-datatable .ui-paginator{padding:.125em;border-top:0 none}.ui-datatable-rtl{direction:rtl}.ui-datatable-rtl.ui-datatable thead th,.ui-datatable-rtl.ui-datatable tfoot td{text-align:right}.ui-row-toggler{cursor:pointer}.ui-datatable .ui-column-resizer{display:block;position:absolute !important;top:0;right:0;margin:0;width:.5em;height:100%;padding:0;cursor:col-resize;border:1px solid transparent}.ui-datatable .ui-column-resizer-helper{width:1px;position:absolute;z-index:10;display:none}.ui-datatable-resizable{padding-bottom:1px;overflow:auto}.ui-datatable-resizable thead th,.ui-datatable-resizable tbody td,.ui-datatable-resizable tfoot td{white-space:nowrap}.ui-datatable-resizable th.ui-resizable-column{background-clip:padding-box;position:relative}.ui-datatable-reflow .ui-datatable-data td .ui-column-title{display:none}.ui-datatable .ui-column-filter{display:block;width:100%;box-sizing:border-box;margin-top:.25em}.ui-datatable td.ui-cell-editing{padding:0}.ui-datatable td.ui-cell-editing input{box-sizing:border-box;width:100%;border:0 none;outline:0}.ui-datatable .ui-editable-column .ui-cell-editor{display:none}.ui-datatable .ui-editable-column.ui-cell-editing .ui-cell-editor{display:inline}.ui-datatable .ui-editable-column.ui-cell-editing .ui-cell-data{display:none}.ui-datatable-stacked thead th,.ui-datatable-stacked tfoot td{display:none !important}.ui-datatable-stacked .ui-datatable-data td{text-align:left;display:block;border:0 none;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;clear:left}.ui-datatable-stacked .ui-datatable-data.ui-widget-content{border:0 none}.ui-datatable-stacked .ui-datatable-data tr.ui-widget-content{border-left:0 none;border-right:0 none}.ui-datatable-stacked .ui-datatable-data td .ui-column-title{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em;font-weight:bold}.ui-datatable .ui-selection-column .ui-chkbox,.ui-datatable .ui-selection-column .ui-radiobutton{margin:0;display:block}.ui-datatable .ui-selection-column .ui-chkbox-box,.ui-datatable .ui-selection-column .ui-radiobutton-box{display:block;box-sizing:border-box;margin:0}@media(max-width:35em){.ui-datatable-reflow thead th,.ui-datatable-reflow tfoot td{display:none !important}.ui-datatable-reflow .ui-datatable-data td{text-align:left;display:block;border:0 none;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;clear:left}.ui-datatable-reflow .ui-datatable-data.ui-widget-content{border:0 none}.ui-datatable-reflow .ui-datatable-data tr.ui-widget-content{border-left:0 none;border-right:0 none}.ui-datatable-reflow .ui-datatable-data td .ui-column-title{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em;font-weight:bold}}.ui-dialog{position:fixed;padding:0;overflow:hidden}.ui-dialog .ui-dialog-titlebar{padding:.5em .75em;position:relative;border:0}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em .75em;background:0;overflow:auto;zoom:1}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin:.5em 0 0 0;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer;float:right}.ui-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-dialog .ui-dialog-titlebar-icon{text-decoration:none}.ui-dialog .ui-dialog-titlebar-close{float:right;padding:.125em;cursor:pointer;border:1px solid transparent}.ui-dialog .ui-dialog-titlebar-close span{display:block;margin:0}.ui-dialog-footer{padding:.4em 1em;border-width:1px 0 0 0;text-align:left}.ui-dialog-mask{position:fixed;width:100%;height:100%}.ui-confirmdialog.ui-dialog .ui-dialog-content{padding:1em 2em}.ui-confirmdialog .ui-dialog-content .fa{font-size:1.5em;vertical-align:middle;margin-right:.5em}.ui-confirmdialog .ui-dialog-content .ui-confirmdialog-message{vertical-align:middle}.ui-fluid .ui-dialog-buttonpane .ui-button{width:auto}.ui-dropdown{display:inline-block;position:relative;cursor:pointer}.ui-dropdown .ui-dropdown-trigger{border-right:0;border-top:0;border-bottom:0;cursor:pointer;width:1.5em;height:100%;position:absolute;right:0;top:0;padding:0 .25em}.ui-dropdown .ui-dropdown-trigger .fa{margin-top:.4em;margin-left:-.125em}.ui-dropdown .ui-dropdown-label{display:block;border:0;white-space:nowrap;overflow:hidden;font-weight:normal;width:100%;padding-right:1.5em}.ui-dropdown .ui-dropdown-item-empty,.ui-dropdown .ui-dropdown-label-empty{text-indent:-9999px}.ui-dropdown.ui-state-disabled .ui-dropdown-trigger,.ui-dropdown.ui-state-disabled .ui-dropdown-label{cursor:default}.ui-dropdown label.ui-dropdown-label{cursor:pointer}.ui-dropdown input.ui-dropdown-label{cursor:default}.ui-dropdown .ui-dropdown-panel{min-width:100%}.ui-dropdown-panel{position:absolute;height:auto}.ui-dropdown-panel .ui-dropdown-items-wrapper{overflow:auto}.ui-dropdown-panel .ui-dropdown-item{font-weight:normal;border:0 none;cursor:pointer;margin:1px 0;padding:.125em .25em;text-align:left}.ui-dropdown-panel .ui-dropdown-item-group{font-weight:bold}.ui-dropdown-panel .ui-dropdown-list{padding:.4em;border:0 none}.ui-dropdown-panel .ui-dropdown-filter{width:100%;padding-right:1.5em}.ui-dropdown-panel .ui-dropdown-filter-container{position:relative;margin:0;padding:.4em;display:inline-block}.ui-dropdown-panel .ui-dropdown-filter-container .fa{position:absolute;top:.8em;right:1em}.ui-fluid .ui-dropdown{width:100%}.ui-fieldset,.ui-fieldset .ui-fieldset-legend{padding:.6em 1em}.ui-fieldset-toggleable .ui-fieldset-legend{padding:.5em 1em .5em .5em;cursor:pointer;white-space:nowrap}.ui-fieldset .ui-fieldset-toggler{margin-right:.1em;display:inline-block;vertical-align:middle}.ui-fieldset .ui-fieldset-content-wrapper-overflown{overflow:hidden}.ui-fileupload-buttonbar .ui-fileupload-choose input{display:none}.ui-fileupload-buttonbar .ui-fileupload-choose.ui-state-disabled input{cursor:default}.ui-fileupload-choose{position:relative;overflow:hidden}.ui-fileupload-buttonbar{padding:.5em;border-bottom:0 none}.ui-fileupload-buttonbar .ui-button{vertical-align:middle;margin-right:.25em}.ui-fileupload-content{padding:1em;position:relative;transition:border-color .3s}.ui-fileupload-content.ui-fileupload-highlight{border-color:#156090}.ui-fileupload-files img{border:0}.ui-fileupload-files{display:table}.ui-fileupload-row{display:table-row}.ui-fileupload-row>div{display:table-cell;padding:.5em 1em;vertical-align:middle}.ui-fileupload-content .ui-progressbar{width:100%;position:absolute;top:1px;left:0;height:.25em;border:0 none}.ui-fileupload-content .ui-progressbar-value{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border:0 none}.ui-fluid .ui-fileupload .ui-button{width:auto}.ui-fluid .ui-fileupload-content .ui-button-icon-only{width:2em}.ui-galleria{overflow:hidden;visibility:hidden;position:relative}.ui-galleria-panel-wrapper{position:relative;padding:0;margin:0}.ui-galleria-panel{filter:inherit;position:absolute;top:0;left:0;list-style-type:none}.ui-galleria-filmstrip-wrapper{overflow:hidden;margin:.25em auto;position:relative}.ui-galleria-filmstrip{list-style:none outside none;margin:0;padding:0;width:2340px;z-index:900;position:absolute;top:0;left:0}.ui-galleria-frame{float:left;margin-right:5px;opacity:.3;cursor:pointer}.ui-galleria-frame-active{opacity:1}.ui-galleria-frame-content{overflow:hidden}.ui-galleria-nav-next,.ui-galleria-nav-prev{cursor:pointer;position:absolute}.ui-galleria-nav-prev{left:5px}.ui-galleria-nav-next{right:5px}.ui-galleria-caption{position:absolute;left:1px;background-color:rgba(0,0,0,0.5);display:none;color:#ededed;padding:.2em 1em}.ui-galleria-caption h4{color:#ededed}.ui-galleria-panel-content{padding:1em 1.4em}.ui-grid{clear:both;padding:0;margin:0}.ui-grid:before,.ui-grid:after{content:"";display:table}.ui-grid:after{clear:both}.ui-grid .ui-grid-row{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;clear:both}.ui-grid-row:after{clear:both;content:"";display:table}.ui-grid-col-1,.ui-grid-col-2,.ui-grid-col-3,.ui-grid-col-4,.ui-grid-col-5,.ui-grid-col-6,.ui-grid-col-7,.ui-grid-col-8,.ui-grid-col-9,.ui-grid-col-10,.ui-grid-col-11,.ui-grid-col-12{float:left;box-sizing:border-box}.ui-grid-col-1{width:8.33333%}.ui-grid-col-2{width:16.66666%}.ui-grid-col-3{width:25%}.ui-grid-col-4{width:33.33333%}.ui-grid-col-5{width:41.66666%}.ui-grid-col-6{width:50%}.ui-grid-col-7{width:58.33333%}.ui-grid-col-8{width:66.66666%}.ui-grid-col-9{width:75%}.ui-grid-col-10{width:83.33333%}.ui-grid-col-11{width:91.66666%}.ui-grid-col-12{width:100%}@media(min-width:480px){.ui-grid-fixed{width:480px}}@media(min-width:768px){.ui-grid-fixed{width:768px}}@media(min-width:960px){.ui-grid-fixed{width:960px}}@media(min-width:1024px){.ui-grid-fixed{width:1024px}}@media(max-width:640px){.ui-grid-responsive .ui-grid-row{display:block}.ui-grid-responsive .ui-grid-col-1,.ui-grid-responsive .ui-grid-col-2,.ui-grid-responsive .ui-grid-col-3,.ui-grid-responsive .ui-grid-col-4,.ui-grid-responsive .ui-grid-col-5,.ui-grid-responsive .ui-grid-col-6,.ui-grid-responsive .ui-grid-col-7,.ui-grid-responsive .ui-grid-col-8,.ui-grid-responsive .ui-grid-col-9,.ui-grid-responsive .ui-grid-col-10,.ui-grid-responsive .ui-grid-col-11,.ui-grid-responsive .ui-grid-col-12{width:100%;float:none}}.ui-grid.ui-grid-pad>.ui-grid-row>div{padding:.25em .5em}@media(max-width:640px){.ui-grid-responsive .ui-grid-row{display:block}.ui-grid-responsive .ui-grid-col-1,.ui-grid-responsive .ui-grid-col-2,.ui-grid-responsive .ui-grid-col-3,.ui-grid-responsive .ui-grid-col-4,.ui-grid-responsive .ui-grid-col-5,.ui-grid-responsive .ui-grid-col-6,.ui-grid-responsive .ui-grid-col-7,.ui-grid-responsive .ui-grid-col-8,.ui-grid-responsive .ui-grid-col-9,.ui-grid-responsive .ui-grid-col-10,.ui-grid-responsive .ui-grid-col-11,.ui-grid-responsive .ui-grid-col-12{width:100%;float:none}}.ui-g{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;flex-wrap:wrap}.ui-g:after{clear:both;content:"";display:table}.ui-g-1,.ui-g-2,.ui-g-3,.ui-g-4,.ui-g-5,.ui-g-6,.ui-g-7,.ui-g-8,.ui-g-9,.ui-g-10,.ui-g-11,.ui-g-12{float:left;box-sizing:border-box;padding:.5em}.ui-g-1{width:8.3333%}.ui-g-2{width:16.6667%}.ui-g-3{width:25%}.ui-g-4{width:33.3333%}.ui-g-5{width:41.6667%}.ui-g-6{width:50%}.ui-g-7{width:58.3333%}.ui-g-8{width:66.6667%}.ui-g-9{width:75%}.ui-g-10{width:83.3333%}.ui-g-11{width:91.6667%}.ui-g-12{width:100%}@media screen and (max-width:40em){.ui-sm-1,.ui-sm-2,.ui-sm-3,.ui-sm-4,.ui-sm-5,.ui-sm-6,.ui-sm-7,.ui-sm-8,.ui-sm-9,.ui-sm-10,.ui-sm-11,.ui-sm-12{padding:.5em}.ui-sm-1{width:8.3333%}.ui-sm-2{width:16.6667%}.ui-sm-3{width:25%}.ui-sm-4{width:33.3333%}.ui-sm-5{width:41.6667%}.ui-sm-6{width:50%}.ui-sm-7{width:58.3333%}.ui-sm-8{width:66.6667%}.ui-sm-9{width:75%}.ui-sm-10{width:83.3333%}.ui-sm-11{width:91.6667%}.ui-sm-12{width:100%}}@media screen and (min-width:40.063em){.ui-md-1,.ui-md-2,.ui-md-3,.ui-md-4,.ui-md-5,.ui-md-6,.ui-md-7,.ui-md-8,.ui-md-9,.ui-md-10,.ui-md-11,.ui-md-12{padding:.5em}.ui-md-1{width:8.3333%}.ui-md-2{width:16.6667%}.ui-md-3{width:25%}.ui-md-4{width:33.3333%}.ui-md-5{width:41.6667%}.ui-md-6{width:50%}.ui-md-7{width:58.3333%}.ui-md-8{width:66.6667%}.ui-md-9{width:75%}.ui-md-10{width:83.3333%}.ui-md-11{width:91.6667%}.ui-md-12{width:100%}}@media screen and (min-width:64.063em){.ui-lg-1,.ui-lg-2,.ui-lg-3,.ui-lg-4,.ui-lg-5,.ui-lg-6,.ui-lg-7,.ui-lg-8,.ui-lg-9,.ui-lg-10,.ui-lg-11,.ui-lg-12{padding:.5em}.ui-lg-1{width:8.3333%}.ui-lg-2{width:16.6667%}.ui-lg-3{width:25%}.ui-lg-4{width:33.3333%}.ui-lg-5{width:41.6667%}.ui-lg-6{width:50%}.ui-lg-7{width:58.3333%}.ui-lg-8{width:66.6667%}.ui-lg-9{width:75%}.ui-lg-10{width:83.3333%}.ui-lg-11{width:91.6667%}.ui-lg-12{width:100%}}@media screen and (min-width:90.063em){.ui-xl-1,.ui-xl-2,.ui-xl-3,.ui-xl-4,.ui-xl-5,.ui-xl-6,.ui-xl-7,.ui-xl-8,.ui-xl-9,.ui-xl-10,.ui-xl-11,.ui-xl-12{padding:.5em}.ui-xl-1{width:8.3333%}.ui-xl-2{width:16.6667%}.ui-xl-3{width:25%}.ui-xl-4{width:33.3333%}.ui-xl-5{width:41.6667%}.ui-xl-6{width:50%}.ui-xl-7{width:58.3333%}.ui-xl-8{width:66.6667%}.ui-xl-9{width:75%}.ui-xl-10{width:83.3333%}.ui-xl-11{width:91.6667%}.ui-xl-12{width:100%}}.ui-g-nopad{padding:0}.ui-growl{position:fixed;top:20px;right:20px;width:20em}.ui-growl-item-container{position:relative;margin:0 0 10px 0;opacity:.95;filter:alpha(opacity=95)}.ui-growl-item{display:block;padding:.5em 1em}.ui-growl-item p{padding:0;margin:0}.ui-growl-icon-close{position:absolute;top:4px;right:4px;cursor:pointer}.ui-growl-title{font-weight:bold;padding:0 0 .5em 0;display:block}.ui-growl-image{display:inline-block;vertical-align:top;margin-left:.25em;margin-right:.5em;padding:0}.ui-growl-message{padding:0 0 .25em 0;display:inline-block;vertical-align:top}.ui-growl-message p{font-weight:normal}.ui-inplace .ui-inplace-display{display:inline;cursor:pointer;border:0 none;padding:.25em;font-weight:normal}.ui-inplace .ui-inplace-content{display:inline}.ui-inputswitch{display:inline-block;padding:0;position:relative;overflow:hidden;cursor:pointer;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;height:1.5em}.ui-inputswitch .ui-inputswitch-on,.ui-inputswitch .ui-inputswitch-off{white-space:nowrap;display:inline-block;position:absolute;top:0;width:auto;overflow:hidden;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;font-weight:bold;height:100%;line-height:1.5em}.ui-inputswitch .ui-inputswitch-on{left:0;border:0 none}.ui-inputswitch .ui-inputswitch-off{right:0;text-align:right}.ui-inputswitch .ui-inputswitch-on span,.ui-inputswitch .ui-inputswitch-off span{display:inline-block;text-align:center;height:100%;line-height:inherit}.ui-inputswitch .ui-inputswitch-handle{display:block;width:0;position:absolute;top:0;left:0;height:100%;border-top:0 none;border-bottom:0 none}.ui-inputtext{margin:0;outline:medium none;padding:.25em;font-weight:normal}.ui-widget-header .ui-inputtext,.ui-widget-content .ui-inputtext{font-weight:normal}.ui-fluid .ui-inputtext{width:100%;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.ui-inputtextarea-resizable{overflow:hidden;resize:none}.ui-fluid .ui-inputtextarea{width:100%}.ui-lightbox{position:fixed}.ui-lightbox-content-wrapper{position:relative}.ui-lightbox-content{position:relative;margin:0;padding:0;background-color:#000}.ui-lightbox-nav-right,.ui-lightbox-nav-left{position:absolute;top:50%;cursor:pointer}.ui-lightbox-nav-left{left:0}.ui-lightbox-nav-right{right:0}.ui-lightbox-loading{background:url("./images/loading.gif") #000 center center no-repeat}.ui-lightbox-caption{padding:.2em .4em;display:none}.ui-lightbox-caption-text{margin:.3em 0 .1em 0;float:left}.ui-lightbox-close{float:right;margin:0;padding:.125em}.ui-lightbox-close.ui-state-hover{padding:0}.ui-lightbox-nav-left,.ui-lightbox-nav-right{opacity:.5}.ui-lightbox-nav-left:hover,.ui-lightbox-nav-right:hover{opacity:1}.ui-listbox{overflow:auto;padding:.25em;width:10em}.ui-listbox .ui-listbox-list{list-style-type:none;margin:0;padding:0}.ui-listbox .ui-listbox-item{padding:.25em;border:0 none;cursor:pointer;font-weight:normal;margin-bottom:1px}.ui-listbox .ui-listbox-item>span{vertical-align:middle}.ui-listbox .ui-listbox-item:last-child{margin-bottom:0}.ui-listbox.ui-state-disabled .ui-listbox-item{cursor:default}.ui-listbox-header{margin-bottom:.3em;padding:.125em .2em;position:relative}.ui-listbox-header .ui-chkbox{display:inline-block;vertical-align:middle;cursor:pointer}.ui-listbox-header .ui-listbox-filter-container{display:inline-block;vertical-align:middle;position:relative;width:7em}.ui-listbox-header .ui-listbox-filter-container .fa{position:absolute;top:.25em;left:.25em}.ui-listbox-header .ui-inputtext{padding:.125em .125em .125em 1.25em;width:100%}.ui-fluid .ui-listbox .ui-listbox-filter-container,.ui-fluid .ui-listbox .ui-listbox-filter-container input{width:calc(100% - 32px)}.ui-menu{width:12.5em;padding:.25em;position:relative}.ui-menu.ui-menu-dynamic{position:absolute;display:none;z-index:100000}.ui-menu-list{position:static}.ui-menu .ui-menu-list .ui-menuitem{border:0}.ui-menu .ui-menu-list .ui-widget-header{clear:both;float:left;width:100%;margin:.125em 0;padding:.25em .5em}.ui-menu .ui-menuitem-parent,.ui-menu .ui-menuitem{width:100%;clear:both;margin:.125em 0;padding:0}.ui-menu .ui-menuitem-link{display:block;width:100%;outline:0;text-decoration:none;font-weight:normal;border:1px solid transparent;line-height:1em;padding:.25em;cursor:pointer}.ui-menu .ui-menuitem-link .ui-menuitem-icon{display:inline-block;vertical-align:middle}.ui-menu .ui-menuitem-text{vertical-align:middle}.ui-menu .ui-widget-header h1,.ui-menu .ui-widget-header h2,.ui-menu .ui-widget-header h3,.ui-menu .ui-widget-header h4,.ui-menu .ui-widget-header h5,.ui-menu .ui-widget-header h6{font-size:1em;margin:0 auto}.ui-menu .ui-menu-parent .ui-menu-child{display:none;width:12.5em;padding:.25em;position:absolute;margin:0;outline:0;text-decoration:none;list-style:none}.ui-menu .ui-menu-parent{position:relative}.ui-menu .ui-menu-parent .ui-submenu-icon{float:right;margin-right:-.25em}.ui-menubutton{padding:0}.ui-menubutton .ui-button{margin:0}.ui-menubar{width:auto}.ui-menubar .ui-menubar-root-list{list-style:none;padding:0;margin:0}.ui-menubar .ui-menubar-root-list>.ui-menuitem{display:inline-block;width:auto}.ui-menubar .ui-menu-child .ui-menuitem{width:100%}.ui-menubar .ui-menubar-options{float:right}.ui-slidemenu .ui-slidemenu-wrapper{position:relative}.ui-slidemenu .ui-slidemenu-content{overflow-x:hidden;overflow-y:auto;position:relative}.ui-slidemenu .ui-menu-list{position:absolute;top:0}.ui-slidemenu .ui-menu-parent{position:static}.ui-slidemenu .ui-menu-child{box-shadow:none;border:0 none;background:none repeat scroll 0 0 transparent}.ui-slidemenu-backward{position:absolute;bottom:0;width:100%;padding:.2em;cursor:pointer;display:none}.ui-slidemenu-backward .fa{vertical-align:middle}.ui-slidemenu-backward span{vertical-align:middle}.ui-megamenu .ui-g{flex-wrap:nowrap}.ui-megamenu .ui-megamenu-panel.ui-menu-child{width:auto}.ui-megamenu .ui-megamenu-panel .ui-menu-list{width:12.5em}.ui-megamenu-vertical{width:12.5em}.ui-megamenu-vertical .ui-menuitem-link,.ui-megamenu-vertical .ui-menu-list .ui-menuitem{width:100%;box-sizing:border-box}.ui-panelmenu{width:auto}.ui-panelmenu .ui-panelmenu-panel{padding:0;margin:0}.ui-panelmenu .ui-panelmenu-header{cursor:pointer;position:relative;margin:0;zoom:1}.ui-panelmenu .ui-panelmenu-header a{display:block;padding:.25em .5em}.ui-panelmenu span{vertical-align:middle}.ui-panelmenu .fa{width:1em;text-align:center;vertical-align:middle;margin-right:.25em}.ui-panelmenu .ui-menuitem-text{margin-left:.125em}.ui-panelmenu span{vertical-align:middle}.ui-panelmenu .ui-panelmenu-content{padding:.2em 0;border-top:0;overflow:auto;zoom:1;outline:0;margin-bottom:1px}.ui-panelmenu .ui-panelmenu-content-wrapper{box-sizing:border-box}.ui-panelmenu .ui-panelmenu-content-wrapper-overflown{overflow:hidden}.ui-panelmenu .ui-panelmenu-header.ui-state-disabled,.ui-panelmenu .ui-panelmenu-header.ui-state-disabled a{cursor:default}.ui-panelmenu .ui-menu-list{position:static}.ui-panelmenu .ui-menuitem{margin:1px 0;padding:0}.ui-panelmenu .ui-menuitem-link{display:block;outline:0;text-decoration:none;font-weight:normal;border:1px solid transparent;line-height:1em;cursor:pointer;position:relative;padding:.25em .5em}.ui-panelmenu .ui-menu-parent .ui-menu-list{margin-left:1.5em}.ui-menuitem-active>.ui-submenu>ul,.ui-menuitem-active>.ui-megamenu-panel{display:block !important}.ui-menuitem-outline{outline:1px dotted;z-index:1}.ui-fluid .ui-menu{width:100%}.ui-messages{border:1px solid;margin:.5em 0;padding:1em 1em 1em .5em;display:none;position:relative}.ui-messages-icon{display:inline-block;padding:0;vertical-align:middle}.ui-messages-summary{font-weight:bold;margin-left:.25em}.ui-messages-detail{margin-left:.25em}.ui-messages-success{color:#fff;background-color:#4caf50;border-color:#4caf50}.ui-messages-info{color:#fff;background-color:#2196f3;border-color:#2196f3}.ui-messages-warn{color:#fff;background-color:#ffb300;border-color:#ffb300}.ui-messages-error{color:#fff;background-color:#f44336;border-color:#f44336}.ui-messages ul{margin:0;padding:0;list-style-type:none;display:inline-block;vertical-align:middle}.ui-messages.ui-messages-noicon ul{margin:0 1.5em 0 0}.ui-messages .ui-messages-close{color:#fff;cursor:pointer;position:absolute;top:5px;right:5px}.ui-message{border:1px solid;margin:0 .25em;padding:.125em .25em}.ui-multiselect{display:inline-block;position:relative;width:auto;cursor:pointer}.ui-multiselect .ui-multiselect-trigger{border-right:0;border-top:0;border-bottom:0;cursor:pointer;width:1.5em;height:100%;position:absolute;right:0;top:0;padding:0 .25em}.ui-multiselect .ui-multiselect-trigger .fa{margin-top:.4em;margin-left:-.125em}.ui-multiselect .ui-multiselect-label-container{overflow:hidden}.ui-multiselect .ui-multiselect-label{display:block;padding:.25em 2em .25em .25em;width:auto;border:0;cursor:pointer;text-overflow:ellipsis;overflow:hidden}.ui-multiselect.ui-state-disabled .ui-multiselect-trigger,.ui-multiselect.ui-state-disabled .ui-multiselect-label{cursor:auto}.ui-multiselect .ui-multiselect-panel{padding:.2em;position:absolute;min-width:10em;width:100%}.ui-multiselect-panel .ui-multiselect-items-wrapper{overflow:auto;position:relative;padding:.2em 0}.ui-multiselect-panel .ui-multiselect-list{border:0 none}.ui-multiselect-panel .ui-multiselect-item{border:0 none;cursor:pointer;font-weight:normal;margin:1px 0;padding:.125em .25em;text-align:left;white-space:nowrap;display:block;position:relative}.ui-multiselect-panel .ui-multiselect-item .ui-chkbox{display:inline-block;vertical-align:middle}.ui-multiselect-panel .ui-multiselect-item label{display:inline-block;vertical-align:middle}.ui-multiselect-header{margin-bottom:.3em;padding:.25em;position:relative;text-align:left}.ui-multiselect-header .ui-chkbox{display:inline-block;vertical-align:middle;cursor:pointer}.ui-multiselect-header .ui-multiselect-filter-container{position:relative;display:inline-block;vertical-align:middle;width:65%}.ui-multiselect-header .ui-multiselect-filter-container .fa{position:absolute;top:.25em;left:.125em}.ui-multiselect-header .ui-inputtext{padding:.125em .125em .125em 1.25em;width:100%}.ui-multiselect-header .ui-multiselect-close{position:absolute;right:.375em;top:.375em;display:block;font-size:1em;border:0 none}.ui-multiselect-header a.ui-multiselect-all,.ui-multiselect-header a.ui-multiselect-none{float:left;margin-right:10px;display:block}.ui-multiselect-header .ui-multiselect-close.ui-state-hover{padding:0}.ui-fluid .ui-multiselect{width:100%;box-sizing:border-box}.ui-orderlist{display:table}.ui-orderlist .ui-orderlist-caption{width:12.5em}.ui-orderlist .ui-orderlist-list{list-style-type:none;margin:0;padding:0;overflow:auto;height:12.5em;width:12.5em}.ui-orderlist .ui-orderlist-list li{margin:1px;padding:.125em}.ui-orderlist .ui-button{display:block;margin-bottom:.3em}.ui-orderlist .ui-orderlist-button.ui-button-text-icon-primary{width:100%}.ui-orderlist .ui-orderlist-item{cursor:pointer;border:0 none;font-weight:inherit}.ui-orderlist .ui-orderlist-caption{text-align:center;padding:.5em .75em;border-bottom:0 none}.ui-orderlist table{width:100%;border-collapse:collapse}.ui-orderlist.ui-state-disabled .ui-orderlist-item,.ui-orderlist.ui-state-disabled .ui-button{cursor:default}.ui-orderlist.ui-state-disabled .ui-orderlist-list{overflow:hidden}.ui-orderlist.ui-grid-responsive{display:block;width:100%}.ui-orderlist.ui-grid-responsive .ui-orderlist-controls{margin-right:.5em}.ui-orderlist.ui-grid-responsive .ui-orderlist-list,.ui-orderlist.ui-grid-responsive .ui-orderlist-caption{width:100%}.ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button{width:100%}@media(max-width:40em){.ui-orderlist.ui-grid-responsive .ui-orderlist-controls{text-align:center}.ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button{display:inline;width:20%}}.ui-overlaypanel{padding:0;margin:0;position:absolute}.ui-overlaypanel-content{padding:.5em 1em}.ui-overlaypanel-close{position:absolute;top:-.5em;right:-.5em;-moz-border-radius:100%;-webkit-border-radius:100%;border-radius:100%}.ui-paginator{margin:0;text-align:center;padding:.125em}.ui-paginator .ui-paginator-top{border-bottom:0 none}.ui-paginator .ui-paginator-bottom{border-top:0 none}.ui-paginator .ui-paginator-page,.ui-paginator .ui-paginator-pages,.ui-paginator .ui-paginator-next,.ui-paginator .ui-paginator-last,.ui-paginator .ui-paginator-first,.ui-paginator .ui-paginator-prev,.ui-paginator .ui-paginator-current{display:inline-block;padding:.125em .375em;zoom:1;margin-left:.063em;margin-right:.063em;text-decoration:none}.ui-paginator .ui-paginator-page,.ui-paginator .ui-paginator-next,.ui-paginator .ui-paginator-last,.ui-paginator .ui-paginator-first,.ui-paginator .ui-paginator-prev{cursor:pointer}.ui-paginator .ui-paginator-current,.ui-paginator .ui-paginator-rpp-options{margin-left:1em;margin-right:1em;background-image:none}.ui-paginator .ui-paginator-jtp-select option,.ui-paginator .ui-paginator-rpp-options option{background-image:none;border:0 none;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}.ui-panel{padding:.2em}.ui-panel .ui-panel-titlebar{padding:.5em .75em}.ui-panel .ui-panel-titlebar-icon{float:right;cursor:pointer}.ui-panel .ui-panel-titlebar-icon{margin-left:.2em;margin-top:-0.1em}.ui-panel .ui-panel-content{border:0;background:0;padding:.5em .75em}.ui-panel .ui-panel-footer{border-width:1px 0 0;padding:.25em .5em;text-align:left}.ui-panel-content-wrapper-overflown{overflow:hidden}.ui-password-panel{padding:.25em .5em;width:10em;margin-top:2px}.ui-password-panel .ui-password-meter{height:10px;background:transparent url("./images/password-meter.png") no-repeat left top;padding:0;margin:0}.ui-password-info{margin-top:.25em}.ui-password-panel-overlay{position:absolute}.ui-picklist>div{float:left}.ui-picklist .ui-picklist-buttons{height:12.5em;padding:0 .25em}.ui-picklist .ui-picklist-list{list-style-type:none;margin:0;padding:0;overflow:auto;height:12.5em;width:12.5em}.ui-picklist .ui-picklist-list li{margin:1px;padding:.125em}.ui-picklist .ui-button{display:block;margin-bottom:.25em}.ui-picklist .ui-button-text-icon-left{width:100%}.ui-picklist .ui-picklist-item{cursor:pointer;border:0 none;font-weight:inherit}.ui-picklist .ui-picklist-caption{text-align:center;padding:.5em .75em;border-bottom:0 none}.ui-picklist table{width:100%;border-collapse:collapse}.ui-picklist .ui-picklist-filter{padding-right:1em;width:100%;box-sizing:border-box}.ui-picklist .ui-picklist-filter-container{position:relative;margin:0;padding:0}.ui-picklist .ui-picklist-filter-container .fa{position:absolute;top:.25em;right:.125em}.ui-picklist{display:table}.ui-picklist>div{float:none;display:table-cell;vertical-align:top}.ui-picklist .ui-picklist-buttons{vertical-align:middle}.ui-picklist.ui-picklist-vertical{display:table}.ui-picklist.ui-picklist-vertical>div{float:none;display:table-row;vertical-align:top}.ui-picklist.ui-picklist-vertical .ui-picklist-buttons{text-align:center;height:auto}.ui-picklist.ui-picklist-vertical .ui-picklist-buttons .ui-button{display:inline-block}.ui-picklist.ui-picklist-vertical .ui-button{margin-top:.25em}.ui-picklist-outline{outline:1px dotted black;z-index:1}.ui-picklist-list.ui-picklist-source,.ui-picklist-list.ui-picklist-target{outline:0}.ui-picklist.ui-picklist-responsive *{box-sizing:border-box}.ui-picklist.ui-picklist-responsive{width:100%}.ui-picklist.ui-picklist-responsive .ui-picklist-listwrapper{width:35%}.ui-picklist.ui-picklist-responsive .ui-picklist-listwrapper.ui-picklist-listwrapper-nocontrols{width:45%}.ui-picklist.ui-picklist-responsive .ui-picklist-buttons{width:10%}.ui-picklist.ui-picklist-responsive .ui-picklist-buttons button{width:100%}.ui-picklist.ui-picklist-responsive .ui-picklist-list{width:auto}@media(max-width:40em){.ui-picklist.ui-picklist-responsive{display:block}.ui-picklist.ui-picklist-responsive>div{display:block;width:100% !important}.ui-picklist.ui-picklist-responsive .ui-picklist-buttons{text-align:center;height:auto;padding:.4em 0}.ui-picklist.ui-picklist-responsive .ui-picklist-buttons button{display:inline;width:20%;margin-bottom:0}.ui-picklist.ui-picklist-responsive .ui-picklist-source-controls.ui-picklist-buttons{padding-bottom:.4em}.ui-picklist.ui-picklist-responsive .ui-picklist-target-controls.ui-picklist-buttons{padding-top:.4em}.ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right:before{content:"\f107"}.ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right:before{content:"\f103"}.ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left:before{content:"\f106"}.ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left:before{content:"\f102"}}.ui-progressbar{height:1.2em;text-align:left;position:relative}.ui-progressbar .ui-progressbar-value{height:100%;width:0;position:absolute;display:none;border:0 none}.ui-progressbar .ui-progressbar-value-animate{-webkit-transition:width 1s ease-in-out;-moz-transition:width 1s ease-in-out;-o-transition:width 1s ease-in-out;transition:width 1s ease-in-out}.ui-progressbar .ui-progressbar-label{text-align:center;height:100%;width:100%;position:absolute;display:none;font-weight:bold}.ui-radiobutton{display:inline-block;cursor:pointer;vertical-align:middle;margin-right:.25em}.ui-radiobutton-box{width:1.125em;height:1.125em;line-height:1.125em;-moz-border-radius:100%;-webkit-border-radius:100%;border-radius:100%;text-align:center}.ui-radiobutton-icon{display:block;font-size:.6em;line-height:inherit}.ui-radiobutton,.ui-radiobutton-label{vertical-align:middle;display:inline-block}.ui-rating-star,.ui-rating-cancel{float:left;display:block;overflow:hidden;text-indent:-999em;cursor:pointer}.ui-rating-star a,.ui-rating-cancel a{width:16px;height:15px;display:block;background:url("./images/rating.png") no-repeat 0 0}.ui-rating-star a{background-position:0 -32px}.ui-rating-star-on a{background-position:0 -48px}.ui-rating-star-hover a{background-position:0 -64px}.ui-rating-cancel-hover a{background-position:0 -16px}.ui-rating.ui-state-disabled .ui-rating-star,.ui-rating.ui-state-disabled .ui-rating-cancel{cursor:default}.ui-fluid .fc .ui-button{width:auto}.ui-selectbutton{display:inline-block}.ui-selectbutton.ui-state-error{padding:0}.ui-selectbutton .ui-button.ui-state-focus{outline:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none;z-index:1}.ui-slider .ui-slider-handle.ui-slider-handle-active{z-index:2}.ui-slider .ui-slider-range{position:absolute;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-slider-animate .ui-slider-handle{transition:left .3s}.ui-spinner{display:inline-block;overflow:visible;padding:0;position:relative;vertical-align:middle}.ui-spinner-input{vertical-align:middle;padding-right:1.5em}.ui-spinner-button{cursor:default;display:block;font-size:.5em;height:50%;margin:0;overflow:hidden;padding:0;position:absolute;right:0;text-align:center;vertical-align:middle;width:1.5em}.ui-spinner .fa{position:absolute;top:50%;left:50%;margin-top:-.5em;margin-left:-.5em;width:1em}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-fluid .ui-spinner{width:100%}.ui-fluid .ui-spinner .ui-spinner-input{padding-right:2em;width:100%}.ui-fluid .ui-spinner .ui-spinner-button{width:auto}.ui-fluid .ui-spinner .ui-spinner-button .fa{left:.375em}.ui-splitbutton{position:relative;display:inline-block;zoom:1}.ui-splitbutton .ui-button.ui-splitbutton-menubutton{width:1.5em}.ui-splitbutton.ui-state-disabled button{cursor:default}.ui-fluid .ui-splitbutton{width:100%;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.ui-fluid .ui-splitbutton .ui-button:first-child{width:calc(100% - 1.5em)}.ui-fluid .ui-splitbutton .ui-button.ui-splitbutton-menubutton{width:1.5em;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.ui-steps ul{list-style-type:none;padding:0;margin:0}.ui-steps .ui-steps-item{float:left;box-sizing:border-box;cursor:pointer}.ui-steps.ui-steps-readonly .ui-steps-item{cursor:auto}.ui-steps .ui-steps-item .ui-menuitem-link{text-decoration:none;display:block;padding:1em;position:relative;text-align:center}.ui-steps .ui-steps-item.ui-state-highlight .ui-menuitem-link,.ui-steps .ui-steps-item.ui-state-disabled .ui-menuitem-link{cursor:default}.ui-steps .ui-steps-number{font-size:200%;display:block}.ui-steps .ui-steps-title{display:block;white-space:nowrap}@media(max-width:40em){.ui-steps .ui-steps-item .ui-menuitem-link{padding:.5em}.ui-steps .ui-steps-item .ui-steps-title{display:none}}.ui-tabmenu .ui-tabmenu-nav{margin:0;padding:.25em .5em 0 .25em}.ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem{list-style:none;float:left;position:relative;margin:0 .2em 1px 0;padding:0;white-space:nowrap;display:block;border-bottom:0;top:1px}.ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabmenu .ui-tabmenu-nav a{padding:.5em 1em}.ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem .ui-icon{float:left}.ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem.ui-state-disabled a{cursor:default}.ui-tabview{padding:.25em}.ui-tabview .ui-tabview-nav{margin:0}.ui-tabview .ui-tabview-nav li{list-style:none;float:left;position:relative;margin:0 .125em 1px 0;padding:0;white-space:nowrap}.ui-tabview .ui-tabview-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabview .ui-tabview-nav li.ui-tabview-selected a,.ui-tabview .ui-tabview-nav li.ui-state-disabled a,.ui-tabview .ui-tabview-nav li.ui-state-processing a{cursor:text}.ui-tabview .ui-tabview-nav li a,.ui-tabview.ui-tabview-collapsible .ui-tabview-nav li.ui-tabview-selected a{cursor:pointer}.ui-tabview .ui-tabview-panel{border-width:0;padding:1em;background:0}.ui-tabview .ui-tabview-nav li{display:block}.ui-tabview .ui-tabview-nav li .ui-tabview-left-icon,.ui-tabview .ui-tabview-nav li .ui-tabview-right-icon,.ui-tabview .ui-tabview-nav li .ui-tabview-title,{vertical-align:middle}.ui-tabview .ui-tabview-nav li .ui-tabview-close{margin:.5em .3em 0 0;cursor:pointer}.ui-tabview.ui-tabview-top>.ui-tabview-nav li{border-bottom:0;top:1px}.ui-tabview.ui-tabview-top>.ui-tabview-nav{padding:.2em .2em 0}.ui-tabview.ui-tabview-bottom>.ui-tabview-nav{padding:0 .2em .2em}.ui-tabview.ui-tabview-bottom>.ui-tabview-nav li{border-top:0}.ui-tabview-left:after,.ui-tabview-right:after{clear:both;content:".";display:block;height:0;visibility:hidden}.ui-tabview-left>.ui-tabview-nav{float:left;width:25%;height:300px;background-image:none;padding-top:1px}.ui-tabview-left>.ui-tabview-panels{float:right;width:75%}.ui-tabview.ui-tabview-left>.ui-tabview-nav li,.ui-tabview.ui-tabview-right>.ui-tabview-nav li{display:block;float:right;white-space:normal;width:99%}.ui-tabview.ui-tabview-left>.ui-tabview-nav li{margin:0 0 1px 0;border-right:0 none}.ui-tabview.ui-tabview-right>.ui-tabview-nav{float:right;width:25%;height:300px;background-image:none;padding-top:1px}.ui-tabview.ui-tabview-right>.ui-tabview-panels{float:left;width:75%}.ui-tabview.ui-tabview-right>.ui-tabview-nav li{margin:0 0 1px 0;border-left:0 none}.ui-terminal{height:18em;overflow:auto;padding:.25em}.ui-terminal-input{border:0 none;background-color:transparent;color:inherit;padding:0;margin:0 0 0 .125em;width:75%;outline:0;vertical-align:baseline}.ui-terminal-command{margin-left:.125em;-moz-margin-start:.125em}.ui-terminal-input::-ms-clear{display:none}.ui-toolbar{padding:.25em .5em}.ui-toolbar-group-left{float:left}.ui-toolbar-group-right{float:right}.ui-tooltip{position:absolute;display:none;padding:.25em .5em}.ui-tooltip.ui-tooltip-right,.ui-tooltip.ui-tooltip-left{padding:0 .25em}.ui-tooltip.ui-tooltip-top,.ui-tooltip.ui-tooltip-bottom{padding:.25em 0}.ui-tooltip .ui-tooltip-text{padding:.125em .5em;background-color:#4c4c4c;color:#fff}.ui-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ui-tooltip-right .ui-tooltip-arrow{top:50%;left:0;margin-top:-.25em;border-width:.25em .25em .25em 0;border-right-color:#4c4c4c}.ui-tooltip-left .ui-tooltip-arrow{top:50%;right:0;margin-top:-.25em;border-width:.25em 0 .25em .25em;border-left-color:#4c4c4c}.ui-tooltip.ui-tooltip-top{padding:.25em 0}.ui-tooltip-top .ui-tooltip-arrow{bottom:0;left:50%;margin-left:-.25em;border-width:.25em .25em 0;border-top-color:#4c4c4c}.ui-tooltip-bottom .ui-tooltip-arrow{top:0;left:50%;margin-left:-.25em;border-width:0 .25em .25em;border-bottom-color:#4c4c4c}.ui-tree{width:18em}.ui-tree.ui-tree-selectable .ui-treenode-content{cursor:pointer}.ui-tree .ui-tree-container{height:100%;margin:0;overflow:auto;padding:.25em;white-space:nowrap}.ui-tree .ui-treenode-children{margin:0;padding:0 0 0 1em}.ui-tree .ui-treenode{background-attachment:scroll;background-color:transparent;background-image:none;background-position:0 0;background-repeat:repeat-y;list-style:none outside none;margin:0;padding:.125em 0 0 0}.ui-tree .ui-tree-toggler{cursor:pointer;display:inline-block;vertical-align:middle}.ui-tree .ui-treenode-icon{display:inline-block;vertical-align:middle}.ui-tree .ui-treenode-label{display:inline-block;padding:0 .25em;vertical-align:middle}.ui-tree .ui-treenode-label.ui-state-hover,.ui-tree .ui-treenode-label.ui-state-highlight{font-weight:normal;border:0 none}.ui-tree .ui-treenode-leaf-icon{width:1em;height:1em;display:inline-block}.ui-tree .ui-chkbox-box{cursor:pointer}.ui-tree .ui-chkbox{display:inline-block;vertical-align:middle}.ui-fluid .ui-tree{width:100%}.ui-tree-horizontal{width:auto;padding:.5em 0;overflow:auto}.ui-tree.ui-tree-horizontal table,.ui-tree.ui-tree-horizontal tr,.ui-tree.ui-tree-horizontal td{border-collapse:collapse;margin:0;padding:0;vertical-align:middle}.ui-tree.ui-tree-horizontal .ui-tree-toggler{vertical-align:middle;margin:0}.ui-tree-horizontal .ui-treenode-content{font-weight:normal;padding:.4em 1em .4em .2em}.ui-tree.ui-tree-horizontal .ui-tree-node-label{margin:0}.ui-tree-horizontal .ui-treenode-parent .ui-treenode-content{font-weight:normal;white-space:nowrap}.ui-tree.ui-tree-horizontal .ui-treenode{background:url("./images/line.gif") repeat-x scroll center center transparent;padding:.25em 2.5em}.ui-tree.ui-tree-horizontal .ui-treenode.ui-treenode-leaf,.ui-tree.ui-tree-horizontal .ui-treenode.ui-treenode-collapsed{padding-right:0}.ui-tree.ui-tree-horizontal .ui-treenode-children{padding:0;margin:0}.ui-tree.ui-tree-horizontal .ui-treenode-connector{width:1px}.ui-tree.ui-tree-horizontal .ui-treenode-connector-table{height:100%;width:1px}.ui-tree.ui-tree-horizontal .ui-treenode-connector-line{background:url("./images/line.gif") repeat-y scroll 0 0 transparent;width:1px}.ui-tree.ui-tree-horizontal table{height:0}.ui-tree.ui-tree-horizontal .ui-chkbox{vertical-align:bottom;margin-right:.25em}.ui-treetable table{border-collapse:collapse;width:100%;table-layout:fixed}.ui-treetable .ui-treetable-header,.ui-treetable .ui-treetable-footer{text-align:center;padding:.5em .75em}.ui-treetable .ui-treetable-header{border-bottom:0 none}.ui-treetable .ui-treetable-footer{border-top:0 none}.ui-treetable th,.ui-treetable tfoot td{text-align:center}.ui-treetable thead th,.ui-treetable tbody td,.ui-treetable tfoot td{padding:.25em .5em;overflow:hidden;white-space:nowrap;border-width:1px;border-style:solid}.ui-treetable tbody td{border-color:inherit}.ui-treetable tbody td:first-child span{vertical-align:middle}.ui-treetable .ui-treetable-toggler{display:inline-block;vertical-align:middle;cursor:pointer}.ui-treetable .ui-treetable-data tr.ui-state-highlight,.ui-treetable .ui-treetable-data tr.ui-state-hover,.ui-treetable .ui-treetable-row.ui-state-highlight,.ui-treetable .ui-treetable-row.ui-state-hover{cursor:pointer}.ui-treetable tr.ui-state-hover{border-color:inherit;font-weight:inherit}.ui-treetable .ui-treetable-indent{width:1em;height:1em;float:left}.ui-treetable td.ui-treetable-child-table-container{padding:0;border:0 none}.ui-treetable .ui-treetable-row{display:table-row;border-bottom:0 transparent}.ui-treetable .ui-treetable-row.ui-state-hover,.ui-treetable .ui-treetable-row.ui-state-highlight{border:0 none}.ui-treetable tbody .ui-treetable-row td{border:0 none}.ui-treetable tbody .ui-treetable-row td input{outline:0 none} \ No newline at end of file diff --git a/src/assets/layout/fonts/MaterialIcons-Regular.eot b/src/assets/layout/fonts/MaterialIcons-Regular.eot new file mode 100644 index 0000000..70508eb Binary files /dev/null and b/src/assets/layout/fonts/MaterialIcons-Regular.eot differ diff --git a/src/assets/layout/fonts/MaterialIcons-Regular.ttf b/src/assets/layout/fonts/MaterialIcons-Regular.ttf new file mode 100644 index 0000000..7015564 Binary files /dev/null and b/src/assets/layout/fonts/MaterialIcons-Regular.ttf differ diff --git a/src/assets/layout/fonts/MaterialIcons-Regular.woff b/src/assets/layout/fonts/MaterialIcons-Regular.woff new file mode 100644 index 0000000..b648a3e Binary files /dev/null and b/src/assets/layout/fonts/MaterialIcons-Regular.woff differ diff --git a/src/assets/layout/fonts/MaterialIcons-Regular.woff2 b/src/assets/layout/fonts/MaterialIcons-Regular.woff2 new file mode 100644 index 0000000..9fa2112 Binary files /dev/null and b/src/assets/layout/fonts/MaterialIcons-Regular.woff2 differ diff --git a/src/assets/layout/fonts/roboto-v15-latin-300.eot b/src/assets/layout/fonts/roboto-v15-latin-300.eot new file mode 100644 index 0000000..826acfd Binary files /dev/null and b/src/assets/layout/fonts/roboto-v15-latin-300.eot differ diff --git a/src/assets/layout/fonts/roboto-v15-latin-300.svg b/src/assets/layout/fonts/roboto-v15-latin-300.svg new file mode 100644 index 0000000..52b2832 --- /dev/null +++ b/src/assets/layout/fonts/roboto-v15-latin-300.svg @@ -0,0 +1,314 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/layout/fonts/roboto-v15-latin-300.ttf b/src/assets/layout/fonts/roboto-v15-latin-300.ttf new file mode 100644 index 0000000..66bc5ab Binary files /dev/null and b/src/assets/layout/fonts/roboto-v15-latin-300.ttf differ diff --git a/src/assets/layout/fonts/roboto-v15-latin-300.woff b/src/assets/layout/fonts/roboto-v15-latin-300.woff new file mode 100644 index 0000000..7e6c479 Binary files /dev/null and b/src/assets/layout/fonts/roboto-v15-latin-300.woff differ diff --git a/src/assets/layout/fonts/roboto-v15-latin-300.woff2 b/src/assets/layout/fonts/roboto-v15-latin-300.woff2 new file mode 100644 index 0000000..c34c128 Binary files /dev/null and b/src/assets/layout/fonts/roboto-v15-latin-300.woff2 differ diff --git a/src/assets/layout/fonts/roboto-v15-latin-700.eot b/src/assets/layout/fonts/roboto-v15-latin-700.eot new file mode 100644 index 0000000..f89cad7 Binary files /dev/null and b/src/assets/layout/fonts/roboto-v15-latin-700.eot differ diff --git a/src/assets/layout/fonts/roboto-v15-latin-700.svg b/src/assets/layout/fonts/roboto-v15-latin-700.svg new file mode 100644 index 0000000..fc8d42f --- /dev/null +++ b/src/assets/layout/fonts/roboto-v15-latin-700.svg @@ -0,0 +1,310 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/layout/fonts/roboto-v15-latin-700.ttf b/src/assets/layout/fonts/roboto-v15-latin-700.ttf new file mode 100644 index 0000000..19090af Binary files /dev/null and b/src/assets/layout/fonts/roboto-v15-latin-700.ttf differ diff --git a/src/assets/layout/fonts/roboto-v15-latin-700.woff b/src/assets/layout/fonts/roboto-v15-latin-700.woff new file mode 100644 index 0000000..bf737c1 Binary files /dev/null and b/src/assets/layout/fonts/roboto-v15-latin-700.woff differ diff --git a/src/assets/layout/fonts/roboto-v15-latin-700.woff2 b/src/assets/layout/fonts/roboto-v15-latin-700.woff2 new file mode 100644 index 0000000..11cde5d Binary files /dev/null and b/src/assets/layout/fonts/roboto-v15-latin-700.woff2 differ diff --git a/src/assets/layout/fonts/roboto-v15-latin-regular.eot b/src/assets/layout/fonts/roboto-v15-latin-regular.eot new file mode 100644 index 0000000..d26bc8f Binary files /dev/null and b/src/assets/layout/fonts/roboto-v15-latin-regular.eot differ diff --git a/src/assets/layout/fonts/roboto-v15-latin-regular.svg b/src/assets/layout/fonts/roboto-v15-latin-regular.svg new file mode 100644 index 0000000..ed55c10 --- /dev/null +++ b/src/assets/layout/fonts/roboto-v15-latin-regular.svg @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/layout/fonts/roboto-v15-latin-regular.ttf b/src/assets/layout/fonts/roboto-v15-latin-regular.ttf new file mode 100644 index 0000000..7b25f3c Binary files /dev/null and b/src/assets/layout/fonts/roboto-v15-latin-regular.ttf differ diff --git a/src/assets/layout/fonts/roboto-v15-latin-regular.woff b/src/assets/layout/fonts/roboto-v15-latin-regular.woff new file mode 100644 index 0000000..941dfa4 Binary files /dev/null and b/src/assets/layout/fonts/roboto-v15-latin-regular.woff differ diff --git a/src/assets/layout/fonts/roboto-v15-latin-regular.woff2 b/src/assets/layout/fonts/roboto-v15-latin-regular.woff2 new file mode 100644 index 0000000..120796b Binary files /dev/null and b/src/assets/layout/fonts/roboto-v15-latin-regular.woff2 differ diff --git a/src/assets/layout/images/401.svg b/src/assets/layout/images/401.svg new file mode 100644 index 0000000..325f0df --- /dev/null +++ b/src/assets/layout/images/401.svg @@ -0,0 +1,12 @@ + + + + 8931E9BA-C84B-4069-9EAC-D5DE09A5F7A1 + Created with sketchtool. + + + + + + + \ No newline at end of file diff --git a/src/assets/layout/images/404.svg b/src/assets/layout/images/404.svg new file mode 100644 index 0000000..1cc8a2e --- /dev/null +++ b/src/assets/layout/images/404.svg @@ -0,0 +1,12 @@ + + + + 3A894ED8-99CA-4B1E-AF43-22E4D1A5DD0F + Created with sketchtool. + + + + + + + \ No newline at end of file diff --git a/src/assets/layout/images/avatar.png b/src/assets/layout/images/avatar.png new file mode 100644 index 0000000..c3ec236 Binary files /dev/null and b/src/assets/layout/images/avatar.png differ diff --git a/src/assets/layout/images/avatar1.png b/src/assets/layout/images/avatar1.png new file mode 100644 index 0000000..c2c4cfd Binary files /dev/null and b/src/assets/layout/images/avatar1.png differ diff --git a/src/assets/layout/images/avatar2.png b/src/assets/layout/images/avatar2.png new file mode 100644 index 0000000..11ae6c9 Binary files /dev/null and b/src/assets/layout/images/avatar2.png differ diff --git a/src/assets/layout/images/avatar2x.png b/src/assets/layout/images/avatar2x.png new file mode 100644 index 0000000..623de30 Binary files /dev/null and b/src/assets/layout/images/avatar2x.png differ diff --git a/src/assets/layout/images/avatar3.png b/src/assets/layout/images/avatar3.png new file mode 100644 index 0000000..3b71c26 Binary files /dev/null and b/src/assets/layout/images/avatar3.png differ diff --git a/src/assets/layout/images/avatar4.png b/src/assets/layout/images/avatar4.png new file mode 100644 index 0000000..5359c47 Binary files /dev/null and b/src/assets/layout/images/avatar4.png differ diff --git a/src/assets/layout/images/avatar_sample.png b/src/assets/layout/images/avatar_sample.png new file mode 100644 index 0000000..de97320 Binary files /dev/null and b/src/assets/layout/images/avatar_sample.png differ diff --git a/src/assets/layout/images/dark-user-bg.png b/src/assets/layout/images/dark-user-bg.png new file mode 100644 index 0000000..4ee4d70 Binary files /dev/null and b/src/assets/layout/images/dark-user-bg.png differ diff --git a/src/assets/layout/images/dark-user-bg2x.png b/src/assets/layout/images/dark-user-bg2x.png new file mode 100644 index 0000000..61da55f Binary files /dev/null and b/src/assets/layout/images/dark-user-bg2x.png differ diff --git a/src/assets/layout/images/dashboard/map.png b/src/assets/layout/images/dashboard/map.png new file mode 100644 index 0000000..8a6c991 Binary files /dev/null and b/src/assets/layout/images/dashboard/map.png differ diff --git a/src/assets/layout/images/dashboard/md.png b/src/assets/layout/images/dashboard/md.png new file mode 100644 index 0000000..2db8ac6 Binary files /dev/null and b/src/assets/layout/images/dashboard/md.png differ diff --git a/src/assets/layout/images/dashboard/progress.svg b/src/assets/layout/images/dashboard/progress.svg new file mode 100644 index 0000000..7322ec6 --- /dev/null +++ b/src/assets/layout/images/dashboard/progress.svg @@ -0,0 +1,13 @@ + + + + progress + Created with Sketch. + + + + + + + + \ No newline at end of file diff --git a/src/assets/layout/images/dashboard/sales.svg b/src/assets/layout/images/dashboard/sales.svg new file mode 100644 index 0000000..c2a5f9f --- /dev/null +++ b/src/assets/layout/images/dashboard/sales.svg @@ -0,0 +1,52 @@ + + + + 4D094295-376E-4EEB-9C47-0DADE6048873 + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/layout/images/dashboard/sidebar-image.jpg b/src/assets/layout/images/dashboard/sidebar-image.jpg new file mode 100644 index 0000000..0720095 Binary files /dev/null and b/src/assets/layout/images/dashboard/sidebar-image.jpg differ diff --git a/src/assets/layout/images/dashboard/views.svg b/src/assets/layout/images/dashboard/views.svg new file mode 100644 index 0000000..68520c3 --- /dev/null +++ b/src/assets/layout/images/dashboard/views.svg @@ -0,0 +1,12 @@ + + + + views + Created with Sketch. + + + + + + + \ No newline at end of file diff --git a/src/assets/layout/images/dashboard/weather-icon-1.svg b/src/assets/layout/images/dashboard/weather-icon-1.svg new file mode 100644 index 0000000..25bc665 --- /dev/null +++ b/src/assets/layout/images/dashboard/weather-icon-1.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/layout/images/dashboard/weather-icon-2.svg b/src/assets/layout/images/dashboard/weather-icon-2.svg new file mode 100644 index 0000000..63792cb --- /dev/null +++ b/src/assets/layout/images/dashboard/weather-icon-2.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/layout/images/dashboard/weather-icon-3.svg b/src/assets/layout/images/dashboard/weather-icon-3.svg new file mode 100644 index 0000000..625278d --- /dev/null +++ b/src/assets/layout/images/dashboard/weather-icon-3.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/layout/images/dashboard/weather-icon-4.svg b/src/assets/layout/images/dashboard/weather-icon-4.svg new file mode 100644 index 0000000..711ee31 --- /dev/null +++ b/src/assets/layout/images/dashboard/weather-icon-4.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/layout/images/error.svg b/src/assets/layout/images/error.svg new file mode 100644 index 0000000..ba6d1da --- /dev/null +++ b/src/assets/layout/images/error.svg @@ -0,0 +1,12 @@ + + + + 13C26429-22F8-48F0-9BC6-01F28C68B629 + Created with sketchtool. + + + + + + + \ No newline at end of file diff --git a/src/assets/layout/images/favicon.png b/src/assets/layout/images/favicon.png new file mode 100644 index 0000000..523cba3 Binary files /dev/null and b/src/assets/layout/images/favicon.png differ diff --git a/src/assets/layout/images/landing/landing-header.png b/src/assets/layout/images/landing/landing-header.png new file mode 100644 index 0000000..c1400ef Binary files /dev/null and b/src/assets/layout/images/landing/landing-header.png differ diff --git a/src/assets/layout/images/landing/promotion.png b/src/assets/layout/images/landing/promotion.png new file mode 100644 index 0000000..73c69fe Binary files /dev/null and b/src/assets/layout/images/landing/promotion.png differ diff --git a/src/assets/layout/images/login/login.png b/src/assets/layout/images/login/login.png new file mode 100644 index 0000000..ea92f97 Binary files /dev/null and b/src/assets/layout/images/login/login.png differ diff --git a/src/assets/layout/images/login/login2x.png b/src/assets/layout/images/login/login2x.png new file mode 100644 index 0000000..fe1b0f6 Binary files /dev/null and b/src/assets/layout/images/login/login2x.png differ diff --git a/src/assets/layout/images/login11.jpg b/src/assets/layout/images/login11.jpg new file mode 100644 index 0000000..3410407 Binary files /dev/null and b/src/assets/layout/images/login11.jpg differ diff --git a/src/assets/layout/images/logo-ultima.svg b/src/assets/layout/images/logo-ultima.svg new file mode 100644 index 0000000..b8384c9 --- /dev/null +++ b/src/assets/layout/images/logo-ultima.svg @@ -0,0 +1,14 @@ + + + + 4315D9A1-6D32-4D5F-BFD8-916FF26270D4 + Created with sketchtool. + + + + + + + + + \ No newline at end of file diff --git a/src/assets/layout/images/logo.png b/src/assets/layout/images/logo.png new file mode 100644 index 0000000..187ea58 Binary files /dev/null and b/src/assets/layout/images/logo.png differ diff --git a/src/assets/layout/images/logo2x.png b/src/assets/layout/images/logo2x.png new file mode 100644 index 0000000..0a38a31 Binary files /dev/null and b/src/assets/layout/images/logo2x.png differ diff --git a/src/assets/layout/images/overFlow_CI_blue_185.png b/src/assets/layout/images/overFlow_CI_blue_185.png new file mode 100644 index 0000000..b4ef8a2 Binary files /dev/null and b/src/assets/layout/images/overFlow_CI_blue_185.png differ diff --git a/src/assets/layout/images/overFlow_CI_white_162.png b/src/assets/layout/images/overFlow_CI_white_162.png new file mode 100644 index 0000000..31a796d Binary files /dev/null and b/src/assets/layout/images/overFlow_CI_white_162.png differ diff --git a/src/assets/layout/images/overFlow_CI_white_200_30.png b/src/assets/layout/images/overFlow_CI_white_200_30.png new file mode 100644 index 0000000..293ad58 Binary files /dev/null and b/src/assets/layout/images/overFlow_CI_white_200_30.png differ diff --git a/src/assets/layout/images/preloader.gif b/src/assets/layout/images/preloader.gif new file mode 100644 index 0000000..7d54b4e Binary files /dev/null and b/src/assets/layout/images/preloader.gif differ diff --git a/src/assets/layout/images/profile-bg-dark.png b/src/assets/layout/images/profile-bg-dark.png new file mode 100644 index 0000000..0328bed Binary files /dev/null and b/src/assets/layout/images/profile-bg-dark.png differ diff --git a/src/assets/layout/images/profile-bg.png b/src/assets/layout/images/profile-bg.png new file mode 100644 index 0000000..557c4a1 Binary files /dev/null and b/src/assets/layout/images/profile-bg.png differ diff --git a/src/assets/layout/images/profile-bg.svg b/src/assets/layout/images/profile-bg.svg new file mode 100644 index 0000000..7dd6fd1 --- /dev/null +++ b/src/assets/layout/images/profile-bg.svg @@ -0,0 +1,718 @@ + + + + omega-mountain + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/layout/images/user-bg.png b/src/assets/layout/images/user-bg.png new file mode 100644 index 0000000..a8eec5c Binary files /dev/null and b/src/assets/layout/images/user-bg.png differ diff --git a/src/assets/layout/images/user-bg2x.png b/src/assets/layout/images/user-bg2x.png new file mode 100644 index 0000000..2beb13f Binary files /dev/null and b/src/assets/layout/images/user-bg2x.png differ diff --git a/src/assets/pages/404.html b/src/assets/pages/404.html new file mode 100644 index 0000000..11ba185 --- /dev/null +++ b/src/assets/pages/404.html @@ -0,0 +1,31 @@ + + + + + + + + + + overFlow + + + + + + + +
      + +
      + +
      + +

      Page Not Found

      +
      The resource you are looking for does not exist.
      + + Homepage + +
      + + \ No newline at end of file diff --git a/src/assets/pages/access.html b/src/assets/pages/access.html new file mode 100644 index 0000000..0dc95cd --- /dev/null +++ b/src/assets/pages/access.html @@ -0,0 +1,31 @@ + + + + + + + + + + overFlow + + + + + + + +
      + +
      + +
      + +

      Access Denied

      +
      You are not authorized to access this resource.
      + + Homepage + +
      + + \ No newline at end of file diff --git a/src/assets/pages/error.html b/src/assets/pages/error.html new file mode 100644 index 0000000..40cb7fa --- /dev/null +++ b/src/assets/pages/error.html @@ -0,0 +1,31 @@ + + + + + + + + + + overFlow + + + + + + + +
      + +
      + +
      + +

      Exception Occured

      +
      Please contact system administrator
      + + Homepage + +
      + + \ No newline at end of file diff --git a/src/assets/pages/jquery.js b/src/assets/pages/jquery.js new file mode 100644 index 0000000..450a1a8 --- /dev/null +++ b/src/assets/pages/jquery.js @@ -0,0 +1,9814 @@ +/*! + * jQuery JavaScript Library v2.2.4 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-05-20T17:23Z + */ + +(function( global, factory ) { + + if ( typeof module === "object" && typeof module.exports === "object" ) { + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Support: Firefox 18+ +// Can't be in strict mode, several libs including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +//"use strict"; +var arr = []; + +var document = window.document; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var support = {}; + + + +var + version = "2.2.4", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android<4.1 + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num != null ? + + // Return just the one element from the set + ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + + // Return all the elements in a clean array + slice.call( this ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // parseFloat NaNs numeric-cast false positives (null|true|false|"") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + // adding 1 corrects loss of precision from parseFloat (#15100) + var realStringObj = obj && obj.toString(); + return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0; + }, + + isPlainObject: function( obj ) { + var key; + + // Not plain objects: + // - Any object or value whose internal [[Class]] property is not "[object Object]" + // - DOM nodes + // - window + if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call( obj, "constructor" ) && + !hasOwn.call( obj.constructor.prototype || {}, "isPrototypeOf" ) ) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android<4.0, iOS<6 (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + var script, + indirect = eval; + + code = jQuery.trim( code ); + + if ( code ) { + + // If the code includes a valid, prologue position + // strict mode pragma, execute code by injecting a + // script tag into the document. + if ( code.indexOf( "use strict" ) === 1 ) { + script = document.createElement( "script" ); + script.text = code; + document.head.appendChild( script ).parentNode.removeChild( script ); + } else { + + // Otherwise, avoid the DOM node creation, insertion + // and removal by using an indirect global eval + + indirect( code ); + } + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE9-11+ + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android<4.1 + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +// JSHint would error on this code due to the Symbol not being defined in ES5. +// Defining this global in .jshintrc would create a danger of using the global +// unguarded in another place, it seems safer to just disable JSHint for these +// three lines. +/* jshint ignore: start */ +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} +/* jshint ignore: end */ + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: iOS 8.2 (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.2.1 + * http://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2015-10-17 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // General-purpose constants + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // http://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, nidselect, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']"; + while ( i-- ) { + groups[i] = nidselect + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, parent, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( (parent = document.defaultView) && parent.top !== parent ) { + // Support: IE 11 + if ( parent.addEventListener ) { + parent.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( parent.attachEvent ) { + parent.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( document.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var m = context.getElementById( id ); + return m ? [ m ] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + docElem.appendChild( div ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( div.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibing-combinator selector` fails + if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( div ) { + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( div.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( (oldCache = uniqueCache[ dir ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ dir ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = ""; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = ""; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + } ); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + + } + + if ( typeof qualifier === "string" ) { + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, + len = this.length, + ret = [], + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + // Support: Blackberry 4.6 + // gEBID returns nodes no longer in the document (#6963) + if ( elem && elem.parentNode ) { + + // Inject the element directly into the jQuery object + this.length = 1; + this[ 0 ] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( pos ? + pos.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnotwhite = ( /\S+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ], + [ "notify", "progress", jQuery.Callbacks( "memory" ) ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this === promise ? newDefer.promise() : this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( function() { + + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || + ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. + // If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // Add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .progress( updateFunc( i, progressContexts, progressValues ) ) + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ); + } else { + --remaining; + } + } + } + + // If we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +} ); + + +// The deferred used on DOM ready +var readyList; + +jQuery.fn.ready = function( fn ) { + + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.triggerHandler ) { + jQuery( document ).triggerHandler( "ready" ); + jQuery( document ).off( "ready" ); + } + } +} ); + +/** + * The ready event handler and self cleanup method + */ +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called + // after the browser event has already occurred. + // Support: IE9-10 only + // Older IE sometimes signals "interactive" too soon + if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + + } else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); + } + } + return readyList.promise( obj ); +}; + +// Kick off the DOM ready check even if the user does not +jQuery.ready.promise(); + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + /* jshint -W018 */ + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + register: function( owner, initial ) { + var value = initial || {}; + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable, non-writable property + // configurability must be true to allow the property to be + // deleted with the delete operator + } else { + Object.defineProperty( owner, this.expando, { + value: value, + writable: true, + configurable: true + } ); + } + return owner[ this.expando ]; + }, + cache: function( owner ) { + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( !acceptData( owner ) ) { + return {}; + } + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + if ( typeof data === "string" ) { + cache[ data ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ prop ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + owner[ this.expando ] && owner[ this.expando ][ key ]; + }, + access: function( owner, key, value ) { + var stored; + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + stored = this.get( owner, key ); + + return stored !== undefined ? + stored : this.get( owner, jQuery.camelCase( key ) ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, name, camel, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key === undefined ) { + this.register( owner ); + + } else { + + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = key.concat( key.map( jQuery.camelCase ) ); + } else { + camel = jQuery.camelCase( key ); + + // Try the string as a key before any manipulation + if ( key in cache ) { + name = [ key, camel ]; + } else { + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + name = camel; + name = name in cache ? + [ name ] : ( name.match( rnotwhite ) || [] ); + } + } + + i = name.length; + + while ( i-- ) { + delete cache[ name[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <= 35-45+ + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://code.google.com/p/chromium/issues/detail?id=378607 + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE11+ + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data, camelKey; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // with the key as-is + data = dataUser.get( elem, key ) || + + // Try to find dashed key if it exists (gh-2779) + // This is for 2.2.x only + dataUser.get( elem, key.replace( rmultiDash, "-$&" ).toLowerCase() ); + + if ( data !== undefined ) { + return data; + } + + camelKey = jQuery.camelCase( key ); + + // Attempt to get data from the cache + // with the key camelized + data = dataUser.get( elem, camelKey ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, camelKey, undefined ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + camelKey = jQuery.camelCase( key ); + this.each( function() { + + // First, attempt to store a copy or reference of any + // data that might've been store with a camelCased key. + var data = dataUser.get( this, camelKey ); + + // For HTML5 data-* attribute interop, we have to + // store property names with dashes in a camelCase form. + // This might not apply to all properties...* + dataUser.set( this, camelKey, value ); + + // *... In the case of properties that might _actually_ + // have dashes, we need to also store a copy of that + // unchanged property. + if ( key.indexOf( "-" ) > -1 && data !== undefined ) { + dataUser.set( this, key, value ); + } + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHidden = function( elem, el ) { + + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || + !jQuery.contains( elem.ownerDocument, elem ); + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { return tween.cur(); } : + function() { return jQuery.css( elem, prop, "" ); }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([\w:-]+)/ ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE9 + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
      " ], + col: [ 2, "", "
      " ], + tr: [ 2, "", "
      " ], + td: [ 3, "", "
      " ], + + _default: [ 0, "", "" ] +}; + +// Support: IE9 +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE9-11+ + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== "undefined" ? + context.querySelectorAll( tag || "*" ) : + []; + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], ret ) : + ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0-4.3, Safari<=5.1 + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Safari<=5.1, Android<4.2 + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<=11+ + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE9 +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, j, ret, matched, handleObj, + handlerQueue = [], + args = slice.call( arguments ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, matches, sel, handleObj, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Support (at least): Chrome, IE9 + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // + // Support: Firefox<=42+ + // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) + if ( delegateCount && cur.nodeType && + ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push( { elem: cur, handlers: matches } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " + + "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split( " " ), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: ( "button buttons clientX clientY offsetX offsetY pageX pageY " + + "screenX screenY toElement" ).split( " " ), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - + ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - + ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: Cordova 2.5 (WebKit) (#13255) + // All events should have a target; Cordova deviceready doesn't + if ( !event.target ) { + event.target = document; + } + + // Support: Safari 6.0+, Chrome<28 + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android<4.0 + src.returnValue === false ? + returnTrue : + returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://code.google.com/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, + + // Support: IE 10-11, Edge 10240+ + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName( "tbody" )[ 0 ] || + elem.appendChild( elem.ownerDocument.createElement( "tbody" ) ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <= 35-45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <= 35-45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + + // Keep domManip exposed until 3.0 (gh-2225) + domManip: domManip, + + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: QtWebKit + // .get() because push.apply(_, arraylike) throws + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); + + +var iframe, + elemdisplay = { + + // Support: Firefox + // We have to pre-define these values for FF (#10227) + HTML: "block", + BODY: "block" + }; + +/** + * Retrieve the actual display of a element + * @param {String} name nodeName of the element + * @param {Object} doc Document object + */ + +// Called only from within defaultDisplay +function actualDisplay( name, doc ) { + var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + + display = jQuery.css( elem[ 0 ], "display" ); + + // We don't have any data stored on the element, + // so use "detach" method as fast way to get rid of the element + elem.detach(); + + return display; +} + +/** + * Try to determine the default display value of an element + * @param {String} nodeName + */ +function defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + + // Use the already-created iframe if possible + iframe = ( iframe || jQuery( " + + + + + + + + \ No newline at end of file diff --git a/src/assets/pages/login.html b/src/assets/pages/login.html new file mode 100644 index 0000000..166c5b0 --- /dev/null +++ b/src/assets/pages/login.html @@ -0,0 +1,65 @@ + + + + + + + + + + overFlow + + + + + + + + + + + + + + + + diff --git a/src/assets/sass/_fonts.scss b/src/assets/sass/_fonts.scss new file mode 100644 index 0000000..321378b --- /dev/null +++ b/src/assets/sass/_fonts.scss @@ -0,0 +1,51 @@ +/* roboto-300 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: url("../fonts/roboto-v15-latin-300.eot"); /* IE9 Compat Modes */ + src: local('Roboto Light'), local('Roboto-Light'), + url("../fonts/roboto-v15-latin-300.eot?#iefix") format('embedded-opentype'), /* IE6-IE8 */ + url("../fonts/roboto-v15-latin-300.woff2") format('woff2'), /* Super Modern Browsers */ + url("../fonts/roboto-v15-latin-300.woff") format('woff'), /* Modern Browsers */ + url("../fonts/roboto-v15-latin-300.ttf") format('truetype'), /* Safari, Android, iOS */ + url("../fonts/roboto-v15-latin-300.svg#Roboto") format('svg'); /* Legacy iOS */ +} +/* roboto-regular - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url("../fonts/roboto-v15-latin-regular.eot"); /* IE9 Compat Modes */ + src: local('Roboto'), local('Roboto-Regular'), + url("../fonts/roboto-v15-latin-regular.eot#iefix") format('embedded-opentype'), /* IE6-IE8 */ + url("../fonts/roboto-v15-latin-regular.woff2") format('woff2'), /* Super Modern Browsers */ + url("../fonts/roboto-v15-latin-regular.woff") format('woff'), /* Modern Browsers */ + url("../fonts/roboto-v15-latin-regular.ttf") format('truetype'), /* Safari, Android, iOS */ + url("../fonts/roboto-v15-latin-regular.svg#Roboto") format('svg'); /* Legacy iOS */ +} +/* roboto-700 - latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + src: url("../fonts/roboto-v15-latin-700.eot"); /* IE9 Compat Modes */ + src: local('Roboto Bold'), local('Roboto-Bold'), + url("../fonts/roboto-v15-latin-700.eot#iefix") format('embedded-opentype'), /* IE6-IE8 */ + url("../fonts/roboto-v15-latin-700.woff2") format('woff2'), /* Super Modern Browsers */ + url("../fonts/roboto-v15-latin-700.woff") format('woff'), /* Modern Browsers */ + url("../fonts/roboto-v15-latin-700.ttf") format('truetype'), /* Safari, Android, iOS */ + url("../fonts/roboto-v15-latin-700.svg#Roboto") format('svg'); /* Legacy iOS */ +} + +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("../fonts/MaterialIcons-Regular.eot"); /* For IE6-8 */ + src: local('Material Icons'), + local('MaterialIcons-Regular'), + url("../fonts/MaterialIcons-Regular.woff2") format('woff2'), + url("../fonts/MaterialIcons-Regular.woff") format('woff'), + url("../fonts/MaterialIcons-Regular.ttf") format('truetype'); +} \ No newline at end of file diff --git a/src/assets/sass/_mixins.scss b/src/assets/sass/_mixins.scss new file mode 100644 index 0000000..f167723 --- /dev/null +++ b/src/assets/sass/_mixins.scss @@ -0,0 +1,218 @@ +@mixin border-radius($val) { + -moz-border-radius: $val; + -webkit-border-radius: $val; + border-radius: $val; +} + +@mixin border-radius-right($val) { + -moz-border-radius-topright: $val; + -webkit-border-top-right-radius: $val; + border-top-right-radius: $val; + -moz-border-radius-bottomright: $val; + -webkit-border-bottom-right-radius: $val; + border-bottom-right-radius: $val; +} + +@mixin border-radius-left($val) { + -moz-border-radius-topleft: $val; + -webkit-border-top-left-radius: $val; + border-top-left-radius: $val; + -moz-border-radius-bottomleft: $val; + -webkit-border-bottom-left-radius: $val; + border-bottom-left-radius: $val; +} + +@mixin border-radius-top($val) { + -moz-border-radius-topleft: $val; + -webkit-border-top-left-radius: $val; + border-top-left-radius: $val; + -moz-border-radius-topright: $val; + -webkit-border-top-right-radius: $val; + border-top-right-radius: $val; +} + +@mixin border-radius-bottom($val) { + -moz-border-radius-bottomleft: $val; + -webkit-border-bottom-left-radius: $val; + border-bottom-left-radius: $val; + -moz-border-radius-bottomright: $val; + -webkit-border-bottom-right-radius: $val; + border-bottom-right-radius: $val; +} + +@mixin gradient($deg, $color1, $color2) { + background: -moz-linear-gradient($deg, $color1 0%, $color2 100%); /* ff3.6+ */ + background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, $color1), color-stop(100%, $color2)); /* safari4+,chrome */ + background: -webkit-linear-gradient($deg, $color1 0%, $color2 100%); /* safari5.1+,chrome10+ */ + background: -o-linear-gradient($deg, $color1 0%, $color2 100%); /* opera 11.10+ */ + background: -ms-linear-gradient($deg, $color1 0%, $color2 100%); /* ie10+ */ + background: linear-gradient($deg, $color1 0%, $color2 100%); /* w3c */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#{$color1}', endColorstr='#{$color2}',GradientType=1 ); /* ie6-9 */ +} + +@mixin transition($transition...) { + -moz-transition: $transition; + -o-transition: $transition; + -webkit-transition: $transition; + transition: $transition; +} + +@mixin content-shadow() { + box-shadow: 0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12) +} + +@mixin overlay-content-shadow() { + -webkit-box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); + -moz-box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); + box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); +} + +@mixin overlay-input-shadow() { + -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); + -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); + box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); +} + +@mixin no-shadow() { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; +} + +@mixin shadow($value) { + box-shadow: $value; + -webkit-box-shadow: $value; + -moz-box-shadow: $value; +} + +@mixin multi-shadow($value1, $value2) { + -webkit-box-shadow: $value1, $value2; + -moz-box-shadow: $value1, $value2; + box-shadow: $value1, $value2; +} + +@mixin hover-element { + background-color: $hoverBgColor; + color: $hoverTextColor; +} + +@mixin hover-element-primary { + background-color: $primaryLightColor; + color: $hoverTextColor; +} + +@mixin opacity($opacity) { + opacity: $opacity; + $opacity-ie: $opacity * 100; + filter: alpha(opacity=$opacity-ie); +} + +@mixin icon-override($icon) { + &:before { + content: $icon; + } +} + +@mixin material-icon($icon) { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + + /* Support for IE. */ + font-feature-settings: 'liga'; + + &:before { + content: $icon; + } +} + +@mixin rotate($deg) { + -webkit-transform: rotate($deg); + -moz-transform: rotate($deg); + -o-transform: rotate($deg); + -ms-transform: rotate($deg); + transform: rotate($deg); +} + +@mixin scale($deg) { + -webkit-transform: scale($deg); + -moz-transform: scale($deg); + -o-transform: scale($deg); + -ms-transform: scale($deg); + transform: scale($deg); +} + +@mixin rippleitem() { + position: relative; + overflow: hidden; +} + +@mixin animation-duration($value) { + -webkit-animation-duration: $value; + -moz-animation-duration: $value; + animation-duration: $value; +} + +@mixin animation($delay, $duration, $animation) { + -webkit-animation-delay: $delay; + -webkit-animation-duration: $duration; + -webkit-animation-name: $animation; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + + -moz-animation-delay: $delay; + -moz-animation-duration: $duration; + -moz-animation-name: $animation; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + + animation-delay: $delay; + animation-duration: $duration; + animation-name: $animation; + animation-iteration-count: infinite; + animation-timing-function: linear; +} + +@mixin box-sizing($box-model) { + -webkit-box-sizing: $box-model; + -moz-box-sizing: $box-model; + box-sizing: $box-model; +} + +@mixin flex() { + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} + +@mixin clearfix() { + &:before, + &:after { + content: ""; + display: table; + } + &:after { + clear: both; + } +} \ No newline at end of file diff --git a/src/assets/sass/_variables.scss b/src/assets/sass/_variables.scss new file mode 100644 index 0000000..0c7bfba --- /dev/null +++ b/src/assets/sass/_variables.scss @@ -0,0 +1,64 @@ +/* Common */ +$textColor:#212121; +$textSecondaryColor:#757575; +$fontSize:16px; +$lineHeight:1.5em; +$transitionDuration:.3s; +$borderRadius:3px; + +/* Layout */ +$bodyBgColor:#f7f7f7; +$maskBgColor:#424242; +$topbarButtonColor:#ffffff; +$topbarButtonHoverColor:#e8e8e8; +$topbarSearchBorderColor:#ffffff; +$topbarSearchColor:#ffffff; +$topbarIconColor:#ffffff; +$topbarIconHoverColor:#e8e8e8; +$topbarMenuBgColor:#ffffff; +$layoutMenuBgColor:#ffffff; +$layoutMenuScrollbarBgColor:#aaaaaa; +$layoutMenuItemIconColor:#757575; +$layoutMenuItemActiveColor:#e8e8e8; +$horizontalLayoutMenuItemTextColor:#ffffff; +$horizontalLayoutMenuItemHoverBgColor:#e8e8e8; +$horizontalLayoutMenuSubMenuBgColor:#ffffff; +$horizontalLayoutMenuSubMenuActiveBgColor:#e8e8e8; +$horizontalDarkLayoutMenuItemTextColor:#ffffff; +$slimLayoutMenuSubMenuBgColor:#ffffff; +$slimMenuTooltipColor:#ffffff; +$rightPanelBgColor:#ffffff; +$topbarSubmenuBgColor:#ffffff; +$profileMenuBorderBottomColor:#d6d5d5; +$profileMenuDarkBorderBottomColor:#545454; +$darkMenuColor:#ffffff; + +/* Theme */ +$headerFontSize:1em; +$headerPadding:.625em 1em; +$contentFontSize:1em; +$contentPadding:.625em 1em; +$inputHeaderFontSize:1em; +$inputHeaderPadding:.625em 1em; +$inputBorderColor:#bdbdbd; +$inputBorderErrorColor:#e62a10; +$inputErrorTextColor:#e62a10; +$textboxBgColor:#f7f7f7; +$inputFontSize:1em; +$buttonFontSize:1em; +$inputOptionFontSize:1em; +$inputOptionPadding:.625em .875em; +$hoverBgColor:#e8e8e8; +$hoverTextColor:#000000; +$dividerColor:#bdbdbd; +$dividerLightColor:#cacaca; +$grayBgColor:#757575; +$iconFontSize:1.5em; +$invalidInputLabelColor:#e62a10; +$invalidInputBorderColor:#e62a10; +$activeMenuItemBadgeColor:#ffffff; +$activeMenuItemBadgeTextColor:#212121; + +/* Compact */ +$c-fontSize:14px; +$c-lineHeight:18px; \ No newline at end of file diff --git a/src/assets/sass/layout/_compact.scss b/src/assets/sass/layout/_compact.scss new file mode 100644 index 0000000..2e49f7e --- /dev/null +++ b/src/assets/sass/layout/_compact.scss @@ -0,0 +1,78 @@ +body { + .layout-wrapper.layout-compact { + font-size: $c-fontSize; + line-height: $c-lineHeight; + + .layout-container { + .ultima-menu { + li { + a { + i:last-child { + font-size: $c-fontSize + 4; + } + } + + ul { + li { + a { + span { + font-size: $c-fontSize; + } + } + } + } + } + } + + .layout-breadcrumb { + ul { + li { + vertical-align: middle; + } + } + } + } + + .ui-radiobutton { + .ui-radiobutton-box { + width: 18px; + height: 18px; + } + } + + .ui-datepicker { + tbody td a, body .ui-datepicker tbody td span { + padding-top: .25em; + } + } + } +} + +@media (min-width: 1025px) { + + .layout-wrapper.layout-compact { + .layout-container { + &.menu-layout-horizontal { + .layout-menu { + ul.ultima-menu { + > li { + > ul { + top: 35px; + + li { + span { + font-size: $c-fontSize; + } + } + } + } + } + } + + .layout-main { + padding-top: 110px; + } + } + } + } +} \ No newline at end of file diff --git a/src/assets/sass/layout/_dashboard.scss b/src/assets/sass/layout/_dashboard.scss new file mode 100644 index 0000000..63a5af5 --- /dev/null +++ b/src/assets/sass/layout/_dashboard.scss @@ -0,0 +1,374 @@ +.dashboard { + + .overview { + padding: 0 !important; + min-height: 140px; + position: relative; + margin-bottom: 0px !important; + + .overview-content { + padding: 16px; + + .overview-title { + font-size: 18px; + } + + .overview-badge { + float: right; + color: $textSecondaryColor; + } + + .overview-detail { + display: block; + font-size: 24px; + margin-top: 5px; + } + } + + .overview-footer { + position: absolute; + bottom: 0; + width: 100%; + + img { + display: block; + } + } + } + + .colorbox { + padding: 0 !important; + text-align: center; + overflow: hidden; + margin-bottom: 0px !important; + + i { + font-size: 48px; + margin-top: 10px; + color: #ffffff; + } + + .colorbox-name { + font-size: 20px; + display: inline-block; + width: 100%; + margin: 4px 0 10px 0; + color: #ffffff; + } + + .colorbox-count { + color: #ffffff; + font-size: 36px; + } + + .colorbox-count { + font-weight: bold; + } + + &.colorbox-1 { + background-color: #4CAF50; + + div:first-child { + background-color: #2E7D32; + } + } + + &.colorbox-2 { + background-color: #03A9F4; + + div:first-child { + background-color: #0277BD; + } + } + + &.colorbox-3 { + background-color: #673AB7; + + div:first-child { + background-color: #4527A0; + } + } + + &.colorbox-4 { + background-color: #009688; + + div:first-child { + background-color: #00695C; + } + } + } + + .task-list { + overflow: hidden; + + > .ui-panel { + min-height: 340px; + } + + .ui-panel-content { + padding: 10px 0 !important; + } + + ul { + list-style-type: none; + margin: 0; + padding: 0; + + li { + padding: $inputOptionPadding; + border-bottom: 1px solid #dbdbdb; + + &:first-child { + margin-top: 10px; + } + } + + .ui-chkbox { + vertical-align: middle; + margin-right: 5px; + } + + .task-name { + vertical-align: middle; + } + + i { + color: $textSecondaryColor; + float: right; + } + } + } + + .contact-form { + overflow: hidden; + + .ui-panel { + min-height: 340px; + } + + .ui-g-12 { + padding: 16px 10px; + } + + .ui-button { + margin-top: 20px; + } + } + + .contacts { + overflow: hidden; + + > .ui-panel { + min-height: 340px; + } + + .ui-panel-content{ + padding: 15px 0 10px 0 !important; + } + + ul { + list-style-type: none; + padding: 0; + margin: 0; + + li { + border-bottom: 1px solid #d8d8d8; + + a { + padding: 9px; + width: 100%; + box-sizing: border-box; + text-decoration: none; + position: relative; + display: block; + @include border-radius(2px); + @include transition(background-color .2s); + + .name { + position: absolute; + right: 10px; + top: 10px; + font-size: 18px; + color: $textColor; + } + + .email { + position: absolute; + right: 10px; + top: 30px; + font-size: 14px; + color: $textSecondaryColor; + } + + &:hover { + cursor: pointer; + background-color: #e8e8e8;; + } + } + + &:last-child { + border: 0; + } + } + } + } + + .activity-list { + list-style-type: none; + padding: 0; + margin: 0; + + li { + border-bottom: 1px solid #bdbdbd; + padding: 15px 0 9px 9px; + + .count { + font-size: 24px; + color: #ffffff; + background-color: #03A9F4; + font-weight: bold; + display: inline-block; + padding: 5px; + @include border-radius(2px); + } + + &:first-child { + border-top: 1px solid #bdbdbd; + } + + &:last-child { + border: 0; + } + + .ui-g-6:first-child { + font-size: 18px; + padding-left: 0; + } + + .ui-g-6:last-child { + text-align: right; + color: $textSecondaryColor; + } + } + } + + .timeline { + height: 100%; + box-sizing: border-box; + + > .ui-g { + .ui-g-3 { + font-size: 14px; + position: relative; + border-right: 1px solid #bdbdbd; + + i { + background-color: #ffffff; + font-size: 36px; + position: absolute; + top: 0px; + right: -18px; + } + } + + .ui-g-9 { + padding-left: 1.5em; + .event-owner { + + } + + .event-text { + color: $textSecondaryColor; + font-size: 14px; + display: block; + padding-bottom: 20px; + } + + .event-content { + img { + width: 100%; + } + } + } + } + } + + > div { + > .ui-panel { + @include content-shadow(); + } + } +} + +.layout-rightpanel { + .layout-rightpanel-header { + background: url("../images/dashboard/sidebar-image.jpg") no-repeat; + background-size: cover; + height: 118px; + padding: 20px 14px; + @include box-sizing(border-box); + + .weather-day, .weather-date { + color: #ffffff; + left: 14px; + font-size: 18px; + font-weight: 700; + padding-bottom: 4px; + } + } + + .layout-rightpanel-content { + padding: 14px; + + h1 { + font-size: 18px; + margin: 0 0 4px 0; + } + + h2 { + font-size: 16px; + margin: 0; + color: $textSecondaryColor; + font-weight: normal; + } + + .weather-today { + text-align: center; + margin-top: 28px; + + .weather-today-value { + font-size: 36px; + vertical-align: middle; + margin-right: 14px; + } + + img { + vertical-align: middle; + } + } + + .weekly-weather { + list-style-type: none; + margin: 28px 0 0 0; + padding: 0; + + li { + padding: 8px 14px; + border-bottom: 1px solid #d8dae2; + position: relative; + + .weekly-weather-value { + position: absolute; + right: 40px; + } + + img { + width: 24px; + position: absolute; + right: 0px; + top: 4px; + } + } + } + } +} \ No newline at end of file diff --git a/src/assets/sass/layout/_exception.scss b/src/assets/sass/layout/_exception.scss new file mode 100644 index 0000000..7d001e9 --- /dev/null +++ b/src/assets/sass/layout/_exception.scss @@ -0,0 +1,108 @@ +.exception-body { + background-color: #f7f7f7; + height: auto; + + .exception-type { + width: 100%; + height: 50%; + padding: 100px 100px 0 100px; + box-sizing: border-box; + text-align: center; + } + + .exception-panel { + text-align: center; + width: 350px; + padding: 35px; + margin: -10% auto 0 auto; + z-index: 100; + + i { + font-size: 72px; + } + + h1 { + font-size: 36px; + line-height: 36px; + color: $textSecondaryColor; + } + + .exception-detail { + margin: 20px 0px 100px 0px; + color: $textSecondaryColor; + } + } + + .ui-button { + @include border-radius(3px); + + &:hover { + background-color: $accentDarkColor; + } + } + + &.error-page { + .exception-type { + background-color: #e62a10; + + img { + width: 100%; + } + } + + .exception-panel { + i { + color: #f79a84; + } + } + } + + &.notfound-page { + .exception-type { + background-color: #3f51b5; + + img { + width: 54%; + } + } + + .exception-panel { + i { + color: #9fa8da; + } + } + } + + &.accessdenied-page { + .exception-type { + background-color: #e91e63; + + img { + width: 50%; + } + } + + .exception-panel { + i { + color: #f48fb1; + } + } + } +} + +@media (max-width: 1024px) { + .exception-body { + .exception-panel { + margin-top: -50px; + } + } +} + +@media (max-width: 640px) { + .exception-body { + .exception-panel { + width: 250px; + margin-top: -15px; + } + } +} diff --git a/src/assets/sass/layout/_landing.scss b/src/assets/sass/layout/_landing.scss new file mode 100644 index 0000000..a90c3e1 --- /dev/null +++ b/src/assets/sass/layout/_landing.scss @@ -0,0 +1,468 @@ +.landing-wrapper { + + .ui-button { + @include border-radius(3px); + + &:hover { + background-color: $accentDarkColor; + } + } + + #header { + width: 100%; + min-height: 400px; + background: url("../images/landing/landing-header.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + + .header-top { + width: 960px; + margin: 0 auto; + padding: 30px 0px; + + .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo.png") top left no-repeat; + } + + #menu { + float: right; + list-style: none; + margin: 0; + padding: 0; + + li { + float: left; + display: block; + margin-left: 30px; + + a { + color: #ffffff; + } + + i { + display: none; + } + } + + &.lmenu-active { + display: block; + } + } + + #menu-button { + height: 36px; + margin-top: -2px; + float: right; + color: #ffffff; + display: none; + + i { + font-size: 36px; + } + } + } + + .header-content { + width: 960px; + margin: 0 auto; + text-align: center; + + h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + color: #ffffff; + line-height: 36px; + } + } + } + + #features { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; + + h2 { + font-weight: 400; + line-height: 28px; + } + + h3 { + font-weight: 400; + } + + p { + color: $textSecondaryColor; + } + + .ui-g-12 { + padding: 2em .5em; + } + + .feature-icon { + display: inline-block; + @include border-radius(50%); + background-color: #f4f8fc; + box-sizing: border-box; + width: 100px; + height: 100px; + text-align: center; + @include transition(background-color .3s); + + i { + margin-top: 30px; + font-size: 36px; + } + + &:hover { + background-color: #e91e63; + + i { + color: #ffffff; + } + } + } + } + + #promotion { + background: url("../images/landing/promotion.png") top left no-repeat; + background-size: 100% auto; + + .ui-lg-8 { + padding: 150px 0 0 150px; + h1 { + font-weight: 48px; + color: #ffffff; + font-weight: 400; + } + } + + .ui-lg-4 { + margin: -50px 0 -50px 0; + .card { + -webkit-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + -moz-box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + box-shadow: 0 0 27px 4.5px rgba(13, 36, 62, 0.1); + margin-bottom: 20px; + + h3 { + font-weight: 400; + } + + p { + color: $textSecondaryColor; + } + + &:last-child { + margin-bottom: 0; + } + } + } + } + + #pricing { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; + + h2 { + font-weight: 400; + } + + p { + color: $textSecondaryColor; + } + + .pricing-box { + .card { + height: 100%; + padding: 0; + } + + .pricing-header { + padding: 40px 0; + color: #ffffff; + + span { + display: block; + line-height: 48px; + + &.name { + font-weight: 300; + font-size: 24px; + } + + &.fee { + font-size: 48px; + font-weight: 700; + } + + &.type { + font-weight: 300; + font-size: 16px; + } + } + } + + .pricing-content { + ul { + margin: 0; + padding: 30px 20px; + list-style-type: none; + + li { + font-size: 18px; + text-align: left; + padding: 10px 14px; + + i { + margin-right: 20px; + vertical-align: middle; + } + + span { + vertical-align: middle; + } + } + } + } + + &.pricing-basic { + .pricing-header { + background-color: #3f51b5; + } + + i { + color: #3f51b5; + } + } + + &.pricing-standard { + .pricing-header { + background-color: #e91e63; + } + + i { + color: #e91e63; + } + } + + &.pricing-professional { + .pricing-header { + background-color: #607d8b; + } + + i { + color: #607d8b; + } + } + } + } + + #video { + background-color: #f7f7f7; + min-width: 400px; + + .video-content { + width: 960px; + margin: 0 auto; + padding: 50px 0px; + text-align: center; + + + h2 { + font-weight: 400; + } + + p { + color: $textSecondaryColor; + } + } + } + + .footer { + background-color: #f7f7f7; + border-top: 1px solid #dddddd; + + .footer-content { + width: 960px; + margin: 0 auto; + padding: 30px 0px 50px 0px; + + ul { + float: right; + list-style-type: none; + + li { + a { + color: $textSecondaryColor; + @include transition(color .3s); + + &:hover { + color: $textColor; + } + } + } + } + + } + + + } +} + +@media (max-width: 1024px) { + + .landing-wrapper { + #header { + min-height: 200px; + background-size: cover; + + .header-top { + z-index: 100; + position: fixed; + top: 0; + background: #424242; + background-size: 100% auto; + padding: 30px; + width: 100%; + box-sizing: border-box; + -webkit-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26); + -moz-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26); + box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26); + + #menu-button { + display: inline-block; + } + + #menu { + z-index: 100; + position: fixed; + top: 86px; + right: 30px; + float: none; + display: none; + margin: 0; + padding: 0; + width: 225px; + list-style: none; + background-color: #ffffff; + -webkit-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2); + -webkit-animation-duration: .5s; + -moz-animation-duration: .5s; + animation-duration: .5s; + + li { + float: none; + margin-left: 0; + + a { + font-size: 16px; + display: block; + padding: 10px 16px; + color: $textColor; + width: 100%; + box-sizing: border-box; + @include transition(background-color .3s); + overflow: hidden; + + i { + color: #757575; + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; + } + + &:hover { + background-color: #e8e8e8; + } + + span { + display: inline-block; + vertical-align: middle; + } + } + } + } + } + + .header-content { + width: 100%; + padding: 100px 30px 60px 30px; + box-sizing: border-box; + + h1 { + margin: 75px 0px 50px 0px; + font-weight: 400; + } + } + } + + #features, #promotion, #pricing, #video, .footer .footer-content { + width: 100%; + padding-right: 30px; + padding-left: 30px; + box-sizing: border-box; + } + + #promotion { + + .ui-lg-8 { + padding: 100px 0 30px; + text-align: center; + + h1 { + margin-top: -30px; + font-weight: 48px; + color: #ffffff; + font-weight: 400; + } + } + } + + #video { + .video-content { + width: 100%; + + .video-container { + iframe { + width: 350px; + height: 220px; + } + } + } + } + + .footer { + .footer-content { + text-align: center; + + ul { + float: none; + margin: 0; + padding: 0; + } + } + } + } +} + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .landing-wrapper { + .header { + .header-top { + .logo { + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; + } + } + } + } +} \ No newline at end of file diff --git a/src/assets/sass/layout/_layout.scss b/src/assets/sass/layout/_layout.scss new file mode 100644 index 0000000..fbcb92e --- /dev/null +++ b/src/assets/sass/layout/_layout.scss @@ -0,0 +1,11 @@ +@import '../_variables'; +@import '../_mixins'; +@import '../_fonts'; +@import './_utils.scss'; +@import './_splash.scss'; +@import './_dashboard.scss'; +@import './_login.scss'; +@import './_exception.scss'; +@import './_landing.scss'; +@import './_main.scss'; +@import './_compact.scss'; \ No newline at end of file diff --git a/src/assets/sass/layout/_login.scss b/src/assets/sass/layout/_login.scss new file mode 100644 index 0000000..d412aa3 --- /dev/null +++ b/src/assets/sass/layout/_login.scss @@ -0,0 +1,98 @@ +.login-body { + background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + height: auto; +} + +.login-panel { + text-align: center; + width: 350px; + min-height: 440px; + padding: 50px 20px; + margin: 100px auto 0 auto; + + .ui-g { + .ui-g-12 { + padding: 25px 40px; + + .ui-button { + margin-bottom: 20px; + } + } + } + + .ui-button { + &:hover { + background-color: $primaryDarkColor; + } + + &:focus { + outline: 0 none; + background-color: lighten($primaryColor,10%); + } + + &.secondary { + &:hover { + background-color: $accentDarkColor; + } + + &:focus { + outline: 0 none; + background-color: lighten($accentColor,10%); + } + } + } + + .ui-inputtext { + &:focus { + border-width: 0 0 2px 0; + border-color: $primaryColor; + padding-bottom: 0px; + } + } +} + +.login-footer { + position: absolute; + bottom: 10px; + font-size: 16px; + width: 100%; + text-align: center; + color: $textSecondaryColor; +} + +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + background: url("../images/login/login2x.png") top left no-repeat #f7f7f7; + background-size: 100% auto; + } +} + +@media (max-width: 1024px) { + .login-panel { + text-align: center; + min-height: 440px; + margin: 100px auto 0 auto; + + } +} + +@media (max-width: 640px) { + .login-panel { + text-align: center; + width: 300px; + min-height: 440px; + padding: 40px 20px; + margin: 75px auto 0 auto; + + .ui-g { + .ui-g-12 { + padding: 20px 20px; + + .ui-button { + margin-top: 30px + } + } + } + } +} \ No newline at end of file diff --git a/src/assets/sass/layout/_main.scss b/src/assets/sass/layout/_main.scss new file mode 100644 index 0000000..c874dc3 --- /dev/null +++ b/src/assets/sass/layout/_main.scss @@ -0,0 +1,1464 @@ +html { + height: 100%; +} + +body { + font-family: Roboto,"Helvetica Neue",sans-serif; + font-size: $fontSize; + line-height: $lineHeight; + color: $textColor; + -webkit-font-smoothing: antialiased; + padding: 0; + margin: 0; + background-color: $bodyBgColor; + min-height: 100%; + + a { + text-decoration: none; + } +} + +.layout-mask { + position: fixed; + width: 100%; + height: 100%; + background-color: $maskBgColor; + top: 0; + left: 0; + z-index: 999999997; + @include opacity(.7); +} + +.layout-container { + + .topbar { + position: fixed; + z-index: 100; + width: 100%; + height: 75px; + background-color: $primaryColor; + @include shadow(0 2px 5px 0 rgba(0,0,0,0.26)); + + .logo { + display: inline-block; + vertical-align: middle; + width: 200px; + height: 30px; + background: url("../images/logo2x.png") top left no-repeat; + background-size: 200px 30px; + } + + .topbar-left { + box-sizing: border-box; + padding: 20px; + height: 75px; + width: 250px; + background-color: $primaryDarkColor; + float: left; + @include shadow(3px 0 6px rgba(0,0,0,0.3)); + } + + .topbar-right { + padding: 15px; + position: relative; + + #menu-button { + color: $accentTextColor; + display: inline-block; + vertical-align: middle; + height: 36px; + margin-right: 10px; + position: relative; + left: -16px; + top: 3px; + background-color: $accentColor; + + @include border-radius(50%); + @include transition(all $transitionDuration); + @include multi-shadow(0 3px 10px rgba(0,0,0,0.23), 0 3px 10px rgba(0,0,0,0.16)); + + &:hover { + @include scale(1.2); + } + + i { + @include material-icon("chevron_left"); + @include transition(all $transitionDuration); + font-size: 36px; + } + } + + #topbar-menu-button, #rightpanel-menu-button { + display: none; + color: $topbarButtonColor; + vertical-align: middle; + height: 36px; + margin-top: 4px; + float: right; + + @include transition(all $transitionDuration); + + i { + @include transition(color $transitionDuration); + font-size: 36px; + } + } + + #rightpanel-menu-button { + display: block; + + &:hover { + color: $topbarButtonHoverColor; + } + } + + .topbar-items { + .search-item { + input { + position: relative; + top: -10px; + font-size: $fontSize; + background-color: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + border-color: $topbarSearchBorderColor; + color: $topbarSearchColor; + + &:focus { + outline: 0 none; + border-bottom-width: 2px; + } + } + + input:focus ~ label { + top:-5px; + font-size:12px; + color: $primaryColor; + } + + input.ui-state-filled ~ label { + display: none; + } + + label { + color: $topbarSearchColor; + top: 8px; + } + } + } + } + } + + .layout-menu { + overflow: visible; + position: fixed; + width: 250px; + z-index: 99; + top: 75px; + height: 100%; + background-color: $layoutMenuBgColor; + @include shadow(3px 0 6px rgba(0,0,0,0.3)); + @include transition(margin-left $transitionDuration); + + .ui-scrollpanel { + background: transparent; + border-radius: 0; + border: none; + .ui-scrollpanel-bar { + background-color: $layoutMenuScrollbarBgColor; + @include opacity(.3); + } + .ui-scrollpanel-hidden { + display: block; + visibility: hidden; + } + + .layout-menu { + padding-bottom: 120px; + } + } + + .profile { + box-sizing: border-box; + padding-top: 2em; + width: 250px; + height: 145px; + text-align: center; + background: url("../images/profile-bg.png") top left no-repeat; + background-size: 250px 145px; + @include shadow(0 2px 5px 0 rgba(0,0,0,0.16)); + + .profile-image { + width: 60px; + height: 60px; + margin: 0 auto 5px auto; + display: block; + } + + .profile-name { + display: inline-block; + color: $textColor; + vertical-align: middle; + font-size: 1em; + } + + i { + color: $textColor; + vertical-align: middle; + @include transition(transform $transitionDuration); + } + + &.profile-expanded { + i { + @include rotate(-180deg); + } + } + } + + .profile-menu { + border-bottom: 1px solid $profileMenuBorderBottomColor; + overflow: hidden; + + li:first-child { + margin-top: 1em; + } + + li:last-child { + margin-bottom: 1em; + } + } + + &.layout-menu-dark { + background-color: $darkMenuBgColor; + + .profile { + background-image: url("../images/profile-bg-dark.png"); + + .profile-name { + color: $darkMenuColor; + } + + i { + color: $darkMenuColor; + } + } + + .profile-menu { + border-bottom: 1px solid $profileMenuDarkBorderBottomColor; + } + + .ui-scrollpanel { + .ui-scrollpanel-wrapper { + .ui-scrollpanel-content { + border-radius: 0; + border: none; + } + } + } + + ul.ultima-menu { + li { + a { + color: $darkMenuColor; + + i { + color: $darkMenuColor; + } + + &:hover { + background-color: $darkMenuHoverColor; + } + + &.active-menuitem-routerlink { + color: $darkMenuRouterLinkActiveColor; + + i { + color: $darkMenuRouterLinkActiveColor; + } + + &:hover { + color: $darkMenuColor; + + > i { + color: $darkMenuColor; + } + } + } + } + + &.active-menuitem { + > a { + color: $accentTextColor; + background-color: $accentColor; + + &.active-menuitem-routerlink { + color: $accentTextColor; + background-color: $accentColor; + + i { + color: $textColor; + } + } + } + } + } + } + } + + .menuitem-badge { + position: absolute; + right: 3.5em; + top: .75em; + display: inline-block; + width: 1em; + height: 1em; + margin-right: .5em; + text-align: center; + background-color: $accentColor; + color: $accentTextColor; + font-size: $fontSize - 2; + font-weight: 700; + line-height: 1em; + @include border-radius(50%); + } + + .layout-menu-tooltip { + display:none; + padding: 0 5px; + position: absolute; + left: 76px; + top: 6px; + z-index: 101; + line-height: 1; + + .layout-menu-tooltip-text { + padding: 6px 8px; + font-weight: 700; + background-color: darken($darkMenuBgColor, 5%); + color: $slimMenuTooltipColor; + min-width: 75px; + white-space: nowrap; + text-align: center; + @include border-radius($borderRadius); + @include shadow(0 6px 12px rgba(0,0,0,.175)); + } + + .layout-menu-tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: darken($darkMenuBgColor, 5%); + } + } + } + + &.menu-layout-overlay { + .layout-menu { + margin-left: -250px; + } + + .layout-main { + margin-left: 0px; + } + + &.layout-menu-overlay-active { + .layout-menu { + z-index: 999999999; + margin-left: 0px; + } + + .layout-mask { + display: block; + } + + .topbar { + .topbar-right { + #menu-button { + i { + @include rotate(0deg); + } + } + } + } + } + + .topbar { + z-index: 999999998; + + .topbar-right { + #menu-button { + i { + font-size: 36px !important; + @include rotate(180deg); + } + } + } + + } + } + + .layout-main { + padding: 75px 0 0 0; + + .layout-content { + padding: 16px; + } + @include transition(margin-left $transitionDuration); + } + + .layout-mask { + display: none; + } + + .layout-breadcrumb { + background-color: #ffffff; + @include shadow(inset 0 -2px 4px 0 rgba(0, 0, 0, 0.14)); + min-height: 42px; + @include clearfix(); + + ul { + margin: 8px 0 0 0; + padding: 0 0 0 20px; + list-style: none; + color: $textSecondaryColor; + display: inline-block; + + li { + display: inline-block; + vertical-align: top; + color: $textSecondaryColor; + + &:nth-child(even) { + font-size: 20px; + } + + &:first-child(even) { + color: $primaryColor; + } + + a { + color: $textSecondaryColor; + } + } + } + + .layout-breadcrumb-options { + float: right; + padding: 0px 20px 0 0; + height: 100%; + + a { + color: $textSecondaryColor; + display: inline-block; + width: 42px; + height: 42px; + line-height: 42px; + text-align: center; + @include transition(background-color $transitionDuration); + + &:hover { + background-color: $hoverBgColor; + } + + i { + line-height: inherit; + } + } + } + } + + .ultima-menu { + margin: 0; + padding: 0; + list-style: none; + width: 268px; + + &.ultima-main-menu { + margin-top: 16px; + padding-bottom: 120px; + } + + li { + a { + font-size: 1em; + display: block; + padding: .5em 2.5em .5em 1em; + color: $textColor; + width: 100%; + box-sizing: border-box; + @include transition(background-color $transitionDuration); + overflow: hidden; + + i { + color: $layoutMenuItemIconColor; + } + + i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .5em; + font-size: 1.5em; + } + + i:last-child { + float: right; + font-size: $fontSize + 4; + margin-top: .15em; + margin-right: -.15em; + @include transition(transform $transitionDuration); + } + + &:hover { + background-color: $hoverBgColor; + } + + span { + display: inline-block; + vertical-align: middle; + } + + &.active-menuitem-routerlink { + color: $lightMenuRouterLinkActiveColor; + + > i { + color: $lightMenuRouterLinkActiveColor; + } + + &:hover { + color: $textColor; + + > i { + color: $layoutMenuItemIconColor; + } + } + } + } + + &.active-menuitem { + > a { + color: $primaryColor; + background-color: $layoutMenuItemActiveColor; + + i { + color: $primaryColor; + } + + i:last-child { + @include rotate(-180deg); + } + } + } + + ul { + padding: 0; + margin: 0; + list-style: none; + overflow: hidden; + + li { + a { + padding: .5em 2.5em .5em 2em; + + > span { + font-size: $fontSize - 1; + } + + i:first-child { + display: inline-block; + vertical-align: middle; + margin-right: .6em; + font-size: 1.250em; + } + } + + ul { + li { + a { + padding-left: 3em; + } + } + + ul { + li { + a { + padding-left: 4em; + } + } + + ul { + li { + a { + padding-left: 5em; + } + } + + ul { + li { + a { + padding-left: 6em; + } + } + } + } + } + } + } + } + + &.red-badge { + > a { + .menuitem-badge { + background-color: #F44336; + color: #ffffff; + } + } + } + + &.purple-badge { + > a { + .menuitem-badge { + background-color: #4527A0; + color: #ffffff; + } + } + } + + &.teal-badge { + > a { + .menuitem-badge { + background-color: #00695C; + color: #ffffff; + } + } + } + } + } + + .footer { + padding: .5em; + + .footer-text-left { + float: left; + } + + .footer-text-right { + color: $textSecondaryColor; + float: right; + + span { + vertical-align: middle; + display: inline-block; + } + } + } + + .layout-rightpanel { + position: fixed; + top: 75px; + height: 100%; + right: -240px; + width: 240px; + z-index: 100; + background-color: $rightPanelBgColor; + @include box-sizing(border-box); + @include transition(right $transitionDuration); + @include shadow(0 2px 10px 0 rgba(0, 0, 0, 0.3)); + + &.layout-rightpanel-active { + right: 0; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + } + + .layout-rightpanel-content { + padding: 14px; + padding-bottom: 120px; + } + + .ui-scrollpanel { + border-radius: 0; + border: none; + .ui-scrollpanel-hidden { + display: block; + visibility: hidden; + } + .layout-rightpanel-wrapper{ + width: 258px; + padding-right: 18px; + } + } + + } +} + +.ajax-loader { + font-size: 2em; + color: $accentColor; +} + +@media (min-width: 1025px) { + + .layout-container { + + .topbar-items { + float: right; + margin: 0; + padding: 5px 0 0 0; + list-style-type: none; + + > li { + float: right; + position: relative; + margin-left: 8px; + + > a { + position: relative; + display: block; + + .topbar-item-name { + display: none; + } + + .topbar-badge { + position: absolute; + right: -5px; + top: -5px; + background-color: $accentColor; + color: $accentTextColor; + @include border-radius(50%); + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; + } + } + + .topbar-icon { + font-size: 36px; + color: $topbarIconColor; + @include transition(color $transitionDuration); + + &:hover { + color: $topbarIconHoverColor; + } + } + + &.profile-item { + .profile-image { + width: 36px; + height: 36px; + } + } + + > ul { + position: absolute; + top: 55px; + right: 5px; + display: none; + width: 250px; + background-color: $topbarSubmenuBgColor; + @include multi-shadow(0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2)); + -webkit-animation-duration: $transitionDuration; + -moz-animation-duration: $transitionDuration; + animation-duration: $transitionDuration; + } + + &.active-top-menu { + > ul { + display: block; + } + } + + .topbar-message { + img { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + } + } + } + } + + &.menu-layout-static { + .layout-menu { + margin-left: 0; + } + + .layout-main { + margin-left: 250px; + } + + &.layout-menu-static-inactive { + .topbar { + .topbar-right { + #menu-button { + i { + @include rotate(180deg); + } + } + } + } + + .layout-menu { + margin-left: -250px; + } + + .layout-main { + margin-left: 0px; + } + } + + .layout-mask { + display: none; + } + } + + &.menu-layout-horizontal { + .topbar { + @include no-shadow(); + + .topbar-left { + background-color: $primaryColor; + @include no-shadow(); + } + + .topbar-right { + #menu-button { + display: none; + } + } + } + + .layout-menu { + overflow: visible; + position: fixed; + width: 100%; + top: 75px; + height: auto; + background-color: $primaryDarkColor; + @include shadow(0 2px 5px 0 rgba(0,0,0,0.26)); + + .ui-scrollpanel { + overflow: visible; + border: none; + .ui-scrollpanel-wrapper { + overflow: visible; + .ui-scrollpanel-content { + overflow: visible; + } + } + } + + ul.ultima-menu { + width: 100%; + &.ultima-main-menu { + margin-top: 0; + padding-bottom: 0; + } + + > li { + float: left; + position: relative; + + > a { + padding: .5em 1em; + color: $horizontalLayoutMenuItemTextColor; + + i { + color: $horizontalLayoutMenuItemTextColor; + } + + &:hover { + background-color: $horizontalLayoutMenuItemHoverBgColor; + color: $textColor; + + i { + color: $textColor; + } + } + + &.active-menuitem-routerlink { + color: $horizontalLightMenuRouterLinkActiveColor; + + > i { + color: $horizontalLightMenuRouterLinkActiveColor; + } + + &:hover { + color: $textColor; + + i { + color: $textColor; + } + } + } + } + + > ul { + position: absolute; + top: 41px; + left: 0px; + width: 250px; + background-color: $horizontalLayoutMenuSubMenuBgColor; + @include multi-shadow(0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2)); + + li { + a { + padding: 10px 16px; + } + + ul { + position: static; + + li { + a { + padding-left: 32px; + } + } + + ul { + li { + a { + padding-left: 48px; + } + } + + ul { + li { + a { + padding-left: 64px; + } + } + + ul { + li { + a { + padding-left: 80px; + } + } + + ul { + li { + a { + padding-left: 96px; + } + } + } + } + } + } + } + + &.active-menuitem { + > a { + color: $primaryColor; + background-color: $horizontalLayoutMenuSubMenuActiveBgColor; + } + + > ul { + display: block; + } + } + } + } + + &.active-menuitem { + > a { + color: $accentTextColor; + background-color: $accentColor; + + i { + color: $accentTextColor; + } + } + + > ul { + display: block; + } + } + } + } + + &.layout-menu-dark { + background-color: $darkMenuBgColor; + + ul.ultima-menu { + li { + a { + color: $horizontalDarkLayoutMenuItemTextColor; + + &:hover { + background-color: $darkMenuHoverColor; + color: $horizontalDarkLayoutMenuItemTextColor; + + i { + color: $horizontalDarkLayoutMenuItemTextColor; + } + } + + &.active-menuitem-routerlink { + color: $darkMenuRouterLinkActiveColor; + + i { + color: $darkMenuRouterLinkActiveColor; + } + + &:hover { + color: $horizontalDarkLayoutMenuItemTextColor; + + i { + color: $horizontalDarkLayoutMenuItemTextColor; + } + } + } + } + + &.active-menuitem { + > a { + color: $accentTextColor; + background-color: $accentColor; + } + } + + ul { + background-color: $darkMenuBgColor; + } + } + } + } + + .menuitem-badge { + left: 32px; + top: 7px; + } + + .active-menuitem { + .menuitem-badge { + background-color: $activeMenuItemBadgeColor; + color: $activeMenuItemBadgeTextColor; + } + } + } + + .layout-main { + padding-top: 116px; + margin-left: 0px; + } + + .layout-mask { + display: none; + } + } + + + &.menu-layout-slim { + .topbar { + left: 75px; + width: calc(100% - 75px); + + .topbar-left { + background: transparent; + @include no-shadow(); + } + + .topbar-right { + #menu-button { + display: none; + } + } + } + + .layout-menu { + width: 75px; + overflow: visible; + z-index: 100; + top: 0; + + .profile { + width: calc(100% - 18px); + height: 74px; + padding-top: 15px; + + > a { + .profile-image { + width: 45px; + height: 45px; + } + + .profile-name, i { + display: none; + } + } + } + + .ui-scrollpanel { + border: none; + border-radius: 0; + .ui-scrollpanel-wrapper { + overflow: visible; + .ui-scrollpanel-content { + overflow: visible; + } + } + } + + .ultima-menu { + padding: 0; + width: calc(100% - 18px); + + > li { + position: relative; + + > a { + text-align: center; + padding-left: 0; + padding-right: 0; + padding-top: .5em; + padding-bottom: .5em; + + i:first-child { + font-size: 1.75em; + margin-right: 0; + } + + span, .submenu-icon { + display: none; + } + + &:hover + .layout-menu-tooltip { + display: block; + } + } + + > ul { + background-color: $slimLayoutMenuSubMenuBgColor; + position: absolute; + top: 0; + left: 75px; + min-width: 200px; + @include shadow(0 2px 5px 0 rgba(0,0,0,0.26)); + + li { + a { + padding: .5em 1em .5em 2em; + padding-left: 16px; + } + + ul { + li { + a { + padding-left: 32px; + } + } + + ul { + li { + a { + padding-left: 48px; + } + } + + ul { + li { + a { + padding-left: 64px; + } + } + + ul { + li { + a { + padding: 80px; + } + } + + ul { + li { + a { + padding: 96px; + } + } + } + } + } + } + } + } + } + + &.active-menuitem { + > a { + &:hover + .layout-menu-tooltip { + display: none; + } + } + } + } + } + + &.layout-menu-dark { + .ultima-menu { + > li { + > ul { + background-color: $darkMenuBgColor; + } + } + } + } + } + + .layout-main { + margin-left: 75px; + } + + .layout-footer { + margin-left: 75px; + } + } + } +} + +@media (max-width: 1024px) { + .layout-container { + + &.menu-layout-static { + .topbar { + .topbar-right { + #menu-button { + i { + @include rotate(180deg); + } + } + } + } + .layout-menu { + margin-left: -265px; + } + + .layout-main { + margin-left: 0px; + } + + &.layout-menu-static-active { + .layout-menu { + margin-left: 0; + z-index: 999999999; + } + + .topbar { + z-index: 999999998; + + .topbar-right { + #menu-button { + i { + @include rotate(0); + } + } + } + } + + .layout-main { + margin-left: 0; + } + + .layout-mask { + display: block; + } + } + } + + .topbar { + .topbar-right { + #topbar-menu-button { + display: block; + } + + .topbar-items { + position: absolute; + top: 75px; + right: 15px; + width: 275px; + display: none; + background-color: $topbarMenuBgColor; + @include multi-shadow(0 6px 20px 0 rgba(0, 0, 0, 0.19), 0 8px 17px 0 rgba(0, 0, 0, 0.2)); + @include animation-duration($transitionDuration); + list-style-type: none; + margin: 0; + padding: 0; + + > li { + > a { + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + color: $textColor; + position: relative; + + i { + display: inline-block; + vertical-align: middle; + margin-right: 12px; + font-size: 24px; + } + + &:hover { + background-color: $topbarIconHoverColor; + } + + .topbar-item-name { + display: inline-block; + vertical-align: middle; + } + + .topbar-badge { + position: absolute; + left: 30px; + top: 10px; + background-color: $accentColor; + color: $accentTextColor; + @include border-radius(50%); + padding: 2px 4px; + display: block; + font-size: 12px; + line-height: 12px; + } + } + + > ul { + display: none; + + li { + a { + span, img, i { + display: inline-block; + vertical-align: middle; + } + } + } + } + + &.active-top-menu { + > a { + color: $primaryColor; + } + + > ul { + display: block; + + li { + a { + padding-left: 32px; + } + } + } + } + + &.search-item { + text-align: center; + width: 100%; + display: block; + box-sizing: border-box; + font-size: 16px; + padding: 16px 16px; + position: relative; + + input { + top: 0; + width: 100%; + box-sizing: border-box; + padding-right:16px; + border-color: $dividerColor; + color: $textColor; + + &:focus { + margin-bottom: -1px; + border-color: $dividerColor; + } + } + + input:focus ~ label, + input.ui-state-filled ~ label { + top: -20px; + color: $primaryColor; + } + + label { + top: 1px; + color: $textColor; + } + + i { + position: absolute;; + right: 5px; + top: -2px; + } + } + + &.profile-item { + .profile-image { + display: inline-block; + vertical-align: middle; + width: 24px; + height: 24px; + background: url("../images/avatar.png") top left no-repeat; + background-size: 24px 24px; + margin-right: 14px; + } + + span { + vertical-align: middle; + display: inline-block; + } + } + } + + &.topbar-items-visible { + display: block; + } + } + } + } + } +} + +@media (max-width: 385px) { + .layout-container { + .topbar { + .topbar-right { + #topbar-menu-button { + position: absolute; + height: 1.5em; + right: 24px; + top: 1.375em; + + i { + font-size: 1.5em; + } + } + + #rightpanel-menu-button { + position: absolute; + height: 1.5em; + right: 8px; + top: 1.375em; + + i { + font-size: 1.5em; + } + } + + #menu-button { + margin-right: 0; + } + } + } + } +} diff --git a/src/assets/sass/layout/_splash.scss b/src/assets/sass/layout/_splash.scss new file mode 100644 index 0000000..3228178 --- /dev/null +++ b/src/assets/sass/layout/_splash.scss @@ -0,0 +1,56 @@ +$offset: 187; +$duration: 1.4s; + +.splash-screen { + width: 100%; + min-height: 100%; + background-color: #3F51B5; + position: absolute; +} + +.splash-loader-container { + text-align: center; + position: absolute; + top: 50%; + left: 50%; + margin-left: -32px; + margin-top: -32px; +} + +.splash-loader { + animation: rotator $duration linear infinite; +} + +@keyframes rotator { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(270deg); } +} + +.splash-path { + stroke-dasharray: $offset; + stroke-dashoffset: 0; + transform-origin: center; + animation: + dash $duration ease-in-out infinite, + colors ($duration*4) ease-in-out infinite; +} + +@keyframes colors { + 0% { stroke: #4285F4; } + 25% { stroke: #DE3E35; } + 50% { stroke: #F7C223; } + 75% { stroke: #1B9A59; } + 100% { stroke: #4285F4; } +} + +@keyframes dash { + 0% { stroke-dashoffset: $offset; } + 50% { + stroke-dashoffset: $offset/4; + transform:rotate(135deg); + } + 100% { + stroke-dashoffset: $offset; + transform:rotate(450deg); + } +} \ No newline at end of file diff --git a/src/assets/sass/layout/_utils.scss b/src/assets/sass/layout/_utils.scss new file mode 100644 index 0000000..1db6ab0 --- /dev/null +++ b/src/assets/sass/layout/_utils.scss @@ -0,0 +1,226 @@ +/* Utils */ +.clearfix:after { + content:" "; + display:block; + clear:both; +} + +*[hidden] { + display: none; +} + +.card { + @include content-shadow(); + @include border-radius(2px); + background: #ffffff; + padding: 1em; + margin-bottom: 1em; + box-sizing: border-box; + + &.card-w-title { + padding-bottom: 2em; + } + + h1 { + font-size: 1.5em; + font-weight: 400; + margin: 1em 0; + + &:first-child { + margin-top: .667em; + } + } + + h2 { + font-size: 1.375em; + font-weight: 400; + } + + h3 { + font-size: 1.250em; + font-weight: 400; + } + + h4 { + font-size: 1.125em; + font-weight: 400; + } +} + +.nopad { + padding: 0; + + .ui-panel-content { + padding: 0; + } +} + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDown { + from { + opacity: 0; + transform: translate3d(0, -20px, 0); + } + + to { + opacity: 1; + transform: none; + } +} + +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } +} + +@keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } +} + +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); + } + to { + -webkit-transform: rotate(359deg); + } +} + +@keyframes spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(359deg); + } +} + +.ui-icon-spin { + -webkit-animation-name: spin; + animation-name: spin; +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; + } + + .fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; + } + +.ui-shadow-1 { + @include multi-shadow(0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24)); +} + +.ui-shadow-2 { + @include multi-shadow(0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23)); +} + +.ui-shadow-3 { + @include multi-shadow(0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23)); +} + +.ui-shadow-4 { + @include multi-shadow(0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)); +} + +.ui-shadow-5 { + @include multi-shadow(0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22)); +} + +.ui-g { + -ms-flex-wrap: wrap; + + &.form-group { + > div { + padding: 1em; + } + } + + &.form-group-m { + > div { + padding: 1em; + } + } +} + +/* Ripple */ +/* Ripple Effect Style like Google Material Buttons Effect*/ +.ripplelink{ + /* display:block; */ + /*color:#fff;*/ + text-decoration:none; + position:relative; + overflow:hidden; + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + -o-transition: all 0.2s ease; + transition: all 0.2s ease; + z-index:0; +} + +.ripplelink:hover{ + /*z-index:1000;*/ +} + +.ink { + display: block; + position: absolute; + background:rgba(255, 255, 255, 0.4); + border-radius: 100%; + -webkit-transform:scale(0); + -moz-transform:scale(0); + -o-transform:scale(0); + transform:scale(0); +} + +.ripple-animate { + -webkit-animation:ripple 0.65s linear; + -moz-animation:ripple 0.65s linear; + -ms-animation:ripple 0.65s linear; + -o-animation:ripple 0.65s linear; + animation:ripple 0.65s linear; +} + +@-webkit-keyframes ripple { + 100% {opacity: 0; -webkit-transform: scale(2.5);} +} +@-moz-keyframes ripple { + 100% {opacity: 0; -moz-transform: scale(2.5);} +} +@-o-keyframes ripple { + 100% {opacity: 0; -o-transform: scale(2.5);} +} +@keyframes ripple { + 100% {opacity: 0; transform: scale(2.5);} +} \ No newline at end of file diff --git a/src/assets/sass/theme/_common.scss b/src/assets/sass/theme/_common.scss new file mode 100644 index 0000000..1615c9e --- /dev/null +++ b/src/assets/sass/theme/_common.scss @@ -0,0 +1,90 @@ +body { + .ui-widget, + .ui-widget .ui-widget { + font-family: "Roboto","Helvetica Neue",sans-serif; + text-decoration: none; + } + + .ui-widget-content { + background-color: #ffffff; + font-size: $contentFontSize; + border: 1px solid $dividerColor; + + .fa { + color: #757575; + } + } + + .ui-widget-header { + background-color: $primaryColor; + color: #ffffff; + font-size: $headerFontSize; + border: 1px solid $primaryColor; + + .fa { + color: #ffffff; + } + } + + .ui-state-default { + + } + + .ui-state-hover { + + } + + .ui-state-focus { + + } + + .ui-state-active, .ui-state-highlight { + background-color: $accentColor; + color: $accentTextColor; + + .fa { + color: #ffffff; + } + } + + .ui-widget:disabled, + .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; + cursor: auto !important; + } + + .ui-corner-all { + @include border-radius($borderRadius); + } + + .ui-corner-top { + @include border-radius-top($borderRadius); + } + + .ui-corner-bottom { + @include border-radius-bottom($borderRadius); + } + + .ui-corner-left { + @include border-radius-left($borderRadius); + } + + .ui-corner-right { + @include border-radius-right($borderRadius); + } + + .ui-widget-overlay { + background-color: #58575c; + opacity: .8; + } + + .ui-shadow { + + } + + a { + + } +} \ No newline at end of file diff --git a/src/assets/sass/theme/_data.scss b/src/assets/sass/theme/_data.scss new file mode 100644 index 0000000..0900764 --- /dev/null +++ b/src/assets/sass/theme/_data.scss @@ -0,0 +1,907 @@ +body { + .ui-picklist { + .ui-picklist-caption { + font-size: $inputHeaderFontSize; + padding: $inputHeaderPadding; + } + + .ui-picklist-list { + padding: 0; + } + + .ui-picklist-filter-container { + .fa { + left: 0.3em; + } + + .ui-picklist-filter { + text-indent: 1.5em; + } + } + + li.ui-picklist-item { + font-size: $inputOptionFontSize; + padding: $inputOptionPadding; + margin: 0; + @include border-radius(0); + color: $textColor; + + &:not(.ui-state-highlight):hover { + @include hover-element(); + } + + &.ui-state-highlight { + background-color: $accentColor; + color: $accentTextColor; + } + } + + .ui-picklist-buttons { + width: 3em; + + .ui-button { + &.ui-button-icon-only { + width: 2.5em; + margin-right: 0; + display: inline-block; + margin-bottom: .5em; + } + } + } + + .ui-picklist-buttons-cell { + text-align: center; + } + + &.ui-picklist-responsive { + .ui-picklist-buttons { + .ui-button { + &.ui-button-icon-only { + margin: 0 auto; + display: block; + margin-bottom: .5em; + } + } + } + + .ui-picklist-list { + .ui-picklist-item { + .ui-chkbox { + margin-right: .5em; + vertical-align: top; + } + + .ui-chkbox,.ui-chkbox * { + box-sizing: content-box; + } + } + } + } + } + + .ui-organizationchart { + .ui-organizationchart-node-content { + &.ui-organizationchart-selectable-node:not(.ui-state-highlight):hover { + @include hover-element(); + } + + &.ui-state-highlight { + .ui-node-toggler { + i { + color: darken($accentColor, 25%); + } + } + } + } + .ui-organizationchart-line-down { + background-color: $dividerColor; + } + + .ui-organizationchart-line-left { + border-right: 1px solid $dividerColor; + } + + .ui-organizationchart-line-right { + + } + + .ui-organizationchart-line-top { + border-top: 1px solid $dividerColor; + } + + .ui-organizationchart-node-content { + border-color: $dividerColor; + } + + .ui-organizationchart-node-content .ui-node-toggler { + bottom: -1.3em; + margin-left: -.75em; + color: $dividerColor; + + .fa-chevron-down { + @include material-icon("keyboard_arrow_down"); + } + + .fa-chevron-up { + @include material-icon("keyboard_arrow_up"); + } + } + } + + .ui-orderlist { + .ui-orderlist-caption { + font-size: $inputHeaderFontSize; + padding: $inputHeaderPadding; + box-sizing: border-box; + } + + .ui-orderlist-list { + padding: 0; + box-sizing: border-box; + + li.ui-orderlist-item { + font-size: $inputOptionFontSize; + padding: $inputOptionPadding; + margin: 0; + @include border-radius(0); + color: $textColor; + + &:not(.ui-state-highlight):hover { + @include hover-element(); + } + + &.ui-state-highlight { + background-color: $accentColor; + color: $accentTextColor; + } + } + } + + &.ui-orderlist-responsive { + .ui-orderlist-controls { + width: 3.75em; + } + } + + .ui-orderlist-controls { + width: 3.75em; + text-align: center; + + .ui-button { + &.ui-button-icon-only { + width: 2.5em; + margin-bottom: .5em; + margin-right: 0; + } + } + } + } + + .ui-paginator { + background-color: $primaryDarkColor; + padding: $headerPadding; + + > a { + box-sizing: border-box; + color: #ffffff; + + .fa { + display: none; + } + + &:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: $primaryLightColor; + @include border-radius(50%); + @include transition(background-color .3s); + } + } + + .ui-paginator-next { + padding: 0; + vertical-align: middle; + @include material-icon("navigate_next"); + } + + .ui-paginator-last { + padding: 0; + vertical-align: middle; + @include material-icon("last_page"); + } + + .ui-paginator-prev { + padding: 0; + vertical-align: middle; + @include material-icon("navigate_before"); + } + + .ui-paginator-first { + padding: 0; + vertical-align: middle; + @include material-icon("first_page"); + } + + .ui-paginator-pages { + vertical-align: middle; + margin: 0 .375em 0 .375em; + + a { + padding: 0; + color: #ffffff; + min-width: 1.5em; + min-height: 1.5em; + line-height: 1.5em; + @include border-radius(50%); + @include transition(background-color .3s); + + &:not(.ui-state-active):hover { + background-color: $primaryLightColor; + } + + &.ui-state-active { + background-color: $accentColor; + color: $accentTextColor; + } + } + } + } + + .ui-datagrid { + .ui-datagrid-header { + padding: $headerPadding; + } + + .ui-panel { + .ui-panel-titlebar { + background-color: #ffffff; + color: $textColor; + border-color: $dividerColor; + } + } + } + + .ui-datalist { + .ui-datalist-header { + padding: $headerPadding; + } + } + + .ui-table { + .ui-table-caption, + .ui-table-summary { + padding: $headerPadding; + text-align: center; + font-weight: normal; + } + + .ui-table-caption { + border-bottom: 0 none; + } + + .ui-table-summary { + border-top: 0 none; + } + + .ui-table-thead > tr > th, + .ui-table-tbody > tr > td, + .ui-table-tfoot > tr > td { + padding: $contentPadding; + } + + .ui-table-thead > tr > th, + .ui-table-tfoot > tr > td { + font-weight: 400; + background-color: #ffffff; + border: 1px solid $dividerLightColor; + } + + .ui-sortable-column { + &:not(.ui-state-highlight):hover { + @include hover-element(); + } + + &.ui-state-highlight { + background-color: $accentColor; + color: $accentTextColor; + border-top-color: $accentColor; + + .fa { + color: $accentTextColor; + } + } + + .ui-sortable-column-icon { + vertical-align: middle; + color: $textSecondaryColor; + } + } + + .ui-table-tbody { + > tr { + background: #ffffff; + + > td { + background: inherit; + border: 1px solid $dividerLightColor; + } + + &.ui-state-highlight { + background-color: $accentColor; + color: $accentTextColor; + } + + &.ui-contextmenu-selected { + background-color: $accentColor; + color: $accentTextColor; + } + } + + > tr:nth-child(odd) { + background-color: #f4f4f4; + + &.ui-state-highlight { + background-color: $accentColor; + color: $accentTextColor; + } + + &.ui-contextmenu-selected { + background-color: $accentColor; + color: $accentTextColor; + } + } + } + + &.ui-table-hoverable-rows { + .ui-table-tbody > tr:not(.ui-state-highlight):hover { + cursor: pointer; + @include hover-element(); + } + } + } + + .ui-datatable { + .ui-datatable-header, + .ui-datatable-footer { + padding: $headerPadding; + + .ui-inputtext { + color: #ffffff; + + &:focus { + border-color: #ffffff; + } + } + } + + .ui-paginator { + padding: $headerPadding; + } + + .ui-datatable-thead { + > tr { + border-color: $dividerLightColor; + + th { + padding: .625em .875em; + background-color: #ffffff; + + &.ui-sortable-column:not(.ui-state-active):hover { + @include hover-element(); + } + + .ui-column-title { + display: inline-block; + vertical-align: middle; + } + + .ui-sortable-column-icon { + vertical-align: middle; + color: $textSecondaryColor; + } + + &.ui-state-active,&.ui-state-highlight { + background-color: $accentColor; + color: $accentTextColor; + border-top-color: $accentColor; + + .fa { + color: $accentTextColor; + } + + .ui-inputtext { + color: $accentTextColor; + + &.ui-state-focus { + border-color: $accentTextColor; + } + } + } + + &.ui-selection-column { + .ui-chkbox-box { + box-sizing: content-box; + } + } + } + } + } + + tfoot { + th { + padding: .625em .875em; + border: 1px solid #bdbdbd; + background-color: #ffffff; + } + } + + .ui-datatable-data { + tr.ui-datatable-even { + background-color: #f4f4f4; + + &.ui-state-highlight { + background-color: $accentColor; + color: $accentTextColor; + } + } + + tr { + border: 1px solid $dividerLightColor; + + td { + padding: .625em .875em; + + .ui-row-toggler { + display: inherit; + } + + &.ui-state-highlight { + .ui-inputtext { + color: #ffffff; + border-color: #ffffff; + + &:focus { + border-color: #ffffff; + } + } + } + + &.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; + } + + input.ui-cell-editor { + padding: 2px 2px 1px 2px; + font-size: $inputFontSize; + } + + &.ui-selection-column { + .ui-chkbox-box, .ui-radiobutton-box { + box-sizing: content-box; + } + } + } + + &.ui-state-highlight{ + background-color: $accentColor; + border-color: $accentColor; + color: $accentTextColor; + } + + .ui-cell-editor-input { + input { + color: $accentTextColor; + } + } + } + + tr.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; + + .ui-inputtext, + .ui-inputtext.ui-state-error { + border-color: #ffffff; + } + } + + tr.ui-state-highlight { + td.ui-selection-column { + .ui-radiobutton-box { + border-color: #ffffff; + + .ui-radiobutton-icon { + background-color: #ffffff; + } + } + + .ui-chkbox-box { + border-color: #ffffff; + background-color: #ffffff; + + .ui-chkbox-icon { + color: $textSecondaryColor; + } + } + } + + .ui-inputtext { + color: #ffffff; + border-color: #ffffff; + + &:focus { + border-color: #ffffff; + } + } + } + + tr.ui-rowgroup-header { + td { + a { + height: 1.5em; + vertical-align: top; + display: inline-block; + } + } + } + + &.ui-datatable-hoverable-rows { + > tr.ui-widget-content:not(.ui-state-highlight):hover { + cursor: pointer; + @include hover-element(); + } + } + } + + &.ui-datatable-scrollable { + .ui-datatable-scrollable-header, .ui-datatable-scrollable-footer { + border: 0 none; + background-color: transparent; + + .ui-datatable-data { + td { + color: $textColor; + } + } + } + + thead { + tr { + th { + color: $textColor; + font-size: $fontSize; + } + } + } + + tfoot { + tr { + td { + color: $textColor; + font-size: $fontSize; + } + } + } + } + + .ui-datatable-loading { + @include opacity(.3); + } + + .ui-datatable-loading-content { + top: 35%; + + .fa { + @include material-icon('refresh'); + @include animation(0, 1000ms, spin); + font-size: 2em; + } + } + } + + .ui-carousel { + padding: 0; + + .ui-carousel-header{ + padding: $headerPadding; + font-size: $headerFontSize; + overflow: visible; + + .ui-carousel-header-title { + overflow: visible; + } + + .fa { + color: #ffffff; + } + + .ui-carousel-button { + margin: -1px 0 0 0; + } + + .ui-carousel-page-links { + margin: -1px 0 0 0; + } + } + } + + .ui-tree { + padding: $contentPadding / 2; + + .ui-treenode-children { + padding-left: 1.75em; + } + + .ui-treenode-content { + + .ui-chkbox { + margin-right: .5em; + + .fa { + color: #757575; + } + } + + .ui-tree-toggler { + vertical-align: middle; + margin: 0 0 0 .25em; + } + + .ui-treenode-icon { + vertical-align: middle; + margin: 0 .25em; + } + + .ui-chkbox { + margin: 0 .25em; + } + + .ui-treenode-label { + margin: 0; + vertical-align: middle; + } + + &.ui-treenode-selectable { + .ui-treenode-label:not(.ui-state-highlight):hover { + @include hover-element(); + } + } + } + + &.ui-tree-horizontal { + padding-left: 0; + padding-right: 0; + + .ui-treenode-content { + background-color: #ffffff; + border: 1px solid $dividerColor; + + .ui-tree-toggler { + vertical-align: top; + } + + .ui-treenode-icon { + vertical-align: top; + margin-right: .25em; + } + + &.ui-treenode-selectable:hover { + @include hover-element(); + } + + &.ui-state-highlight { + background-color: $accentColor; + color: $accentTextColor; + } + } + } + } + + .ui-tree-draghelper { + border: 1px solid $primaryColor; + } + + .fc { + .fc-toolbar { + .ui-icon-circle-triangle-e { + @include material-icon("play_circle_outline"); + margin-top: .15em; + } + + .ui-icon-circle-triangle-w { + @include material-icon("play_circle_outline"); @include rotate(180deg); + margin-top: .15em; + } + + .ui-state-active { + background-color: $accentColor; + } + } + + .fc-event { + background-color: $primaryLightColor; + color: #ffffff; + } + + table { + box-sizing: border-box; + } + } + + .ui-treetable { + .ui-treetable-header { + padding: $headerPadding; + font-size: $headerFontSize; + } + + thead { + tr { + border-bottom: 1px solid $dividerColor; + + th { + background-color: #ffffff; + padding: .625em .875em; + border: 0 none; + + .fa { + color: $textSecondaryColor; + } + + &:first-child { + border-left: 1px solid $dividerColor; + } + + &:last-child { + border-right: 1px solid $dividerColor; + } + + .ui-sortable-column-icon { + vertical-align: middle; + margin: -.25em 0 0 0; + } + + &.ui-state-active { + background-color: $accentColor; + color: $accentTextColor; + + .fa { + color: $accentTextColor; + } + } + + .ui-column-resizer { + @include material-icon("code"); + font-size: 1em; + color: $textSecondaryColor; + } + } + } + } + + tfoot { + td { + border: 0 none; + padding: .625em .875em; + } + } + + tbody { + .ui-treetable-row { + background-color: #ffffff; + + td { + border: 0 none; + padding: .625em .875em; + + .ui-treetable-toggler { + display: inline-block; + vertical-align: middle; + margin: 0 .167em; + float: none; + } + + .ui-chkbox { + margin-right: .5em; + } + + &.ui-treetable-child-table-container { + padding: 0; + } + } + + &.ui-treetable-row-selectable:not(.ui-state-highlight):hover { + @include hover-element(); + } + + &.ui-state-highlight { + background-color: $accentColor; + color: $accentTextColor; + + .ui-chkbox { + .ui-chkbox-box { + border-color: $accentTextColor; + } + } + } + } + } + + &.ui-treetable-scrollable { + .ui-treetable-scrollable-header, .ui-treetable-scrollable-footer { + background-color: transparent; + border: 0 none; + } + + thead { + th { + background-color: #ffffff; + color: $textColor; + } + } + } + } +} + +@media (max-width: 40em) { + body { + .ui-orderlist { + &.ui-orderlist-responsive { + .ui-orderlist-controls { + width: 100%; + } + } + } + } +} + +@media (max-width: 640px) { + body { + .ui-picklist { + &.ui-picklist-responsive { + .ui-picklist-list-wrapper { + margin-bottom: .5em; + } + + .ui-picklist-buttons { + padding: .5em 0; + + .ui-button { + &.ui-button-icon-only { + display: inline-block; + margin-right: .25em; + margin-bottom: 0; + } + } + + .fa-angle-right { + @include icon-override("play_arrow"); @include rotate(90deg); + } + .fa-angle-double-right { + @include icon-override("skip_previous"); @include rotate(-90deg); + + } + .fa-angle-left { + @include icon-override("play_arrow"); @include rotate(-90deg); + } + .fa-angle-double-left { + @include icon-override("skip_next"); @include rotate(-90deg); + } + } + } + } + + .ui-orderlist { + &.ui-grid-responsive { + .ui-orderlist-controls { + text-align: center; + width: auto; + + .ui-button { + margin-right: .25em; + } + } + } + } + } +} diff --git a/src/assets/sass/theme/_forms.scss b/src/assets/sass/theme/_forms.scss new file mode 100644 index 0000000..105a2a5 --- /dev/null +++ b/src/assets/sass/theme/_forms.scss @@ -0,0 +1,1465 @@ +body { + .ui-inputtext { + background: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + font-size: $inputFontSize; + border-color: $inputBorderColor; + border-style: solid; + @include transition(border-color .3s); + @include border-radius(0px); + + &:focus, + &.ui-state-focus { + border-width: 0 0 2px 0; + border-color: $primaryColor; + padding-bottom: 0px; + } + + &:disabled { + border-bottom: 1px dotted; + } + + &.ui-widget-content { + border-width: 1px; + } + + &.ui-state-error { + border-color: $inputBorderErrorColor; + } + } + + .md-inputfield { + display: block; + position:relative; + + label { + color:#999; + font-weight:normal; + position:absolute; + pointer-events:none; + left:5px; + top:1px; + transition: 0.3s ease all; + -moz-transition: 0.3s ease all; + -webkit-transition: 0.3s ease all; + } + + input:focus ~ label, + input.ui-state-filled ~ label, + .ui-inputwrapper-focus ~ label, + .ui-inputwrapper-filled ~ label { + top:-20px; + font-size:12px; + color:$primaryColor; + } + + .input:-webkit-autofill ~ label { + top:-20px; + font-size:12px; + color:$primaryColor; + } + + input.ng-dirty.ng-invalid ~ label { + color: $invalidInputLabelColor; + } + + .ui-message { + &.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: $inputErrorTextColor; + font-size: .75em; + } + } + + &.md-inputfield-fill { + input { + background-color: $textboxBgColor; + padding-left: 4px; + padding-right: 4px; + padding-top: 4px; + } + + label { + top: 2px; + } + input:focus ~ label, + input.ui-state-filled ~ label, + .ui-inputwrapper-focus ~ label, + .ui-inputwrapper-filled ~ label { + top:-20px; + font-size:12px; + color:$primaryColor; + } + } + + &.md-inputfield-box { + background-color: #f7f7f7; + height: 44px; + + >*:not(label) { + bottom: 0px; + position: absolute; + background-color: $textboxBgColor; + padding-left: 4px; + padding-right: 4px; + padding-top: 24px; + } + + >label { + top: 23px; + } + + input:focus ~ label, + input.ui-state-filled ~ label, + .ui-inputwrapper-focus ~ label, + .ui-inputwrapper-filled ~ label { + top:1px; + } + + .input:-webkit-autofill ~ label { + top:1px; + } + } + } + + + .ui-material-message { + &.ui-message { + &.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; + + label { + top: 4px; + } + } + } + } + + .ui-listbox { + min-width: 12.5em; + background-color: #ffffff; + @include border-radius($borderRadius); + + &.ui-inputtext { + padding: 0; + } + + .ui-listbox-list { + padding: 0; + } + + .ui-listbox-item { + overflow: hidden; + font-size: $inputOptionFontSize; + padding: $inputOptionPadding; + margin: 0; + color: $textColor; + @include rippleitem(); + @include transition(background-color .3s); + @include border-radius(0); + + &.ui-state-highlight { + background-color: $accentColor; + color: $accentTextColor; + } + } + + &:not(.ui-state-disabled) { + .ui-listbox-item { + &:not(.ui-state-highlight):hover { + @include hover-element(); + } + } + } + + .ui-listbox-header { + @include border-radius(0); + padding: $inputHeaderPadding; + + .ui-chkbox { + .ui-chkbox-box { + border-color: #ffffff; + } + } + + .ui-listbox-filter-container { + .ui-inputtext { + color: #ffffff; + padding: 2px 2px 1px 2px; + padding-left: 1.5em; + + &:focus { + padding-bottom: 0; + border-bottom-color: #ffffff; + } + } + + .fa { + top: 0; + left: 0; + } + } + } + } + + .ui-button, .ui-datepicker-buttonpane > button { + overflow: hidden; + background-color: $primaryColor; + color: #ffffff; + font-size: $buttonFontSize; + height: 2.25em; + padding: 0 1em; + border: 0 none; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + @include transition(background-color .3s); + + &:enabled:not(:focus):hover { + background-color: $primaryDarkColor; + } + + &:focus { + outline: 0 none; + background-color: lighten($primaryColor,10%); + } + + .ui-button-text { + padding: 0; + line-height: 2.25em; + } + + .fa { + color: #ffffff; + } + + &.ui-button-icon-only { + @include border-radius(50%); + width: 2.5em; + height: 2.5em; + + .fa { + margin-left: -.5em; + } + } + + &.ui-button-text-icon-left { + padding-left: 2.5em; + } + + &.ui-button-text-icon-right { + padding-right: 2.5em; + } + + &.secondary, &.ui-secondary-button { + background-color: $accentColor; + color: $accentTextColor; + + &:enabled:not(:focus):hover { + background-color: $accentDarkColor; + } + + &:focus { + outline: 0 none; + background-color: lighten($accentColor,10%); + } + } + + &.blue-grey-btn { + background-color: #607D8B; + + &:enabled:not(:focus):hover { + background-color: #37474F; + } + + &:focus { + outline: 0 none; + background-color: lighten(#607D8B,10%); + } + } + + &.cyan-btn { + background-color: #00BCD4; + + &:enabled:not(:focus):hover { + background-color: #00838F; + } + + &:focus { + outline: 0 none; + background-color: lighten(#00BCD4,10%); + } + } + + &.teal-btn { + background-color: #009688; + + &:enabled:not(:focus):hover { + background-color: #00695C; + } + + &:focus { + outline: 0 none; + background-color: lighten(#009688,10%); + } + } + + &.red-btn, &.ui-danger-button { + background-color: #F44336; + + &:enabled:not(:focus):hover { + background-color: #C62828; + } + + &:focus { + outline: 0 none; + background-color: lighten(#F44336,10%); + } + } + + &.green-btn, &.ui-success-button { + background-color: #4CAF50; + + &:enabled:not(:focus):hover { + background-color: #2E7D32; + } + + &:focus { + outline: 0 none; + background-color: lighten(#4CAF50,10%); + } + } + + &.deep-orange-btn { + background-color: #FF5722; + + &:enabled:not(:focus):hover { + background-color: #D84315; + } + + &:focus { + outline: 0 none; + background-color: lighten(#FF5722,10%); + } + } + + &.purple-btn { + background-color: #673AB7; + + &:enabled:not(:focus):hover { + background-color: #4527A0; + } + + &:focus { + outline: 0 none; + background-color: lighten(#673AB7,10%); + } + } + + &.pink-btn { + background-color: #E91E63; + + &:enabled:not(:focus):hover { + background-color: #AD1457; + } + + &:focus { + outline: 0 none; + background-color: lighten(#E91E63,10%); + } + } + + &.amber-btn, &.ui-warning-button { + background-color: #FFC107; + color: #212121; + + &:enabled:not(:focus):hover { + background-color: #FF8F00; + } + + &:focus { + outline: 0 none; + background-color: lighten(#FFC107,10%); + } + } + + &.orange-btn { + background-color: #FF9800; + + &:enabled:not(:focus):hover { + background-color: #EF6C00; + } + + &:focus { + outline: 0 none; + background-color: lighten(#FF9800,10%); + } + } + + &.brown-btn { + background-color: #795548; + + &:enabled:not(:focus):hover { + background-color: #4E342E; + } + + &:focus { + outline: 0 none; + background-color: lighten(#795548,10%); + } + } + + &.indigo-btn { + background-color: #3F51B5; + + &:enabled:not(:focus):hover { + background-color: #283593; + } + + &:focus { + outline: 0 none; + background-color: lighten(#3F51B5,10%); + } + } + + &.blue-btn, &.ui-info-button { + background-color: #03A9F4; + color: #ffffff; + + &:enabled:not(:focus):hover { + background-color: #0277BD; + } + + &:focus { + outline: 0 none; + background-color: lighten(#03A9F4,10%); + } + } + + &.flat { + @include no-shadow(); + } + } + + .ui-buttonset { + .ui-button { + &:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: $primaryDarkColor; + } + + &.ui-state-active { + background-color: $accentColor; + color: $accentTextColor; + } + } + } + + .ui-togglebutton { + &:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: $primaryDarkColor; + } + + &.ui-state-active { + background-color: $accentColor; + color: $accentTextColor; + } + } + + .ui-splitbutton { + @include border-radius($borderRadius + 1); + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + + > .ui-button { + @include no-shadow(); + + &:active { + background-color: lighten($primaryColor,10%); + } + } + + .ui-splitbutton-menubutton { + height: 2.25em; + @include border-radius-left(0); + @include border-radius-right($borderRadius); + } + + .ui-menu { + min-width: 100%; + } + } + + .ui-fluid { + .ui-splitbutton { + .ui-button:first-child { + width: calc(100% - 2em); + } + } + } + + .ui-chkbox { + display: inline-block; + vertical-align: middle; + line-height: 1.25em; + width: 1.25em; + height: 1.25em; + cursor: default; + + .ui-chkbox-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + overflow: hidden; + @include transition(background-color .3s); + + .ui-chkbox-icon { + font-size: 1.25em; + margin-left: -2px; + margin-top: -2px; + } + + &.ui-state-active { + border-color: $primaryColor; + background-color: $primaryColor; + } + + &.ui-state-focus { + border-color: $primaryColor; + @include content-shadow(); + @include transition(box-shadow .3s,background-color .3s); + } + } + } + + .ui-radiobutton { + position: relative; + margin: 0 .25em 0 0; + vertical-align: middle; + + .ui-radiobutton-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + @include transition(box-shadow .3s); + @include border-radius(50%); + + &.ui-state-focus { + border-color: $primaryColor; + @include content-shadow(); + @include transition(box-shadow .3s,background-color .3s); + } + + &.ui-state-active { + border-color: $primaryColor; + background-color: transparent; + } + + .ui-radiobutton-icon { + display: block; + box-sizing: border-box; + @include border-radius(50%); + font-size: 1em; + transition: -webkit-transform ease .28s; + transition: transform ease .28s; + -webkit-transform: scale(0); + transform: scale(0); + margin: 0; + } + + .fa-circle { + background-color: $primaryColor; + -webkit-transform: scale(0.5); + transform: scale(0.5); + } + } + } + + .ui-autocomplete-panel { + @include border-radius(0); + + &.ui-shadow { + @include overlay-input-shadow(); + } + + .ui-autocomplete-list { + padding: 0; + + .ui-autocomplete-list-item { + @include transition(background-color .3s); + font-size: $inputOptionFontSize; + padding: $inputOptionPadding; + @include border-radius(0); + color: $textColor; + + .ui-autocomplete-query { + font-weight: 700; + } + + &.ui-state-highlight { + color: $accentTextColor; + } + } + + .ui-autocomplete-group { + padding: $inputOptionPadding; + } + } + } + + .ui-autocomplete { + .ui-autocomplete-dropdown { + &.ui-button.ui-button-icon-only { + background-color: transparent; + @include no-shadow(); + height: 1.5em; + width: 1.5em; + padding: 0; + right: 0; + bottom: 0; + margin-right: 0; + position: absolute; + + .ui-button-text { + display: none; + } + + .fa { + color: $textSecondaryColor; + } + } + } + + &.ui-autocomplete-multiple { + .ui-autocomplete-multiple-container { + &.ui-inputtext { + box-sizing: border-box; + padding: 2px 2px 1px 2px; + } + + &.ui-state-focus { + padding-bottom: 0; + } + + &.ui-state-disabled { + border-bottom: 1px dotted; + } + } + + .ui-autocomplete-input-token { + float: none; + display: inline-block; + margin: 0 1px; + vertical-align: middle; + + > input { + padding: 0; + font-size: $fontSize; + margin: 0; + vertical-align: bottom; + } + } + + .ui-autocomplete-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; + + .ui-autocomplete-token-label { + display: inline-block; + vertical-align: middle; + } + } + + .ui-autocomplete-dropdown { + top: .75em; + } + } + } + + .ui-fluid { + .ui-autocomplete { + &.ui-autocomplete-dd { + > .ui-inputtext { + width: 100%; + } + } + } + } + + .ui-dropdown { + border-bottom: 1px solid $inputBorderColor; + box-sizing: border-box; + @include border-radius(0); + @include transition(border-color .3s); + + .ui-dropdown-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: 0; + margin-right: 0; + + .fa { + color: $textSecondaryColor; + margin-top: 0; + margin-left: 0; + } + } + + .ui-dropdown-label { + &.ui-inputtext { + font: $inputFontSize "Roboto","Helvetica Neue",sans-serif; + } + } + + &.ui-state-focus { + border-bottom: 2px solid $primaryColor; + + .ui-dropdown-label { + padding-bottom: 0; + } + } + } + + .ui-dropdown-panel { + @include border-radius(0); + + .ui-dropdown-list { + padding: 0; + } + + .ui-dropdown-item { + margin: 0; + font-size: $inputOptionFontSize; + padding: $inputOptionPadding; + color: $textColor; + @include transition(background-color .3s); + @include border-radius(0); + + &:hover { + @include hover-element(); + } + + &.ui-state-highlight { + background-color: $accentColor; + color: $accentTextColor; + } + } + + &.ui-shadow { + @include overlay-input-shadow(); + } + + .ui-dropdown-filter-container { + display: block; + border-bottom: 1px solid $inputBorderColor; + background-color: $primaryColor; + padding: $inputHeaderPadding; + + input { + color: #ffffff; + + &:focus { + border-bottom-color: #ffffff; + } + } + + .fa { + top: .325em; + right: .75em; + color: #ffffff; + } + } + } + + .ui-multiselect { + border-bottom: 1px solid $inputBorderColor; + box-sizing: border-box; + @include border-radius(0); + @include transition(border-color .3s); + + .ui-multiselect-label-container { + padding-right: 1.5em; + + .ui-multiselect-label { + padding: 0px 2px 0px 2px; + } + } + + .ui-multiselect-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: .063em; + + .fa { + color: $textSecondaryColor; + margin-top: auto; + margin-left: auto; + } + } + + &.ui-state-focus { + border-bottom: 2px solid $primaryColor; + } + } + + .ui-multiselect-panel.ui-widget { + padding: 0; + @include border-radius(0); + @include overlay-input-shadow(); + min-width: 12.5em; + + .ui-multiselect-header { + @include border-radius(0); + padding: $inputHeaderPadding; + position: relative; + + .ui-chkbox { + float: none; + margin: 0 .5em 0 -.125em; + position: static; + + .ui-chkbox-box { + border-color: #ffffff; + + .ui-chkbox-icon { + border-color: #ffffff; + } + + &.ui-state-active { + .ui-chkbox-icon { + border-color: #ffffff; + } + } + + &.ui-state-focus { + background-color: $primaryLightColor; + @include transition(background-color .3s); + } + } + } + + .ui-multiselect-filter-container { + width: 70%; + display: inline-block; + vertical-align: middle; + float: none; + margin-left: 0; + + .fa { + top: 0; + left: 0; + color: #ffffff; + } + + .ui-inputtext { + color: #ffffff; + padding-left: 1.5em; + width: 100%; + box-sizing: border-box; + + &:focus { + border-bottom-color: #ffffff; + } + } + } + + .ui-multiselect-close { + position: absolute; + right: .5em; + top: .625em; + height: 1.5em; + width: 1.5em; + + span { + color: #ffffff; + } + + &:hover { + background-color: $primaryLightColor; + @include border-radius(50%); + @include transition(background-color .3s); + } + } + } + + .ui-multiselect-item { + font-size: $inputOptionFontSize; + padding: $inputOptionPadding; + color: $textColor; + @include border-radius(0); + + &:not(.ui-state-highlight):hover { + @include hover-element(); + } + + &.ui-state-highlight { + color: $accentTextColor; + } + } + } + + .ui-spinner { + .ui-spinner-button { + width: 1em; + height: .75em; + padding: 0; + margin-right: .25em; + background-color: transparent; + color: $textColor; + z-index: auto; + @include no-shadow(); + + .fa-triangle-1-n { + color: $textColor; + } + + .fa-triangle-1-s { + color: $textColor; + } + + .fa { + top: 0px; + height: .5em; + color: $textSecondaryColor; + } + + &:enabled:hover, + &:active { + background-color: transparent; + } + } + + .ui-spinner-up { + .fa { + top: .25em; + } + } + + .ui-spinner-down { + .fa { + top: .167em; + } + } + + .ui-spinner-input { + padding-right: 30px; + } + } + + .ui-fluid { + .ui-spinner { + .ui-spinner-button { + width: 1em; + height: .75em; + + .fa { + left: auto; + } + } + } + } + + .ui-inputswitch { + height: 14px; + width: 34px !important; + overflow: visible; + background-color: rgb(158,158,158); + border-color: rgb(158,158,158); + @include border-radius(8px); + + .ui-inputswitch-handle { + top: -4px; + background-color: #ffffff; + @include border-radius(50%); + @include transition(background-color .3s); + width: 20px !important; + height: 20px !important; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + } + + .ui-inputswitch-on { + visibility: hidden; + } + + .ui-inputswitch-off, .ui-inputswitch-on { + span { + visibility: hidden; + } + } + + &.ui-inputswitch-checked { + background-color: $accentLightColor; + border-color: $accentLightColor; + + .ui-inputswitch-handle { + background-color: $accentColor; + color: $accentTextColor; + } + } + } + + .ui-slider { + .ui-slider-handle { + background-color: $accentColor; + color: $accentTextColor; + @include border-radius(50%); + width: 1.25em; + height: 1.25em; + transform: scale(.7); + @include transition(all .4s cubic-bezier(.25,.8,.25,1)); + + &.ui-state-focus { + transform: scale(1); + } + + &:focus { + outline: 0 none; + } + } + + &.ui-slider-horizontal { + height: 2px; + border: 0 none; + background-color: $inputBorderColor; + + .ui-slider-handle { + top: -.55em; + } + } + + &.ui-slider-vertical { + width: 2px; + border: 0 none; + background-color: $inputBorderColor; + + .ui-slider-handle { + left: -.55em; + } + } + + .ui-slider-range { + background-color: $accentColor; + color: $accentTextColor; + } + + &:not(.ui-state-disabled) { + .ui-slider-handle { + &:hover { + transform: scale(1); + } + } + } + } + + .ui-calendar { + .ui-datepicker-trigger { + bottom: 2px; + right: 0; + background-color: transparent; + color: $textColor; + height: 1.5em; + width: 1.5em; + @include no-shadow(); + @include border-radius(0); + + .fa { + color: $textSecondaryColor; + } + + &:enabled:hover { + background-color: transparent; + } + } + } + + .ui-fluid { + .ui-calendar.ui-calendar-w-btn { + .ui-inputtext { + width: 100%; + } + } + } + + .ui-datepicker { + padding: 0; + width: 17.5em; + + &.ui-shadow { + @include overlay-input-shadow(); + } + + .ui-datepicker-header { + padding: $inputHeaderPadding; + font-size: $inputHeaderFontSize; + background: $primaryDarkColor; + border-color: $primaryDarkColor; + @include border-radius-top(2px); + @include border-radius-bottom(0); + + .ui-datepicker-prev { + cursor: pointer; + top: .4em; + left: .2em; + @include border-radius(50%); + @include material-icon("keyboard_arrow_left"); + @include transition(background-color .3s); + color: #ffffff; + + .fa { + display: none; + } + + &:hover { + background-color: $primaryLightColor; + } + } + + .ui-datepicker-next { + cursor: pointer; + top: .4em; + right: .2em; + @include material-icon("keyboard_arrow_right"); + @include border-radius(50%); + @include transition(background-color .3s); + color: #ffffff; + + .fa { + display: none; + } + + &:hover { + background-color: $primaryLightColor; + } + } + + select.ui-datepicker-month, + select.ui-datepicker-year { + font-size: $fontSize - 2; + } + } + + table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; + font-size: $fontSize - 2; + } + + thead { + tr { + color: #ffffff; + background: $primaryColor; + } + } + + tbody { + td { + padding: .25em .125em; + box-sizing: border-box; + + &.ui-datepicker-today { + a { + color: #ffffff; + background: lighten($primaryColor,20%); + + &.ui-state-active { + color: #ffffff; + background-color: $accentColor; + color: $accentTextColor; + } + } + } + + a { + padding: .25em; + margin: 0; + text-align: center; + color: $textColor; + display: inline-block; + height: 2.250em; + width: 2.250em; + @include border-radius(50%); + line-height: 1.8em; + + &.ui-state-active { + color: #ffffff; + background-color: $accentColor; + color: $accentTextColor; + } + + &:not(.ui-state-active):not(.ui-state-highlight):hover { + @include hover-element(); + } + + span { + display: inline; + padding: 0; + text-align: center; + } + } + } + } + + .ui-timepicker { + @include border-radius(0); + + > div { + a { + height: 1.5em; + + > span { + display: inline-block; + margin-bottom: .25em; + } + + .fa { + &.fa-angle-up { + @include rotate(0); + @include material-icon("keyboard_arrow_up"); + } + + &.fa-angle-down { + @include rotate(0); + @include material-icon("keyboard_arrow_down"); + } + } + } + } + } + } + + #ui-datepicker-div { + @include overlay-input-shadow(); + } + + .ui-rating { + min-height: 1.5em; + + .fa-ban { + @include material-icon("cancel"); + color: $textSecondaryColor; + } + + .fa-star { + @include material-icon("star"); + color: $textSecondaryColor; + } + + .fa-star-o { + @include material-icon("star_border"); + color: $textSecondaryColor; + } + } + + .ui-chips { + > ul.ui-inputtext { + padding: 2px 2px 1px 2px; + + &.ui-state-disabled { + border-bottom: 1px dotted; + } + + &.ui-state-focus { + padding-bottom: 0; + } + + .ui-chips-input-token { + padding-bottom: 2px; + + > input { + padding: 0; + font-size: $fontSize; + margin: 0; + vertical-align: bottom; + } + + input:disabled { + width: 0; + } + } + + .ui-chips-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; + + .ui-chips-token-label { + display: inline-block; + vertical-align: middle; + } + } + } + } + + .ui-password-panel { + &.ui-shadow { + @include overlay-input-shadow(); + } + } + + .ui-fileupload { + .ui-fileupload-buttonbar { + padding: $headerPadding; + + .fa-arrowreturnthick-1-n { + @include icon_override('file_upload'); + } + + .ui-button { + background-color: $accentColor; + + &:enabled:hover { + background-color: $accentDarkColor; + } + } + } + + .ui-fileupload-content { + .ui-messages-error { + .fa { + color: #ffffff; + } + } + } + } + + .ui-fileupload-choose:not(.ui-state-disabled):hover, + .ui-fileupload-choose.ui-state-focus { + &.ui-button { + background-color: darken($accentColor, 5%); + } + } + + .ui-fileupload-choose:not(.ui-state-disabled):active { + &.ui-button { + background-color: darken($accentColor, 10%); + } + } + + .ui-editor-container { + .ui-editor-toolbar { + background-color: #e8e8e8; + } + + .ql-picker.ql-expanded { + .ql-picker-label { + color: #444444; + } + } + } + + /* InputGroup */ + .ui-inputgroup { + .ui-inputgroup-addon { + border-width: 0 0 1px 0; + border-color: $inputBorderColor; + color: $textSecondaryColor; + padding: 2px 2px 1px 2px; + align-self: flex-end; + + > i { + @include flex(); + align-self: flex-end; + } + } + + .ui-inputtext { + align-self: flex-end; + } + + .md-inputfield { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + display: inherit; + + label { + top: 5px; + } + } + + .ui-chkbox, .ui-radiobutton { + margin-bottom: .125em; + } + } + + .ui-fluid { + .ui-inputgroup { + .ui-button-icon-only { + width: 1.643em; + height: 1.643em; + padding: 0; + + .ui-button-icon-left { + margin-left: -.45em; + } + } + } + } + + /* Validation */ + .ui-inputtext.ng-dirty.ng-invalid, + p-dropdown.ng-dirty.ng-invalid > .ui-dropdown, + p-autocomplete.ng-dirty.ng-invalid > .ui-autocomplete > .ui-inputtext, + p-calendar.ng-dirty.ng-invalid > .ui-inputtext, + p-inputmask.ng-dirty.ng-invalid > .ui-inputtext, + p-checkbox.ng-dirty.ng-invalid .ui-chkbox-box, + p-radiobutton.ng-dirty.ng-invalid .ui-radiobutton-box, + p-inputswitch.ng-dirty.ng-invalid .ui-inputswitch, + p-listbox.ng-dirty.ng-invalid .ui-inputtext, + p-multiselect.ng-dirty.ng-invalid > .ui-multiselect, + p-spinner.ng-dirty.ng-invalid > .ui-inputtext, + p-selectbutton.ng-dirty.ng-invalid .ui-button, + p-togglebutton.ng-dirty.ng-invalid .ui-button { + border-bottom-color: $invalidInputBorderColor; + } +} + +@media (max-width: 640px) { + body { + .ui-buttonset { + > .ui-button { + display: block; + @include border-radius(0); + + &:first-child { + @include border-radius-top($borderRadius); + } + + &:last-child { + @include border-radius-bottom($borderRadius); + } + } + } + .ui-splitbutton { + > .ui-button { + display: inline-block; + + &:first-child { + @include border-radius-top(0); + } + + &:last-child { + @include border-radius-bottom(0); + } + } + } + } +} diff --git a/src/assets/sass/theme/_icons.scss b/src/assets/sass/theme/_icons.scss new file mode 100644 index 0000000..c050b81 --- /dev/null +++ b/src/assets/sass/theme/_icons.scss @@ -0,0 +1,1041 @@ +.fa-sort {@include icon-override("sort");} +.fa-sort-asc {@include icon-override("keyboard_arrow_up");} +.fa-sort-desc {@include icon-override("keyboard_arrow_down");} +.fa-angle-up {@include icon-override("play_arrow"); @include rotate(-90deg);} +.fa-angle-double-up { @include icon-override("skip_next"); @include rotate(-90deg);} +.fa-angle-down {@include icon-override("play_arrow"); @include rotate(90deg);} +.fa-angle-double-down {@include icon-override("skip_previous"); @include rotate(-90deg);} +.fa-angle-right {@include icon-override("play_arrow");} +.fa-angle-double-right {@include icon-override("fast_forward");} +.fa-angle-left {@include icon-override("play_arrow"); @include rotate(180deg);} +.fa-angle-double-left {@include icon-override("fast_rewind");} +.fa-check {@include icon-override("check");} +.fa-caret-up {@include icon-override("keyboard_arrow_up");} +.fa-caret-down {@include icon-override("keyboard_arrow_down");} +.fa-caret-right {@include icon-override("keyboard_arrow_right");} +.fa-caret-left {@include icon-override("keyboard_arrow_left");} +.fa-search {@include icon-override("search");} +.fa-close {@include icon-override("close");} +.fa-minus {@include icon-override("remove");} +.fa-plus {@include icon-override("add");} +.fa-check {@include icon-override("check");} +.fa-info-circle {@include icon-override("info");} +.fa-upload {@include icon-override("file_upload");} +.fa-chevron-circle-left {@include icon-override("keyboard_arrow_left");} +.fa-chevron-circle-right {@include icon-override("keyboard_arrow_right");} +.fa-chevron-circle-down {@include icon-override("keyboard_arrow_down");} +.fa-chevron-circle-up {@include icon-override("keyboard_arrow_up");} +.fa-home {@include icon-override("home");} +.fa-chevron-right {@include icon-override("chevron_right");} +.fa-chevron-left {@include icon-override("chevron_left");} +.fa-circle-o{@include icon-override("radio_button_unchecked");} +.fa-dot-circle-o{@include icon-override("radio_button_checked");} +.fa-arrow-circle-right {@include icon-override("play_circle_outline"); } +.fa-arrow-circle-left {@include icon-override("play_circle_outline"); @include rotate(180deg);} +.fa-calendar { @include icon-override("date_range"); } +.fa-arrow-down{ @include icon-override("arrow_downward"); } +.fa-arrow-up { @include icon-override("arrow_upward"); } + +.ui-icon-carat-2-n-s {@include icon-override("sort");} +.ui-icon-triangle-1-n { @include icon-override("keyboard_arrow_up"); } +.ui-icon-triangle-1-e { @include icon-override("keyboard_arrow_right"); } +.ui-icon-triangle-1-s { @include icon-override("keyboard_arrow_down"); } +.ui-icon-triangle-1-w { @include icon-override("keyboard_arrow_left"); } +.ui-icon-carat-1-n { @include icon-override("keyboard_arrow_up"); } +.ui-icon-carat-1-e { @include icon-override("keyboard_arrow_right"); } +.ui-icon-carat-1-s { @include icon-override("keyboard_arrow_down"); } +.ui-icon-carat-1-w { @include icon-override("keyboard_arrow_left"); } +.ui-icon-arrow-1-n { @include icon-override("play_arrow"); @include rotate(-90deg);} +.ui-icon-arrowstop-1-n { @include icon-override("skip_next"); @include rotate(-90deg);} +.ui-icon-arrow-1-s { @include icon-override("play_arrow"); @include rotate(90deg);} +.ui-icon-arrowstop-1-s { @include icon-override("skip_previous"); @include rotate(-90deg);} +.ui-icon-arrow-1-w { @include icon-override("play_arrow"); @include rotate(180deg);} +.ui-icon-arrowstop-1-w { @include icon-override("fast_rewind"); } +.ui-icon-arrow-1-e { @include icon-override("play_arrow"); } +.ui-icon-arrowstop-1-e { @include icon-override("fast_forward"); } +.ui-icon-arrowthick-1-s { @include icon-override("play_arrow"); @include rotate(90deg);} +.ui-icon-arrowthick-1-n { @include icon-override("play_arrow"); @include rotate(-90deg);} +.ui-icon-circle-triangle-e {@include icon-override("play_circle_outline"); } +.ui-icon-circle-triangle-w {@include icon-override("play_circle_outline"); @include rotate(180deg);} +.ui-icon-circle-triangle-s {@include icon-override("play_circle_outline"); @include rotate(90deg);} +.ui-icon-radio-off {@include icon-override("radio_button_unchecked");} +.ui-icon-radio-on {@include icon-override("radio_button_checked");} +.ui-icon-folder-collapsed {@include icon-override("folder");} +.ui-icon-document {@include icon-override("content_paste");} +.ui-icon-video {@include icon-override("movie");} +.ui-icon-music {@include icon-override("music_note");} +.ui-icon-plus {@include icon-override("add");} +.ui-icon-minus {@include icon-override("remove");} +.ui-icon-plusthick {@include icon-override("add");} +.ui-icon-minusthick {@include icon-override("remove");} +.ui-icon-pencil {@include icon-override("edit");} +.ui-icon-closethick { @include icon-override("close"); } +.ui-icon-circle-close { @include icon-override("cancel"); } +.ui-icon-gear { @include icon-override("settings"); } +.ui-icon-calendar { @include icon-override("date_range"); } +.ui-icon-trash { @include icon-override("delete_forever"); } +.ui-icon-notice { @include icon-override("error_outline"); } +.ui-icon-alert { @include icon-override("warning"); } +.ui-icon-circle-zoomin { @include icon-override("zoom_in"); } +.ui-icon-circle-zoomout { @include icon-override("zoom_out"); } +.ui-icon-circle-arrow-e { @include icon-override("play_circle_outline"); } +.ui-icon-circle-arrow-w { @include icon-override("play_circle_outline"); @include rotate(180deg); } + +.ui-icon-3d-rotation { @include icon-override("3d_rotation"); } +.ui-icon-ac-unit { @include icon-override("ac_unit"); } +.ui-icon-access-alarm { @include icon-override("access_alarm"); } +.ui-icon-access-alarms { @include icon-override("access_alarms"); } +.ui-icon-access-time { @include icon-override("access_time"); } +.ui-icon-accessibility { @include icon-override("accessibility"); } +.ui-icon-accessible { @include icon-override("accessible"); } +.ui-icon-account-balance { @include icon-override("account_balance"); } +.ui-icon-account-balance-wallet { @include icon-override("account_balance_wallet"); } +.ui-icon-account-box { @include icon-override("account_box"); } +.ui-icon-account-circle { @include icon-override("account_circle"); } +.ui-icon-add { @include icon-override("add"); } +.ui-icon-add-a-photo { @include icon-override("add_a_photo"); } +.ui-icon-add-alarm { @include icon-override("add_alarm"); } +.ui-icon-add-alert { @include icon-override("add_alert"); } +.ui-icon-add-box { @include icon-override("add_box"); } +.ui-icon-add-circle { @include icon-override("add_circle"); } +.ui-icon-add-circle-outline { @include icon-override("add_circle_outline"); } +.ui-icon-add-location { @include icon-override("add_location"); } +.ui-icon-add-shopping-cart { @include icon-override("add_shopping_cart"); } +.ui-icon-add-to-photos { @include icon-override("add_to_photos"); } +.ui-icon-add-to-queue { @include icon-override("add_to_queue"); } +.ui-icon-adjust { @include icon-override("adjust"); } +.ui-icon-airline-seat-flat { @include icon-override("airline_seat_flat"); } +.ui-icon-airline-seat-flat-angled { @include icon-override("airline_seat_flat_angled"); } +.ui-icon-airline-seat-individual-suite { @include icon-override("airline_seat_individual_suite"); } +.ui-icon-airline-seat-legroom-extra { @include icon-override("airline_seat_legroom_extra"); } +.ui-icon-airline-seat-legroom-normal { @include icon-override("airline_seat_legroom_normal"); } +.ui-icon-airline-seat-legroom-reduced { @include icon-override("airline_seat_legroom_reduced"); } +.ui-icon-airline-seat-recline-extra { @include icon-override("airline_seat_recline_extra"); } +.ui-icon-airline-seat-recline-normal { @include icon-override("airline_seat_recline_normal"); } +.ui-icon-airplanemode-active { @include icon-override("airplanemode_active"); } +.ui-icon-airplanemode-inactive { @include icon-override("airplanemode_inactive"); } +.ui-icon-airplay { @include icon-override("airplay"); } +.ui-icon-airport-shuttle { @include icon-override("airport_shuttle"); } +.ui-icon-alarm { @include icon-override("alarm"); } +.ui-icon-alarm-add { @include icon-override("alarm_add"); } +.ui-icon-alarm-off { @include icon-override("alarm_off"); } +.ui-icon-alarm-on { @include icon-override("alarm_on"); } +.ui-icon-album { @include icon-override("album"); } +.ui-icon-all-inclusive { @include icon-override("all_inclusive"); } +.ui-icon-all-out { @include icon-override("all_out"); } +.ui-icon-android { @include icon-override("android"); } +.ui-icon-announcement { @include icon-override("announcement"); } +.ui-icon-apps { @include icon-override("apps"); } +.ui-icon-archive { @include icon-override("archive"); } +.ui-icon-arrow-back { @include icon-override("arrow_back"); } +.ui-icon-arrow-downward { @include icon-override("arrow_downward"); } +.ui-icon-arrow-drop-down { @include icon-override("arrow_drop_down"); } +.ui-icon-arrow-drop-down-circle { @include icon-override("arrow_drop_down_circle"); } +.ui-icon-arrow-drop-up { @include icon-override("arrow_drop_up"); } +.ui-icon-arrow-forward { @include icon-override("arrow_forward"); } +.ui-icon-arrow-upward { @include icon-override("arrow_upward"); } +.ui-icon-art-track { @include icon-override("art_track"); } +.ui-icon-aspect-ratio { @include icon-override("aspect_ratio"); } +.ui-icon-assessment { @include icon-override("assessment"); } +.ui-icon-assignment { @include icon-override("assignment"); } +.ui-icon-assignment-ind { @include icon-override("assignment_ind"); } +.ui-icon-assignment-late { @include icon-override("assignment_late"); } +.ui-icon-assignment-return { @include icon-override("assignment_return"); } +.ui-icon-assignment-returned { @include icon-override("assignment_returned"); } +.ui-icon-assignment-turned-in { @include icon-override("assignment_turned_in"); } +.ui-icon-assistant { @include icon-override("assistant"); } +.ui-icon-assistant-photo { @include icon-override("assistant_photo"); } +.ui-icon-attach-file { @include icon-override("attach_file"); } +.ui-icon-attach-money { @include icon-override("attach_money"); } +.ui-icon-attachment { @include icon-override("attachment"); } +.ui-icon-audiotrack { @include icon-override("audiotrack"); } +.ui-icon-autorenew { @include icon-override("autorenew"); } +.ui-icon-av-timer { @include icon-override("av_timer"); } +.ui-icon-backspace { @include icon-override("backspace"); } +.ui-icon-backup { @include icon-override("backup"); } +.ui-icon-battery-alert { @include icon-override("battery_alert"); } +.ui-icon-battery-charging-full { @include icon-override("battery_charging_full"); } +.ui-icon-battery-full { @include icon-override("battery_full"); } +.ui-icon-battery-std { @include icon-override("battery_std"); } +.ui-icon-battery-unknown { @include icon-override("battery_unknown"); } +.ui-icon-beach-access { @include icon-override("beach_access"); } +.ui-icon-beenhere { @include icon-override("beenhere"); } +.ui-icon-block { @include icon-override("block"); } +.ui-icon-bluetooth { @include icon-override("bluetooth"); } +.ui-icon-bluetooth-audio { @include icon-override("bluetooth_audio"); } +.ui-icon-bluetooth-connected { @include icon-override("bluetooth_connected"); } +.ui-icon-bluetooth-disabled { @include icon-override("bluetooth_disabled"); } +.ui-icon-bluetooth-searching { @include icon-override("bluetooth_searching"); } +.ui-icon-blur-circular { @include icon-override("blur_circular"); } +.ui-icon-blur-linear { @include icon-override("blur_linear"); } +.ui-icon-blur-off { @include icon-override("blur_off"); } +.ui-icon-blur-on { @include icon-override("blur_on"); } +.ui-icon-book { @include icon-override("book"); } +.ui-icon-bookmark { @include icon-override("bookmark"); } +.ui-icon-bookmark-border { @include icon-override("bookmark_border"); } +.ui-icon-border-all { @include icon-override("border_all"); } +.ui-icon-border-bottom { @include icon-override("border_bottom"); } +.ui-icon-border-clear { @include icon-override("border_clear"); } +.ui-icon-border-color { @include icon-override("border_color"); } +.ui-icon-border-horizontal { @include icon-override("border_horizontal"); } +.ui-icon-border-inner { @include icon-override("border_inner"); } +.ui-icon-border-left { @include icon-override("border_left"); } +.ui-icon-border-outer { @include icon-override("border_outer"); } +.ui-icon-border-right { @include icon-override("border_right"); } +.ui-icon-border-style { @include icon-override("border_style"); } +.ui-icon-border-top { @include icon-override("border_top"); } +.ui-icon-border-vertical { @include icon-override("border_vertical"); } +.ui-icon-branding-watermark { @include icon-override("branding_watermark"); } +.ui-icon-brightness-1 { @include icon-override("brightness_1"); } +.ui-icon-brightness-2 { @include icon-override("brightness_2"); } +.ui-icon-brightness-3 { @include icon-override("brightness_3"); } +.ui-icon-brightness-4 { @include icon-override("brightness_4"); } +.ui-icon-brightness-5 { @include icon-override("brightness_5"); } +.ui-icon-brightness-6 { @include icon-override("brightness_6"); } +.ui-icon-brightness-7 { @include icon-override("brightness_7"); } +.ui-icon-brightness-auto { @include icon-override("brightness_auto"); } +.ui-icon-brightness-high { @include icon-override("brightness_high"); } +.ui-icon-brightness-low { @include icon-override("brightness_low"); } +.ui-icon-brightness-medium { @include icon-override("brightness_medium"); } +.ui-icon-broken-image { @include icon-override("broken_image"); } +.ui-icon-brush { @include icon-override("brush"); } +.ui-icon-bubble-chart { @include icon-override("bubble_chart"); } +.ui-icon-bug-report { @include icon-override("bug_report"); } +.ui-icon-build { @include icon-override("build"); } +.ui-icon-burst-mode { @include icon-override("burst_mode"); } +.ui-icon-business { @include icon-override("business"); } +.ui-icon-business-center { @include icon-override("business_center"); } +.ui-icon-cached { @include icon-override("cached"); } +.ui-icon-cake { @include icon-override("cake"); } +.ui-icon-call { @include icon-override("call"); } +.ui-icon-call-end { @include icon-override("call_end"); } +.ui-icon-call-made { @include icon-override("call_made"); } +.ui-icon-call-merge { @include icon-override("call_merge"); } +.ui-icon-call-missed { @include icon-override("call_missed"); } +.ui-icon-call-missed-outgoing { @include icon-override("call_missed_outgoing"); } +.ui-icon-call-received { @include icon-override("call_received"); } +.ui-icon-call-split { @include icon-override("call_split"); } +.ui-icon-call-to-action { @include icon-override("call_to_action"); } +.ui-icon-camera { @include icon-override("camera"); } +.ui-icon-camera-alt { @include icon-override("camera_alt"); } +.ui-icon-camera-enhance { @include icon-override("camera_enhance"); } +.ui-icon-camera-front { @include icon-override("camera_front"); } +.ui-icon-camera-rear { @include icon-override("camera_rear"); } +.ui-icon-camera-roll { @include icon-override("camera_roll"); } +.ui-icon-cancel { @include icon-override("cancel"); } +.ui-icon-card-giftcard { @include icon-override("card_giftcard"); } +.ui-icon-card-membership { @include icon-override("card_membership"); } +.ui-icon-card-travel { @include icon-override("card_travel"); } +.ui-icon-casino { @include icon-override("casino"); } +.ui-icon-cast { @include icon-override("cast"); } +.ui-icon-cast-connected { @include icon-override("cast_connected"); } +.ui-icon-center-focus-strong { @include icon-override("center_focus_strong"); } +.ui-icon-center-focus-weak { @include icon-override("center_focus_weak"); } +.ui-icon-change-history { @include icon-override("change_history"); } +.ui-icon-chat { @include icon-override("chat"); } +.ui-icon-chat-bubble { @include icon-override("chat_bubble"); } +.ui-icon-chat-bubble-outline { @include icon-override("chat_bubble_outline"); } +.ui-icon-check { @include icon-override("check"); } +.ui-icon-check-box { @include icon-override("check_box"); } +.ui-icon-check-box-outline-blank { @include icon-override("check_box_outline_blank"); } +.ui-icon-check-circle { @include icon-override("check_circle"); } +.ui-icon-chevron-left { @include icon-override("chevron_left"); } +.ui-icon-chevron-right { @include icon-override("chevron_right"); } +.ui-icon-child-care { @include icon-override("child_care"); } +.ui-icon-child-friendly { @include icon-override("child_friendly"); } +.ui-icon-chrome-reader-mode { @include icon-override("chrome_reader_mode"); } +.ui-icon-class { @include icon-override("class"); } +.ui-icon-clear { @include icon-override("clear"); } +.ui-icon-clear-all { @include icon-override("clear_all"); } +.ui-icon-close { @include icon-override("close"); } +.ui-icon-closed-caption { @include icon-override("closed_caption"); } +.ui-icon-cloud { @include icon-override("cloud"); } +.ui-icon-cloud-circle { @include icon-override("cloud_circle"); } +.ui-icon-cloud-done { @include icon-override("cloud_done"); } +.ui-icon-cloud-download { @include icon-override("cloud_download"); } +.ui-icon-cloud-off { @include icon-override("cloud_off"); } +.ui-icon-cloud-queue { @include icon-override("cloud_queue"); } +.ui-icon-cloud-upload { @include icon-override("cloud_upload"); } +.ui-icon-code { @include icon-override("code"); } +.ui-icon-collections { @include icon-override("collections"); } +.ui-icon-collections-bookmark { @include icon-override("collections_bookmark"); } +.ui-icon-color-lens { @include icon-override("color_lens"); } +.ui-icon-colorize { @include icon-override("colorize"); } +.ui-icon-comment { @include icon-override("comment"); } +.ui-icon-compare { @include icon-override("compare"); } +.ui-icon-compare-arrows { @include icon-override("compare_arrows"); } +.ui-icon-computer { @include icon-override("computer"); } +.ui-icon-confirmation-number { @include icon-override("confirmation_number"); } +.ui-icon-contact-mail { @include icon-override("contact_mail"); } +.ui-icon-contact-phone { @include icon-override("contact_phone"); } +.ui-icon-contacts { @include icon-override("contacts"); } +.ui-icon-content-copy { @include icon-override("content_copy"); } +.ui-icon-content-cut { @include icon-override("content_cut"); } +.ui-icon-content-paste { @include icon-override("content_paste"); } +.ui-icon-control-point { @include icon-override("control_point"); } +.ui-icon-control-point-duplicate { @include icon-override("control_point_duplicate"); } +.ui-icon-copyright { @include icon-override("copyright"); } +.ui-icon-create { @include icon-override("create"); } +.ui-icon-create-new-folder { @include icon-override("create_new_folder"); } +.ui-icon-credit-card { @include icon-override("credit_card"); } +.ui-icon-crop { @include icon-override("crop"); } +.ui-icon-crop-16-9 { @include icon-override("crop_16_9"); } +.ui-icon-crop-3-2 { @include icon-override("crop_3_2"); } +.ui-icon-crop-5-4 { @include icon-override("crop_5_4"); } +.ui-icon-crop-7-5 { @include icon-override("crop_7_5"); } +.ui-icon-crop-din { @include icon-override("crop_din"); } +.ui-icon-crop-free { @include icon-override("crop_free"); } +.ui-icon-crop-landscape { @include icon-override("crop_landscape"); } +.ui-icon-crop-original { @include icon-override("crop_original"); } +.ui-icon-crop-portrait { @include icon-override("crop_portrait"); } +.ui-icon-crop-rotate { @include icon-override("crop_rotate"); } +.ui-icon-crop-square { @include icon-override("crop_square"); } +.ui-icon-dashboard { @include icon-override("dashboard"); } +.ui-icon-data-usage { @include icon-override("data_usage"); } +.ui-icon-date-range { @include icon-override("date_range"); } +.ui-icon-dehaze { @include icon-override("dehaze"); } +.ui-icon-delete { @include icon-override("delete"); } +.ui-icon-delete-forever { @include icon-override("delete_forever"); } +.ui-icon-delete-sweep { @include icon-override("delete_sweep"); } +.ui-icon-description { @include icon-override("description"); } +.ui-icon-desktop-mac { @include icon-override("desktop_mac"); } +.ui-icon-desktop-windows { @include icon-override("desktop_windows"); } +.ui-icon-details { @include icon-override("details"); } +.ui-icon-developer-board { @include icon-override("developer_board"); } +.ui-icon-developer-mode { @include icon-override("developer_mode"); } +.ui-icon-device-hub { @include icon-override("device_hub"); } +.ui-icon-devices { @include icon-override("devices"); } +.ui-icon-devices-other { @include icon-override("devices_other"); } +.ui-icon-dialer-sip { @include icon-override("dialer_sip"); } +.ui-icon-dialpad { @include icon-override("dialpad"); } +.ui-icon-directions { @include icon-override("directions"); } +.ui-icon-directions-bike { @include icon-override("directions_bike"); } +.ui-icon-directions-boat { @include icon-override("directions_boat"); } +.ui-icon-directions-bus { @include icon-override("directions_bus"); } +.ui-icon-directions-car { @include icon-override("directions_car"); } +.ui-icon-directions-railway { @include icon-override("directions_railway"); } +.ui-icon-directions-run { @include icon-override("directions_run"); } +.ui-icon-directions-subway { @include icon-override("directions_subway"); } +.ui-icon-directions-transit { @include icon-override("directions_transit"); } +.ui-icon-directions-walk { @include icon-override("directions_walk"); } +.ui-icon-disc-full { @include icon-override("disc_full"); } +.ui-icon-dns { @include icon-override("dns"); } +.ui-icon-do-not-disturb { @include icon-override("do_not_disturb"); } +.ui-icon-do-not-disturb-alt { @include icon-override("do_not_disturb_alt"); } +.ui-icon-do-not-disturb-off { @include icon-override("do_not_disturb_off"); } +.ui-icon-do-not-disturb-on { @include icon-override("do_not_disturb_on"); } +.ui-icon-dock { @include icon-override("dock"); } +.ui-icon-domain { @include icon-override("domain"); } +.ui-icon-done { @include icon-override("done"); } +.ui-icon-done-all { @include icon-override("done_all"); } +.ui-icon-donut-large { @include icon-override("donut_large"); } +.ui-icon-donut-small { @include icon-override("donut_small"); } +.ui-icon-drafts { @include icon-override("drafts"); } +.ui-icon-drag-handle { @include icon-override("drag_handle"); } +.ui-icon-drive-eta { @include icon-override("drive_eta"); } +.ui-icon-dvr { @include icon-override("dvr"); } +.ui-icon-edit { @include icon-override("edit"); } +.ui-icon-edit-location { @include icon-override("edit_location"); } +.ui-icon-eject { @include icon-override("eject"); } +.ui-icon-email { @include icon-override("email"); } +.ui-icon-enhanced-encryption { @include icon-override("enhanced_encryption"); } +.ui-icon-equalizer { @include icon-override("equalizer"); } +.ui-icon-error { @include icon-override("error"); } +.ui-icon-error-outline { @include icon-override("error_outline"); } +.ui-icon-euro-symbol { @include icon-override("euro_symbol"); } +.ui-icon-ev-station { @include icon-override("ev_station"); } +.ui-icon-event { @include icon-override("event"); } +.ui-icon-event-available { @include icon-override("event_available"); } +.ui-icon-event-busy { @include icon-override("event_busy"); } +.ui-icon-event-note { @include icon-override("event_note"); } +.ui-icon-event-seat { @include icon-override("event_seat"); } +.ui-icon-exit-to-app { @include icon-override("exit_to_app"); } +.ui-icon-expand-less { @include icon-override("expand_less"); } +.ui-icon-expand-more { @include icon-override("expand_more"); } +.ui-icon-explicit { @include icon-override("explicit"); } +.ui-icon-explore { @include icon-override("explore"); } +.ui-icon-exposure { @include icon-override("exposure"); } +.ui-icon-exposure-neg-1 { @include icon-override("exposure_neg_1"); } +.ui-icon-exposure-neg-2 { @include icon-override("exposure_neg_2"); } +.ui-icon-exposure-plus-1 { @include icon-override("exposure_plus_1"); } +.ui-icon-exposure-plus-2 { @include icon-override("exposure_plus_2"); } +.ui-icon-exposure-zero { @include icon-override("exposure_zero"); } +.ui-icon-extension { @include icon-override("extension"); } +.ui-icon-face { @include icon-override("face"); } +.ui-icon-fast-forward { @include icon-override("fast_forward"); } +.ui-icon-fast-rewind { @include icon-override("fast_rewind"); } +.ui-icon-favorite { @include icon-override("favorite"); } +.ui-icon-favorite-border { @include icon-override("favorite_border"); } +.ui-icon-featured-play-list { @include icon-override("featured_play_list"); } +.ui-icon-featured-video { @include icon-override("featured_video"); } +.ui-icon-feedback { @include icon-override("feedback"); } +.ui-icon-fiber-dvr { @include icon-override("fiber_dvr"); } +.ui-icon-fiber-manual-record { @include icon-override("fiber_manual_record"); } +.ui-icon-fiber-new { @include icon-override("fiber_new"); } +.ui-icon-fiber-pin { @include icon-override("fiber_pin"); } +.ui-icon-fiber-smart-record { @include icon-override("fiber_smart_record"); } +.ui-icon-file-download { @include icon-override("file_download"); } +.ui-icon-file-upload { @include icon-override("file_upload"); } +.ui-icon-filter { @include icon-override("filter"); } +.ui-icon-filter-1 { @include icon-override("filter_1"); } +.ui-icon-filter-2 { @include icon-override("filter_2"); } +.ui-icon-filter-3 { @include icon-override("filter_3"); } +.ui-icon-filter-4 { @include icon-override("filter_4"); } +.ui-icon-filter-5 { @include icon-override("filter_5"); } +.ui-icon-filter-6 { @include icon-override("filter_6"); } +.ui-icon-filter-7 { @include icon-override("filter_7"); } +.ui-icon-filter-8 { @include icon-override("filter_8"); } +.ui-icon-filter-9 { @include icon-override("filter_9"); } +.ui-icon-filter-9-plus { @include icon-override("filter_9_plus"); } +.ui-icon-filter-b-and-w { @include icon-override("filter_b_and_w"); } +.ui-icon-filter-center-focus { @include icon-override("filter_center_focus"); } +.ui-icon-filter-drama { @include icon-override("filter_drama"); } +.ui-icon-filter-frames { @include icon-override("filter_frames"); } +.ui-icon-filter-hdr { @include icon-override("filter_hdr"); } +.ui-icon-filter-list { @include icon-override("filter_list"); } +.ui-icon-filter-none { @include icon-override("filter_none"); } +.ui-icon-filter-tilt-shift { @include icon-override("filter_tilt_shift"); } +.ui-icon-filter-vintage { @include icon-override("filter_vintage"); } +.ui-icon-find-in-page { @include icon-override("find_in_page"); } +.ui-icon-find-replace { @include icon-override("find_replace"); } +.ui-icon-fingerprint { @include icon-override("fingerprint"); } +.ui-icon-first-page { @include icon-override("first_page"); } +.ui-icon-fitness-center { @include icon-override("fitness_center"); } +.ui-icon-flag { @include icon-override("flag"); } +.ui-icon-flare { @include icon-override("flare"); } +.ui-icon-flash-auto { @include icon-override("flash_auto"); } +.ui-icon-flash-off { @include icon-override("flash_off"); } +.ui-icon-flash-on { @include icon-override("flash_on"); } +.ui-icon-flight { @include icon-override("flight"); } +.ui-icon-flight-land { @include icon-override("flight_land"); } +.ui-icon-flight-takeoff { @include icon-override("flight_takeoff"); } +.ui-icon-flip { @include icon-override("flip"); } +.ui-icon-flip-to-back { @include icon-override("flip_to_back"); } +.ui-icon-flip-to-front { @include icon-override("flip_to_front"); } +.ui-icon-folder { @include icon-override("folder"); } +.ui-icon-folder-open { @include icon-override("folder_open"); } +.ui-icon-folder-shared { @include icon-override("folder_shared"); } +.ui-icon-folder-special { @include icon-override("folder_special"); } +.ui-icon-font-download { @include icon-override("font_download"); } +.ui-icon-format-align-center { @include icon-override("format_align_center"); } +.ui-icon-format-align-justify { @include icon-override("format_align_justify"); } +.ui-icon-format-align-left { @include icon-override("format_align_left"); } +.ui-icon-format-align-right { @include icon-override("format_align_right"); } +.ui-icon-format-bold { @include icon-override("format_bold"); } +.ui-icon-format-clear { @include icon-override("format_clear"); } +.ui-icon-format-color-fill { @include icon-override("format_color_fill"); } +.ui-icon-format-color-reset { @include icon-override("format_color_reset"); } +.ui-icon-format-color-text { @include icon-override("format_color_text"); } +.ui-icon-format-indent-decrease { @include icon-override("format_indent_decrease"); } +.ui-icon-format-indent-increase { @include icon-override("format_indent_increase"); } +.ui-icon-format-italic { @include icon-override("format_italic"); } +.ui-icon-format-line-spacing { @include icon-override("format_line_spacing"); } +.ui-icon-format-list-bulleted { @include icon-override("format_list_bulleted"); } +.ui-icon-format-list-numbered { @include icon-override("format_list_numbered"); } +.ui-icon-format-paint { @include icon-override("format_paint"); } +.ui-icon-format-quote { @include icon-override("format_quote"); } +.ui-icon-format-shapes { @include icon-override("format_shapes"); } +.ui-icon-format-size { @include icon-override("format_size"); } +.ui-icon-format-strikethrough { @include icon-override("format_strikethrough"); } +.ui-icon-format-textdirection-l-to-r { @include icon-override("format_textdirection_l_to_r"); } +.ui-icon-format-textdirection-r-to-l { @include icon-override("format_textdirection_r_to_l"); } +.ui-icon-format-underlined { @include icon-override("format_underlined"); } +.ui-icon-forum { @include icon-override("forum"); } +.ui-icon-forward { @include icon-override("forward"); } +.ui-icon-forward-10 { @include icon-override("forward_10"); } +.ui-icon-forward-30 { @include icon-override("forward_30"); } +.ui-icon-forward-5 { @include icon-override("forward_5"); } +.ui-icon-free-breakfast { @include icon-override("free_breakfast"); } +.ui-icon-fullscreen { @include icon-override("fullscreen"); } +.ui-icon-fullscreen-exit { @include icon-override("fullscreen_exit"); } +.ui-icon-functions { @include icon-override("functions"); } +.ui-icon-g-translate { @include icon-override("g_translate"); } +.ui-icon-gamepad { @include icon-override("gamepad"); } +.ui-icon-games { @include icon-override("games"); } +.ui-icon-gavel { @include icon-override("gavel"); } +.ui-icon-gesture { @include icon-override("gesture"); } +.ui-icon-get-app { @include icon-override("get_app"); } +.ui-icon-gif { @include icon-override("gif"); } +.ui-icon-golf-course { @include icon-override("golf_course"); } +.ui-icon-gps-fixed { @include icon-override("gps_fixed"); } +.ui-icon-gps-not-fixed { @include icon-override("gps_not_fixed"); } +.ui-icon-gps-off { @include icon-override("gps_off"); } +.ui-icon-grade { @include icon-override("grade"); } +.ui-icon-gradient { @include icon-override("gradient"); } +.ui-icon-grain { @include icon-override("grain"); } +.ui-icon-graphic-eq { @include icon-override("graphic_eq"); } +.ui-icon-grid-off { @include icon-override("grid_off"); } +.ui-icon-grid-on { @include icon-override("grid_on"); } +.ui-icon-group { @include icon-override("group"); } +.ui-icon-group-add { @include icon-override("group_add"); } +.ui-icon-group-work { @include icon-override("group_work"); } +.ui-icon-hd { @include icon-override("hd"); } +.ui-icon-hdr-off { @include icon-override("hdr_off"); } +.ui-icon-hdr-on { @include icon-override("hdr_on"); } +.ui-icon-hdr-strong { @include icon-override("hdr_strong"); } +.ui-icon-hdr-weak { @include icon-override("hdr_weak"); } +.ui-icon-headset { @include icon-override("headset"); } +.ui-icon-headset-mic { @include icon-override("headset_mic"); } +.ui-icon-healing { @include icon-override("healing"); } +.ui-icon-hearing { @include icon-override("hearing"); } +.ui-icon-help { @include icon-override("help"); } +.ui-icon-help-outline { @include icon-override("help_outline"); } +.ui-icon-high-quality { @include icon-override("high_quality"); } +.ui-icon-highlight { @include icon-override("highlight"); } +.ui-icon-highlight-off { @include icon-override("highlight_off"); } +.ui-icon-history { @include icon-override("history"); } +.ui-icon-home { @include icon-override("home"); } +.ui-icon-hot-tub { @include icon-override("hot_tub"); } +.ui-icon-hotel { @include icon-override("hotel"); } +.ui-icon-hourglass-empty { @include icon-override("hourglass_empty"); } +.ui-icon-hourglass-full { @include icon-override("hourglass_full"); } +.ui-icon-http { @include icon-override("http"); } +.ui-icon-https { @include icon-override("https"); } +.ui-icon-image { @include icon-override("image"); } +.ui-icon-image-aspect-ratio { @include icon-override("image_aspect_ratio"); } +.ui-icon-import-contacts { @include icon-override("import_contacts"); } +.ui-icon-import-export { @include icon-override("import_export"); } +.ui-icon-important-devices { @include icon-override("important_devices"); } +.ui-icon-inbox { @include icon-override("inbox"); } +.ui-icon-indeterminate-check-box { @include icon-override("indeterminate_check_box"); } +.ui-icon-info { @include icon-override("info"); } +.ui-icon-info-outline { @include icon-override("info_outline"); } +.ui-icon-input { @include icon-override("input"); } +.ui-icon-insert-chart { @include icon-override("insert_chart"); } +.ui-icon-insert-comment { @include icon-override("insert_comment"); } +.ui-icon-insert-drive-file { @include icon-override("insert_drive_file"); } +.ui-icon-insert-emoticon { @include icon-override("insert_emoticon"); } +.ui-icon-insert-invitation { @include icon-override("insert_invitation"); } +.ui-icon-insert-link { @include icon-override("insert_link"); } +.ui-icon-insert-photo { @include icon-override("insert_photo"); } +.ui-icon-invert-colors { @include icon-override("invert_colors"); } +.ui-icon-invert-colors-off { @include icon-override("invert_colors_off"); } +.ui-icon-iso { @include icon-override("iso"); } +.ui-icon-keyboard { @include icon-override("keyboard"); } +.ui-icon-keyboard-arrow-down { @include icon-override("keyboard_arrow_down"); } +.ui-icon-keyboard-arrow-left { @include icon-override("keyboard_arrow_left"); } +.ui-icon-keyboard-arrow-right { @include icon-override("keyboard_arrow_right"); } +.ui-icon-keyboard-arrow-up { @include icon-override("keyboard_arrow_up"); } +.ui-icon-keyboard-backspace { @include icon-override("keyboard_backspace"); } +.ui-icon-keyboard-capslock { @include icon-override("keyboard_capslock"); } +.ui-icon-keyboard-hide { @include icon-override("keyboard_hide"); } +.ui-icon-keyboard-return { @include icon-override("keyboard_return"); } +.ui-icon-keyboard-tab { @include icon-override("keyboard_tab"); } +.ui-icon-keyboard-voice { @include icon-override("keyboard_voice"); } +.ui-icon-kitchen { @include icon-override("kitchen"); } +.ui-icon-label { @include icon-override("label"); } +.ui-icon-label-outline { @include icon-override("label_outline"); } +.ui-icon-landscape { @include icon-override("landscape"); } +.ui-icon-language { @include icon-override("language"); } +.ui-icon-laptop { @include icon-override("laptop"); } +.ui-icon-laptop-chromebook { @include icon-override("laptop_chromebook"); } +.ui-icon-laptop-mac { @include icon-override("laptop_mac"); } +.ui-icon-laptop-windows { @include icon-override("laptop_windows"); } +.ui-icon-last-page { @include icon-override("last_page"); } +.ui-icon-launch { @include icon-override("launch"); } +.ui-icon-layers { @include icon-override("layers"); } +.ui-icon-layers-clear { @include icon-override("layers_clear"); } +.ui-icon-leak-add { @include icon-override("leak_add"); } +.ui-icon-leak-remove { @include icon-override("leak_remove"); } +.ui-icon-lens { @include icon-override("lens"); } +.ui-icon-library-add { @include icon-override("library_add"); } +.ui-icon-library-books { @include icon-override("library_books"); } +.ui-icon-library-music { @include icon-override("library_music"); } +.ui-icon-lightbulb-outline { @include icon-override("lightbulb_outline"); } +.ui-icon-line-style { @include icon-override("line_style"); } +.ui-icon-line-weight { @include icon-override("line_weight"); } +.ui-icon-linear-scale { @include icon-override("linear_scale"); } +.ui-icon-link { @include icon-override("link"); } +.ui-icon-linked-camera { @include icon-override("linked_camera"); } +.ui-icon-list { @include icon-override("list"); } +.ui-icon-live-help { @include icon-override("live_help"); } +.ui-icon-live-tv { @include icon-override("live_tv"); } +.ui-icon-local-activity { @include icon-override("local_activity"); } +.ui-icon-local-airport { @include icon-override("local_airport"); } +.ui-icon-local-atm { @include icon-override("local_atm"); } +.ui-icon-local-bar { @include icon-override("local_bar"); } +.ui-icon-local-cafe { @include icon-override("local_cafe"); } +.ui-icon-local-car-wash { @include icon-override("local_car_wash"); } +.ui-icon-local-convenience-store { @include icon-override("local_convenience_store"); } +.ui-icon-local-dining { @include icon-override("local_dining"); } +.ui-icon-local-drink { @include icon-override("local_drink"); } +.ui-icon-local-florist { @include icon-override("local_florist"); } +.ui-icon-local-gas-station { @include icon-override("local_gas_station"); } +.ui-icon-local-grocery-store { @include icon-override("local_grocery_store"); } +.ui-icon-local-hospital { @include icon-override("local_hospital"); } +.ui-icon-local-hotel { @include icon-override("local_hotel"); } +.ui-icon-local-laundry-service { @include icon-override("local_laundry_service"); } +.ui-icon-local-library { @include icon-override("local_library"); } +.ui-icon-local-mall { @include icon-override("local_mall"); } +.ui-icon-local-movies { @include icon-override("local_movies"); } +.ui-icon-local-offer { @include icon-override("local_offer"); } +.ui-icon-local-parking { @include icon-override("local_parking"); } +.ui-icon-local-pharmacy { @include icon-override("local_pharmacy"); } +.ui-icon-local-phone { @include icon-override("local_phone"); } +.ui-icon-local-pizza { @include icon-override("local_pizza"); } +.ui-icon-local-play { @include icon-override("local_play"); } +.ui-icon-local-post-office { @include icon-override("local_post_office"); } +.ui-icon-local-printshop { @include icon-override("local_printshop"); } +.ui-icon-local-see { @include icon-override("local_see"); } +.ui-icon-local-shipping { @include icon-override("local_shipping"); } +.ui-icon-local-taxi { @include icon-override("local_taxi"); } +.ui-icon-location-city { @include icon-override("location_city"); } +.ui-icon-location-disabled { @include icon-override("location_disabled"); } +.ui-icon-location-off { @include icon-override("location_off"); } +.ui-icon-location-on { @include icon-override("location_on"); } +.ui-icon-location-searching { @include icon-override("location_searching"); } +.ui-icon-lock { @include icon-override("lock"); } +.ui-icon-lock-open { @include icon-override("lock_open"); } +.ui-icon-lock-outline { @include icon-override("lock_outline"); } +.ui-icon-looks { @include icon-override("looks"); } +.ui-icon-looks-3 { @include icon-override("looks_3"); } +.ui-icon-looks-4 { @include icon-override("looks_4"); } +.ui-icon-looks-5 { @include icon-override("looks_5"); } +.ui-icon-looks-6 { @include icon-override("looks_6"); } +.ui-icon-looks-one { @include icon-override("looks_one"); } +.ui-icon-looks-two { @include icon-override("looks_two"); } +.ui-icon-loop { @include icon-override("loop"); } +.ui-icon-loupe { @include icon-override("loupe"); } +.ui-icon-low-priority { @include icon-override("low_priority"); } +.ui-icon-loyalty { @include icon-override("loyalty"); } +.ui-icon-mail { @include icon-override("mail"); } +.ui-icon-mail-outline { @include icon-override("mail_outline"); } +.ui-icon-map { @include icon-override("map"); } +.ui-icon-markunread { @include icon-override("markunread"); } +.ui-icon-markunread-mailbox { @include icon-override("markunread_mailbox"); } +.ui-icon-memory { @include icon-override("memory"); } +.ui-icon-menu { @include icon-override("menu"); } +.ui-icon-merge-type { @include icon-override("merge_type"); } +.ui-icon-message { @include icon-override("message"); } +.ui-icon-mic { @include icon-override("mic"); } +.ui-icon-mic-none { @include icon-override("mic_none"); } +.ui-icon-mic-off { @include icon-override("mic_off"); } +.ui-icon-mms { @include icon-override("mms"); } +.ui-icon-mode-comment { @include icon-override("mode_comment"); } +.ui-icon-mode-edit { @include icon-override("mode_edit"); } +.ui-icon-monetization-on { @include icon-override("monetization_on"); } +.ui-icon-money-off { @include icon-override("money_off"); } +.ui-icon-monochrome-photos { @include icon-override("monochrome_photos"); } +.ui-icon-mood { @include icon-override("mood"); } +.ui-icon-mood-bad { @include icon-override("mood_bad"); } +.ui-icon-more { @include icon-override("more"); } +.ui-icon-more-horiz { @include icon-override("more_horiz"); } +.ui-icon-more-vert { @include icon-override("more_vert"); } +.ui-icon-motorcycle { @include icon-override("motorcycle"); } +.ui-icon-mouse { @include icon-override("mouse"); } +.ui-icon-move-to-inbox { @include icon-override("move_to_inbox"); } +.ui-icon-movie { @include icon-override("movie"); } +.ui-icon-movie-creation { @include icon-override("movie_creation"); } +.ui-icon-movie-filter { @include icon-override("movie_filter"); } +.ui-icon-multiline-chart { @include icon-override("multiline_chart"); } +.ui-icon-music-note { @include icon-override("music_note"); } +.ui-icon-music-video { @include icon-override("music_video"); } +.ui-icon-my-location { @include icon-override("my_location"); } +.ui-icon-nature { @include icon-override("nature"); } +.ui-icon-nature-people { @include icon-override("nature_people"); } +.ui-icon-navigate-before { @include icon-override("navigate_before"); } +.ui-icon-navigate-next { @include icon-override("navigate_next"); } +.ui-icon-navigation { @include icon-override("navigation"); } +.ui-icon-near-me { @include icon-override("near_me"); } +.ui-icon-network-cell { @include icon-override("network_cell"); } +.ui-icon-network-check { @include icon-override("network_check"); } +.ui-icon-network-locked { @include icon-override("network_locked"); } +.ui-icon-network-wifi { @include icon-override("network_wifi"); } +.ui-icon-new-releases { @include icon-override("new_releases"); } +.ui-icon-next-week { @include icon-override("next_week"); } +.ui-icon-nfc { @include icon-override("nfc"); } +.ui-icon-no-encryption { @include icon-override("no_encryption"); } +.ui-icon-no-sim { @include icon-override("no_sim"); } +.ui-icon-not-interested { @include icon-override("not_interested"); } +.ui-icon-note { @include icon-override("note"); } +.ui-icon-note-add { @include icon-override("note_add"); } +.ui-icon-notifications { @include icon-override("notifications"); } +.ui-icon-notifications-active { @include icon-override("notifications_active"); } +.ui-icon-notifications-none { @include icon-override("notifications_none"); } +.ui-icon-notifications-off { @include icon-override("notifications_off"); } +.ui-icon-notifications-paused { @include icon-override("notifications_paused"); } +.ui-icon-offline-pin { @include icon-override("offline_pin"); } +.ui-icon-ondemand-video { @include icon-override("ondemand_video"); } +.ui-icon-opacity { @include icon-override("opacity"); } +.ui-icon-open-in-browser { @include icon-override("open_in_browser"); } +.ui-icon-open-in-new { @include icon-override("open_in_new"); } +.ui-icon-open-with { @include icon-override("open_with"); } +.ui-icon-pages { @include icon-override("pages"); } +.ui-icon-pageview { @include icon-override("pageview"); } +.ui-icon-palette { @include icon-override("palette"); } +.ui-icon-pan-tool { @include icon-override("pan_tool"); } +.ui-icon-panorama { @include icon-override("panorama"); } +.ui-icon-panorama-fish-eye { @include icon-override("panorama_fish_eye"); } +.ui-icon-panorama-horizontal { @include icon-override("panorama_horizontal"); } +.ui-icon-panorama-vertical { @include icon-override("panorama_vertical"); } +.ui-icon-panorama-wide-angle { @include icon-override("panorama_wide_angle"); } +.ui-icon-party-mode { @include icon-override("party_mode"); } +.ui-icon-pause { @include icon-override("pause"); } +.ui-icon-pause-circle-filled { @include icon-override("pause_circle_filled"); } +.ui-icon-pause-circle-outline { @include icon-override("pause_circle_outline"); } +.ui-icon-payment { @include icon-override("payment"); } +.ui-icon-people { @include icon-override("people"); } +.ui-icon-people-outline { @include icon-override("people_outline"); } +.ui-icon-perm-camera-mic { @include icon-override("perm_camera_mic"); } +.ui-icon-perm-contact-calendar { @include icon-override("perm_contact_calendar"); } +.ui-icon-perm-data-setting { @include icon-override("perm_data_setting"); } +.ui-icon-perm-device-information { @include icon-override("perm_device_information"); } +.ui-icon-perm-identity { @include icon-override("perm_identity"); } +.ui-icon-perm-media { @include icon-override("perm_media"); } +.ui-icon-perm-phone-msg { @include icon-override("perm_phone_msg"); } +.ui-icon-perm-scan-wifi { @include icon-override("perm_scan_wifi"); } +.ui-icon-person { @include icon-override("person"); } +.ui-icon-person-add { @include icon-override("person_add"); } +.ui-icon-person-outline { @include icon-override("person_outline"); } +.ui-icon-person-pin { @include icon-override("person_pin"); } +.ui-icon-person-pin-circle { @include icon-override("person_pin_circle"); } +.ui-icon-personal-video { @include icon-override("personal_video"); } +.ui-icon-pets { @include icon-override("pets"); } +.ui-icon-phone { @include icon-override("phone"); } +.ui-icon-phone-android { @include icon-override("phone_android"); } +.ui-icon-phone-bluetooth-speaker { @include icon-override("phone_bluetooth_speaker"); } +.ui-icon-phone-forwarded { @include icon-override("phone_forwarded"); } +.ui-icon-phone-in-talk { @include icon-override("phone_in_talk"); } +.ui-icon-phone-iphone { @include icon-override("phone_iphone"); } +.ui-icon-phone-locked { @include icon-override("phone_locked"); } +.ui-icon-phone-missed { @include icon-override("phone_missed"); } +.ui-icon-phone-paused { @include icon-override("phone_paused"); } +.ui-icon-phonelink { @include icon-override("phonelink"); } +.ui-icon-phonelink-erase { @include icon-override("phonelink_erase"); } +.ui-icon-phonelink-lock { @include icon-override("phonelink_lock"); } +.ui-icon-phonelink-off { @include icon-override("phonelink_off"); } +.ui-icon-phonelink-ring { @include icon-override("phonelink_ring"); } +.ui-icon-phonelink-setup { @include icon-override("phonelink_setup"); } +.ui-icon-photo { @include icon-override("photo"); } +.ui-icon-photo-album { @include icon-override("photo_album"); } +.ui-icon-photo-camera { @include icon-override("photo_camera"); } +.ui-icon-photo-filter { @include icon-override("photo_filter"); } +.ui-icon-photo-library { @include icon-override("photo_library"); } +.ui-icon-photo-size-select-actual { @include icon-override("photo_size_select_actual"); } +.ui-icon-photo-size-select-large { @include icon-override("photo_size_select_large"); } +.ui-icon-photo-size-select-small { @include icon-override("photo_size_select_small"); } +.ui-icon-picture-as-pdf { @include icon-override("picture_as_pdf"); } +.ui-icon-picture-in-picture { @include icon-override("picture_in_picture"); } +.ui-icon-picture-in-picture-alt { @include icon-override("picture_in_picture_alt"); } +.ui-icon-pie-chart { @include icon-override("pie_chart"); } +.ui-icon-pie-chart-outlined { @include icon-override("pie_chart_outlined"); } +.ui-icon-pin-drop { @include icon-override("pin_drop"); } +.ui-icon-place { @include icon-override("place"); } +.ui-icon-play-arrow { @include icon-override("play_arrow"); } +.ui-icon-play-circle-filled { @include icon-override("play_circle_filled"); } +.ui-icon-play-circle-outline { @include icon-override("play_circle_outline"); } +.ui-icon-play-for-work { @include icon-override("play_for_work"); } +.ui-icon-playlist-add { @include icon-override("playlist_add"); } +.ui-icon-playlist-add-check { @include icon-override("playlist_add_check"); } +.ui-icon-playlist-play { @include icon-override("playlist_play"); } +.ui-icon-plus-one { @include icon-override("plus_one"); } +.ui-icon-poll { @include icon-override("poll"); } +.ui-icon-polymer { @include icon-override("polymer"); } +.ui-icon-pool { @include icon-override("pool"); } +.ui-icon-portable-wifi-off { @include icon-override("portable_wifi_off"); } +.ui-icon-portrait { @include icon-override("portrait"); } +.ui-icon-power { @include icon-override("power"); } +.ui-icon-power-input { @include icon-override("power_input"); } +.ui-icon-power-settings-new { @include icon-override("power_settings_new"); } +.ui-icon-pregnant-woman { @include icon-override("pregnant_woman"); } +.ui-icon-present-to-all { @include icon-override("present_to_all"); } +.ui-icon-print { @include icon-override("print"); } +.ui-icon-priority-high { @include icon-override("priority_high"); } +.ui-icon-public { @include icon-override("public"); } +.ui-icon-publish { @include icon-override("publish"); } +.ui-icon-query-builder { @include icon-override("query_builder"); } +.ui-icon-question-answer { @include icon-override("question_answer"); } +.ui-icon-queue { @include icon-override("queue"); } +.ui-icon-queue-music { @include icon-override("queue_music"); } +.ui-icon-queue-play-next { @include icon-override("queue_play_next"); } +.ui-icon-radio { @include icon-override("radio"); } +.ui-icon-radio-button-checked { @include icon-override("radio_button_checked"); } +.ui-icon-radio-button-unchecked { @include icon-override("radio_button_unchecked"); } +.ui-icon-rate-review { @include icon-override("rate_review"); } +.ui-icon-receipt { @include icon-override("receipt"); } +.ui-icon-recent-actors { @include icon-override("recent_actors"); } +.ui-icon-record-voice-over { @include icon-override("record_voice_over"); } +.ui-icon-redeem { @include icon-override("redeem"); } +.ui-icon-redo { @include icon-override("redo"); } +.ui-icon-refresh { @include icon-override("refresh"); } +.ui-icon-remove { @include icon-override("remove"); } +.ui-icon-remove-circle { @include icon-override("remove_circle"); } +.ui-icon-remove-circle-outline { @include icon-override("remove_circle_outline"); } +.ui-icon-remove-from-queue { @include icon-override("remove_from_queue"); } +.ui-icon-remove-red-eye { @include icon-override("remove_red_eye"); } +.ui-icon-remove-shopping-cart { @include icon-override("remove_shopping_cart"); } +.ui-icon-reorder { @include icon-override("reorder"); } +.ui-icon-repeat { @include icon-override("repeat"); } +.ui-icon-repeat-one { @include icon-override("repeat_one"); } +.ui-icon-replay { @include icon-override("replay"); } +.ui-icon-replay-10 { @include icon-override("replay_10"); } +.ui-icon-replay-30 { @include icon-override("replay_30"); } +.ui-icon-replay-5 { @include icon-override("replay_5"); } +.ui-icon-reply { @include icon-override("reply"); } +.ui-icon-reply-all { @include icon-override("reply_all"); } +.ui-icon-report { @include icon-override("report"); } +.ui-icon-report-problem { @include icon-override("report_problem"); } +.ui-icon-restaurant { @include icon-override("restaurant"); } +.ui-icon-restaurant-menu { @include icon-override("restaurant_menu"); } +.ui-icon-restore { @include icon-override("restore"); } +.ui-icon-restore-page { @include icon-override("restore_page"); } +.ui-icon-ring-volume { @include icon-override("ring_volume"); } +.ui-icon-room { @include icon-override("room"); } +.ui-icon-room-service { @include icon-override("room_service"); } +.ui-icon-rotate-90-degrees-ccw { @include icon-override("rotate_90_degrees_ccw"); } +.ui-icon-rotate-left { @include icon-override("rotate_left"); } +.ui-icon-rotate-right { @include icon-override("rotate_right"); } +.ui-icon-rounded-corner { @include icon-override("rounded_corner"); } +.ui-icon-router { @include icon-override("router"); } +.ui-icon-rowing { @include icon-override("rowing"); } +.ui-icon-rss-feed { @include icon-override("rss_feed"); } +.ui-icon-rv-hookup { @include icon-override("rv_hookup"); } +.ui-icon-satellite { @include icon-override("satellite"); } +.ui-icon-save { @include icon-override("save"); } +.ui-icon-scanner { @include icon-override("scanner"); } +.ui-icon-schedule { @include icon-override("schedule"); } +.ui-icon-school { @include icon-override("school"); } +.ui-icon-screen-lock-landscape { @include icon-override("screen_lock_landscape"); } +.ui-icon-screen-lock-portrait { @include icon-override("screen_lock_portrait"); } +.ui-icon-screen-lock-rotation { @include icon-override("screen_lock_rotation"); } +.ui-icon-screen-rotation { @include icon-override("screen_rotation"); } +.ui-icon-screen-share { @include icon-override("screen_share"); } +.ui-icon-sd-card { @include icon-override("sd_card"); } +.ui-icon-sd-storage { @include icon-override("sd_storage"); } +.ui-icon-search { @include icon-override("search"); } +.ui-icon-security { @include icon-override("security"); } +.ui-icon-select-all { @include icon-override("select_all"); } +.ui-icon-send { @include icon-override("send"); } +.ui-icon-sentiment-dissatisfied { @include icon-override("sentiment_dissatisfied"); } +.ui-icon-sentiment-neutral { @include icon-override("sentiment_neutral"); } +.ui-icon-sentiment-satisfied { @include icon-override("sentiment_satisfied"); } +.ui-icon-sentiment-very-dissatisfied { @include icon-override("sentiment_very_dissatisfied"); } +.ui-icon-sentiment-very-satisfied { @include icon-override("sentiment_very_satisfied"); } +.ui-icon-settings { @include icon-override("settings"); } +.ui-icon-settings-applications { @include icon-override("settings_applications"); } +.ui-icon-settings-backup-restore { @include icon-override("settings_backup_restore"); } +.ui-icon-settings-bluetooth { @include icon-override("settings_bluetooth"); } +.ui-icon-settings-brightness { @include icon-override("settings_brightness"); } +.ui-icon-settings-cell { @include icon-override("settings_cell"); } +.ui-icon-settings-ethernet { @include icon-override("settings_ethernet"); } +.ui-icon-settings-input-antenna { @include icon-override("settings_input_antenna"); } +.ui-icon-settings-input-component { @include icon-override("settings_input_component"); } +.ui-icon-settings-input-composite { @include icon-override("settings_input_composite"); } +.ui-icon-settings-input-hdmi { @include icon-override("settings_input_hdmi"); } +.ui-icon-settings-input-svideo { @include icon-override("settings_input_svideo"); } +.ui-icon-settings-overscan { @include icon-override("settings_overscan"); } +.ui-icon-settings-phone { @include icon-override("settings_phone"); } +.ui-icon-settings-power { @include icon-override("settings_power"); } +.ui-icon-settings-remote { @include icon-override("settings_remote"); } +.ui-icon-settings-system-daydream { @include icon-override("settings_system_daydream"); } +.ui-icon-settings-voice { @include icon-override("settings_voice"); } +.ui-icon-share { @include icon-override("share"); } +.ui-icon-shop { @include icon-override("shop"); } +.ui-icon-shop-two { @include icon-override("shop_two"); } +.ui-icon-shopping-basket { @include icon-override("shopping_basket"); } +.ui-icon-shopping-cart { @include icon-override("shopping_cart"); } +.ui-icon-short-text { @include icon-override("short_text"); } +.ui-icon-show-chart { @include icon-override("show_chart"); } +.ui-icon-shuffle { @include icon-override("shuffle"); } +.ui-icon-signal-cellular-4-bar { @include icon-override("signal_cellular_4_bar"); } +.ui-icon-signal-cellular-connected-no-internet-4-bar { @include icon-override("signal_cellular_connected_no_internet_4_bar"); } +.ui-icon-signal-cellular-no-sim { @include icon-override("signal_cellular_no_sim"); } +.ui-icon-signal-cellular-null { @include icon-override("signal_cellular_null"); } +.ui-icon-signal-cellular-off { @include icon-override("signal_cellular_off"); } +.ui-icon-signal-wifi-4-bar { @include icon-override("signal_wifi_4_bar"); } +.ui-icon-signal-wifi-4-bar-lock { @include icon-override("signal_wifi_4_bar_lock"); } +.ui-icon-signal-wifi-off { @include icon-override("signal_wifi_off"); } +.ui-icon-sim-card { @include icon-override("sim_card"); } +.ui-icon-sim-card-alert { @include icon-override("sim_card_alert"); } +.ui-icon-skip-next { @include icon-override("skip_next"); } +.ui-icon-skip-previous { @include icon-override("skip_previous"); } +.ui-icon-slideshow { @include icon-override("slideshow"); } +.ui-icon-slow-motion-video { @include icon-override("slow_motion_video"); } +.ui-icon-smartphone { @include icon-override("smartphone"); } +.ui-icon-smoke-free { @include icon-override("smoke_free"); } +.ui-icon-smoking-rooms { @include icon-override("smoking_rooms"); } +.ui-icon-sms { @include icon-override("sms"); } +.ui-icon-sms-failed { @include icon-override("sms_failed"); } +.ui-icon-snooze { @include icon-override("snooze"); } +.ui-icon-sort { @include icon-override("sort"); } +.ui-icon-sort-by-alpha { @include icon-override("sort_by_alpha"); } +.ui-icon-spa { @include icon-override("spa"); } +.ui-icon-space-bar { @include icon-override("space_bar"); } +.ui-icon-speaker { @include icon-override("speaker"); } +.ui-icon-speaker-group { @include icon-override("speaker_group"); } +.ui-icon-speaker-notes { @include icon-override("speaker_notes"); } +.ui-icon-speaker-notes-off { @include icon-override("speaker_notes_off"); } +.ui-icon-speaker-phone { @include icon-override("speaker_phone"); } +.ui-icon-spellcheck { @include icon-override("spellcheck"); } +.ui-icon-star { @include icon-override("star"); } +.ui-icon-star-border { @include icon-override("star_border"); } +.ui-icon-star-half { @include icon-override("star_half"); } +.ui-icon-stars { @include icon-override("stars"); } +.ui-icon-stay-current-landscape { @include icon-override("stay_current_landscape"); } +.ui-icon-stay-current-portrait { @include icon-override("stay_current_portrait"); } +.ui-icon-stay-primary-landscape { @include icon-override("stay_primary_landscape"); } +.ui-icon-stay-primary-portrait { @include icon-override("stay_primary_portrait"); } +.ui-icon-stop { @include icon-override("stop"); } +.ui-icon-stop-screen-share { @include icon-override("stop_screen_share"); } +.ui-icon-storage { @include icon-override("storage"); } +.ui-icon-store { @include icon-override("store"); } +.ui-icon-store-mall-directory { @include icon-override("store_mall_directory"); } +.ui-icon-straighten { @include icon-override("straighten"); } +.ui-icon-streetview { @include icon-override("streetview"); } +.ui-icon-strikethrough-s { @include icon-override("strikethrough_s"); } +.ui-icon-style { @include icon-override("style"); } +.ui-icon-subdirectory-arrow-left { @include icon-override("subdirectory_arrow_left"); } +.ui-icon-subdirectory-arrow-right { @include icon-override("subdirectory_arrow_right"); } +.ui-icon-subject { @include icon-override("subject"); } +.ui-icon-subscriptions { @include icon-override("subscriptions"); } +.ui-icon-subtitles { @include icon-override("subtitles"); } +.ui-icon-subway { @include icon-override("subway"); } +.ui-icon-supervisor-account { @include icon-override("supervisor_account"); } +.ui-icon-surround-sound { @include icon-override("surround_sound"); } +.ui-icon-swap-calls { @include icon-override("swap_calls"); } +.ui-icon-swap-horiz { @include icon-override("swap_horiz"); } +.ui-icon-swap-vert { @include icon-override("swap_vert"); } +.ui-icon-swap-vertical-circle { @include icon-override("swap_vertical_circle"); } +.ui-icon-switch-camera { @include icon-override("switch_camera"); } +.ui-icon-switch-video { @include icon-override("switch_video"); } +.ui-icon-sync { @include icon-override("sync"); } +.ui-icon-sync-disabled { @include icon-override("sync_disabled"); } +.ui-icon-sync-problem { @include icon-override("sync_problem"); } +.ui-icon-system-update { @include icon-override("system_update"); } +.ui-icon-system-update-alt { @include icon-override("system_update_alt"); } +.ui-icon-tab { @include icon-override("tab"); } +.ui-icon-tab-unselected { @include icon-override("tab_unselected"); } +.ui-icon-tablet { @include icon-override("tablet"); } +.ui-icon-tablet-android { @include icon-override("tablet_android"); } +.ui-icon-tablet-mac { @include icon-override("tablet_mac"); } +.ui-icon-tag-faces { @include icon-override("tag_faces"); } +.ui-icon-tap-and-play { @include icon-override("tap_and_play"); } +.ui-icon-terrain { @include icon-override("terrain"); } +.ui-icon-text-fields { @include icon-override("text_fields"); } +.ui-icon-text-format { @include icon-override("text_format"); } +.ui-icon-textsms { @include icon-override("textsms"); } +.ui-icon-texture { @include icon-override("texture"); } +.ui-icon-theaters { @include icon-override("theaters"); } +.ui-icon-thumb-down { @include icon-override("thumb_down"); } +.ui-icon-thumb-up { @include icon-override("thumb_up"); } +.ui-icon-thumbs-up-down { @include icon-override("thumbs_up_down"); } +.ui-icon-time-to-leave { @include icon-override("time_to_leave"); } +.ui-icon-timelapse { @include icon-override("timelapse"); } +.ui-icon-timeline { @include icon-override("timeline"); } +.ui-icon-timer { @include icon-override("timer"); } +.ui-icon-timer-10 { @include icon-override("timer_10"); } +.ui-icon-timer-3 { @include icon-override("timer_3"); } +.ui-icon-timer-off { @include icon-override("timer_off"); } +.ui-icon-title { @include icon-override("title"); } +.ui-icon-toc { @include icon-override("toc"); } +.ui-icon-today { @include icon-override("today"); } +.ui-icon-toll { @include icon-override("toll"); } +.ui-icon-tonality { @include icon-override("tonality"); } +.ui-icon-touch-app { @include icon-override("touch_app"); } +.ui-icon-toys { @include icon-override("toys"); } +.ui-icon-track-changes { @include icon-override("track_changes"); } +.ui-icon-traffic { @include icon-override("traffic"); } +.ui-icon-train { @include icon-override("train"); } +.ui-icon-tram { @include icon-override("tram"); } +.ui-icon-transfer-within-a-station { @include icon-override("transfer_within_a_station"); } +.ui-icon-transform { @include icon-override("transform"); } +.ui-icon-translate { @include icon-override("translate"); } +.ui-icon-trending-down { @include icon-override("trending_down"); } +.ui-icon-trending-flat { @include icon-override("trending_flat"); } +.ui-icon-trending-up { @include icon-override("trending_up"); } +.ui-icon-tune { @include icon-override("tune"); } +.ui-icon-turned-in { @include icon-override("turned_in"); } +.ui-icon-turned-in-not { @include icon-override("turned_in_not"); } +.ui-icon-tv { @include icon-override("tv"); } +.ui-icon-unarchive { @include icon-override("unarchive"); } +.ui-icon-undo { @include icon-override("undo"); } +.ui-icon-unfold-less { @include icon-override("unfold_less"); } +.ui-icon-unfold-more { @include icon-override("unfold_more"); } +.ui-icon-update { @include icon-override("update"); } +.ui-icon-usb { @include icon-override("usb"); } +.ui-icon-verified-user { @include icon-override("verified_user"); } +.ui-icon-vertical-align-bottom { @include icon-override("vertical_align_bottom"); } +.ui-icon-vertical-align-center { @include icon-override("vertical_align_center"); } +.ui-icon-vertical-align-top { @include icon-override("vertical_align_top"); } +.ui-icon-vibration { @include icon-override("vibration"); } +.ui-icon-video-call { @include icon-override("video_call"); } +.ui-icon-video-label { @include icon-override("video_label"); } +.ui-icon-video-library { @include icon-override("video_library"); } +.ui-icon-videocam { @include icon-override("videocam"); } +.ui-icon-videocam-off { @include icon-override("videocam_off"); } +.ui-icon-videogame-asset { @include icon-override("videogame_asset"); } +.ui-icon-view-agenda { @include icon-override("view_agenda"); } +.ui-icon-view-array { @include icon-override("view_array"); } +.ui-icon-view-carousel { @include icon-override("view_carousel"); } +.ui-icon-view-column { @include icon-override("view_column"); } +.ui-icon-view-comfy { @include icon-override("view_comfy"); } +.ui-icon-view-compact { @include icon-override("view_compact"); } +.ui-icon-view-day { @include icon-override("view_day"); } +.ui-icon-view-headline { @include icon-override("view_headline"); } +.ui-icon-view-list { @include icon-override("view_list"); } +.ui-icon-view-module { @include icon-override("view_module"); } +.ui-icon-view-quilt { @include icon-override("view_quilt"); } +.ui-icon-view-stream { @include icon-override("view_stream"); } +.ui-icon-view-week { @include icon-override("view_week"); } +.ui-icon-vignette { @include icon-override("vignette"); } +.ui-icon-visibility { @include icon-override("visibility"); } +.ui-icon-visibility-off { @include icon-override("visibility_off"); } +.ui-icon-voice-chat { @include icon-override("voice_chat"); } +.ui-icon-voicemail { @include icon-override("voicemail"); } +.ui-icon-volume-down { @include icon-override("volume_down"); } +.ui-icon-volume-mute { @include icon-override("volume_mute"); } +.ui-icon-volume-off { @include icon-override("volume_off"); } +.ui-icon-volume-up { @include icon-override("volume_up"); } +.ui-icon-vpn-key { @include icon-override("vpn_key"); } +.ui-icon-vpn-lock { @include icon-override("vpn_lock"); } +.ui-icon-wallpaper { @include icon-override("wallpaper"); } +.ui-icon-warning { @include icon-override("warning"); } +.ui-icon-watch { @include icon-override("watch"); } +.ui-icon-watch-later { @include icon-override("watch_later"); } +.ui-icon-wb-auto { @include icon-override("wb_auto"); } +.ui-icon-wb-cloudy { @include icon-override("wb_cloudy"); } +.ui-icon-wb-incandescent { @include icon-override("wb_incandescent"); } +.ui-icon-wb-iridescent { @include icon-override("wb_iridescent"); } +.ui-icon-wb-sunny { @include icon-override("wb_sunny"); } +.ui-icon-wc { @include icon-override("wc"); } +.ui-icon-web { @include icon-override("web"); } +.ui-icon-web-asset { @include icon-override("web_asset"); } +.ui-icon-weekend { @include icon-override("weekend"); } +.ui-icon-whatshot { @include icon-override("whatshot"); } +.ui-icon-widgets { @include icon-override("widgets"); } +.ui-icon-wifi { @include icon-override("wifi"); } +.ui-icon-wifi-lock { @include icon-override("wifi_lock"); } +.ui-icon-wifi-tethering { @include icon-override("wifi_tethering"); } +.ui-icon-work { @include icon-override("work"); } +.ui-icon-wrap-text { @include icon-override("wrap_text"); } +.ui-icon-youtube-searched-for { @include icon-override("youtube_searched_for"); } +.ui-icon-zoom-in { @include icon-override("zoom_in"); } +.ui-icon-zoom-out { @include icon-override("zoom_out"); } +.ui-icon-zoom-out-map { @include icon-override("zoom_out_map"); } + +.material-icons, .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + + /* Support for IE. */ + font-feature-settings: 'liga'; +} \ No newline at end of file diff --git a/src/assets/sass/theme/_menu.scss b/src/assets/sass/theme/_menu.scss new file mode 100644 index 0000000..4931615 --- /dev/null +++ b/src/assets/sass/theme/_menu.scss @@ -0,0 +1,426 @@ +body { + .ui-breadcrumb { + padding: $inputHeaderPadding; + + ul { + li { + a { + color: #ffffff; + font-size: $inputHeaderFontSize; + } + } + } + } + + .ui-steps { + position: relative; + + .ui-steps-item { + background-color: transparent; + + &.ui-state-disabled { + @include opacity(1); + } + + .ui-menuitem-link { + display: inline-block; + text-align: left; + background-color: #ffffff; + overflow: hidden; + + .ui-steps-number { + display: inline-block; + background-color: $grayBgColor; + @include border-radius(50%); + padding: .25em .75em; + font-size: 1em; + color: #ffffff; + } + + .ui-steps-title { + display: inline; + margin-left: .625em; + color: $textSecondaryColor; + } + } + + &.ui-state-highlight { + .ui-steps-number { + background-color: $accentColor; + } + + .ui-steps-title { + font-weight: 700; + color: $textColor; + } + } + + &:last-child { + .ui-menuitem-link { + display: block; + } + } + } + + &:before { + content:' '; + border: 1px solid $dividerColor; + width: 90%; + top: 45%; + left: 0; + display: block; + position: absolute; + } + } + + .ui-menu .ui-menuitem-link, + .ui-menubar .ui-menuitem-link, + .ui-tieredmenu .ui-menuitem-link, + .ui-contextmenu .ui-menuitem-link, + .ui-megamenu .ui-menuitem-link, + .ui-slidemenu .ui-menuitem-link { + padding: .625em 1em; + color: $textColor; + @include border-radius(0); + + &:hover { + @include hover-element(); + } + + &:focus { + @include hover-element(); + } + .ui-menuitem-text { + vertical-align: middle; + } + } + + .ui-menubar, .ui-contextmenu, + .ui-slidemenu, .ui-tieredmenu { + .ui-submenu-list { + padding: .5em 0; + + .ui-menuitem { + margin: 0; + } + } + } + + .ui-menu { + width: 100%; + padding: .5em 0; + + .ui-menuitem { + margin: 0; + + .ui-menuitem-link { + .ui-menuitem-icon { + vertical-align: middle; + } + } + } + + &.ui-shadow, .ui-shadow { + @include overlay-input-shadow(); + } + + .ui-submenu-header { + border: 0 none; + margin: 0; + padding: .625em 1em; + border-radius: 0; + } + } + + .ui-menubar { + padding: 0; + + .ui-menubar-root-list { + &>.ui-menuitem>.ui-menuitem-link { + padding: .625em 1em; + } + } + + .ui-menuitem { + .ui-menuitem-link { + .ui-menuitem-icon { + vertical-align: middle; + } + + .ui-submenu-icon { + vertical-align: middle; + } + } + &.ui-menuitem-active { + > .ui-menuitem-link { + @include hover-element; + + .ui-menuitem-icon { + vertical-align: middle; + } + } + } + } + } + + .ui-contextmenu { + padding: .5em 0; + + .ui-menuitem { + + .ui-menuitem-link { + .ui-menuitem-icon { + vertical-align: middle; + } + } + &.ui-menuitem-active { + > .ui-menuitem-link { + @include hover-element; + } + } + } + } + + .ui-slidemenu { + padding: .5em 0; + + .ui-menuitem { + margin: 0; + + .ui-menuitem-link { + .ui-menuitem-icon { + vertical-align: middle; + } + } + + &.ui-menuitem-active { + > .ui-menuitem-link { + @include hover-element; + } + } + } + + .ui-slidemenu-backward { + margin-bottom: .4em; + padding: $headerPadding; + width: 100%; + background-color: $primaryColor; + box-sizing: border-box; + @include border-radius(0); + border: 0 none; + + &:hover { + background-color: darken($primaryColor, 10%); + } + } + } + + .ui-tieredmenu { + padding: .5em 0; + + .ui-menuitem { + + .ui-menuitem-link { + .ui-menuitem-icon { + vertical-align: middle; + } + } + &.ui-menuitem-active { + > .ui-menuitem-link { + @include hover-element; + } + } + } + } + + .ui-tabmenu { + padding: 0; + + .ui-tabmenu-nav { + padding: 0; + background-color: #ffffff; + border: 0 none; + @include border-radius(0); + + > .ui-tabmenuitem { + top: auto; + margin: 0 .25em 0 0; + padding: 0; + border-style: solid; + border-width: 0 0 2px 0; + @include transition(border-color .3s); + + > a { + padding: $headerPadding; + + &:focus { + outline: 0 none; + } + + .ui-menuitem-icon, .ui-menuitem-text { + float: none; + display: inline-block; + vertical-align: middle; + } + + .ui-menuitem-icon { + font-weight: 1em; + margin-right: .25em; + } + } + + &.ui-state-default { + a { + color: $textSecondaryColor; + + .fa { + color: $textSecondaryColor; + } + } + } + + &:not(.ui-state-active):hover { + background-color: #ffffff; + } + + &.ui-state-active { + background-color: #ffffff; + border-color: $accentColor; + border-style: solid; + + a { + color: $primaryColor; + + .fa { + color: $primaryColor; + } + } + } + } + } + } + + .ui-megamenu { + padding: 0; + + .ui-megamenu-submenu-header { + border-radius: 0; + padding: .5em; + } + + .ui-submenu-list { + padding: 0; + border: 0 none; + + .ui-menuitem { + margin: 0; + } + } + + .ui-menuitem { + margin: 0; + + .ui-menuitem-link { + .ui-menuitem-icon { + vertical-align: middle; + } + + .ui-submenu-icon { + vertical-align: middle; + } + } + + &.ui-menuitem-active { + > .ui-menuitem-link { + @include hover-element; + } + } + } + } + + .ui-panelmenu { + .ui-panelmenu-header { + background-color: $primaryColor; + margin-bottom: 1px; + + a { + padding: .625em 1em; + color: #ffffff; + font-size: $fontSize; + border-bottom: 1px solid #ffffff; + } + + .fa { + color: #ffffff; + vertical-align: middle; + } + + .ui-menuitem-text { + vertical-align: middle; + } + + &.ui-state-active { + background-color: $accentColor; + @include border-radius-bottom(0); + margin-bottom: 0; + a, .fa { + color: $accentTextColor; + } + } + } + + .ui-panelmenu-content { + padding: 0; + + .ui-menuitem { + margin: 0; + + .ui-menuitem-link { + border: 0 none; + padding: .625em 1em;; + width: 100%; + min-height: 2.750em; + box-sizing: border-box; + color: $textColor; + line-height: 1.5em; + @include border-radius(0); + position: relative; + + &:hover { + @include hover-element(); + } + + .ui-menuitem-text { + display: inline-block; + vertical-align: middle; + float: none; + } + + .fa { + position: static; + display: inline-block; + vertical-align: middle; + } + } + } + } + + .ui-menu-parent .ui-menu-list { + margin-left: 28px; + } + } +} + +@media (max-width: 640px) { + body { + .ui-steps { + .ui-steps-item { + .ui-menuitem-link { + .ui-steps-title { + display: none; + } + } + } + } + } +} diff --git a/src/assets/sass/theme/_message.scss b/src/assets/sass/theme/_message.scss new file mode 100644 index 0000000..9f36e9e --- /dev/null +++ b/src/assets/sass/theme/_message.scss @@ -0,0 +1,143 @@ +body { + /* Messages */ + .ui-messages { + padding: $headerPadding; + + ul { + display: inline-block; + margin-left: 0; + } + + &.ui-messages-info { + background-color: #2196F3; + border-color: #2196F3; + color: #ffffff; + } + + &.ui-messages-warn { + background-color: #ffc107; + border-color: #ffc107; + color: #ffffff; + } + + &.ui-messages-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; + } + + &.ui-messages-fatal { + background-color: #212121; + border-color: #212121; + color: #ffffff; + } + + &.ui-messages-success { + background-color: #8BC34A; + border-color: #8BC34A; + color: #ffffff; + } + + .ui-messages-close { + text-decoration: none; + color: #fff; + right: .25em; + } + } + + .ui-messages .ui-messages-icon { + background: none; + color: #fff; + margin-top: -2px; + + &.fa-info-circle { + @include material-icon("info"); + font-size: 1.75em; + } + + &.fa-warning { + @include material-icon("warning"); + font-size: 1.75em; + } + + &.fa-close { + @include material-icon("error_outline"); + font-size: 1.75em; + } + + &.fa-check { + @include material-icon("check_circle"); + font-size: 1.75em; + } + } + + .ui-growl { + top: 90px; + + > .ui-growl-item-container { + opacity: 1; + + &.ui-growl-message-info { + background-color: #2196F3; + } + + &.ui-growl-message-warn { + background-color: #ffc107; + } + + &.ui-growl-message-error { + background-color: #e62a10; + } + + &.ui-growl-message-fatal { + background-color: #212121; + } + + &.ui-growl-message-success { + background-color: #8BC34A; + } + + &.ui-shadow { + @include overlay-content-shadow(); + } + } + + .ui-growl-item { + .ui-growl-image { + background: none; + color: #ffffff; + font-size: 36px; + + &.fa-info-circle { + @include material-icon("info"); + font-size: 1.75em; + } + + &.fa-exclamation-circle { + @include material-icon("warning"); + font-size: 1.75em; + } + + &.fa-close { + @include material-icon("error_outline"); + font-size: 1.75em; + } + + &.fa-check { + @include material-icon("check_circle"); + font-size: 1.75em; + } + } + + .ui-growl-message { + color: #ffffff; + } + + .ui-growl-icon-close { + @include material-icon("close"); + font-size: 24px; + color: #ffffff; + } + } + } +} \ No newline at end of file diff --git a/src/assets/sass/theme/_misc.scss b/src/assets/sass/theme/_misc.scss new file mode 100644 index 0000000..24db689 --- /dev/null +++ b/src/assets/sass/theme/_misc.scss @@ -0,0 +1,53 @@ +body { + .ui-draggable-dragging.ui-state-default { + padding: $headerPadding !important; + background-color: $primaryColor; + } + + .jqplot-target { + font-family: "Roboto","Helvetica Neue",sans-serif; + } + + .ui-progressbar { + height: .5em; + background-color: $primaryLightColor; + overflow: hidden; + border: 0 none; + + .ui-progressbar-value { + height: .5em; + } + + .ui-progressbar-label { + color: #ffffff; + display: none !important; + } + } + + .ui-galleria { + .ui-galleria-nav-prev { + left: 0; + } + + .ui-galleria-nav-next { + right: 0; + } + } + + .ui-inplace { + .ui-inplace-display { + @include transition(background-color .3s); + @include border-radius(3px); + + &:hover { + background-color: $hoverBgColor; + } + } + } + + .ui-terminal { + .ui-terminal-input { + font-size: $fontSize; + } + } +} \ No newline at end of file diff --git a/src/assets/sass/theme/_overlay.scss b/src/assets/sass/theme/_overlay.scss new file mode 100644 index 0000000..3566a83 --- /dev/null +++ b/src/assets/sass/theme/_overlay.scss @@ -0,0 +1,178 @@ +body { + .ui-dialog { + &.ui-shadow { + @include overlay-content-shadow(); + } + + .ui-dialog-titlebar { + background-color: #ffffff; + color: $textColor; + padding: $headerPadding; + + .ui-dialog-title { + font-size: 1.25em; + letter-spacing: .005em; + margin-top: .25em; + line-height: 2em; + } + + .ui-dialog-titlebar-icon { + border: 0 none; + padding: 0; + @include border-radius(50%); + @include transition(background-color .3s); + height: 1.5em; + width: 1.5em; + text-align: center; + margin-top: .5em; + + &:hover, &:focus { + @include hover-element(); + } + + .fa { + color: $textSecondaryColor; + display: inline-block; + } + + .fa-extlink { + @include icon_override('fullscreen'); + } + + .fa-newwin { + @include icon_override('fullscreen_exit'); + } + } + } + + .ui-dialog-content { + padding: $contentPadding; + } + + .ui-dialog-footer { + text-align: right; + border: 0 none; + border-top: 1px solid $dividerColor; + + .ui-button { + background-color: #ffffff; + color: $textColor; + @include no-shadow(); + width: auto; + + .fa { + color: $textSecondaryColor; + } + + &:hover { + @include hover-element(); + } + } + } + + .ui-confirm-dialog-severity { + margin: 0px .75em; + } + } + + .ui-lightbox { + &.ui-shadow { + @include overlay-content-shadow(); + } + + .ui-lightbox-caption { + padding: $headerPadding; + + .ui-lightbox-caption-text { + margin: 0; + } + + .ui-lightbox-close { + @include border-radius(50%); + @include transition(background-color .3s); + padding: 0; + margin: 0; + width: 1.5em; + height: 1.5em; + + &:hover { + background-color: $primaryLightColor; + @include border-radius(50%); + @include transition(background-color .3s); + } + } + } + + .ui-lightbox-content-wrapper { + .ui-lightbox-nav-right, .ui-lightbox-nav-left { + top: 40%; + + .fa { + @include transition(color .3s); + font-size: 3em; + color: $primaryLightColor; + } + } + } + } + + .ui-overlaypanel { + &.ui-shadow { + @include overlay-content-shadow(); + } + + .ui-overlaypanel-close { + background-color: $accentColor; + @include border-radius(50%); + @include transition(background-color .3s); + right: -16px; + top: -16px; + width: 2em; + height: 2em; + line-height: 2em; + text-align: center; + @include content-shadow(); + + span { + color: $accentTextColor; + line-height: inherit; + } + + &:hover { + background-color: $accentDarkColor; + } + } + } + + .ui-tooltip { + @include opacity(.9); + + .ui-tooltip-text { + background-color: #323232; + } + + &.ui-tooltip-top { + .ui-tooltip-arrow { + border-top-color: #323232; + } + } + + &.ui-tooltip-bottom { + .ui-tooltip-arrow { + border-bottom-color: #323232; + } + } + + &.ui-tooltip-left { + .ui-tooltip-arrow { + border-left-color: #323232; + } + } + + &.ui-tooltip-right { + .ui-tooltip-arrow { + border-right-color: #323232; + } + } + } +} \ No newline at end of file diff --git a/src/assets/sass/theme/_panel.scss b/src/assets/sass/theme/_panel.scss new file mode 100644 index 0000000..8ce11f4 --- /dev/null +++ b/src/assets/sass/theme/_panel.scss @@ -0,0 +1,278 @@ +body { + .ui-panel { + padding: 0; + + .ui-panel-titlebar { + border: 0 none; + border-bottom: 1px solid $primaryColor; + padding: $headerPadding; + @include border-radius-top($borderRadius - 1); + @include border-radius-bottom(0); + + .ui-panel-title { + line-height: 1.5em; + } + + .ui-panel-titlebar-icon { + position: relative; + width: 1.5em; + height: 1.5em; + color: #ffffff; + margin: 0; + @include transition(background-color .3s); + @include border-radius(50%); + + &:hover { + background-color: $primaryLightColor; + } + } + } + + .ui-panel-content { + height: 100%; + box-sizing: border-box; + padding: $contentPadding; + } + + .ui-panel-footer { + padding: $headerPadding; + border: 0 none; + border-top: 1px solid $dividerColor; + margin: 0; + } + } + + .ui-fieldset { + padding: $contentPadding; + + .ui-fieldset-legend { + padding: $headerPadding; + padding-left: .125em; + padding-right: .5em; + color: $primaryColor; + + .ui-fieldset-toggler { + padding: .5em; + height: 2em; + width: 2em; + background-color: $primaryColor; + color: #ffffff; + font-size: 1.5em; + @include border-radius(50%); + @include transition(background-color .3s); + margin-right: .5em; + @include content-shadow(); + + &:hover { + background-color: $primaryDarkColor; + } + } + + .ui-fieldset-legend-text { + color: $primaryColor; + } + + &.ui-state-focus { + background-color: transparent; + } + } + } + + .ui-accordion { + .ui-accordion-header { + background-color: $primaryColor; + padding: 0; + color:#ffffff; + font-size: $headerFontSize; + @include transition(background-color .3s); + + > a { + padding: $headerPadding; + color: #ffffff; + + .ui-accordion-toggle-icon, + .ui-accordion-header-text { + vertical-align: middle; + } + } + + &:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: $primaryDarkColor; + } + + &.ui-state-active { + background-color: $accentColor; + color: $accentTextColor; + @include border-radius-bottom(0); + + > a { + color: $accentTextColor; + } + } + } + + .ui-accordion-content { + padding: $contentPadding; + line-height: $lineHeight; + } + } + + .ui-toolbar { + background-color: $primaryDarkColor; + @include content-shadow(); + padding: .625em; + } + + .ui-tabview { + padding: 0; + + .ui-tabview-nav { + background-color: #ffffff; + border: 0 none; + @include border-radius(0); + + > li { + padding: 0; + @include transition(border-color .3s); + + > a { + padding: $headerPadding; + + &:focus { + outline: 0 none; + } + } + + > .fa-close { + margin: .325em 0 0 0; + @include transition(color .3s); + color: $textSecondaryColor; + } + + .ui-tabview-left-icon, .ui-tabview-right-icon { + color: $textSecondaryColor; + display: inline-block; + vertical-align: middle; + } + + .ui-tabview-title { + line-height: 1.5em; + vertical-align: middle; + } + + &.ui-state-default { + a { + color: $textSecondaryColor; + } + } + + &:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #ffffff; + } + + &.ui-state-active { + background-color: #ffffff; + border-color: $accentColor; + border-style: solid; + + a { + color: $primaryColor; + } + + > .fa-close { + color: $accentColor; + } + } + + &.ui-tabview-outline { + outline: 0 none; + border-color: $accentLightColor; + } + } + } + + .ui-tabview-panel { + padding: $contentPadding; + } + + &.ui-tabview-top { + > .ui-tabview-nav { + padding: 0; + margin: 0; + @include border-radius-top(4px); + border-bottom: 1px solid $dividerColor; + + > li { + border-style: solid; + border-width: 0 0 2px 0; + } + } + } + + &.ui-tabview-bottom { + > .ui-tabview-nav { + padding: 0; + margin: 0; + @include border-radius-bottom(4px); + border-top: 1px solid $dividerColor; + + > li { + border-width: 2px 0 0 0; + } + } + } + + &.ui-tabview-left { + > .ui-tabview-nav { + padding: 0; + margin: 0; + @include border-radius-left($borderRadius + 1); + border-right: 1px solid $dividerColor; + + > li { + box-sizing: border-box; + border-width: 0 2px 0 0; + + > a { + width: 100%; + box-sizing: border-box; + } + } + } + } + + &.ui-tabview-right { + > .ui-tabview-nav { + padding: 0; + @include border-radius-right($borderRadius + 1); + border-left: 1px solid $dividerColor; + + > li { + box-sizing: border-box; + border-width: 0 0 0 2px; + + > a { + width: 100%; + box-sizing: border-box; + } + + &.ui-state-active { + > a { + padding-left: 0.875em; + } + } + } + } + } + } +} + +@media (max-width: 640px) { + body { + .ui-toolbar { + .ui-toolbar-group-right { + margin-top: 1em; + } + } + } +} \ No newline at end of file diff --git a/src/assets/sass/theme/_theme.scss b/src/assets/sass/theme/_theme.scss new file mode 100644 index 0000000..45800e8 --- /dev/null +++ b/src/assets/sass/theme/_theme.scss @@ -0,0 +1,11 @@ +@import '../_variables'; +@import '../_mixins'; +@import '_icons'; +@import '_common'; +@import '_forms'; +@import '_panel'; +@import '_data'; +@import '_menu'; +@import '_message'; +@import '_overlay'; +@import '_misc'; \ No newline at end of file diff --git a/src/assets/theme/theme-blue-grey.css b/src/assets/theme/theme-blue-grey.css new file mode 100644 index 0000000..b507e0d --- /dev/null +++ b/src/assets/theme/theme-blue-grey.css @@ -0,0 +1,6153 @@ +@charset "UTF-8"; +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +.fa-sort:before { + content: "sort"; } + +.fa-sort-asc:before { + content: "keyboard_arrow_up"; } + +.fa-sort-desc:before { + content: "keyboard_arrow_down"; } + +.fa-angle-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-up:before { + content: "play_arrow"; } + +.fa-angle-double-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-up:before { + content: "skip_next"; } + +.fa-angle-down { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .fa-angle-down:before { + content: "play_arrow"; } + +.fa-angle-double-down { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-down:before { + content: "skip_previous"; } + +.fa-angle-right:before { + content: "play_arrow"; } + +.fa-angle-double-right:before { + content: "fast_forward"; } + +.fa-angle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-angle-left:before { + content: "play_arrow"; } + +.fa-angle-double-left:before { + content: "fast_rewind"; } + +.fa-check:before { + content: "check"; } + +.fa-caret-up:before { + content: "keyboard_arrow_up"; } + +.fa-caret-down:before { + content: "keyboard_arrow_down"; } + +.fa-caret-right:before { + content: "keyboard_arrow_right"; } + +.fa-caret-left:before { + content: "keyboard_arrow_left"; } + +.fa-search:before { + content: "search"; } + +.fa-close:before { + content: "close"; } + +.fa-minus:before { + content: "remove"; } + +.fa-plus:before { + content: "add"; } + +.fa-check:before { + content: "check"; } + +.fa-info-circle:before { + content: "info"; } + +.fa-upload:before { + content: "file_upload"; } + +.fa-chevron-circle-left:before { + content: "keyboard_arrow_left"; } + +.fa-chevron-circle-right:before { + content: "keyboard_arrow_right"; } + +.fa-chevron-circle-down:before { + content: "keyboard_arrow_down"; } + +.fa-chevron-circle-up:before { + content: "keyboard_arrow_up"; } + +.fa-home:before { + content: "home"; } + +.fa-chevron-right:before { + content: "chevron_right"; } + +.fa-chevron-left:before { + content: "chevron_left"; } + +.fa-circle-o:before { + content: "radio_button_unchecked"; } + +.fa-dot-circle-o:before { + content: "radio_button_checked"; } + +.fa-arrow-circle-right:before { + content: "play_circle_outline"; } + +.fa-arrow-circle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-arrow-circle-left:before { + content: "play_circle_outline"; } + +.fa-calendar:before { + content: "date_range"; } + +.fa-arrow-down:before { + content: "arrow_downward"; } + +.fa-arrow-up:before { + content: "arrow_upward"; } + +.ui-icon-carat-2-n-s:before { + content: "sort"; } + +.ui-icon-triangle-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-triangle-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-triangle-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-triangle-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-carat-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-carat-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-carat-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-carat-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-arrow-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrow-1-n:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-n:before { + content: "skip_next"; } + +.ui-icon-arrow-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrow-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-s { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-s:before { + content: "skip_previous"; } + +.ui-icon-arrow-1-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-arrow-1-w:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-w:before { + content: "fast_rewind"; } + +.ui-icon-arrow-1-e:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-e:before { + content: "fast_forward"; } + +.ui-icon-arrowthick-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrowthick-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowthick-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowthick-1-n:before { + content: "play_arrow"; } + +.ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-circle-triangle-s:before { + content: "play_circle_outline"; } + +.ui-icon-radio-off:before { + content: "radio_button_unchecked"; } + +.ui-icon-radio-on:before { + content: "radio_button_checked"; } + +.ui-icon-folder-collapsed:before { + content: "folder"; } + +.ui-icon-document:before { + content: "content_paste"; } + +.ui-icon-video:before { + content: "movie"; } + +.ui-icon-music:before { + content: "music_note"; } + +.ui-icon-plus:before { + content: "add"; } + +.ui-icon-minus:before { + content: "remove"; } + +.ui-icon-plusthick:before { + content: "add"; } + +.ui-icon-minusthick:before { + content: "remove"; } + +.ui-icon-pencil:before { + content: "edit"; } + +.ui-icon-closethick:before { + content: "close"; } + +.ui-icon-circle-close:before { + content: "cancel"; } + +.ui-icon-gear:before { + content: "settings"; } + +.ui-icon-calendar:before { + content: "date_range"; } + +.ui-icon-trash:before { + content: "delete_forever"; } + +.ui-icon-notice:before { + content: "error_outline"; } + +.ui-icon-alert:before { + content: "warning"; } + +.ui-icon-circle-zoomin:before { + content: "zoom_in"; } + +.ui-icon-circle-zoomout:before { + content: "zoom_out"; } + +.ui-icon-circle-arrow-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-arrow-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-arrow-w:before { + content: "play_circle_outline"; } + +.ui-icon-3d-rotation:before { + content: "3d_rotation"; } + +.ui-icon-ac-unit:before { + content: "ac_unit"; } + +.ui-icon-access-alarm:before { + content: "access_alarm"; } + +.ui-icon-access-alarms:before { + content: "access_alarms"; } + +.ui-icon-access-time:before { + content: "access_time"; } + +.ui-icon-accessibility:before { + content: "accessibility"; } + +.ui-icon-accessible:before { + content: "accessible"; } + +.ui-icon-account-balance:before { + content: "account_balance"; } + +.ui-icon-account-balance-wallet:before { + content: "account_balance_wallet"; } + +.ui-icon-account-box:before { + content: "account_box"; } + +.ui-icon-account-circle:before { + content: "account_circle"; } + +.ui-icon-add:before { + content: "add"; } + +.ui-icon-add-a-photo:before { + content: "add_a_photo"; } + +.ui-icon-add-alarm:before { + content: "add_alarm"; } + +.ui-icon-add-alert:before { + content: "add_alert"; } + +.ui-icon-add-box:before { + content: "add_box"; } + +.ui-icon-add-circle:before { + content: "add_circle"; } + +.ui-icon-add-circle-outline:before { + content: "add_circle_outline"; } + +.ui-icon-add-location:before { + content: "add_location"; } + +.ui-icon-add-shopping-cart:before { + content: "add_shopping_cart"; } + +.ui-icon-add-to-photos:before { + content: "add_to_photos"; } + +.ui-icon-add-to-queue:before { + content: "add_to_queue"; } + +.ui-icon-adjust:before { + content: "adjust"; } + +.ui-icon-airline-seat-flat:before { + content: "airline_seat_flat"; } + +.ui-icon-airline-seat-flat-angled:before { + content: "airline_seat_flat_angled"; } + +.ui-icon-airline-seat-individual-suite:before { + content: "airline_seat_individual_suite"; } + +.ui-icon-airline-seat-legroom-extra:before { + content: "airline_seat_legroom_extra"; } + +.ui-icon-airline-seat-legroom-normal:before { + content: "airline_seat_legroom_normal"; } + +.ui-icon-airline-seat-legroom-reduced:before { + content: "airline_seat_legroom_reduced"; } + +.ui-icon-airline-seat-recline-extra:before { + content: "airline_seat_recline_extra"; } + +.ui-icon-airline-seat-recline-normal:before { + content: "airline_seat_recline_normal"; } + +.ui-icon-airplanemode-active:before { + content: "airplanemode_active"; } + +.ui-icon-airplanemode-inactive:before { + content: "airplanemode_inactive"; } + +.ui-icon-airplay:before { + content: "airplay"; } + +.ui-icon-airport-shuttle:before { + content: "airport_shuttle"; } + +.ui-icon-alarm:before { + content: "alarm"; } + +.ui-icon-alarm-add:before { + content: "alarm_add"; } + +.ui-icon-alarm-off:before { + content: "alarm_off"; } + +.ui-icon-alarm-on:before { + content: "alarm_on"; } + +.ui-icon-album:before { + content: "album"; } + +.ui-icon-all-inclusive:before { + content: "all_inclusive"; } + +.ui-icon-all-out:before { + content: "all_out"; } + +.ui-icon-android:before { + content: "android"; } + +.ui-icon-announcement:before { + content: "announcement"; } + +.ui-icon-apps:before { + content: "apps"; } + +.ui-icon-archive:before { + content: "archive"; } + +.ui-icon-arrow-back:before { + content: "arrow_back"; } + +.ui-icon-arrow-downward:before { + content: "arrow_downward"; } + +.ui-icon-arrow-drop-down:before { + content: "arrow_drop_down"; } + +.ui-icon-arrow-drop-down-circle:before { + content: "arrow_drop_down_circle"; } + +.ui-icon-arrow-drop-up:before { + content: "arrow_drop_up"; } + +.ui-icon-arrow-forward:before { + content: "arrow_forward"; } + +.ui-icon-arrow-upward:before { + content: "arrow_upward"; } + +.ui-icon-art-track:before { + content: "art_track"; } + +.ui-icon-aspect-ratio:before { + content: "aspect_ratio"; } + +.ui-icon-assessment:before { + content: "assessment"; } + +.ui-icon-assignment:before { + content: "assignment"; } + +.ui-icon-assignment-ind:before { + content: "assignment_ind"; } + +.ui-icon-assignment-late:before { + content: "assignment_late"; } + +.ui-icon-assignment-return:before { + content: "assignment_return"; } + +.ui-icon-assignment-returned:before { + content: "assignment_returned"; } + +.ui-icon-assignment-turned-in:before { + content: "assignment_turned_in"; } + +.ui-icon-assistant:before { + content: "assistant"; } + +.ui-icon-assistant-photo:before { + content: "assistant_photo"; } + +.ui-icon-attach-file:before { + content: "attach_file"; } + +.ui-icon-attach-money:before { + content: "attach_money"; } + +.ui-icon-attachment:before { + content: "attachment"; } + +.ui-icon-audiotrack:before { + content: "audiotrack"; } + +.ui-icon-autorenew:before { + content: "autorenew"; } + +.ui-icon-av-timer:before { + content: "av_timer"; } + +.ui-icon-backspace:before { + content: "backspace"; } + +.ui-icon-backup:before { + content: "backup"; } + +.ui-icon-battery-alert:before { + content: "battery_alert"; } + +.ui-icon-battery-charging-full:before { + content: "battery_charging_full"; } + +.ui-icon-battery-full:before { + content: "battery_full"; } + +.ui-icon-battery-std:before { + content: "battery_std"; } + +.ui-icon-battery-unknown:before { + content: "battery_unknown"; } + +.ui-icon-beach-access:before { + content: "beach_access"; } + +.ui-icon-beenhere:before { + content: "beenhere"; } + +.ui-icon-block:before { + content: "block"; } + +.ui-icon-bluetooth:before { + content: "bluetooth"; } + +.ui-icon-bluetooth-audio:before { + content: "bluetooth_audio"; } + +.ui-icon-bluetooth-connected:before { + content: "bluetooth_connected"; } + +.ui-icon-bluetooth-disabled:before { + content: "bluetooth_disabled"; } + +.ui-icon-bluetooth-searching:before { + content: "bluetooth_searching"; } + +.ui-icon-blur-circular:before { + content: "blur_circular"; } + +.ui-icon-blur-linear:before { + content: "blur_linear"; } + +.ui-icon-blur-off:before { + content: "blur_off"; } + +.ui-icon-blur-on:before { + content: "blur_on"; } + +.ui-icon-book:before { + content: "book"; } + +.ui-icon-bookmark:before { + content: "bookmark"; } + +.ui-icon-bookmark-border:before { + content: "bookmark_border"; } + +.ui-icon-border-all:before { + content: "border_all"; } + +.ui-icon-border-bottom:before { + content: "border_bottom"; } + +.ui-icon-border-clear:before { + content: "border_clear"; } + +.ui-icon-border-color:before { + content: "border_color"; } + +.ui-icon-border-horizontal:before { + content: "border_horizontal"; } + +.ui-icon-border-inner:before { + content: "border_inner"; } + +.ui-icon-border-left:before { + content: "border_left"; } + +.ui-icon-border-outer:before { + content: "border_outer"; } + +.ui-icon-border-right:before { + content: "border_right"; } + +.ui-icon-border-style:before { + content: "border_style"; } + +.ui-icon-border-top:before { + content: "border_top"; } + +.ui-icon-border-vertical:before { + content: "border_vertical"; } + +.ui-icon-branding-watermark:before { + content: "branding_watermark"; } + +.ui-icon-brightness-1:before { + content: "brightness_1"; } + +.ui-icon-brightness-2:before { + content: "brightness_2"; } + +.ui-icon-brightness-3:before { + content: "brightness_3"; } + +.ui-icon-brightness-4:before { + content: "brightness_4"; } + +.ui-icon-brightness-5:before { + content: "brightness_5"; } + +.ui-icon-brightness-6:before { + content: "brightness_6"; } + +.ui-icon-brightness-7:before { + content: "brightness_7"; } + +.ui-icon-brightness-auto:before { + content: "brightness_auto"; } + +.ui-icon-brightness-high:before { + content: "brightness_high"; } + +.ui-icon-brightness-low:before { + content: "brightness_low"; } + +.ui-icon-brightness-medium:before { + content: "brightness_medium"; } + +.ui-icon-broken-image:before { + content: "broken_image"; } + +.ui-icon-brush:before { + content: "brush"; } + +.ui-icon-bubble-chart:before { + content: "bubble_chart"; } + +.ui-icon-bug-report:before { + content: "bug_report"; } + +.ui-icon-build:before { + content: "build"; } + +.ui-icon-burst-mode:before { + content: "burst_mode"; } + +.ui-icon-business:before { + content: "business"; } + +.ui-icon-business-center:before { + content: "business_center"; } + +.ui-icon-cached:before { + content: "cached"; } + +.ui-icon-cake:before { + content: "cake"; } + +.ui-icon-call:before { + content: "call"; } + +.ui-icon-call-end:before { + content: "call_end"; } + +.ui-icon-call-made:before { + content: "call_made"; } + +.ui-icon-call-merge:before { + content: "call_merge"; } + +.ui-icon-call-missed:before { + content: "call_missed"; } + +.ui-icon-call-missed-outgoing:before { + content: "call_missed_outgoing"; } + +.ui-icon-call-received:before { + content: "call_received"; } + +.ui-icon-call-split:before { + content: "call_split"; } + +.ui-icon-call-to-action:before { + content: "call_to_action"; } + +.ui-icon-camera:before { + content: "camera"; } + +.ui-icon-camera-alt:before { + content: "camera_alt"; } + +.ui-icon-camera-enhance:before { + content: "camera_enhance"; } + +.ui-icon-camera-front:before { + content: "camera_front"; } + +.ui-icon-camera-rear:before { + content: "camera_rear"; } + +.ui-icon-camera-roll:before { + content: "camera_roll"; } + +.ui-icon-cancel:before { + content: "cancel"; } + +.ui-icon-card-giftcard:before { + content: "card_giftcard"; } + +.ui-icon-card-membership:before { + content: "card_membership"; } + +.ui-icon-card-travel:before { + content: "card_travel"; } + +.ui-icon-casino:before { + content: "casino"; } + +.ui-icon-cast:before { + content: "cast"; } + +.ui-icon-cast-connected:before { + content: "cast_connected"; } + +.ui-icon-center-focus-strong:before { + content: "center_focus_strong"; } + +.ui-icon-center-focus-weak:before { + content: "center_focus_weak"; } + +.ui-icon-change-history:before { + content: "change_history"; } + +.ui-icon-chat:before { + content: "chat"; } + +.ui-icon-chat-bubble:before { + content: "chat_bubble"; } + +.ui-icon-chat-bubble-outline:before { + content: "chat_bubble_outline"; } + +.ui-icon-check:before { + content: "check"; } + +.ui-icon-check-box:before { + content: "check_box"; } + +.ui-icon-check-box-outline-blank:before { + content: "check_box_outline_blank"; } + +.ui-icon-check-circle:before { + content: "check_circle"; } + +.ui-icon-chevron-left:before { + content: "chevron_left"; } + +.ui-icon-chevron-right:before { + content: "chevron_right"; } + +.ui-icon-child-care:before { + content: "child_care"; } + +.ui-icon-child-friendly:before { + content: "child_friendly"; } + +.ui-icon-chrome-reader-mode:before { + content: "chrome_reader_mode"; } + +.ui-icon-class:before { + content: "class"; } + +.ui-icon-clear:before { + content: "clear"; } + +.ui-icon-clear-all:before { + content: "clear_all"; } + +.ui-icon-close:before { + content: "close"; } + +.ui-icon-closed-caption:before { + content: "closed_caption"; } + +.ui-icon-cloud:before { + content: "cloud"; } + +.ui-icon-cloud-circle:before { + content: "cloud_circle"; } + +.ui-icon-cloud-done:before { + content: "cloud_done"; } + +.ui-icon-cloud-download:before { + content: "cloud_download"; } + +.ui-icon-cloud-off:before { + content: "cloud_off"; } + +.ui-icon-cloud-queue:before { + content: "cloud_queue"; } + +.ui-icon-cloud-upload:before { + content: "cloud_upload"; } + +.ui-icon-code:before { + content: "code"; } + +.ui-icon-collections:before { + content: "collections"; } + +.ui-icon-collections-bookmark:before { + content: "collections_bookmark"; } + +.ui-icon-color-lens:before { + content: "color_lens"; } + +.ui-icon-colorize:before { + content: "colorize"; } + +.ui-icon-comment:before { + content: "comment"; } + +.ui-icon-compare:before { + content: "compare"; } + +.ui-icon-compare-arrows:before { + content: "compare_arrows"; } + +.ui-icon-computer:before { + content: "computer"; } + +.ui-icon-confirmation-number:before { + content: "confirmation_number"; } + +.ui-icon-contact-mail:before { + content: "contact_mail"; } + +.ui-icon-contact-phone:before { + content: "contact_phone"; } + +.ui-icon-contacts:before { + content: "contacts"; } + +.ui-icon-content-copy:before { + content: "content_copy"; } + +.ui-icon-content-cut:before { + content: "content_cut"; } + +.ui-icon-content-paste:before { + content: "content_paste"; } + +.ui-icon-control-point:before { + content: "control_point"; } + +.ui-icon-control-point-duplicate:before { + content: "control_point_duplicate"; } + +.ui-icon-copyright:before { + content: "copyright"; } + +.ui-icon-create:before { + content: "create"; } + +.ui-icon-create-new-folder:before { + content: "create_new_folder"; } + +.ui-icon-credit-card:before { + content: "credit_card"; } + +.ui-icon-crop:before { + content: "crop"; } + +.ui-icon-crop-16-9:before { + content: "crop_16_9"; } + +.ui-icon-crop-3-2:before { + content: "crop_3_2"; } + +.ui-icon-crop-5-4:before { + content: "crop_5_4"; } + +.ui-icon-crop-7-5:before { + content: "crop_7_5"; } + +.ui-icon-crop-din:before { + content: "crop_din"; } + +.ui-icon-crop-free:before { + content: "crop_free"; } + +.ui-icon-crop-landscape:before { + content: "crop_landscape"; } + +.ui-icon-crop-original:before { + content: "crop_original"; } + +.ui-icon-crop-portrait:before { + content: "crop_portrait"; } + +.ui-icon-crop-rotate:before { + content: "crop_rotate"; } + +.ui-icon-crop-square:before { + content: "crop_square"; } + +.ui-icon-dashboard:before { + content: "dashboard"; } + +.ui-icon-data-usage:before { + content: "data_usage"; } + +.ui-icon-date-range:before { + content: "date_range"; } + +.ui-icon-dehaze:before { + content: "dehaze"; } + +.ui-icon-delete:before { + content: "delete"; } + +.ui-icon-delete-forever:before { + content: "delete_forever"; } + +.ui-icon-delete-sweep:before { + content: "delete_sweep"; } + +.ui-icon-description:before { + content: "description"; } + +.ui-icon-desktop-mac:before { + content: "desktop_mac"; } + +.ui-icon-desktop-windows:before { + content: "desktop_windows"; } + +.ui-icon-details:before { + content: "details"; } + +.ui-icon-developer-board:before { + content: "developer_board"; } + +.ui-icon-developer-mode:before { + content: "developer_mode"; } + +.ui-icon-device-hub:before { + content: "device_hub"; } + +.ui-icon-devices:before { + content: "devices"; } + +.ui-icon-devices-other:before { + content: "devices_other"; } + +.ui-icon-dialer-sip:before { + content: "dialer_sip"; } + +.ui-icon-dialpad:before { + content: "dialpad"; } + +.ui-icon-directions:before { + content: "directions"; } + +.ui-icon-directions-bike:before { + content: "directions_bike"; } + +.ui-icon-directions-boat:before { + content: "directions_boat"; } + +.ui-icon-directions-bus:before { + content: "directions_bus"; } + +.ui-icon-directions-car:before { + content: "directions_car"; } + +.ui-icon-directions-railway:before { + content: "directions_railway"; } + +.ui-icon-directions-run:before { + content: "directions_run"; } + +.ui-icon-directions-subway:before { + content: "directions_subway"; } + +.ui-icon-directions-transit:before { + content: "directions_transit"; } + +.ui-icon-directions-walk:before { + content: "directions_walk"; } + +.ui-icon-disc-full:before { + content: "disc_full"; } + +.ui-icon-dns:before { + content: "dns"; } + +.ui-icon-do-not-disturb:before { + content: "do_not_disturb"; } + +.ui-icon-do-not-disturb-alt:before { + content: "do_not_disturb_alt"; } + +.ui-icon-do-not-disturb-off:before { + content: "do_not_disturb_off"; } + +.ui-icon-do-not-disturb-on:before { + content: "do_not_disturb_on"; } + +.ui-icon-dock:before { + content: "dock"; } + +.ui-icon-domain:before { + content: "domain"; } + +.ui-icon-done:before { + content: "done"; } + +.ui-icon-done-all:before { + content: "done_all"; } + +.ui-icon-donut-large:before { + content: "donut_large"; } + +.ui-icon-donut-small:before { + content: "donut_small"; } + +.ui-icon-drafts:before { + content: "drafts"; } + +.ui-icon-drag-handle:before { + content: "drag_handle"; } + +.ui-icon-drive-eta:before { + content: "drive_eta"; } + +.ui-icon-dvr:before { + content: "dvr"; } + +.ui-icon-edit:before { + content: "edit"; } + +.ui-icon-edit-location:before { + content: "edit_location"; } + +.ui-icon-eject:before { + content: "eject"; } + +.ui-icon-email:before { + content: "email"; } + +.ui-icon-enhanced-encryption:before { + content: "enhanced_encryption"; } + +.ui-icon-equalizer:before { + content: "equalizer"; } + +.ui-icon-error:before { + content: "error"; } + +.ui-icon-error-outline:before { + content: "error_outline"; } + +.ui-icon-euro-symbol:before { + content: "euro_symbol"; } + +.ui-icon-ev-station:before { + content: "ev_station"; } + +.ui-icon-event:before { + content: "event"; } + +.ui-icon-event-available:before { + content: "event_available"; } + +.ui-icon-event-busy:before { + content: "event_busy"; } + +.ui-icon-event-note:before { + content: "event_note"; } + +.ui-icon-event-seat:before { + content: "event_seat"; } + +.ui-icon-exit-to-app:before { + content: "exit_to_app"; } + +.ui-icon-expand-less:before { + content: "expand_less"; } + +.ui-icon-expand-more:before { + content: "expand_more"; } + +.ui-icon-explicit:before { + content: "explicit"; } + +.ui-icon-explore:before { + content: "explore"; } + +.ui-icon-exposure:before { + content: "exposure"; } + +.ui-icon-exposure-neg-1:before { + content: "exposure_neg_1"; } + +.ui-icon-exposure-neg-2:before { + content: "exposure_neg_2"; } + +.ui-icon-exposure-plus-1:before { + content: "exposure_plus_1"; } + +.ui-icon-exposure-plus-2:before { + content: "exposure_plus_2"; } + +.ui-icon-exposure-zero:before { + content: "exposure_zero"; } + +.ui-icon-extension:before { + content: "extension"; } + +.ui-icon-face:before { + content: "face"; } + +.ui-icon-fast-forward:before { + content: "fast_forward"; } + +.ui-icon-fast-rewind:before { + content: "fast_rewind"; } + +.ui-icon-favorite:before { + content: "favorite"; } + +.ui-icon-favorite-border:before { + content: "favorite_border"; } + +.ui-icon-featured-play-list:before { + content: "featured_play_list"; } + +.ui-icon-featured-video:before { + content: "featured_video"; } + +.ui-icon-feedback:before { + content: "feedback"; } + +.ui-icon-fiber-dvr:before { + content: "fiber_dvr"; } + +.ui-icon-fiber-manual-record:before { + content: "fiber_manual_record"; } + +.ui-icon-fiber-new:before { + content: "fiber_new"; } + +.ui-icon-fiber-pin:before { + content: "fiber_pin"; } + +.ui-icon-fiber-smart-record:before { + content: "fiber_smart_record"; } + +.ui-icon-file-download:before { + content: "file_download"; } + +.ui-icon-file-upload:before { + content: "file_upload"; } + +.ui-icon-filter:before { + content: "filter"; } + +.ui-icon-filter-1:before { + content: "filter_1"; } + +.ui-icon-filter-2:before { + content: "filter_2"; } + +.ui-icon-filter-3:before { + content: "filter_3"; } + +.ui-icon-filter-4:before { + content: "filter_4"; } + +.ui-icon-filter-5:before { + content: "filter_5"; } + +.ui-icon-filter-6:before { + content: "filter_6"; } + +.ui-icon-filter-7:before { + content: "filter_7"; } + +.ui-icon-filter-8:before { + content: "filter_8"; } + +.ui-icon-filter-9:before { + content: "filter_9"; } + +.ui-icon-filter-9-plus:before { + content: "filter_9_plus"; } + +.ui-icon-filter-b-and-w:before { + content: "filter_b_and_w"; } + +.ui-icon-filter-center-focus:before { + content: "filter_center_focus"; } + +.ui-icon-filter-drama:before { + content: "filter_drama"; } + +.ui-icon-filter-frames:before { + content: "filter_frames"; } + +.ui-icon-filter-hdr:before { + content: "filter_hdr"; } + +.ui-icon-filter-list:before { + content: "filter_list"; } + +.ui-icon-filter-none:before { + content: "filter_none"; } + +.ui-icon-filter-tilt-shift:before { + content: "filter_tilt_shift"; } + +.ui-icon-filter-vintage:before { + content: "filter_vintage"; } + +.ui-icon-find-in-page:before { + content: "find_in_page"; } + +.ui-icon-find-replace:before { + content: "find_replace"; } + +.ui-icon-fingerprint:before { + content: "fingerprint"; } + +.ui-icon-first-page:before { + content: "first_page"; } + +.ui-icon-fitness-center:before { + content: "fitness_center"; } + +.ui-icon-flag:before { + content: "flag"; } + +.ui-icon-flare:before { + content: "flare"; } + +.ui-icon-flash-auto:before { + content: "flash_auto"; } + +.ui-icon-flash-off:before { + content: "flash_off"; } + +.ui-icon-flash-on:before { + content: "flash_on"; } + +.ui-icon-flight:before { + content: "flight"; } + +.ui-icon-flight-land:before { + content: "flight_land"; } + +.ui-icon-flight-takeoff:before { + content: "flight_takeoff"; } + +.ui-icon-flip:before { + content: "flip"; } + +.ui-icon-flip-to-back:before { + content: "flip_to_back"; } + +.ui-icon-flip-to-front:before { + content: "flip_to_front"; } + +.ui-icon-folder:before { + content: "folder"; } + +.ui-icon-folder-open:before { + content: "folder_open"; } + +.ui-icon-folder-shared:before { + content: "folder_shared"; } + +.ui-icon-folder-special:before { + content: "folder_special"; } + +.ui-icon-font-download:before { + content: "font_download"; } + +.ui-icon-format-align-center:before { + content: "format_align_center"; } + +.ui-icon-format-align-justify:before { + content: "format_align_justify"; } + +.ui-icon-format-align-left:before { + content: "format_align_left"; } + +.ui-icon-format-align-right:before { + content: "format_align_right"; } + +.ui-icon-format-bold:before { + content: "format_bold"; } + +.ui-icon-format-clear:before { + content: "format_clear"; } + +.ui-icon-format-color-fill:before { + content: "format_color_fill"; } + +.ui-icon-format-color-reset:before { + content: "format_color_reset"; } + +.ui-icon-format-color-text:before { + content: "format_color_text"; } + +.ui-icon-format-indent-decrease:before { + content: "format_indent_decrease"; } + +.ui-icon-format-indent-increase:before { + content: "format_indent_increase"; } + +.ui-icon-format-italic:before { + content: "format_italic"; } + +.ui-icon-format-line-spacing:before { + content: "format_line_spacing"; } + +.ui-icon-format-list-bulleted:before { + content: "format_list_bulleted"; } + +.ui-icon-format-list-numbered:before { + content: "format_list_numbered"; } + +.ui-icon-format-paint:before { + content: "format_paint"; } + +.ui-icon-format-quote:before { + content: "format_quote"; } + +.ui-icon-format-shapes:before { + content: "format_shapes"; } + +.ui-icon-format-size:before { + content: "format_size"; } + +.ui-icon-format-strikethrough:before { + content: "format_strikethrough"; } + +.ui-icon-format-textdirection-l-to-r:before { + content: "format_textdirection_l_to_r"; } + +.ui-icon-format-textdirection-r-to-l:before { + content: "format_textdirection_r_to_l"; } + +.ui-icon-format-underlined:before { + content: "format_underlined"; } + +.ui-icon-forum:before { + content: "forum"; } + +.ui-icon-forward:before { + content: "forward"; } + +.ui-icon-forward-10:before { + content: "forward_10"; } + +.ui-icon-forward-30:before { + content: "forward_30"; } + +.ui-icon-forward-5:before { + content: "forward_5"; } + +.ui-icon-free-breakfast:before { + content: "free_breakfast"; } + +.ui-icon-fullscreen:before { + content: "fullscreen"; } + +.ui-icon-fullscreen-exit:before { + content: "fullscreen_exit"; } + +.ui-icon-functions:before { + content: "functions"; } + +.ui-icon-g-translate:before { + content: "g_translate"; } + +.ui-icon-gamepad:before { + content: "gamepad"; } + +.ui-icon-games:before { + content: "games"; } + +.ui-icon-gavel:before { + content: "gavel"; } + +.ui-icon-gesture:before { + content: "gesture"; } + +.ui-icon-get-app:before { + content: "get_app"; } + +.ui-icon-gif:before { + content: "gif"; } + +.ui-icon-golf-course:before { + content: "golf_course"; } + +.ui-icon-gps-fixed:before { + content: "gps_fixed"; } + +.ui-icon-gps-not-fixed:before { + content: "gps_not_fixed"; } + +.ui-icon-gps-off:before { + content: "gps_off"; } + +.ui-icon-grade:before { + content: "grade"; } + +.ui-icon-gradient:before { + content: "gradient"; } + +.ui-icon-grain:before { + content: "grain"; } + +.ui-icon-graphic-eq:before { + content: "graphic_eq"; } + +.ui-icon-grid-off:before { + content: "grid_off"; } + +.ui-icon-grid-on:before { + content: "grid_on"; } + +.ui-icon-group:before { + content: "group"; } + +.ui-icon-group-add:before { + content: "group_add"; } + +.ui-icon-group-work:before { + content: "group_work"; } + +.ui-icon-hd:before { + content: "hd"; } + +.ui-icon-hdr-off:before { + content: "hdr_off"; } + +.ui-icon-hdr-on:before { + content: "hdr_on"; } + +.ui-icon-hdr-strong:before { + content: "hdr_strong"; } + +.ui-icon-hdr-weak:before { + content: "hdr_weak"; } + +.ui-icon-headset:before { + content: "headset"; } + +.ui-icon-headset-mic:before { + content: "headset_mic"; } + +.ui-icon-healing:before { + content: "healing"; } + +.ui-icon-hearing:before { + content: "hearing"; } + +.ui-icon-help:before { + content: "help"; } + +.ui-icon-help-outline:before { + content: "help_outline"; } + +.ui-icon-high-quality:before { + content: "high_quality"; } + +.ui-icon-highlight:before { + content: "highlight"; } + +.ui-icon-highlight-off:before { + content: "highlight_off"; } + +.ui-icon-history:before { + content: "history"; } + +.ui-icon-home:before { + content: "home"; } + +.ui-icon-hot-tub:before { + content: "hot_tub"; } + +.ui-icon-hotel:before { + content: "hotel"; } + +.ui-icon-hourglass-empty:before { + content: "hourglass_empty"; } + +.ui-icon-hourglass-full:before { + content: "hourglass_full"; } + +.ui-icon-http:before { + content: "http"; } + +.ui-icon-https:before { + content: "https"; } + +.ui-icon-image:before { + content: "image"; } + +.ui-icon-image-aspect-ratio:before { + content: "image_aspect_ratio"; } + +.ui-icon-import-contacts:before { + content: "import_contacts"; } + +.ui-icon-import-export:before { + content: "import_export"; } + +.ui-icon-important-devices:before { + content: "important_devices"; } + +.ui-icon-inbox:before { + content: "inbox"; } + +.ui-icon-indeterminate-check-box:before { + content: "indeterminate_check_box"; } + +.ui-icon-info:before { + content: "info"; } + +.ui-icon-info-outline:before { + content: "info_outline"; } + +.ui-icon-input:before { + content: "input"; } + +.ui-icon-insert-chart:before { + content: "insert_chart"; } + +.ui-icon-insert-comment:before { + content: "insert_comment"; } + +.ui-icon-insert-drive-file:before { + content: "insert_drive_file"; } + +.ui-icon-insert-emoticon:before { + content: "insert_emoticon"; } + +.ui-icon-insert-invitation:before { + content: "insert_invitation"; } + +.ui-icon-insert-link:before { + content: "insert_link"; } + +.ui-icon-insert-photo:before { + content: "insert_photo"; } + +.ui-icon-invert-colors:before { + content: "invert_colors"; } + +.ui-icon-invert-colors-off:before { + content: "invert_colors_off"; } + +.ui-icon-iso:before { + content: "iso"; } + +.ui-icon-keyboard:before { + content: "keyboard"; } + +.ui-icon-keyboard-arrow-down:before { + content: "keyboard_arrow_down"; } + +.ui-icon-keyboard-arrow-left:before { + content: "keyboard_arrow_left"; } + +.ui-icon-keyboard-arrow-right:before { + content: "keyboard_arrow_right"; } + +.ui-icon-keyboard-arrow-up:before { + content: "keyboard_arrow_up"; } + +.ui-icon-keyboard-backspace:before { + content: "keyboard_backspace"; } + +.ui-icon-keyboard-capslock:before { + content: "keyboard_capslock"; } + +.ui-icon-keyboard-hide:before { + content: "keyboard_hide"; } + +.ui-icon-keyboard-return:before { + content: "keyboard_return"; } + +.ui-icon-keyboard-tab:before { + content: "keyboard_tab"; } + +.ui-icon-keyboard-voice:before { + content: "keyboard_voice"; } + +.ui-icon-kitchen:before { + content: "kitchen"; } + +.ui-icon-label:before { + content: "label"; } + +.ui-icon-label-outline:before { + content: "label_outline"; } + +.ui-icon-landscape:before { + content: "landscape"; } + +.ui-icon-language:before { + content: "language"; } + +.ui-icon-laptop:before { + content: "laptop"; } + +.ui-icon-laptop-chromebook:before { + content: "laptop_chromebook"; } + +.ui-icon-laptop-mac:before { + content: "laptop_mac"; } + +.ui-icon-laptop-windows:before { + content: "laptop_windows"; } + +.ui-icon-last-page:before { + content: "last_page"; } + +.ui-icon-launch:before { + content: "launch"; } + +.ui-icon-layers:before { + content: "layers"; } + +.ui-icon-layers-clear:before { + content: "layers_clear"; } + +.ui-icon-leak-add:before { + content: "leak_add"; } + +.ui-icon-leak-remove:before { + content: "leak_remove"; } + +.ui-icon-lens:before { + content: "lens"; } + +.ui-icon-library-add:before { + content: "library_add"; } + +.ui-icon-library-books:before { + content: "library_books"; } + +.ui-icon-library-music:before { + content: "library_music"; } + +.ui-icon-lightbulb-outline:before { + content: "lightbulb_outline"; } + +.ui-icon-line-style:before { + content: "line_style"; } + +.ui-icon-line-weight:before { + content: "line_weight"; } + +.ui-icon-linear-scale:before { + content: "linear_scale"; } + +.ui-icon-link:before { + content: "link"; } + +.ui-icon-linked-camera:before { + content: "linked_camera"; } + +.ui-icon-list:before { + content: "list"; } + +.ui-icon-live-help:before { + content: "live_help"; } + +.ui-icon-live-tv:before { + content: "live_tv"; } + +.ui-icon-local-activity:before { + content: "local_activity"; } + +.ui-icon-local-airport:before { + content: "local_airport"; } + +.ui-icon-local-atm:before { + content: "local_atm"; } + +.ui-icon-local-bar:before { + content: "local_bar"; } + +.ui-icon-local-cafe:before { + content: "local_cafe"; } + +.ui-icon-local-car-wash:before { + content: "local_car_wash"; } + +.ui-icon-local-convenience-store:before { + content: "local_convenience_store"; } + +.ui-icon-local-dining:before { + content: "local_dining"; } + +.ui-icon-local-drink:before { + content: "local_drink"; } + +.ui-icon-local-florist:before { + content: "local_florist"; } + +.ui-icon-local-gas-station:before { + content: "local_gas_station"; } + +.ui-icon-local-grocery-store:before { + content: "local_grocery_store"; } + +.ui-icon-local-hospital:before { + content: "local_hospital"; } + +.ui-icon-local-hotel:before { + content: "local_hotel"; } + +.ui-icon-local-laundry-service:before { + content: "local_laundry_service"; } + +.ui-icon-local-library:before { + content: "local_library"; } + +.ui-icon-local-mall:before { + content: "local_mall"; } + +.ui-icon-local-movies:before { + content: "local_movies"; } + +.ui-icon-local-offer:before { + content: "local_offer"; } + +.ui-icon-local-parking:before { + content: "local_parking"; } + +.ui-icon-local-pharmacy:before { + content: "local_pharmacy"; } + +.ui-icon-local-phone:before { + content: "local_phone"; } + +.ui-icon-local-pizza:before { + content: "local_pizza"; } + +.ui-icon-local-play:before { + content: "local_play"; } + +.ui-icon-local-post-office:before { + content: "local_post_office"; } + +.ui-icon-local-printshop:before { + content: "local_printshop"; } + +.ui-icon-local-see:before { + content: "local_see"; } + +.ui-icon-local-shipping:before { + content: "local_shipping"; } + +.ui-icon-local-taxi:before { + content: "local_taxi"; } + +.ui-icon-location-city:before { + content: "location_city"; } + +.ui-icon-location-disabled:before { + content: "location_disabled"; } + +.ui-icon-location-off:before { + content: "location_off"; } + +.ui-icon-location-on:before { + content: "location_on"; } + +.ui-icon-location-searching:before { + content: "location_searching"; } + +.ui-icon-lock:before { + content: "lock"; } + +.ui-icon-lock-open:before { + content: "lock_open"; } + +.ui-icon-lock-outline:before { + content: "lock_outline"; } + +.ui-icon-looks:before { + content: "looks"; } + +.ui-icon-looks-3:before { + content: "looks_3"; } + +.ui-icon-looks-4:before { + content: "looks_4"; } + +.ui-icon-looks-5:before { + content: "looks_5"; } + +.ui-icon-looks-6:before { + content: "looks_6"; } + +.ui-icon-looks-one:before { + content: "looks_one"; } + +.ui-icon-looks-two:before { + content: "looks_two"; } + +.ui-icon-loop:before { + content: "loop"; } + +.ui-icon-loupe:before { + content: "loupe"; } + +.ui-icon-low-priority:before { + content: "low_priority"; } + +.ui-icon-loyalty:before { + content: "loyalty"; } + +.ui-icon-mail:before { + content: "mail"; } + +.ui-icon-mail-outline:before { + content: "mail_outline"; } + +.ui-icon-map:before { + content: "map"; } + +.ui-icon-markunread:before { + content: "markunread"; } + +.ui-icon-markunread-mailbox:before { + content: "markunread_mailbox"; } + +.ui-icon-memory:before { + content: "memory"; } + +.ui-icon-menu:before { + content: "menu"; } + +.ui-icon-merge-type:before { + content: "merge_type"; } + +.ui-icon-message:before { + content: "message"; } + +.ui-icon-mic:before { + content: "mic"; } + +.ui-icon-mic-none:before { + content: "mic_none"; } + +.ui-icon-mic-off:before { + content: "mic_off"; } + +.ui-icon-mms:before { + content: "mms"; } + +.ui-icon-mode-comment:before { + content: "mode_comment"; } + +.ui-icon-mode-edit:before { + content: "mode_edit"; } + +.ui-icon-monetization-on:before { + content: "monetization_on"; } + +.ui-icon-money-off:before { + content: "money_off"; } + +.ui-icon-monochrome-photos:before { + content: "monochrome_photos"; } + +.ui-icon-mood:before { + content: "mood"; } + +.ui-icon-mood-bad:before { + content: "mood_bad"; } + +.ui-icon-more:before { + content: "more"; } + +.ui-icon-more-horiz:before { + content: "more_horiz"; } + +.ui-icon-more-vert:before { + content: "more_vert"; } + +.ui-icon-motorcycle:before { + content: "motorcycle"; } + +.ui-icon-mouse:before { + content: "mouse"; } + +.ui-icon-move-to-inbox:before { + content: "move_to_inbox"; } + +.ui-icon-movie:before { + content: "movie"; } + +.ui-icon-movie-creation:before { + content: "movie_creation"; } + +.ui-icon-movie-filter:before { + content: "movie_filter"; } + +.ui-icon-multiline-chart:before { + content: "multiline_chart"; } + +.ui-icon-music-note:before { + content: "music_note"; } + +.ui-icon-music-video:before { + content: "music_video"; } + +.ui-icon-my-location:before { + content: "my_location"; } + +.ui-icon-nature:before { + content: "nature"; } + +.ui-icon-nature-people:before { + content: "nature_people"; } + +.ui-icon-navigate-before:before { + content: "navigate_before"; } + +.ui-icon-navigate-next:before { + content: "navigate_next"; } + +.ui-icon-navigation:before { + content: "navigation"; } + +.ui-icon-near-me:before { + content: "near_me"; } + +.ui-icon-network-cell:before { + content: "network_cell"; } + +.ui-icon-network-check:before { + content: "network_check"; } + +.ui-icon-network-locked:before { + content: "network_locked"; } + +.ui-icon-network-wifi:before { + content: "network_wifi"; } + +.ui-icon-new-releases:before { + content: "new_releases"; } + +.ui-icon-next-week:before { + content: "next_week"; } + +.ui-icon-nfc:before { + content: "nfc"; } + +.ui-icon-no-encryption:before { + content: "no_encryption"; } + +.ui-icon-no-sim:before { + content: "no_sim"; } + +.ui-icon-not-interested:before { + content: "not_interested"; } + +.ui-icon-note:before { + content: "note"; } + +.ui-icon-note-add:before { + content: "note_add"; } + +.ui-icon-notifications:before { + content: "notifications"; } + +.ui-icon-notifications-active:before { + content: "notifications_active"; } + +.ui-icon-notifications-none:before { + content: "notifications_none"; } + +.ui-icon-notifications-off:before { + content: "notifications_off"; } + +.ui-icon-notifications-paused:before { + content: "notifications_paused"; } + +.ui-icon-offline-pin:before { + content: "offline_pin"; } + +.ui-icon-ondemand-video:before { + content: "ondemand_video"; } + +.ui-icon-opacity:before { + content: "opacity"; } + +.ui-icon-open-in-browser:before { + content: "open_in_browser"; } + +.ui-icon-open-in-new:before { + content: "open_in_new"; } + +.ui-icon-open-with:before { + content: "open_with"; } + +.ui-icon-pages:before { + content: "pages"; } + +.ui-icon-pageview:before { + content: "pageview"; } + +.ui-icon-palette:before { + content: "palette"; } + +.ui-icon-pan-tool:before { + content: "pan_tool"; } + +.ui-icon-panorama:before { + content: "panorama"; } + +.ui-icon-panorama-fish-eye:before { + content: "panorama_fish_eye"; } + +.ui-icon-panorama-horizontal:before { + content: "panorama_horizontal"; } + +.ui-icon-panorama-vertical:before { + content: "panorama_vertical"; } + +.ui-icon-panorama-wide-angle:before { + content: "panorama_wide_angle"; } + +.ui-icon-party-mode:before { + content: "party_mode"; } + +.ui-icon-pause:before { + content: "pause"; } + +.ui-icon-pause-circle-filled:before { + content: "pause_circle_filled"; } + +.ui-icon-pause-circle-outline:before { + content: "pause_circle_outline"; } + +.ui-icon-payment:before { + content: "payment"; } + +.ui-icon-people:before { + content: "people"; } + +.ui-icon-people-outline:before { + content: "people_outline"; } + +.ui-icon-perm-camera-mic:before { + content: "perm_camera_mic"; } + +.ui-icon-perm-contact-calendar:before { + content: "perm_contact_calendar"; } + +.ui-icon-perm-data-setting:before { + content: "perm_data_setting"; } + +.ui-icon-perm-device-information:before { + content: "perm_device_information"; } + +.ui-icon-perm-identity:before { + content: "perm_identity"; } + +.ui-icon-perm-media:before { + content: "perm_media"; } + +.ui-icon-perm-phone-msg:before { + content: "perm_phone_msg"; } + +.ui-icon-perm-scan-wifi:before { + content: "perm_scan_wifi"; } + +.ui-icon-person:before { + content: "person"; } + +.ui-icon-person-add:before { + content: "person_add"; } + +.ui-icon-person-outline:before { + content: "person_outline"; } + +.ui-icon-person-pin:before { + content: "person_pin"; } + +.ui-icon-person-pin-circle:before { + content: "person_pin_circle"; } + +.ui-icon-personal-video:before { + content: "personal_video"; } + +.ui-icon-pets:before { + content: "pets"; } + +.ui-icon-phone:before { + content: "phone"; } + +.ui-icon-phone-android:before { + content: "phone_android"; } + +.ui-icon-phone-bluetooth-speaker:before { + content: "phone_bluetooth_speaker"; } + +.ui-icon-phone-forwarded:before { + content: "phone_forwarded"; } + +.ui-icon-phone-in-talk:before { + content: "phone_in_talk"; } + +.ui-icon-phone-iphone:before { + content: "phone_iphone"; } + +.ui-icon-phone-locked:before { + content: "phone_locked"; } + +.ui-icon-phone-missed:before { + content: "phone_missed"; } + +.ui-icon-phone-paused:before { + content: "phone_paused"; } + +.ui-icon-phonelink:before { + content: "phonelink"; } + +.ui-icon-phonelink-erase:before { + content: "phonelink_erase"; } + +.ui-icon-phonelink-lock:before { + content: "phonelink_lock"; } + +.ui-icon-phonelink-off:before { + content: "phonelink_off"; } + +.ui-icon-phonelink-ring:before { + content: "phonelink_ring"; } + +.ui-icon-phonelink-setup:before { + content: "phonelink_setup"; } + +.ui-icon-photo:before { + content: "photo"; } + +.ui-icon-photo-album:before { + content: "photo_album"; } + +.ui-icon-photo-camera:before { + content: "photo_camera"; } + +.ui-icon-photo-filter:before { + content: "photo_filter"; } + +.ui-icon-photo-library:before { + content: "photo_library"; } + +.ui-icon-photo-size-select-actual:before { + content: "photo_size_select_actual"; } + +.ui-icon-photo-size-select-large:before { + content: "photo_size_select_large"; } + +.ui-icon-photo-size-select-small:before { + content: "photo_size_select_small"; } + +.ui-icon-picture-as-pdf:before { + content: "picture_as_pdf"; } + +.ui-icon-picture-in-picture:before { + content: "picture_in_picture"; } + +.ui-icon-picture-in-picture-alt:before { + content: "picture_in_picture_alt"; } + +.ui-icon-pie-chart:before { + content: "pie_chart"; } + +.ui-icon-pie-chart-outlined:before { + content: "pie_chart_outlined"; } + +.ui-icon-pin-drop:before { + content: "pin_drop"; } + +.ui-icon-place:before { + content: "place"; } + +.ui-icon-play-arrow:before { + content: "play_arrow"; } + +.ui-icon-play-circle-filled:before { + content: "play_circle_filled"; } + +.ui-icon-play-circle-outline:before { + content: "play_circle_outline"; } + +.ui-icon-play-for-work:before { + content: "play_for_work"; } + +.ui-icon-playlist-add:before { + content: "playlist_add"; } + +.ui-icon-playlist-add-check:before { + content: "playlist_add_check"; } + +.ui-icon-playlist-play:before { + content: "playlist_play"; } + +.ui-icon-plus-one:before { + content: "plus_one"; } + +.ui-icon-poll:before { + content: "poll"; } + +.ui-icon-polymer:before { + content: "polymer"; } + +.ui-icon-pool:before { + content: "pool"; } + +.ui-icon-portable-wifi-off:before { + content: "portable_wifi_off"; } + +.ui-icon-portrait:before { + content: "portrait"; } + +.ui-icon-power:before { + content: "power"; } + +.ui-icon-power-input:before { + content: "power_input"; } + +.ui-icon-power-settings-new:before { + content: "power_settings_new"; } + +.ui-icon-pregnant-woman:before { + content: "pregnant_woman"; } + +.ui-icon-present-to-all:before { + content: "present_to_all"; } + +.ui-icon-print:before { + content: "print"; } + +.ui-icon-priority-high:before { + content: "priority_high"; } + +.ui-icon-public:before { + content: "public"; } + +.ui-icon-publish:before { + content: "publish"; } + +.ui-icon-query-builder:before { + content: "query_builder"; } + +.ui-icon-question-answer:before { + content: "question_answer"; } + +.ui-icon-queue:before { + content: "queue"; } + +.ui-icon-queue-music:before { + content: "queue_music"; } + +.ui-icon-queue-play-next:before { + content: "queue_play_next"; } + +.ui-icon-radio:before { + content: "radio"; } + +.ui-icon-radio-button-checked:before { + content: "radio_button_checked"; } + +.ui-icon-radio-button-unchecked:before { + content: "radio_button_unchecked"; } + +.ui-icon-rate-review:before { + content: "rate_review"; } + +.ui-icon-receipt:before { + content: "receipt"; } + +.ui-icon-recent-actors:before { + content: "recent_actors"; } + +.ui-icon-record-voice-over:before { + content: "record_voice_over"; } + +.ui-icon-redeem:before { + content: "redeem"; } + +.ui-icon-redo:before { + content: "redo"; } + +.ui-icon-refresh:before { + content: "refresh"; } + +.ui-icon-remove:before { + content: "remove"; } + +.ui-icon-remove-circle:before { + content: "remove_circle"; } + +.ui-icon-remove-circle-outline:before { + content: "remove_circle_outline"; } + +.ui-icon-remove-from-queue:before { + content: "remove_from_queue"; } + +.ui-icon-remove-red-eye:before { + content: "remove_red_eye"; } + +.ui-icon-remove-shopping-cart:before { + content: "remove_shopping_cart"; } + +.ui-icon-reorder:before { + content: "reorder"; } + +.ui-icon-repeat:before { + content: "repeat"; } + +.ui-icon-repeat-one:before { + content: "repeat_one"; } + +.ui-icon-replay:before { + content: "replay"; } + +.ui-icon-replay-10:before { + content: "replay_10"; } + +.ui-icon-replay-30:before { + content: "replay_30"; } + +.ui-icon-replay-5:before { + content: "replay_5"; } + +.ui-icon-reply:before { + content: "reply"; } + +.ui-icon-reply-all:before { + content: "reply_all"; } + +.ui-icon-report:before { + content: "report"; } + +.ui-icon-report-problem:before { + content: "report_problem"; } + +.ui-icon-restaurant:before { + content: "restaurant"; } + +.ui-icon-restaurant-menu:before { + content: "restaurant_menu"; } + +.ui-icon-restore:before { + content: "restore"; } + +.ui-icon-restore-page:before { + content: "restore_page"; } + +.ui-icon-ring-volume:before { + content: "ring_volume"; } + +.ui-icon-room:before { + content: "room"; } + +.ui-icon-room-service:before { + content: "room_service"; } + +.ui-icon-rotate-90-degrees-ccw:before { + content: "rotate_90_degrees_ccw"; } + +.ui-icon-rotate-left:before { + content: "rotate_left"; } + +.ui-icon-rotate-right:before { + content: "rotate_right"; } + +.ui-icon-rounded-corner:before { + content: "rounded_corner"; } + +.ui-icon-router:before { + content: "router"; } + +.ui-icon-rowing:before { + content: "rowing"; } + +.ui-icon-rss-feed:before { + content: "rss_feed"; } + +.ui-icon-rv-hookup:before { + content: "rv_hookup"; } + +.ui-icon-satellite:before { + content: "satellite"; } + +.ui-icon-save:before { + content: "save"; } + +.ui-icon-scanner:before { + content: "scanner"; } + +.ui-icon-schedule:before { + content: "schedule"; } + +.ui-icon-school:before { + content: "school"; } + +.ui-icon-screen-lock-landscape:before { + content: "screen_lock_landscape"; } + +.ui-icon-screen-lock-portrait:before { + content: "screen_lock_portrait"; } + +.ui-icon-screen-lock-rotation:before { + content: "screen_lock_rotation"; } + +.ui-icon-screen-rotation:before { + content: "screen_rotation"; } + +.ui-icon-screen-share:before { + content: "screen_share"; } + +.ui-icon-sd-card:before { + content: "sd_card"; } + +.ui-icon-sd-storage:before { + content: "sd_storage"; } + +.ui-icon-search:before { + content: "search"; } + +.ui-icon-security:before { + content: "security"; } + +.ui-icon-select-all:before { + content: "select_all"; } + +.ui-icon-send:before { + content: "send"; } + +.ui-icon-sentiment-dissatisfied:before { + content: "sentiment_dissatisfied"; } + +.ui-icon-sentiment-neutral:before { + content: "sentiment_neutral"; } + +.ui-icon-sentiment-satisfied:before { + content: "sentiment_satisfied"; } + +.ui-icon-sentiment-very-dissatisfied:before { + content: "sentiment_very_dissatisfied"; } + +.ui-icon-sentiment-very-satisfied:before { + content: "sentiment_very_satisfied"; } + +.ui-icon-settings:before { + content: "settings"; } + +.ui-icon-settings-applications:before { + content: "settings_applications"; } + +.ui-icon-settings-backup-restore:before { + content: "settings_backup_restore"; } + +.ui-icon-settings-bluetooth:before { + content: "settings_bluetooth"; } + +.ui-icon-settings-brightness:before { + content: "settings_brightness"; } + +.ui-icon-settings-cell:before { + content: "settings_cell"; } + +.ui-icon-settings-ethernet:before { + content: "settings_ethernet"; } + +.ui-icon-settings-input-antenna:before { + content: "settings_input_antenna"; } + +.ui-icon-settings-input-component:before { + content: "settings_input_component"; } + +.ui-icon-settings-input-composite:before { + content: "settings_input_composite"; } + +.ui-icon-settings-input-hdmi:before { + content: "settings_input_hdmi"; } + +.ui-icon-settings-input-svideo:before { + content: "settings_input_svideo"; } + +.ui-icon-settings-overscan:before { + content: "settings_overscan"; } + +.ui-icon-settings-phone:before { + content: "settings_phone"; } + +.ui-icon-settings-power:before { + content: "settings_power"; } + +.ui-icon-settings-remote:before { + content: "settings_remote"; } + +.ui-icon-settings-system-daydream:before { + content: "settings_system_daydream"; } + +.ui-icon-settings-voice:before { + content: "settings_voice"; } + +.ui-icon-share:before { + content: "share"; } + +.ui-icon-shop:before { + content: "shop"; } + +.ui-icon-shop-two:before { + content: "shop_two"; } + +.ui-icon-shopping-basket:before { + content: "shopping_basket"; } + +.ui-icon-shopping-cart:before { + content: "shopping_cart"; } + +.ui-icon-short-text:before { + content: "short_text"; } + +.ui-icon-show-chart:before { + content: "show_chart"; } + +.ui-icon-shuffle:before { + content: "shuffle"; } + +.ui-icon-signal-cellular-4-bar:before { + content: "signal_cellular_4_bar"; } + +.ui-icon-signal-cellular-connected-no-internet-4-bar:before { + content: "signal_cellular_connected_no_internet_4_bar"; } + +.ui-icon-signal-cellular-no-sim:before { + content: "signal_cellular_no_sim"; } + +.ui-icon-signal-cellular-null:before { + content: "signal_cellular_null"; } + +.ui-icon-signal-cellular-off:before { + content: "signal_cellular_off"; } + +.ui-icon-signal-wifi-4-bar:before { + content: "signal_wifi_4_bar"; } + +.ui-icon-signal-wifi-4-bar-lock:before { + content: "signal_wifi_4_bar_lock"; } + +.ui-icon-signal-wifi-off:before { + content: "signal_wifi_off"; } + +.ui-icon-sim-card:before { + content: "sim_card"; } + +.ui-icon-sim-card-alert:before { + content: "sim_card_alert"; } + +.ui-icon-skip-next:before { + content: "skip_next"; } + +.ui-icon-skip-previous:before { + content: "skip_previous"; } + +.ui-icon-slideshow:before { + content: "slideshow"; } + +.ui-icon-slow-motion-video:before { + content: "slow_motion_video"; } + +.ui-icon-smartphone:before { + content: "smartphone"; } + +.ui-icon-smoke-free:before { + content: "smoke_free"; } + +.ui-icon-smoking-rooms:before { + content: "smoking_rooms"; } + +.ui-icon-sms:before { + content: "sms"; } + +.ui-icon-sms-failed:before { + content: "sms_failed"; } + +.ui-icon-snooze:before { + content: "snooze"; } + +.ui-icon-sort:before { + content: "sort"; } + +.ui-icon-sort-by-alpha:before { + content: "sort_by_alpha"; } + +.ui-icon-spa:before { + content: "spa"; } + +.ui-icon-space-bar:before { + content: "space_bar"; } + +.ui-icon-speaker:before { + content: "speaker"; } + +.ui-icon-speaker-group:before { + content: "speaker_group"; } + +.ui-icon-speaker-notes:before { + content: "speaker_notes"; } + +.ui-icon-speaker-notes-off:before { + content: "speaker_notes_off"; } + +.ui-icon-speaker-phone:before { + content: "speaker_phone"; } + +.ui-icon-spellcheck:before { + content: "spellcheck"; } + +.ui-icon-star:before { + content: "star"; } + +.ui-icon-star-border:before { + content: "star_border"; } + +.ui-icon-star-half:before { + content: "star_half"; } + +.ui-icon-stars:before { + content: "stars"; } + +.ui-icon-stay-current-landscape:before { + content: "stay_current_landscape"; } + +.ui-icon-stay-current-portrait:before { + content: "stay_current_portrait"; } + +.ui-icon-stay-primary-landscape:before { + content: "stay_primary_landscape"; } + +.ui-icon-stay-primary-portrait:before { + content: "stay_primary_portrait"; } + +.ui-icon-stop:before { + content: "stop"; } + +.ui-icon-stop-screen-share:before { + content: "stop_screen_share"; } + +.ui-icon-storage:before { + content: "storage"; } + +.ui-icon-store:before { + content: "store"; } + +.ui-icon-store-mall-directory:before { + content: "store_mall_directory"; } + +.ui-icon-straighten:before { + content: "straighten"; } + +.ui-icon-streetview:before { + content: "streetview"; } + +.ui-icon-strikethrough-s:before { + content: "strikethrough_s"; } + +.ui-icon-style:before { + content: "style"; } + +.ui-icon-subdirectory-arrow-left:before { + content: "subdirectory_arrow_left"; } + +.ui-icon-subdirectory-arrow-right:before { + content: "subdirectory_arrow_right"; } + +.ui-icon-subject:before { + content: "subject"; } + +.ui-icon-subscriptions:before { + content: "subscriptions"; } + +.ui-icon-subtitles:before { + content: "subtitles"; } + +.ui-icon-subway:before { + content: "subway"; } + +.ui-icon-supervisor-account:before { + content: "supervisor_account"; } + +.ui-icon-surround-sound:before { + content: "surround_sound"; } + +.ui-icon-swap-calls:before { + content: "swap_calls"; } + +.ui-icon-swap-horiz:before { + content: "swap_horiz"; } + +.ui-icon-swap-vert:before { + content: "swap_vert"; } + +.ui-icon-swap-vertical-circle:before { + content: "swap_vertical_circle"; } + +.ui-icon-switch-camera:before { + content: "switch_camera"; } + +.ui-icon-switch-video:before { + content: "switch_video"; } + +.ui-icon-sync:before { + content: "sync"; } + +.ui-icon-sync-disabled:before { + content: "sync_disabled"; } + +.ui-icon-sync-problem:before { + content: "sync_problem"; } + +.ui-icon-system-update:before { + content: "system_update"; } + +.ui-icon-system-update-alt:before { + content: "system_update_alt"; } + +.ui-icon-tab:before { + content: "tab"; } + +.ui-icon-tab-unselected:before { + content: "tab_unselected"; } + +.ui-icon-tablet:before { + content: "tablet"; } + +.ui-icon-tablet-android:before { + content: "tablet_android"; } + +.ui-icon-tablet-mac:before { + content: "tablet_mac"; } + +.ui-icon-tag-faces:before { + content: "tag_faces"; } + +.ui-icon-tap-and-play:before { + content: "tap_and_play"; } + +.ui-icon-terrain:before { + content: "terrain"; } + +.ui-icon-text-fields:before { + content: "text_fields"; } + +.ui-icon-text-format:before { + content: "text_format"; } + +.ui-icon-textsms:before { + content: "textsms"; } + +.ui-icon-texture:before { + content: "texture"; } + +.ui-icon-theaters:before { + content: "theaters"; } + +.ui-icon-thumb-down:before { + content: "thumb_down"; } + +.ui-icon-thumb-up:before { + content: "thumb_up"; } + +.ui-icon-thumbs-up-down:before { + content: "thumbs_up_down"; } + +.ui-icon-time-to-leave:before { + content: "time_to_leave"; } + +.ui-icon-timelapse:before { + content: "timelapse"; } + +.ui-icon-timeline:before { + content: "timeline"; } + +.ui-icon-timer:before { + content: "timer"; } + +.ui-icon-timer-10:before { + content: "timer_10"; } + +.ui-icon-timer-3:before { + content: "timer_3"; } + +.ui-icon-timer-off:before { + content: "timer_off"; } + +.ui-icon-title:before { + content: "title"; } + +.ui-icon-toc:before { + content: "toc"; } + +.ui-icon-today:before { + content: "today"; } + +.ui-icon-toll:before { + content: "toll"; } + +.ui-icon-tonality:before { + content: "tonality"; } + +.ui-icon-touch-app:before { + content: "touch_app"; } + +.ui-icon-toys:before { + content: "toys"; } + +.ui-icon-track-changes:before { + content: "track_changes"; } + +.ui-icon-traffic:before { + content: "traffic"; } + +.ui-icon-train:before { + content: "train"; } + +.ui-icon-tram:before { + content: "tram"; } + +.ui-icon-transfer-within-a-station:before { + content: "transfer_within_a_station"; } + +.ui-icon-transform:before { + content: "transform"; } + +.ui-icon-translate:before { + content: "translate"; } + +.ui-icon-trending-down:before { + content: "trending_down"; } + +.ui-icon-trending-flat:before { + content: "trending_flat"; } + +.ui-icon-trending-up:before { + content: "trending_up"; } + +.ui-icon-tune:before { + content: "tune"; } + +.ui-icon-turned-in:before { + content: "turned_in"; } + +.ui-icon-turned-in-not:before { + content: "turned_in_not"; } + +.ui-icon-tv:before { + content: "tv"; } + +.ui-icon-unarchive:before { + content: "unarchive"; } + +.ui-icon-undo:before { + content: "undo"; } + +.ui-icon-unfold-less:before { + content: "unfold_less"; } + +.ui-icon-unfold-more:before { + content: "unfold_more"; } + +.ui-icon-update:before { + content: "update"; } + +.ui-icon-usb:before { + content: "usb"; } + +.ui-icon-verified-user:before { + content: "verified_user"; } + +.ui-icon-vertical-align-bottom:before { + content: "vertical_align_bottom"; } + +.ui-icon-vertical-align-center:before { + content: "vertical_align_center"; } + +.ui-icon-vertical-align-top:before { + content: "vertical_align_top"; } + +.ui-icon-vibration:before { + content: "vibration"; } + +.ui-icon-video-call:before { + content: "video_call"; } + +.ui-icon-video-label:before { + content: "video_label"; } + +.ui-icon-video-library:before { + content: "video_library"; } + +.ui-icon-videocam:before { + content: "videocam"; } + +.ui-icon-videocam-off:before { + content: "videocam_off"; } + +.ui-icon-videogame-asset:before { + content: "videogame_asset"; } + +.ui-icon-view-agenda:before { + content: "view_agenda"; } + +.ui-icon-view-array:before { + content: "view_array"; } + +.ui-icon-view-carousel:before { + content: "view_carousel"; } + +.ui-icon-view-column:before { + content: "view_column"; } + +.ui-icon-view-comfy:before { + content: "view_comfy"; } + +.ui-icon-view-compact:before { + content: "view_compact"; } + +.ui-icon-view-day:before { + content: "view_day"; } + +.ui-icon-view-headline:before { + content: "view_headline"; } + +.ui-icon-view-list:before { + content: "view_list"; } + +.ui-icon-view-module:before { + content: "view_module"; } + +.ui-icon-view-quilt:before { + content: "view_quilt"; } + +.ui-icon-view-stream:before { + content: "view_stream"; } + +.ui-icon-view-week:before { + content: "view_week"; } + +.ui-icon-vignette:before { + content: "vignette"; } + +.ui-icon-visibility:before { + content: "visibility"; } + +.ui-icon-visibility-off:before { + content: "visibility_off"; } + +.ui-icon-voice-chat:before { + content: "voice_chat"; } + +.ui-icon-voicemail:before { + content: "voicemail"; } + +.ui-icon-volume-down:before { + content: "volume_down"; } + +.ui-icon-volume-mute:before { + content: "volume_mute"; } + +.ui-icon-volume-off:before { + content: "volume_off"; } + +.ui-icon-volume-up:before { + content: "volume_up"; } + +.ui-icon-vpn-key:before { + content: "vpn_key"; } + +.ui-icon-vpn-lock:before { + content: "vpn_lock"; } + +.ui-icon-wallpaper:before { + content: "wallpaper"; } + +.ui-icon-warning:before { + content: "warning"; } + +.ui-icon-watch:before { + content: "watch"; } + +.ui-icon-watch-later:before { + content: "watch_later"; } + +.ui-icon-wb-auto:before { + content: "wb_auto"; } + +.ui-icon-wb-cloudy:before { + content: "wb_cloudy"; } + +.ui-icon-wb-incandescent:before { + content: "wb_incandescent"; } + +.ui-icon-wb-iridescent:before { + content: "wb_iridescent"; } + +.ui-icon-wb-sunny:before { + content: "wb_sunny"; } + +.ui-icon-wc:before { + content: "wc"; } + +.ui-icon-web:before { + content: "web"; } + +.ui-icon-web-asset:before { + content: "web_asset"; } + +.ui-icon-weekend:before { + content: "weekend"; } + +.ui-icon-whatshot:before { + content: "whatshot"; } + +.ui-icon-widgets:before { + content: "widgets"; } + +.ui-icon-wifi:before { + content: "wifi"; } + +.ui-icon-wifi-lock:before { + content: "wifi_lock"; } + +.ui-icon-wifi-tethering:before { + content: "wifi_tethering"; } + +.ui-icon-work:before { + content: "work"; } + +.ui-icon-wrap-text:before { + content: "wrap_text"; } + +.ui-icon-youtube-searched-for:before { + content: "youtube_searched_for"; } + +.ui-icon-zoom-in:before { + content: "zoom_in"; } + +.ui-icon-zoom-out:before { + content: "zoom_out"; } + +.ui-icon-zoom-out-map:before { + content: "zoom_out_map"; } + +.material-icons, .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + +body .ui-widget, +body .ui-widget .ui-widget { + font-family: "Roboto","Helvetica Neue",sans-serif; + text-decoration: none; } +body .ui-widget-content { + background-color: #ffffff; + font-size: 1em; + border: 1px solid #bdbdbd; } + body .ui-widget-content .fa { + color: #757575; } +body .ui-widget-header { + background-color: #607D8B; + color: #ffffff; + font-size: 1em; + border: 1px solid #607D8B; } + body .ui-widget-header .fa { + color: #ffffff; } +body .ui-state-active, body .ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } + body .ui-state-active .fa, body .ui-state-highlight .fa { + color: #ffffff; } +body .ui-widget:disabled, +body .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; + cursor: auto !important; } +body .ui-corner-all { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } +body .ui-corner-top { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } +body .ui-corner-bottom { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-corner-left { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; } +body .ui-corner-right { + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-widget-overlay { + background-color: #58575c; + opacity: .8; } + +body { + /* InputGroup */ + /* Validation */ } + body .ui-inputtext { + background: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + font-size: 1em; + border-color: #bdbdbd; + border-style: solid; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + border-radius: 0px; } + body .ui-inputtext:focus, body .ui-inputtext.ui-state-focus { + border-width: 0 0 2px 0; + border-color: #607D8B; + padding-bottom: 0px; } + body .ui-inputtext:disabled { + border-bottom: 1px dotted; } + body .ui-inputtext.ui-widget-content { + border-width: 1px; } + body .ui-inputtext.ui-state-error { + border-color: #e62a10; } + body .md-inputfield { + display: block; + position: relative; } + body .md-inputfield label { + color: #999; + font-weight: normal; + position: absolute; + pointer-events: none; + left: 5px; + top: 1px; + transition: 0.3s ease all; + -moz-transition: 0.3s ease all; + -webkit-transition: 0.3s ease all; } + body .md-inputfield input:focus ~ label, + body .md-inputfield input.ui-state-filled ~ label, + body .md-inputfield .ui-inputwrapper-focus ~ label, + body .md-inputfield .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #607D8B; } + body .md-inputfield .input:-webkit-autofill ~ label { + top: -20px; + font-size: 12px; + color: #607D8B; } + body .md-inputfield input.ng-dirty.ng-invalid ~ label { + color: #e62a10; } + body .md-inputfield .ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .md-inputfield.md-inputfield-fill input { + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 4px; } + body .md-inputfield.md-inputfield-fill label { + top: 2px; } + body .md-inputfield.md-inputfield-fill input:focus ~ label, + body .md-inputfield.md-inputfield-fill input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #607D8B; } + body .md-inputfield.md-inputfield-box { + background-color: #f7f7f7; + height: 44px; } + body .md-inputfield.md-inputfield-box > *:not(label) { + bottom: 0px; + position: absolute; + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 24px; } + body .md-inputfield.md-inputfield-box > label { + top: 23px; } + body .md-inputfield.md-inputfield-box input:focus ~ label, + body .md-inputfield.md-inputfield-box input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-filled ~ label { + top: 1px; } + body .md-inputfield.md-inputfield-box .input:-webkit-autofill ~ label { + top: 1px; } + body .ui-material-message.ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .ui-material-message.ui-message.ui-messages-error label { + top: 4px; } + body .ui-listbox { + min-width: 12.5em; + background-color: #ffffff; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-listbox.ui-inputtext { + padding: 0; } + body .ui-listbox .ui-listbox-list { + padding: 0; } + body .ui-listbox .ui-listbox-item { + overflow: hidden; + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + color: #212121; + position: relative; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-listbox .ui-listbox-item.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } + body .ui-listbox:not(.ui-state-disabled) .ui-listbox-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-listbox .ui-listbox-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; } + body .ui-listbox .ui-listbox-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext { + color: #ffffff; + padding: 2px 2px 1px 2px; + padding-left: 1.5em; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext:focus { + padding-bottom: 0; + border-bottom-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .fa { + top: 0; + left: 0; } + body .ui-button, body .ui-datepicker-buttonpane > button { + overflow: hidden; + background-color: #607D8B; + color: #ffffff; + font-size: 1em; + height: 2.25em; + padding: 0 1em; + border: 0 none; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button:enabled:not(:focus):hover { + background-color: #37474F; } + body .ui-button:focus, body .ui-datepicker-buttonpane > button:focus { + outline: 0 none; + background-color: #7b96a3; } + body .ui-button .ui-button-text, body .ui-datepicker-buttonpane > button .ui-button-text { + padding: 0; + line-height: 2.25em; } + body .ui-button .fa, body .ui-datepicker-buttonpane > button .fa { + color: #ffffff; } + body .ui-button.ui-button-icon-only, body .ui-datepicker-buttonpane > button.ui-button-icon-only { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 2.5em; + height: 2.5em; } + body .ui-button.ui-button-icon-only .fa, body .ui-datepicker-buttonpane > button.ui-button-icon-only .fa { + margin-left: -.5em; } + body .ui-button.ui-button-text-icon-left, body .ui-datepicker-buttonpane > button.ui-button-text-icon-left { + padding-left: 2.5em; } + body .ui-button.ui-button-text-icon-right, body .ui-datepicker-buttonpane > button.ui-button-text-icon-right { + padding-right: 2.5em; } + body .ui-button.secondary, body .ui-button.ui-secondary-button, body .ui-datepicker-buttonpane > button.secondary, body .ui-datepicker-buttonpane > button.ui-secondary-button { + background-color: #8BC34A; + color: #ffffff; } + body .ui-button.secondary:enabled:not(:focus):hover, body .ui-button.ui-secondary-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.secondary:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-secondary-button:enabled:not(:focus):hover { + background-color: #558B2F; } + body .ui-button.secondary:focus, body .ui-button.ui-secondary-button:focus, body .ui-datepicker-buttonpane > button.secondary:focus, body .ui-datepicker-buttonpane > button.ui-secondary-button:focus { + outline: 0 none; + background-color: #a4d070; } + body .ui-button.blue-grey-btn, body .ui-datepicker-buttonpane > button.blue-grey-btn { + background-color: #607D8B; } + body .ui-button.blue-grey-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-grey-btn:enabled:not(:focus):hover { + background-color: #37474F; } + body .ui-button.blue-grey-btn:focus, body .ui-datepicker-buttonpane > button.blue-grey-btn:focus { + outline: 0 none; + background-color: #7b96a3; } + body .ui-button.cyan-btn, body .ui-datepicker-buttonpane > button.cyan-btn { + background-color: #00BCD4; } + body .ui-button.cyan-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.cyan-btn:enabled:not(:focus):hover { + background-color: #00838F; } + body .ui-button.cyan-btn:focus, body .ui-datepicker-buttonpane > button.cyan-btn:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button.teal-btn, body .ui-datepicker-buttonpane > button.teal-btn { + background-color: #009688; } + body .ui-button.teal-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.teal-btn:enabled:not(:focus):hover { + background-color: #00695C; } + body .ui-button.teal-btn:focus, body .ui-datepicker-buttonpane > button.teal-btn:focus { + outline: 0 none; + background-color: #00c9b6; } + body .ui-button.red-btn, body .ui-button.ui-danger-button, body .ui-datepicker-buttonpane > button.red-btn, body .ui-datepicker-buttonpane > button.ui-danger-button { + background-color: #F44336; } + body .ui-button.red-btn:enabled:not(:focus):hover, body .ui-button.ui-danger-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.red-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-danger-button:enabled:not(:focus):hover { + background-color: #C62828; } + body .ui-button.red-btn:focus, body .ui-button.ui-danger-button:focus, body .ui-datepicker-buttonpane > button.red-btn:focus, body .ui-datepicker-buttonpane > button.ui-danger-button:focus { + outline: 0 none; + background-color: #f77066; } + body .ui-button.green-btn, body .ui-button.ui-success-button, body .ui-datepicker-buttonpane > button.green-btn, body .ui-datepicker-buttonpane > button.ui-success-button { + background-color: #4CAF50; } + body .ui-button.green-btn:enabled:not(:focus):hover, body .ui-button.ui-success-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.green-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-success-button:enabled:not(:focus):hover { + background-color: #2E7D32; } + body .ui-button.green-btn:focus, body .ui-button.ui-success-button:focus, body .ui-datepicker-buttonpane > button.green-btn:focus, body .ui-datepicker-buttonpane > button.ui-success-button:focus { + outline: 0 none; + background-color: #6ec071; } + body .ui-button.deep-orange-btn, body .ui-datepicker-buttonpane > button.deep-orange-btn { + background-color: #FF5722; } + body .ui-button.deep-orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.deep-orange-btn:enabled:not(:focus):hover { + background-color: #D84315; } + body .ui-button.deep-orange-btn:focus, body .ui-datepicker-buttonpane > button.deep-orange-btn:focus { + outline: 0 none; + background-color: #ff7e55; } + body .ui-button.purple-btn, body .ui-datepicker-buttonpane > button.purple-btn { + background-color: #673AB7; } + body .ui-button.purple-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.purple-btn:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button.purple-btn:focus, body .ui-datepicker-buttonpane > button.purple-btn:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button.pink-btn, body .ui-datepicker-buttonpane > button.pink-btn { + background-color: #E91E63; } + body .ui-button.pink-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.pink-btn:enabled:not(:focus):hover { + background-color: #AD1457; } + body .ui-button.pink-btn:focus, body .ui-datepicker-buttonpane > button.pink-btn:focus { + outline: 0 none; + background-color: #ee4c83; } + body .ui-button.amber-btn, body .ui-button.ui-warning-button, body .ui-datepicker-buttonpane > button.amber-btn, body .ui-datepicker-buttonpane > button.ui-warning-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.amber-btn:enabled:not(:focus):hover, body .ui-button.ui-warning-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.amber-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-warning-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.amber-btn:focus, body .ui-button.ui-warning-button:focus, body .ui-datepicker-buttonpane > button.amber-btn:focus, body .ui-datepicker-buttonpane > button.ui-warning-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.orange-btn, body .ui-datepicker-buttonpane > button.orange-btn { + background-color: #FF9800; } + body .ui-button.orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.orange-btn:enabled:not(:focus):hover { + background-color: #EF6C00; } + body .ui-button.orange-btn:focus, body .ui-datepicker-buttonpane > button.orange-btn:focus { + outline: 0 none; + background-color: #ffad33; } + body .ui-button.brown-btn, body .ui-datepicker-buttonpane > button.brown-btn { + background-color: #795548; } + body .ui-button.brown-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.brown-btn:enabled:not(:focus):hover { + background-color: #4E342E; } + body .ui-button.brown-btn:focus, body .ui-datepicker-buttonpane > button.brown-btn:focus { + outline: 0 none; + background-color: #996b5b; } + body .ui-button.indigo-btn, body .ui-datepicker-buttonpane > button.indigo-btn { + background-color: #3F51B5; } + body .ui-button.indigo-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.indigo-btn:enabled:not(:focus):hover { + background-color: #283593; } + body .ui-button.indigo-btn:focus, body .ui-datepicker-buttonpane > button.indigo-btn:focus { + outline: 0 none; + background-color: #606fc7; } + body .ui-button.blue-btn, body .ui-button.ui-info-button, body .ui-datepicker-buttonpane > button.blue-btn, body .ui-datepicker-buttonpane > button.ui-info-button { + background-color: #03A9F4; + color: #ffffff; } + body .ui-button.blue-btn:enabled:not(:focus):hover, body .ui-button.ui-info-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-info-button:enabled:not(:focus):hover { + background-color: #0277BD; } + body .ui-button.blue-btn:focus, body .ui-button.ui-info-button:focus, body .ui-datepicker-buttonpane > button.blue-btn:focus, body .ui-datepicker-buttonpane > button.ui-info-button:focus { + outline: 0 none; + background-color: #2ebcfc; } + body .ui-button.flat, body .ui-datepicker-buttonpane > button.flat { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-buttonset .ui-button:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #37474F; } + body .ui-buttonset .ui-button.ui-state-active { + background-color: #8BC34A; + color: #ffffff; } + body .ui-togglebutton:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #37474F; } + body .ui-togglebutton.ui-state-active { + background-color: #8BC34A; + color: #ffffff; } + body .ui-splitbutton { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); } + body .ui-splitbutton > .ui-button { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-splitbutton > .ui-button:active { + background-color: #7b96a3; } + body .ui-splitbutton .ui-splitbutton-menubutton { + height: 2.25em; + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton .ui-menu { + min-width: 100%; } + body .ui-fluid .ui-splitbutton .ui-button:first-child { + width: calc(100% - 2em); } + body .ui-chkbox { + display: inline-block; + vertical-align: middle; + line-height: 1.25em; + width: 1.25em; + height: 1.25em; + cursor: default; } + body .ui-chkbox .ui-chkbox-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + font-size: 1.25em; + margin-left: -2px; + margin-top: -2px; } + body .ui-chkbox .ui-chkbox-box.ui-state-active { + border-color: #607D8B; + background-color: #607D8B; } + body .ui-chkbox .ui-chkbox-box.ui-state-focus { + border-color: #607D8B; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton { + position: relative; + margin: 0 .25em 0 0; + vertical-align: middle; } + body .ui-radiobutton .ui-radiobutton-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + -moz-transition: box-shadow 0.3s; + -o-transition: box-shadow 0.3s; + -webkit-transition: box-shadow 0.3s; + transition: box-shadow 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-focus { + border-color: #607D8B; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-active { + border-color: #607D8B; + background-color: transparent; } + body .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon { + display: block; + box-sizing: border-box; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-size: 1em; + transition: -webkit-transform ease .28s; + transition: transform ease .28s; + -webkit-transform: scale(0); + transform: scale(0); + margin: 0; } + body .ui-radiobutton .ui-radiobutton-box .fa-circle { + background-color: #607D8B; + -webkit-transform: scale(0.5); + transform: scale(0.5); } + body .ui-autocomplete-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-autocomplete-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-autocomplete-panel .ui-autocomplete-list { + padding: 0; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + font-size: 1em; + padding: 0.625em 0.875em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item .ui-autocomplete-query { + font-weight: 700; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item.ui-state-highlight { + color: #ffffff; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-group { + padding: 0.625em 0.875em; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only { + background-color: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + height: 1.5em; + width: 1.5em; + padding: 0; + right: 0; + bottom: 0; + margin-right: 0; + position: absolute; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .ui-button-text { + display: none; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .fa { + color: #757575; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-inputtext { + box-sizing: border-box; + padding: 2px 2px 1px 2px; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-focus { + padding-bottom: 0; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token { + float: none; + display: inline-block; + margin: 0 1px; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token .ui-autocomplete-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-dropdown { + top: .75em; } + body .ui-fluid .ui-autocomplete.ui-autocomplete-dd > .ui-inputtext { + width: 100%; } + body .ui-dropdown { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-dropdown .ui-dropdown-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: 0; + margin-right: 0; } + body .ui-dropdown .ui-dropdown-trigger .fa { + color: #757575; + margin-top: 0; + margin-left: 0; } + body .ui-dropdown .ui-dropdown-label.ui-inputtext { + font: 1em "Roboto", "Helvetica Neue", sans-serif; } + body .ui-dropdown.ui-state-focus { + border-bottom: 2px solid #607D8B; } + body .ui-dropdown.ui-state-focus .ui-dropdown-label { + padding-bottom: 0; } + body .ui-dropdown-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-list { + padding: 0; } + body .ui-dropdown-panel .ui-dropdown-item { + margin: 0; + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-item:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-dropdown-panel .ui-dropdown-item.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } + body .ui-dropdown-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-dropdown-panel .ui-dropdown-filter-container { + display: block; + border-bottom: 1px solid #bdbdbd; + background-color: #607D8B; + padding: 0.625em 1em; } + body .ui-dropdown-panel .ui-dropdown-filter-container input { + color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container input:focus { + border-bottom-color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container .fa { + top: .325em; + right: .75em; + color: #ffffff; } + body .ui-multiselect { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-multiselect .ui-multiselect-label-container { + padding-right: 1.5em; } + body .ui-multiselect .ui-multiselect-label-container .ui-multiselect-label { + padding: 0px 2px 0px 2px; } + body .ui-multiselect .ui-multiselect-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: .063em; } + body .ui-multiselect .ui-multiselect-trigger .fa { + color: #757575; + margin-top: auto; + margin-left: auto; } + body .ui-multiselect.ui-state-focus { + border-bottom: 2px solid #607D8B; } + body .ui-multiselect-panel.ui-widget { + padding: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + min-width: 12.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; + position: relative; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox { + float: none; + margin: 0 .5em 0 -.125em; + position: static; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-focus { + background-color: #B0BEC5; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container { + width: 70%; + display: inline-block; + vertical-align: middle; + float: none; + margin-left: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .fa { + top: 0; + left: 0; + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext { + color: #ffffff; + padding-left: 1.5em; + width: 100%; + box-sizing: border-box; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext:focus { + border-bottom-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close { + position: absolute; + right: .5em; + top: .625em; + height: 1.5em; + width: 1.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close span { + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close:hover { + background-color: #B0BEC5; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item { + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item.ui-state-highlight { + color: #ffffff; } + body .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; + padding: 0; + margin-right: .25em; + background-color: transparent; + color: #212121; + z-index: auto; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-n { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-s { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa { + top: 0px; + height: .5em; + color: #757575; } + body .ui-spinner .ui-spinner-button:enabled:hover, body .ui-spinner .ui-spinner-button:active { + background-color: transparent; } + body .ui-spinner .ui-spinner-up .fa { + top: .25em; } + body .ui-spinner .ui-spinner-down .fa { + top: .167em; } + body .ui-spinner .ui-spinner-input { + padding-right: 30px; } + body .ui-fluid .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; } + body .ui-fluid .ui-spinner .ui-spinner-button .fa { + left: auto; } + body .ui-inputswitch { + height: 14px; + width: 34px !important; + overflow: visible; + background-color: #9e9e9e; + border-color: #9e9e9e; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; } + body .ui-inputswitch .ui-inputswitch-handle { + top: -4px; + background-color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + width: 20px !important; + height: 20px !important; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; } + body .ui-inputswitch .ui-inputswitch-on { + visibility: hidden; } + body .ui-inputswitch .ui-inputswitch-off span, body .ui-inputswitch .ui-inputswitch-on span { + visibility: hidden; } + body .ui-inputswitch.ui-inputswitch-checked { + background-color: #C5E1A5; + border-color: #C5E1A5; } + body .ui-inputswitch.ui-inputswitch-checked .ui-inputswitch-handle { + background-color: #8BC34A; + color: #ffffff; } + body .ui-slider .ui-slider-handle { + background-color: #8BC34A; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 1.25em; + height: 1.25em; + transform: scale(0.7); + -moz-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -o-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + body .ui-slider .ui-slider-handle.ui-state-focus { + transform: scale(1); } + body .ui-slider .ui-slider-handle:focus { + outline: 0 none; } + body .ui-slider.ui-slider-horizontal { + height: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-horizontal .ui-slider-handle { + top: -.55em; } + body .ui-slider.ui-slider-vertical { + width: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-vertical .ui-slider-handle { + left: -.55em; } + body .ui-slider .ui-slider-range { + background-color: #8BC34A; + color: #ffffff; } + body .ui-slider:not(.ui-state-disabled) .ui-slider-handle:hover { + transform: scale(1); } + body .ui-calendar .ui-datepicker-trigger { + bottom: 2px; + right: 0; + background-color: transparent; + color: #212121; + height: 1.5em; + width: 1.5em; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-calendar .ui-datepicker-trigger .fa { + color: #757575; } + body .ui-calendar .ui-datepicker-trigger:enabled:hover { + background-color: transparent; } + body .ui-fluid .ui-calendar.ui-calendar-w-btn .ui-inputtext { + width: 100%; } + body .ui-datepicker { + padding: 0; + width: 17.5em; } + body .ui-datepicker.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-datepicker .ui-datepicker-header { + padding: 0.625em 1em; + font-size: 1em; + background: #37474F; + border-color: #37474F; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + cursor: pointer; + top: .4em; + left: .2em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before { + content: "keyboard_arrow_left"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover { + background-color: #B0BEC5; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next { + cursor: pointer; + top: .4em; + right: .2em; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before { + content: "keyboard_arrow_right"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover { + background-color: #B0BEC5; } + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-month, + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-year { + font-size: 14px; } + body .ui-datepicker table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; + font-size: 14px; } + body .ui-datepicker thead tr { + color: #ffffff; + background: #607D8B; } + body .ui-datepicker tbody td { + padding: .25em .125em; + box-sizing: border-box; } + body .ui-datepicker tbody td.ui-datepicker-today a { + color: #ffffff; + background: #99aeb8; } + body .ui-datepicker tbody td.ui-datepicker-today a.ui-state-active { + color: #ffffff; + background-color: #8BC34A; + color: #ffffff; } + body .ui-datepicker tbody td a { + padding: .25em; + margin: 0; + text-align: center; + color: #212121; + display: inline-block; + height: 2.250em; + width: 2.250em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + line-height: 1.8em; } + body .ui-datepicker tbody td a.ui-state-active { + color: #ffffff; + background-color: #8BC34A; + color: #ffffff; } + body .ui-datepicker tbody td a:not(.ui-state-active):not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datepicker tbody td a span { + display: inline; + padding: 0; + text-align: center; } + body .ui-datepicker .ui-timepicker { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-datepicker .ui-timepicker > div a { + height: 1.5em; } + body .ui-datepicker .ui-timepicker > div a > span { + display: inline-block; + margin-bottom: .25em; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up:before { + content: "keyboard_arrow_up"; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down:before { + content: "keyboard_arrow_down"; } + body #ui-datepicker-div { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-rating { + min-height: 1.5em; } + body .ui-rating .fa-ban { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-ban:before { + content: "cancel"; } + body .ui-rating .fa-star { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star:before { + content: "star"; } + body .ui-rating .fa-star-o { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star-o:before { + content: "star_border"; } + body .ui-chips > ul.ui-inputtext { + padding: 2px 2px 1px 2px; } + body .ui-chips > ul.ui-inputtext.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-chips > ul.ui-inputtext.ui-state-focus { + padding-bottom: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token { + padding-bottom: 2px; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token input:disabled { + width: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-chips > ul.ui-inputtext .ui-chips-token .ui-chips-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-password-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-fileupload .ui-fileupload-buttonbar { + padding: 0.625em 1em; } + body .ui-fileupload .ui-fileupload-buttonbar .fa-arrowreturnthick-1-n:before { + content: "file_upload"; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button { + background-color: #8BC34A; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button:enabled:hover { + background-color: #558B2F; } + body .ui-fileupload .ui-fileupload-content .ui-messages-error .fa { + color: #ffffff; } + body .ui-fileupload-choose:not(.ui-state-disabled):hover.ui-button, + body .ui-fileupload-choose.ui-state-focus.ui-button { + background-color: #7eb73d; } + body .ui-fileupload-choose:not(.ui-state-disabled):active.ui-button { + background-color: #71a436; } + body .ui-editor-container .ui-editor-toolbar { + background-color: #e8e8e8; } + body .ui-editor-container .ql-picker.ql-expanded .ql-picker-label { + color: #444444; } + body .ui-inputgroup .ui-inputgroup-addon { + border-width: 0 0 1px 0; + border-color: #bdbdbd; + color: #757575; + padding: 2px 2px 1px 2px; + align-self: flex-end; } + body .ui-inputgroup .ui-inputgroup-addon > i { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-self: flex-end; } + body .ui-inputgroup .ui-inputtext { + align-self: flex-end; } + body .ui-inputgroup .md-inputfield { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + display: inherit; } + body .ui-inputgroup .md-inputfield label { + top: 5px; } + body .ui-inputgroup .ui-chkbox, body .ui-inputgroup .ui-radiobutton { + margin-bottom: .125em; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only { + width: 1.643em; + height: 1.643em; + padding: 0; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only .ui-button-icon-left { + margin-left: -.45em; } + body .ui-inputtext.ng-dirty.ng-invalid, + body p-dropdown.ng-dirty.ng-invalid > .ui-dropdown, + body p-autocomplete.ng-dirty.ng-invalid > .ui-autocomplete > .ui-inputtext, + body p-calendar.ng-dirty.ng-invalid > .ui-inputtext, + body p-inputmask.ng-dirty.ng-invalid > .ui-inputtext, + body p-checkbox.ng-dirty.ng-invalid .ui-chkbox-box, + body p-radiobutton.ng-dirty.ng-invalid .ui-radiobutton-box, + body p-inputswitch.ng-dirty.ng-invalid .ui-inputswitch, + body p-listbox.ng-dirty.ng-invalid .ui-inputtext, + body p-multiselect.ng-dirty.ng-invalid > .ui-multiselect, + body p-spinner.ng-dirty.ng-invalid > .ui-inputtext, + body p-selectbutton.ng-dirty.ng-invalid .ui-button, + body p-togglebutton.ng-dirty.ng-invalid .ui-button { + border-bottom-color: #e62a10; } + +@media (max-width: 640px) { + body .ui-buttonset > .ui-button { + display: block; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-buttonset > .ui-button:first-child { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } + body .ui-buttonset > .ui-button:last-child { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton > .ui-button { + display: inline-block; } + body .ui-splitbutton > .ui-button:first-child { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; } + body .ui-splitbutton > .ui-button:last-child { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } } +body .ui-panel { + padding: 0; } + body .ui-panel .ui-panel-titlebar { + border: 0 none; + border-bottom: 1px solid #607D8B; + padding: 0.625em 1em; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-panel .ui-panel-titlebar .ui-panel-title { + line-height: 1.5em; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon { + position: relative; + width: 1.5em; + height: 1.5em; + color: #ffffff; + margin: 0; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon:hover { + background-color: #B0BEC5; } + body .ui-panel .ui-panel-content { + height: 100%; + box-sizing: border-box; + padding: 0.625em 1em; } + body .ui-panel .ui-panel-footer { + padding: 0.625em 1em; + border: 0 none; + border-top: 1px solid #bdbdbd; + margin: 0; } +body .ui-fieldset { + padding: 0.625em 1em; } + body .ui-fieldset .ui-fieldset-legend { + padding: 0.625em 1em; + padding-left: .125em; + padding-right: .5em; + color: #607D8B; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler { + padding: .5em; + height: 2em; + width: 2em; + background-color: #607D8B; + color: #ffffff; + font-size: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + margin-right: .5em; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler:hover { + background-color: #37474F; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-legend-text { + color: #607D8B; } + body .ui-fieldset .ui-fieldset-legend.ui-state-focus { + background-color: transparent; } +body .ui-accordion .ui-accordion-header { + background-color: #607D8B; + padding: 0; + color: #ffffff; + font-size: 1em; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-accordion .ui-accordion-header > a { + padding: 0.625em 1em; + color: #ffffff; } + body .ui-accordion .ui-accordion-header > a .ui-accordion-toggle-icon, + body .ui-accordion .ui-accordion-header > a .ui-accordion-header-text { + vertical-align: middle; } + body .ui-accordion .ui-accordion-header:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #37474F; } + body .ui-accordion .ui-accordion-header.ui-state-active { + background-color: #8BC34A; + color: #ffffff; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-accordion .ui-accordion-header.ui-state-active > a { + color: #ffffff; } +body .ui-accordion .ui-accordion-content { + padding: 0.625em 1em; + line-height: 1.5em; } +body .ui-toolbar { + background-color: #37474F; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + padding: .625em; } +body .ui-tabview { + padding: 0; } + body .ui-tabview .ui-tabview-nav { + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabview .ui-tabview-nav > li { + padding: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabview .ui-tabview-nav > li > a { + padding: 0.625em 1em; } + body .ui-tabview .ui-tabview-nav > li > a:focus { + outline: 0 none; } + body .ui-tabview .ui-tabview-nav > li > .fa-close { + margin: .325em 0 0 0; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + color: #757575; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-left-icon, body .ui-tabview .ui-tabview-nav > li .ui-tabview-right-icon { + color: #757575; + display: inline-block; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-title { + line-height: 1.5em; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li.ui-state-default a { + color: #757575; } + body .ui-tabview .ui-tabview-nav > li:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #ffffff; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active { + background-color: #ffffff; + border-color: #8BC34A; + border-style: solid; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active a { + color: #607D8B; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active > .fa-close { + color: #8BC34A; } + body .ui-tabview .ui-tabview-nav > li.ui-tabview-outline { + outline: 0 none; + border-color: #C5E1A5; } + body .ui-tabview .ui-tabview-panel { + padding: 0.625em 1em; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav > li { + border-style: solid; + border-width: 0 0 2px 0; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav > li { + border-width: 2px 0 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + border-right: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 2px 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav { + padding: 0; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 0 0 2px; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li.ui-state-active > a { + padding-left: 0.875em; } + +@media (max-width: 640px) { + body .ui-toolbar .ui-toolbar-group-right { + margin-top: 1em; } } +body .ui-picklist .ui-picklist-caption { + font-size: 1em; + padding: 0.625em 1em; } +body .ui-picklist .ui-picklist-list { + padding: 0; } +body .ui-picklist .ui-picklist-filter-container .fa { + left: 0.3em; } +body .ui-picklist .ui-picklist-filter-container .ui-picklist-filter { + text-indent: 1.5em; } +body .ui-picklist li.ui-picklist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-picklist li.ui-picklist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-picklist li.ui-picklist-item.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } +body .ui-picklist .ui-picklist-buttons { + width: 3em; } + body .ui-picklist .ui-picklist-buttons .ui-button.ui-button-icon-only { + width: 2.5em; + margin-right: 0; + display: inline-block; + margin-bottom: .5em; } +body .ui-picklist .ui-picklist-buttons-cell { + text-align: center; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + margin: 0 auto; + display: block; + margin-bottom: .5em; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox { + margin-right: .5em; + vertical-align: top; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox, body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox * { + box-sizing: content-box; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-organizationchart-selectable-node:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-state-highlight .ui-node-toggler i { + color: #496a23; } +body .ui-organizationchart .ui-organizationchart-line-down { + background-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-left { + border-right: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-top { + border-top: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content { + border-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler { + bottom: -1.3em; + margin-left: -.75em; + color: #bdbdbd; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down:before { + content: "keyboard_arrow_down"; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up:before { + content: "keyboard_arrow_up"; } +body .ui-orderlist .ui-orderlist-caption { + font-size: 1em; + padding: 0.625em 1em; + box-sizing: border-box; } +body .ui-orderlist .ui-orderlist-list { + padding: 0; + box-sizing: border-box; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } +body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 3.75em; } +body .ui-orderlist .ui-orderlist-controls { + width: 3.75em; + text-align: center; } + body .ui-orderlist .ui-orderlist-controls .ui-button.ui-button-icon-only { + width: 2.5em; + margin-bottom: .5em; + margin-right: 0; } +body .ui-paginator { + background-color: #37474F; + padding: 0.625em 1em; } + body .ui-paginator > a { + box-sizing: border-box; + color: #ffffff; } + body .ui-paginator > a .fa { + display: none; } + body .ui-paginator > a:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #B0BEC5; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-next { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-next:before { + content: "navigate_next"; } + body .ui-paginator .ui-paginator-last { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-last:before { + content: "last_page"; } + body .ui-paginator .ui-paginator-prev { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-prev:before { + content: "navigate_before"; } + body .ui-paginator .ui-paginator-first { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-first:before { + content: "first_page"; } + body .ui-paginator .ui-paginator-pages { + vertical-align: middle; + margin: 0 .375em 0 .375em; } + body .ui-paginator .ui-paginator-pages a { + padding: 0; + color: #ffffff; + min-width: 1.5em; + min-height: 1.5em; + line-height: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-pages a:not(.ui-state-active):hover { + background-color: #B0BEC5; } + body .ui-paginator .ui-paginator-pages a.ui-state-active { + background-color: #8BC34A; + color: #ffffff; } +body .ui-datagrid .ui-datagrid-header { + padding: 0.625em 1em; } +body .ui-datagrid .ui-panel .ui-panel-titlebar { + background-color: #ffffff; + color: #212121; + border-color: #bdbdbd; } +body .ui-datalist .ui-datalist-header { + padding: 0.625em 1em; } +body .ui-table .ui-table-caption, +body .ui-table .ui-table-summary { + padding: 0.625em 1em; + text-align: center; + font-weight: normal; } +body .ui-table .ui-table-caption { + border-bottom: 0 none; } +body .ui-table .ui-table-summary { + border-top: 0 none; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tbody > tr > td, +body .ui-table .ui-table-tfoot > tr > td { + padding: 0.625em 1em; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tfoot > tr > td { + font-weight: 400; + background-color: #ffffff; + border: 1px solid #cacaca; } +body .ui-table .ui-sortable-column:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-table .ui-sortable-column.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; + border-top-color: #8BC34A; } + body .ui-table .ui-sortable-column.ui-state-highlight .fa { + color: #ffffff; } +body .ui-table .ui-sortable-column .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } +body .ui-table .ui-table-tbody > tr { + background: #ffffff; } + body .ui-table .ui-table-tbody > tr > td { + background: inherit; + border: 1px solid #cacaca; } + body .ui-table .ui-table-tbody > tr.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr.ui-contextmenu-selected { + background-color: #8BC34A; + color: #ffffff; } +body .ui-table .ui-table-tbody > tr:nth-child(odd) { + background-color: #f4f4f4; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-contextmenu-selected { + background-color: #8BC34A; + color: #ffffff; } +body .ui-table.ui-table-hoverable-rows .ui-table-tbody > tr:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable .ui-datatable-header, +body .ui-datatable .ui-datatable-footer { + padding: 0.625em 1em; } + body .ui-datatable .ui-datatable-header .ui-inputtext, + body .ui-datatable .ui-datatable-footer .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-header .ui-inputtext:focus, + body .ui-datatable .ui-datatable-footer .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-paginator { + padding: 0.625em 1em; } +body .ui-datatable .ui-datatable-thead > tr { + border-color: #cacaca; } + body .ui-datatable .ui-datatable-thead > tr th { + padding: .625em .875em; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-sortable-column:not(.ui-state-active):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datatable .ui-datatable-thead > tr th .ui-column-title { + display: inline-block; + vertical-align: middle; } + body .ui-datatable .ui-datatable-thead > tr th .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; + border-top-color: #8BC34A; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .fa, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .fa { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext.ui-state-focus, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext.ui-state-focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-selection-column .ui-chkbox-box { + box-sizing: content-box; } +body .ui-datatable tfoot th { + padding: .625em .875em; + border: 1px solid #bdbdbd; + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-datatable-even { + background-color: #f4f4f4; } + body .ui-datatable .ui-datatable-data tr.ui-datatable-even.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr { + border: 1px solid #cacaca; } + body .ui-datatable .ui-datatable-data tr td { + padding: .625em .875em; } + body .ui-datatable .ui-datatable-data tr td .ui-row-toggler { + display: inherit; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td input.ui-cell-editor { + padding: 2px 2px 1px 2px; + font-size: 1em; } + body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-chkbox-box, body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-radiobutton-box { + box-sizing: content-box; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight { + background-color: #8BC34A; + border-color:   #8BC34A; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr .ui-cell-editor-input input { + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext, + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext.ui-state-error { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box .ui-radiobutton-icon { + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box { + border-color: #ffffff; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box .ui-chkbox-icon { + color: #757575; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-rowgroup-header td a { + height: 1.5em; + vertical-align: top; + display: inline-block; } +body .ui-datatable .ui-datatable-data.ui-datatable-hoverable-rows > tr.ui-widget-content:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer { + border: 0 none; + background-color: transparent; } + body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header .ui-datatable-data td, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer .ui-datatable-data td { + color: #212121; } +body .ui-datatable.ui-datatable-scrollable thead tr th { + color: #212121; + font-size: 16px; } +body .ui-datatable.ui-datatable-scrollable tfoot tr td { + color: #212121; + font-size: 16px; } +body .ui-datatable .ui-datatable-loading { + opacity: 0.3; + filter: alpha(opacity=30); } +body .ui-datatable .ui-datatable-loading-content { + top: 35%; } + body .ui-datatable .ui-datatable-loading-content .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-animation-delay: 0; + -webkit-animation-duration: 1000ms; + -webkit-animation-name: spin; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-delay: 0; + -moz-animation-duration: 1000ms; + -moz-animation-name: spin; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + animation-delay: 0; + animation-duration: 1000ms; + animation-name: spin; + animation-iteration-count: infinite; + animation-timing-function: linear; + font-size: 2em; } + body .ui-datatable .ui-datatable-loading-content .fa:before { + content: "refresh"; } +body .ui-carousel { + padding: 0; } + body .ui-carousel .ui-carousel-header { + padding: 0.625em 1em; + font-size: 1em; + overflow: visible; } + body .ui-carousel .ui-carousel-header .ui-carousel-header-title { + overflow: visible; } + body .ui-carousel .ui-carousel-header .fa { + color: #ffffff; } + body .ui-carousel .ui-carousel-header .ui-carousel-button { + margin: -1px 0 0 0; } + body .ui-carousel .ui-carousel-header .ui-carousel-page-links { + margin: -1px 0 0 0; } +body .ui-tree { + padding: 0.625em 1em/2; } + body .ui-tree .ui-treenode-children { + padding-left: 1.75em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin-right: .5em; } + body .ui-tree .ui-treenode-content .ui-chkbox .fa { + color: #757575; } + body .ui-tree .ui-treenode-content .ui-tree-toggler { + vertical-align: middle; + margin: 0 0 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-icon { + vertical-align: middle; + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-label { + margin: 0; + vertical-align: middle; } + body .ui-tree .ui-treenode-content.ui-treenode-selectable .ui-treenode-label:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal { + padding-left: 0; + padding-right: 0; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content { + background-color: #ffffff; + border: 1px solid #bdbdbd; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-tree-toggler { + vertical-align: top; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-treenode-icon { + vertical-align: top; + margin-right: .25em; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-treenode-selectable:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } +body .ui-tree-draghelper { + border: 1px solid #607D8B; } +body .fc .fc-toolbar .ui-icon-circle-triangle-e { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-icon-circle-triangle-w { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-state-active { + background-color: #8BC34A; } +body .fc .fc-event { + background-color: #B0BEC5; + color: #ffffff; } +body .fc table { + box-sizing: border-box; } +body .ui-treetable .ui-treetable-header { + padding: 0.625em 1em; + font-size: 1em; } +body .ui-treetable thead tr { + border-bottom: 1px solid #bdbdbd; } + body .ui-treetable thead tr th { + background-color: #ffffff; + padding: .625em .875em; + border: 0 none; } + body .ui-treetable thead tr th .fa { + color: #757575; } + body .ui-treetable thead tr th:first-child { + border-left: 1px solid #bdbdbd; } + body .ui-treetable thead tr th:last-child { + border-right: 1px solid #bdbdbd; } + body .ui-treetable thead tr th .ui-sortable-column-icon { + vertical-align: middle; + margin: -.25em 0 0 0; } + body .ui-treetable thead tr th.ui-state-active { + background-color: #8BC34A; + color: #ffffff; } + body .ui-treetable thead tr th.ui-state-active .fa { + color: #ffffff; } + body .ui-treetable thead tr th .ui-column-resizer { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1em; + color: #757575; } + body .ui-treetable thead tr th .ui-column-resizer:before { + content: "code"; } +body .ui-treetable tfoot td { + border: 0 none; + padding: .625em .875em; } +body .ui-treetable tbody .ui-treetable-row { + background-color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row td { + border: 0 none; + padding: .625em .875em; } + body .ui-treetable tbody .ui-treetable-row td .ui-treetable-toggler { + display: inline-block; + vertical-align: middle; + margin: 0 .167em; + float: none; } + body .ui-treetable tbody .ui-treetable-row td .ui-chkbox { + margin-right: .5em; } + body .ui-treetable tbody .ui-treetable-row td.ui-treetable-child-table-container { + padding: 0; } + body .ui-treetable tbody .ui-treetable-row.ui-treetable-row-selectable:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } +body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-header, body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-footer { + background-color: transparent; + border: 0 none; } +body .ui-treetable.ui-treetable-scrollable thead th { + background-color: #ffffff; + color: #212121; } + +@media (max-width: 40em) { + body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 100%; } } +@media (max-width: 640px) { + body .ui-picklist.ui-picklist-responsive .ui-picklist-list-wrapper { + margin-bottom: .5em; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons { + padding: .5em 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + display: inline-block; + margin-right: .25em; + margin-bottom: 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right:before { + content: "skip_previous"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left:before { + content: "skip_next"; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls { + text-align: center; + width: auto; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button { + margin-right: .25em; } } +body .ui-breadcrumb { + padding: 0.625em 1em; } + body .ui-breadcrumb ul li a { + color: #ffffff; + font-size: 1em; } +body .ui-steps { + position: relative; } + body .ui-steps .ui-steps-item { + background-color: transparent; } + body .ui-steps .ui-steps-item.ui-state-disabled { + opacity: 1; + filter: alpha(opacity=100); } + body .ui-steps .ui-steps-item .ui-menuitem-link { + display: inline-block; + text-align: left; + background-color: #ffffff; + overflow: hidden; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number { + display: inline-block; + background-color: #757575; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: .25em .75em; + font-size: 1em; + color: #ffffff; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: inline; + margin-left: .625em; + color: #757575; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-number { + background-color: #8BC34A; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-title { + font-weight: 700; + color: #212121; } + body .ui-steps .ui-steps-item:last-child .ui-menuitem-link { + display: block; } + body .ui-steps:before { + content: ' '; + border: 1px solid #bdbdbd; + width: 90%; + top: 45%; + left: 0; + display: block; + position: absolute; } +body .ui-menu .ui-menuitem-link, +body .ui-menubar .ui-menuitem-link, +body .ui-tieredmenu .ui-menuitem-link, +body .ui-contextmenu .ui-menuitem-link, +body .ui-megamenu .ui-menuitem-link, +body .ui-slidemenu .ui-menuitem-link { + padding: .625em 1em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-menu .ui-menuitem-link:hover, + body .ui-menubar .ui-menuitem-link:hover, + body .ui-tieredmenu .ui-menuitem-link:hover, + body .ui-contextmenu .ui-menuitem-link:hover, + body .ui-megamenu .ui-menuitem-link:hover, + body .ui-slidemenu .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link:focus, + body .ui-menubar .ui-menuitem-link:focus, + body .ui-tieredmenu .ui-menuitem-link:focus, + body .ui-contextmenu .ui-menuitem-link:focus, + body .ui-megamenu .ui-menuitem-link:focus, + body .ui-slidemenu .ui-menuitem-link:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link .ui-menuitem-text, + body .ui-menubar .ui-menuitem-link .ui-menuitem-text, + body .ui-tieredmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-contextmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-megamenu .ui-menuitem-link .ui-menuitem-text, + body .ui-slidemenu .ui-menuitem-link .ui-menuitem-text { + vertical-align: middle; } +body .ui-menubar .ui-submenu-list, body .ui-contextmenu .ui-submenu-list, +body .ui-slidemenu .ui-submenu-list, body .ui-tieredmenu .ui-submenu-list { + padding: .5em 0; } + body .ui-menubar .ui-submenu-list .ui-menuitem, body .ui-contextmenu .ui-submenu-list .ui-menuitem, + body .ui-slidemenu .ui-submenu-list .ui-menuitem, body .ui-tieredmenu .ui-submenu-list .ui-menuitem { + margin: 0; } +body .ui-menu { + width: 100%; + padding: .5em 0; } + body .ui-menu .ui-menuitem { + margin: 0; } + body .ui-menu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menu.ui-shadow, body .ui-menu .ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-menu .ui-submenu-header { + border: 0 none; + margin: 0; + padding: .625em 1em; + border-radius: 0; } +body .ui-menubar { + padding: 0; } + body .ui-menubar .ui-menubar-root-list > .ui-menuitem > .ui-menuitem-link { + padding: .625em 1em; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } +body .ui-contextmenu { + padding: .5em 0; } + body .ui-contextmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-contextmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-slidemenu { + padding: .5em 0; } + body .ui-slidemenu .ui-menuitem { + margin: 0; } + body .ui-slidemenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-slidemenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-slidemenu .ui-slidemenu-backward { + margin-bottom: .4em; + padding: 0.625em 1em; + width: 100%; + background-color: #607D8B; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border: 0 none; } + body .ui-slidemenu .ui-slidemenu-backward:hover { + background-color: #4b626d; } +body .ui-tieredmenu { + padding: .5em 0; } + body .ui-tieredmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-tieredmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-tabmenu { + padding: 0; } + body .ui-tabmenu .ui-tabmenu-nav { + padding: 0; + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem { + top: auto; + margin: 0 .25em 0 0; + padding: 0; + border-style: solid; + border-width: 0 0 2px 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a { + padding: 0.625em 1em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a:focus { + outline: 0 none; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon, body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-text { + float: none; + display: inline-block; + vertical-align: middle; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon { + font-weight: 1em; + margin-right: .25em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a .fa { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem:not(.ui-state-active):hover { + background-color: #ffffff; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active { + background-color: #ffffff; + border-color: #8BC34A; + border-style: solid; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a { + color: #607D8B; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a .fa { + color: #607D8B; } +body .ui-megamenu { + padding: 0; } + body .ui-megamenu .ui-megamenu-submenu-header { + border-radius: 0; + padding: .5em; } + body .ui-megamenu .ui-submenu-list { + padding: 0; + border: 0 none; } + body .ui-megamenu .ui-submenu-list .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-panelmenu .ui-panelmenu-header { + background-color: #607D8B; + margin-bottom: 1px; } + body .ui-panelmenu .ui-panelmenu-header a { + padding: .625em 1em; + color: #ffffff; + font-size: 16px; + border-bottom: 1px solid #ffffff; } + body .ui-panelmenu .ui-panelmenu-header .fa { + color: #ffffff; + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header .ui-menuitem-text { + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active { + background-color: #8BC34A; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + margin-bottom: 0; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active a, body .ui-panelmenu .ui-panelmenu-header.ui-state-active .fa { + color: #ffffff; } +body .ui-panelmenu .ui-panelmenu-content { + padding: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem { + margin: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link { + border: 0 none; + padding: .625em 1em; + width: 100%; + min-height: 2.750em; + box-sizing: border-box; + color: #212121; + line-height: 1.5em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + position: relative; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .ui-menuitem-text { + display: inline-block; + vertical-align: middle; + float: none; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .fa { + position: static; + display: inline-block; + vertical-align: middle; } +body .ui-panelmenu .ui-menu-parent .ui-menu-list { + margin-left: 28px; } + +@media (max-width: 640px) { + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: none; } } +body { + /* Messages */ } + body .ui-messages { + padding: 0.625em 1em; } + body .ui-messages ul { + display: inline-block; + margin-left: 0; } + body .ui-messages.ui-messages-info { + background-color: #2196F3; + border-color: #2196F3; + color: #ffffff; } + body .ui-messages.ui-messages-warn { + background-color: #ffc107; + border-color: #ffc107; + color: #ffffff; } + body .ui-messages.ui-messages-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-messages.ui-messages-fatal { + background-color: #212121; + border-color: #212121; + color: #ffffff; } + body .ui-messages.ui-messages-success { + background-color: #8BC34A; + border-color: #8BC34A; + color: #ffffff; } + body .ui-messages .ui-messages-close { + text-decoration: none; + color: #fff; + right: .25em; } + body .ui-messages .ui-messages-icon { + background: none; + color: #fff; + margin-top: -2px; } + body .ui-messages .ui-messages-icon.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-info-circle:before { + content: "info"; } + body .ui-messages .ui-messages-icon.fa-warning { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-warning:before { + content: "warning"; } + body .ui-messages .ui-messages-icon.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-close:before { + content: "error_outline"; } + body .ui-messages .ui-messages-icon.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-check:before { + content: "check_circle"; } + body .ui-growl { + top: 90px; } + body .ui-growl > .ui-growl-item-container { + opacity: 1; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-info { + background-color: #2196F3; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-warn { + background-color: #ffc107; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-error { + background-color: #e62a10; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-fatal { + background-color: #212121; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-success { + background-color: #8BC34A; } + body .ui-growl > .ui-growl-item-container.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + body .ui-growl .ui-growl-item .ui-growl-image { + background: none; + color: #ffffff; + font-size: 36px; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle:before { + content: "info"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle:before { + content: "warning"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close:before { + content: "error_outline"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check:before { + content: "check_circle"; } + body .ui-growl .ui-growl-item .ui-growl-message { + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 24px; + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close:before { + content: "close"; } + +body .ui-dialog.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-dialog .ui-dialog-titlebar { + background-color: #ffffff; + color: #212121; + padding: 0.625em 1em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-title { + font-size: 1.25em; + letter-spacing: .005em; + margin-top: .25em; + line-height: 2em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon { + border: 0 none; + padding: 0; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + height: 1.5em; + width: 1.5em; + text-align: center; + margin-top: .5em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:hover, body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa { + color: #757575; + display: inline-block; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-extlink:before { + content: "fullscreen"; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-newwin:before { + content: "fullscreen_exit"; } +body .ui-dialog .ui-dialog-content { + padding: 0.625em 1em; } +body .ui-dialog .ui-dialog-footer { + text-align: right; + border: 0 none; + border-top: 1px solid #bdbdbd; } + body .ui-dialog .ui-dialog-footer .ui-button { + background-color: #ffffff; + color: #212121; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: auto; } + body .ui-dialog .ui-dialog-footer .ui-button .fa { + color: #757575; } + body .ui-dialog .ui-dialog-footer .ui-button:hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-dialog .ui-confirm-dialog-severity { + margin: 0px .75em; } +body .ui-lightbox.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-lightbox .ui-lightbox-caption { + padding: 0.625em 1em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-caption-text { + margin: 0; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + padding: 0; + margin: 0; + width: 1.5em; + height: 1.5em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close:hover { + background-color: #B0BEC5; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } +body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left { + top: 40%; } + body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right .fa, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left .fa { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 3em; + color: #B0BEC5; } +body .ui-overlaypanel.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-overlaypanel .ui-overlaypanel-close { + background-color: #8BC34A; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + right: -16px; + top: -16px; + width: 2em; + height: 2em; + line-height: 2em; + text-align: center; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-overlaypanel .ui-overlaypanel-close span { + color: #ffffff; + line-height: inherit; } + body .ui-overlaypanel .ui-overlaypanel-close:hover { + background-color: #558B2F; } +body .ui-tooltip { + opacity: 0.9; + filter: alpha(opacity=90); } + body .ui-tooltip .ui-tooltip-text { + background-color: #323232; } + body .ui-tooltip.ui-tooltip-top .ui-tooltip-arrow { + border-top-color: #323232; } + body .ui-tooltip.ui-tooltip-bottom .ui-tooltip-arrow { + border-bottom-color: #323232; } + body .ui-tooltip.ui-tooltip-left .ui-tooltip-arrow { + border-left-color: #323232; } + body .ui-tooltip.ui-tooltip-right .ui-tooltip-arrow { + border-right-color: #323232; } + +body .ui-draggable-dragging.ui-state-default { + padding: 0.625em 1em !important; + background-color: #607D8B; } +body .jqplot-target { + font-family: "Roboto","Helvetica Neue",sans-serif; } +body .ui-progressbar { + height: .5em; + background-color: #B0BEC5; + overflow: hidden; + border: 0 none; } + body .ui-progressbar .ui-progressbar-value { + height: .5em; } + body .ui-progressbar .ui-progressbar-label { + color: #ffffff; + display: none !important; } +body .ui-galleria .ui-galleria-nav-prev { + left: 0; } +body .ui-galleria .ui-galleria-nav-next { + right: 0; } +body .ui-inplace .ui-inplace-display { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-inplace .ui-inplace-display:hover { + background-color: #e8e8e8; } +body .ui-terminal .ui-terminal-input { + font-size: 16px; } diff --git a/src/assets/theme/theme-blue-grey.scss b/src/assets/theme/theme-blue-grey.scss new file mode 100644 index 0000000..e7eea00 --- /dev/null +++ b/src/assets/theme/theme-blue-grey.scss @@ -0,0 +1,9 @@ +$primaryColor: #607D8B; +$primaryDarkColor: #37474F; +$primaryLightColor: #B0BEC5; +$accentColor: #8BC34A; +$accentDarkColor: #558B2F; +$accentLightColor: #C5E1A5; +$accentTextColor: #ffffff; + +@import '../sass/theme/_theme'; \ No newline at end of file diff --git a/src/assets/theme/theme-blue.css b/src/assets/theme/theme-blue.css new file mode 100644 index 0000000..847419e --- /dev/null +++ b/src/assets/theme/theme-blue.css @@ -0,0 +1,6153 @@ +@charset "UTF-8"; +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +.fa-sort:before { + content: "sort"; } + +.fa-sort-asc:before { + content: "keyboard_arrow_up"; } + +.fa-sort-desc:before { + content: "keyboard_arrow_down"; } + +.fa-angle-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-up:before { + content: "play_arrow"; } + +.fa-angle-double-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-up:before { + content: "skip_next"; } + +.fa-angle-down { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .fa-angle-down:before { + content: "play_arrow"; } + +.fa-angle-double-down { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-down:before { + content: "skip_previous"; } + +.fa-angle-right:before { + content: "play_arrow"; } + +.fa-angle-double-right:before { + content: "fast_forward"; } + +.fa-angle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-angle-left:before { + content: "play_arrow"; } + +.fa-angle-double-left:before { + content: "fast_rewind"; } + +.fa-check:before { + content: "check"; } + +.fa-caret-up:before { + content: "keyboard_arrow_up"; } + +.fa-caret-down:before { + content: "keyboard_arrow_down"; } + +.fa-caret-right:before { + content: "keyboard_arrow_right"; } + +.fa-caret-left:before { + content: "keyboard_arrow_left"; } + +.fa-search:before { + content: "search"; } + +.fa-close:before { + content: "close"; } + +.fa-minus:before { + content: "remove"; } + +.fa-plus:before { + content: "add"; } + +.fa-check:before { + content: "check"; } + +.fa-info-circle:before { + content: "info"; } + +.fa-upload:before { + content: "file_upload"; } + +.fa-chevron-circle-left:before { + content: "keyboard_arrow_left"; } + +.fa-chevron-circle-right:before { + content: "keyboard_arrow_right"; } + +.fa-chevron-circle-down:before { + content: "keyboard_arrow_down"; } + +.fa-chevron-circle-up:before { + content: "keyboard_arrow_up"; } + +.fa-home:before { + content: "home"; } + +.fa-chevron-right:before { + content: "chevron_right"; } + +.fa-chevron-left:before { + content: "chevron_left"; } + +.fa-circle-o:before { + content: "radio_button_unchecked"; } + +.fa-dot-circle-o:before { + content: "radio_button_checked"; } + +.fa-arrow-circle-right:before { + content: "play_circle_outline"; } + +.fa-arrow-circle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-arrow-circle-left:before { + content: "play_circle_outline"; } + +.fa-calendar:before { + content: "date_range"; } + +.fa-arrow-down:before { + content: "arrow_downward"; } + +.fa-arrow-up:before { + content: "arrow_upward"; } + +.ui-icon-carat-2-n-s:before { + content: "sort"; } + +.ui-icon-triangle-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-triangle-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-triangle-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-triangle-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-carat-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-carat-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-carat-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-carat-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-arrow-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrow-1-n:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-n:before { + content: "skip_next"; } + +.ui-icon-arrow-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrow-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-s { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-s:before { + content: "skip_previous"; } + +.ui-icon-arrow-1-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-arrow-1-w:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-w:before { + content: "fast_rewind"; } + +.ui-icon-arrow-1-e:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-e:before { + content: "fast_forward"; } + +.ui-icon-arrowthick-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrowthick-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowthick-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowthick-1-n:before { + content: "play_arrow"; } + +.ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-circle-triangle-s:before { + content: "play_circle_outline"; } + +.ui-icon-radio-off:before { + content: "radio_button_unchecked"; } + +.ui-icon-radio-on:before { + content: "radio_button_checked"; } + +.ui-icon-folder-collapsed:before { + content: "folder"; } + +.ui-icon-document:before { + content: "content_paste"; } + +.ui-icon-video:before { + content: "movie"; } + +.ui-icon-music:before { + content: "music_note"; } + +.ui-icon-plus:before { + content: "add"; } + +.ui-icon-minus:before { + content: "remove"; } + +.ui-icon-plusthick:before { + content: "add"; } + +.ui-icon-minusthick:before { + content: "remove"; } + +.ui-icon-pencil:before { + content: "edit"; } + +.ui-icon-closethick:before { + content: "close"; } + +.ui-icon-circle-close:before { + content: "cancel"; } + +.ui-icon-gear:before { + content: "settings"; } + +.ui-icon-calendar:before { + content: "date_range"; } + +.ui-icon-trash:before { + content: "delete_forever"; } + +.ui-icon-notice:before { + content: "error_outline"; } + +.ui-icon-alert:before { + content: "warning"; } + +.ui-icon-circle-zoomin:before { + content: "zoom_in"; } + +.ui-icon-circle-zoomout:before { + content: "zoom_out"; } + +.ui-icon-circle-arrow-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-arrow-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-arrow-w:before { + content: "play_circle_outline"; } + +.ui-icon-3d-rotation:before { + content: "3d_rotation"; } + +.ui-icon-ac-unit:before { + content: "ac_unit"; } + +.ui-icon-access-alarm:before { + content: "access_alarm"; } + +.ui-icon-access-alarms:before { + content: "access_alarms"; } + +.ui-icon-access-time:before { + content: "access_time"; } + +.ui-icon-accessibility:before { + content: "accessibility"; } + +.ui-icon-accessible:before { + content: "accessible"; } + +.ui-icon-account-balance:before { + content: "account_balance"; } + +.ui-icon-account-balance-wallet:before { + content: "account_balance_wallet"; } + +.ui-icon-account-box:before { + content: "account_box"; } + +.ui-icon-account-circle:before { + content: "account_circle"; } + +.ui-icon-add:before { + content: "add"; } + +.ui-icon-add-a-photo:before { + content: "add_a_photo"; } + +.ui-icon-add-alarm:before { + content: "add_alarm"; } + +.ui-icon-add-alert:before { + content: "add_alert"; } + +.ui-icon-add-box:before { + content: "add_box"; } + +.ui-icon-add-circle:before { + content: "add_circle"; } + +.ui-icon-add-circle-outline:before { + content: "add_circle_outline"; } + +.ui-icon-add-location:before { + content: "add_location"; } + +.ui-icon-add-shopping-cart:before { + content: "add_shopping_cart"; } + +.ui-icon-add-to-photos:before { + content: "add_to_photos"; } + +.ui-icon-add-to-queue:before { + content: "add_to_queue"; } + +.ui-icon-adjust:before { + content: "adjust"; } + +.ui-icon-airline-seat-flat:before { + content: "airline_seat_flat"; } + +.ui-icon-airline-seat-flat-angled:before { + content: "airline_seat_flat_angled"; } + +.ui-icon-airline-seat-individual-suite:before { + content: "airline_seat_individual_suite"; } + +.ui-icon-airline-seat-legroom-extra:before { + content: "airline_seat_legroom_extra"; } + +.ui-icon-airline-seat-legroom-normal:before { + content: "airline_seat_legroom_normal"; } + +.ui-icon-airline-seat-legroom-reduced:before { + content: "airline_seat_legroom_reduced"; } + +.ui-icon-airline-seat-recline-extra:before { + content: "airline_seat_recline_extra"; } + +.ui-icon-airline-seat-recline-normal:before { + content: "airline_seat_recline_normal"; } + +.ui-icon-airplanemode-active:before { + content: "airplanemode_active"; } + +.ui-icon-airplanemode-inactive:before { + content: "airplanemode_inactive"; } + +.ui-icon-airplay:before { + content: "airplay"; } + +.ui-icon-airport-shuttle:before { + content: "airport_shuttle"; } + +.ui-icon-alarm:before { + content: "alarm"; } + +.ui-icon-alarm-add:before { + content: "alarm_add"; } + +.ui-icon-alarm-off:before { + content: "alarm_off"; } + +.ui-icon-alarm-on:before { + content: "alarm_on"; } + +.ui-icon-album:before { + content: "album"; } + +.ui-icon-all-inclusive:before { + content: "all_inclusive"; } + +.ui-icon-all-out:before { + content: "all_out"; } + +.ui-icon-android:before { + content: "android"; } + +.ui-icon-announcement:before { + content: "announcement"; } + +.ui-icon-apps:before { + content: "apps"; } + +.ui-icon-archive:before { + content: "archive"; } + +.ui-icon-arrow-back:before { + content: "arrow_back"; } + +.ui-icon-arrow-downward:before { + content: "arrow_downward"; } + +.ui-icon-arrow-drop-down:before { + content: "arrow_drop_down"; } + +.ui-icon-arrow-drop-down-circle:before { + content: "arrow_drop_down_circle"; } + +.ui-icon-arrow-drop-up:before { + content: "arrow_drop_up"; } + +.ui-icon-arrow-forward:before { + content: "arrow_forward"; } + +.ui-icon-arrow-upward:before { + content: "arrow_upward"; } + +.ui-icon-art-track:before { + content: "art_track"; } + +.ui-icon-aspect-ratio:before { + content: "aspect_ratio"; } + +.ui-icon-assessment:before { + content: "assessment"; } + +.ui-icon-assignment:before { + content: "assignment"; } + +.ui-icon-assignment-ind:before { + content: "assignment_ind"; } + +.ui-icon-assignment-late:before { + content: "assignment_late"; } + +.ui-icon-assignment-return:before { + content: "assignment_return"; } + +.ui-icon-assignment-returned:before { + content: "assignment_returned"; } + +.ui-icon-assignment-turned-in:before { + content: "assignment_turned_in"; } + +.ui-icon-assistant:before { + content: "assistant"; } + +.ui-icon-assistant-photo:before { + content: "assistant_photo"; } + +.ui-icon-attach-file:before { + content: "attach_file"; } + +.ui-icon-attach-money:before { + content: "attach_money"; } + +.ui-icon-attachment:before { + content: "attachment"; } + +.ui-icon-audiotrack:before { + content: "audiotrack"; } + +.ui-icon-autorenew:before { + content: "autorenew"; } + +.ui-icon-av-timer:before { + content: "av_timer"; } + +.ui-icon-backspace:before { + content: "backspace"; } + +.ui-icon-backup:before { + content: "backup"; } + +.ui-icon-battery-alert:before { + content: "battery_alert"; } + +.ui-icon-battery-charging-full:before { + content: "battery_charging_full"; } + +.ui-icon-battery-full:before { + content: "battery_full"; } + +.ui-icon-battery-std:before { + content: "battery_std"; } + +.ui-icon-battery-unknown:before { + content: "battery_unknown"; } + +.ui-icon-beach-access:before { + content: "beach_access"; } + +.ui-icon-beenhere:before { + content: "beenhere"; } + +.ui-icon-block:before { + content: "block"; } + +.ui-icon-bluetooth:before { + content: "bluetooth"; } + +.ui-icon-bluetooth-audio:before { + content: "bluetooth_audio"; } + +.ui-icon-bluetooth-connected:before { + content: "bluetooth_connected"; } + +.ui-icon-bluetooth-disabled:before { + content: "bluetooth_disabled"; } + +.ui-icon-bluetooth-searching:before { + content: "bluetooth_searching"; } + +.ui-icon-blur-circular:before { + content: "blur_circular"; } + +.ui-icon-blur-linear:before { + content: "blur_linear"; } + +.ui-icon-blur-off:before { + content: "blur_off"; } + +.ui-icon-blur-on:before { + content: "blur_on"; } + +.ui-icon-book:before { + content: "book"; } + +.ui-icon-bookmark:before { + content: "bookmark"; } + +.ui-icon-bookmark-border:before { + content: "bookmark_border"; } + +.ui-icon-border-all:before { + content: "border_all"; } + +.ui-icon-border-bottom:before { + content: "border_bottom"; } + +.ui-icon-border-clear:before { + content: "border_clear"; } + +.ui-icon-border-color:before { + content: "border_color"; } + +.ui-icon-border-horizontal:before { + content: "border_horizontal"; } + +.ui-icon-border-inner:before { + content: "border_inner"; } + +.ui-icon-border-left:before { + content: "border_left"; } + +.ui-icon-border-outer:before { + content: "border_outer"; } + +.ui-icon-border-right:before { + content: "border_right"; } + +.ui-icon-border-style:before { + content: "border_style"; } + +.ui-icon-border-top:before { + content: "border_top"; } + +.ui-icon-border-vertical:before { + content: "border_vertical"; } + +.ui-icon-branding-watermark:before { + content: "branding_watermark"; } + +.ui-icon-brightness-1:before { + content: "brightness_1"; } + +.ui-icon-brightness-2:before { + content: "brightness_2"; } + +.ui-icon-brightness-3:before { + content: "brightness_3"; } + +.ui-icon-brightness-4:before { + content: "brightness_4"; } + +.ui-icon-brightness-5:before { + content: "brightness_5"; } + +.ui-icon-brightness-6:before { + content: "brightness_6"; } + +.ui-icon-brightness-7:before { + content: "brightness_7"; } + +.ui-icon-brightness-auto:before { + content: "brightness_auto"; } + +.ui-icon-brightness-high:before { + content: "brightness_high"; } + +.ui-icon-brightness-low:before { + content: "brightness_low"; } + +.ui-icon-brightness-medium:before { + content: "brightness_medium"; } + +.ui-icon-broken-image:before { + content: "broken_image"; } + +.ui-icon-brush:before { + content: "brush"; } + +.ui-icon-bubble-chart:before { + content: "bubble_chart"; } + +.ui-icon-bug-report:before { + content: "bug_report"; } + +.ui-icon-build:before { + content: "build"; } + +.ui-icon-burst-mode:before { + content: "burst_mode"; } + +.ui-icon-business:before { + content: "business"; } + +.ui-icon-business-center:before { + content: "business_center"; } + +.ui-icon-cached:before { + content: "cached"; } + +.ui-icon-cake:before { + content: "cake"; } + +.ui-icon-call:before { + content: "call"; } + +.ui-icon-call-end:before { + content: "call_end"; } + +.ui-icon-call-made:before { + content: "call_made"; } + +.ui-icon-call-merge:before { + content: "call_merge"; } + +.ui-icon-call-missed:before { + content: "call_missed"; } + +.ui-icon-call-missed-outgoing:before { + content: "call_missed_outgoing"; } + +.ui-icon-call-received:before { + content: "call_received"; } + +.ui-icon-call-split:before { + content: "call_split"; } + +.ui-icon-call-to-action:before { + content: "call_to_action"; } + +.ui-icon-camera:before { + content: "camera"; } + +.ui-icon-camera-alt:before { + content: "camera_alt"; } + +.ui-icon-camera-enhance:before { + content: "camera_enhance"; } + +.ui-icon-camera-front:before { + content: "camera_front"; } + +.ui-icon-camera-rear:before { + content: "camera_rear"; } + +.ui-icon-camera-roll:before { + content: "camera_roll"; } + +.ui-icon-cancel:before { + content: "cancel"; } + +.ui-icon-card-giftcard:before { + content: "card_giftcard"; } + +.ui-icon-card-membership:before { + content: "card_membership"; } + +.ui-icon-card-travel:before { + content: "card_travel"; } + +.ui-icon-casino:before { + content: "casino"; } + +.ui-icon-cast:before { + content: "cast"; } + +.ui-icon-cast-connected:before { + content: "cast_connected"; } + +.ui-icon-center-focus-strong:before { + content: "center_focus_strong"; } + +.ui-icon-center-focus-weak:before { + content: "center_focus_weak"; } + +.ui-icon-change-history:before { + content: "change_history"; } + +.ui-icon-chat:before { + content: "chat"; } + +.ui-icon-chat-bubble:before { + content: "chat_bubble"; } + +.ui-icon-chat-bubble-outline:before { + content: "chat_bubble_outline"; } + +.ui-icon-check:before { + content: "check"; } + +.ui-icon-check-box:before { + content: "check_box"; } + +.ui-icon-check-box-outline-blank:before { + content: "check_box_outline_blank"; } + +.ui-icon-check-circle:before { + content: "check_circle"; } + +.ui-icon-chevron-left:before { + content: "chevron_left"; } + +.ui-icon-chevron-right:before { + content: "chevron_right"; } + +.ui-icon-child-care:before { + content: "child_care"; } + +.ui-icon-child-friendly:before { + content: "child_friendly"; } + +.ui-icon-chrome-reader-mode:before { + content: "chrome_reader_mode"; } + +.ui-icon-class:before { + content: "class"; } + +.ui-icon-clear:before { + content: "clear"; } + +.ui-icon-clear-all:before { + content: "clear_all"; } + +.ui-icon-close:before { + content: "close"; } + +.ui-icon-closed-caption:before { + content: "closed_caption"; } + +.ui-icon-cloud:before { + content: "cloud"; } + +.ui-icon-cloud-circle:before { + content: "cloud_circle"; } + +.ui-icon-cloud-done:before { + content: "cloud_done"; } + +.ui-icon-cloud-download:before { + content: "cloud_download"; } + +.ui-icon-cloud-off:before { + content: "cloud_off"; } + +.ui-icon-cloud-queue:before { + content: "cloud_queue"; } + +.ui-icon-cloud-upload:before { + content: "cloud_upload"; } + +.ui-icon-code:before { + content: "code"; } + +.ui-icon-collections:before { + content: "collections"; } + +.ui-icon-collections-bookmark:before { + content: "collections_bookmark"; } + +.ui-icon-color-lens:before { + content: "color_lens"; } + +.ui-icon-colorize:before { + content: "colorize"; } + +.ui-icon-comment:before { + content: "comment"; } + +.ui-icon-compare:before { + content: "compare"; } + +.ui-icon-compare-arrows:before { + content: "compare_arrows"; } + +.ui-icon-computer:before { + content: "computer"; } + +.ui-icon-confirmation-number:before { + content: "confirmation_number"; } + +.ui-icon-contact-mail:before { + content: "contact_mail"; } + +.ui-icon-contact-phone:before { + content: "contact_phone"; } + +.ui-icon-contacts:before { + content: "contacts"; } + +.ui-icon-content-copy:before { + content: "content_copy"; } + +.ui-icon-content-cut:before { + content: "content_cut"; } + +.ui-icon-content-paste:before { + content: "content_paste"; } + +.ui-icon-control-point:before { + content: "control_point"; } + +.ui-icon-control-point-duplicate:before { + content: "control_point_duplicate"; } + +.ui-icon-copyright:before { + content: "copyright"; } + +.ui-icon-create:before { + content: "create"; } + +.ui-icon-create-new-folder:before { + content: "create_new_folder"; } + +.ui-icon-credit-card:before { + content: "credit_card"; } + +.ui-icon-crop:before { + content: "crop"; } + +.ui-icon-crop-16-9:before { + content: "crop_16_9"; } + +.ui-icon-crop-3-2:before { + content: "crop_3_2"; } + +.ui-icon-crop-5-4:before { + content: "crop_5_4"; } + +.ui-icon-crop-7-5:before { + content: "crop_7_5"; } + +.ui-icon-crop-din:before { + content: "crop_din"; } + +.ui-icon-crop-free:before { + content: "crop_free"; } + +.ui-icon-crop-landscape:before { + content: "crop_landscape"; } + +.ui-icon-crop-original:before { + content: "crop_original"; } + +.ui-icon-crop-portrait:before { + content: "crop_portrait"; } + +.ui-icon-crop-rotate:before { + content: "crop_rotate"; } + +.ui-icon-crop-square:before { + content: "crop_square"; } + +.ui-icon-dashboard:before { + content: "dashboard"; } + +.ui-icon-data-usage:before { + content: "data_usage"; } + +.ui-icon-date-range:before { + content: "date_range"; } + +.ui-icon-dehaze:before { + content: "dehaze"; } + +.ui-icon-delete:before { + content: "delete"; } + +.ui-icon-delete-forever:before { + content: "delete_forever"; } + +.ui-icon-delete-sweep:before { + content: "delete_sweep"; } + +.ui-icon-description:before { + content: "description"; } + +.ui-icon-desktop-mac:before { + content: "desktop_mac"; } + +.ui-icon-desktop-windows:before { + content: "desktop_windows"; } + +.ui-icon-details:before { + content: "details"; } + +.ui-icon-developer-board:before { + content: "developer_board"; } + +.ui-icon-developer-mode:before { + content: "developer_mode"; } + +.ui-icon-device-hub:before { + content: "device_hub"; } + +.ui-icon-devices:before { + content: "devices"; } + +.ui-icon-devices-other:before { + content: "devices_other"; } + +.ui-icon-dialer-sip:before { + content: "dialer_sip"; } + +.ui-icon-dialpad:before { + content: "dialpad"; } + +.ui-icon-directions:before { + content: "directions"; } + +.ui-icon-directions-bike:before { + content: "directions_bike"; } + +.ui-icon-directions-boat:before { + content: "directions_boat"; } + +.ui-icon-directions-bus:before { + content: "directions_bus"; } + +.ui-icon-directions-car:before { + content: "directions_car"; } + +.ui-icon-directions-railway:before { + content: "directions_railway"; } + +.ui-icon-directions-run:before { + content: "directions_run"; } + +.ui-icon-directions-subway:before { + content: "directions_subway"; } + +.ui-icon-directions-transit:before { + content: "directions_transit"; } + +.ui-icon-directions-walk:before { + content: "directions_walk"; } + +.ui-icon-disc-full:before { + content: "disc_full"; } + +.ui-icon-dns:before { + content: "dns"; } + +.ui-icon-do-not-disturb:before { + content: "do_not_disturb"; } + +.ui-icon-do-not-disturb-alt:before { + content: "do_not_disturb_alt"; } + +.ui-icon-do-not-disturb-off:before { + content: "do_not_disturb_off"; } + +.ui-icon-do-not-disturb-on:before { + content: "do_not_disturb_on"; } + +.ui-icon-dock:before { + content: "dock"; } + +.ui-icon-domain:before { + content: "domain"; } + +.ui-icon-done:before { + content: "done"; } + +.ui-icon-done-all:before { + content: "done_all"; } + +.ui-icon-donut-large:before { + content: "donut_large"; } + +.ui-icon-donut-small:before { + content: "donut_small"; } + +.ui-icon-drafts:before { + content: "drafts"; } + +.ui-icon-drag-handle:before { + content: "drag_handle"; } + +.ui-icon-drive-eta:before { + content: "drive_eta"; } + +.ui-icon-dvr:before { + content: "dvr"; } + +.ui-icon-edit:before { + content: "edit"; } + +.ui-icon-edit-location:before { + content: "edit_location"; } + +.ui-icon-eject:before { + content: "eject"; } + +.ui-icon-email:before { + content: "email"; } + +.ui-icon-enhanced-encryption:before { + content: "enhanced_encryption"; } + +.ui-icon-equalizer:before { + content: "equalizer"; } + +.ui-icon-error:before { + content: "error"; } + +.ui-icon-error-outline:before { + content: "error_outline"; } + +.ui-icon-euro-symbol:before { + content: "euro_symbol"; } + +.ui-icon-ev-station:before { + content: "ev_station"; } + +.ui-icon-event:before { + content: "event"; } + +.ui-icon-event-available:before { + content: "event_available"; } + +.ui-icon-event-busy:before { + content: "event_busy"; } + +.ui-icon-event-note:before { + content: "event_note"; } + +.ui-icon-event-seat:before { + content: "event_seat"; } + +.ui-icon-exit-to-app:before { + content: "exit_to_app"; } + +.ui-icon-expand-less:before { + content: "expand_less"; } + +.ui-icon-expand-more:before { + content: "expand_more"; } + +.ui-icon-explicit:before { + content: "explicit"; } + +.ui-icon-explore:before { + content: "explore"; } + +.ui-icon-exposure:before { + content: "exposure"; } + +.ui-icon-exposure-neg-1:before { + content: "exposure_neg_1"; } + +.ui-icon-exposure-neg-2:before { + content: "exposure_neg_2"; } + +.ui-icon-exposure-plus-1:before { + content: "exposure_plus_1"; } + +.ui-icon-exposure-plus-2:before { + content: "exposure_plus_2"; } + +.ui-icon-exposure-zero:before { + content: "exposure_zero"; } + +.ui-icon-extension:before { + content: "extension"; } + +.ui-icon-face:before { + content: "face"; } + +.ui-icon-fast-forward:before { + content: "fast_forward"; } + +.ui-icon-fast-rewind:before { + content: "fast_rewind"; } + +.ui-icon-favorite:before { + content: "favorite"; } + +.ui-icon-favorite-border:before { + content: "favorite_border"; } + +.ui-icon-featured-play-list:before { + content: "featured_play_list"; } + +.ui-icon-featured-video:before { + content: "featured_video"; } + +.ui-icon-feedback:before { + content: "feedback"; } + +.ui-icon-fiber-dvr:before { + content: "fiber_dvr"; } + +.ui-icon-fiber-manual-record:before { + content: "fiber_manual_record"; } + +.ui-icon-fiber-new:before { + content: "fiber_new"; } + +.ui-icon-fiber-pin:before { + content: "fiber_pin"; } + +.ui-icon-fiber-smart-record:before { + content: "fiber_smart_record"; } + +.ui-icon-file-download:before { + content: "file_download"; } + +.ui-icon-file-upload:before { + content: "file_upload"; } + +.ui-icon-filter:before { + content: "filter"; } + +.ui-icon-filter-1:before { + content: "filter_1"; } + +.ui-icon-filter-2:before { + content: "filter_2"; } + +.ui-icon-filter-3:before { + content: "filter_3"; } + +.ui-icon-filter-4:before { + content: "filter_4"; } + +.ui-icon-filter-5:before { + content: "filter_5"; } + +.ui-icon-filter-6:before { + content: "filter_6"; } + +.ui-icon-filter-7:before { + content: "filter_7"; } + +.ui-icon-filter-8:before { + content: "filter_8"; } + +.ui-icon-filter-9:before { + content: "filter_9"; } + +.ui-icon-filter-9-plus:before { + content: "filter_9_plus"; } + +.ui-icon-filter-b-and-w:before { + content: "filter_b_and_w"; } + +.ui-icon-filter-center-focus:before { + content: "filter_center_focus"; } + +.ui-icon-filter-drama:before { + content: "filter_drama"; } + +.ui-icon-filter-frames:before { + content: "filter_frames"; } + +.ui-icon-filter-hdr:before { + content: "filter_hdr"; } + +.ui-icon-filter-list:before { + content: "filter_list"; } + +.ui-icon-filter-none:before { + content: "filter_none"; } + +.ui-icon-filter-tilt-shift:before { + content: "filter_tilt_shift"; } + +.ui-icon-filter-vintage:before { + content: "filter_vintage"; } + +.ui-icon-find-in-page:before { + content: "find_in_page"; } + +.ui-icon-find-replace:before { + content: "find_replace"; } + +.ui-icon-fingerprint:before { + content: "fingerprint"; } + +.ui-icon-first-page:before { + content: "first_page"; } + +.ui-icon-fitness-center:before { + content: "fitness_center"; } + +.ui-icon-flag:before { + content: "flag"; } + +.ui-icon-flare:before { + content: "flare"; } + +.ui-icon-flash-auto:before { + content: "flash_auto"; } + +.ui-icon-flash-off:before { + content: "flash_off"; } + +.ui-icon-flash-on:before { + content: "flash_on"; } + +.ui-icon-flight:before { + content: "flight"; } + +.ui-icon-flight-land:before { + content: "flight_land"; } + +.ui-icon-flight-takeoff:before { + content: "flight_takeoff"; } + +.ui-icon-flip:before { + content: "flip"; } + +.ui-icon-flip-to-back:before { + content: "flip_to_back"; } + +.ui-icon-flip-to-front:before { + content: "flip_to_front"; } + +.ui-icon-folder:before { + content: "folder"; } + +.ui-icon-folder-open:before { + content: "folder_open"; } + +.ui-icon-folder-shared:before { + content: "folder_shared"; } + +.ui-icon-folder-special:before { + content: "folder_special"; } + +.ui-icon-font-download:before { + content: "font_download"; } + +.ui-icon-format-align-center:before { + content: "format_align_center"; } + +.ui-icon-format-align-justify:before { + content: "format_align_justify"; } + +.ui-icon-format-align-left:before { + content: "format_align_left"; } + +.ui-icon-format-align-right:before { + content: "format_align_right"; } + +.ui-icon-format-bold:before { + content: "format_bold"; } + +.ui-icon-format-clear:before { + content: "format_clear"; } + +.ui-icon-format-color-fill:before { + content: "format_color_fill"; } + +.ui-icon-format-color-reset:before { + content: "format_color_reset"; } + +.ui-icon-format-color-text:before { + content: "format_color_text"; } + +.ui-icon-format-indent-decrease:before { + content: "format_indent_decrease"; } + +.ui-icon-format-indent-increase:before { + content: "format_indent_increase"; } + +.ui-icon-format-italic:before { + content: "format_italic"; } + +.ui-icon-format-line-spacing:before { + content: "format_line_spacing"; } + +.ui-icon-format-list-bulleted:before { + content: "format_list_bulleted"; } + +.ui-icon-format-list-numbered:before { + content: "format_list_numbered"; } + +.ui-icon-format-paint:before { + content: "format_paint"; } + +.ui-icon-format-quote:before { + content: "format_quote"; } + +.ui-icon-format-shapes:before { + content: "format_shapes"; } + +.ui-icon-format-size:before { + content: "format_size"; } + +.ui-icon-format-strikethrough:before { + content: "format_strikethrough"; } + +.ui-icon-format-textdirection-l-to-r:before { + content: "format_textdirection_l_to_r"; } + +.ui-icon-format-textdirection-r-to-l:before { + content: "format_textdirection_r_to_l"; } + +.ui-icon-format-underlined:before { + content: "format_underlined"; } + +.ui-icon-forum:before { + content: "forum"; } + +.ui-icon-forward:before { + content: "forward"; } + +.ui-icon-forward-10:before { + content: "forward_10"; } + +.ui-icon-forward-30:before { + content: "forward_30"; } + +.ui-icon-forward-5:before { + content: "forward_5"; } + +.ui-icon-free-breakfast:before { + content: "free_breakfast"; } + +.ui-icon-fullscreen:before { + content: "fullscreen"; } + +.ui-icon-fullscreen-exit:before { + content: "fullscreen_exit"; } + +.ui-icon-functions:before { + content: "functions"; } + +.ui-icon-g-translate:before { + content: "g_translate"; } + +.ui-icon-gamepad:before { + content: "gamepad"; } + +.ui-icon-games:before { + content: "games"; } + +.ui-icon-gavel:before { + content: "gavel"; } + +.ui-icon-gesture:before { + content: "gesture"; } + +.ui-icon-get-app:before { + content: "get_app"; } + +.ui-icon-gif:before { + content: "gif"; } + +.ui-icon-golf-course:before { + content: "golf_course"; } + +.ui-icon-gps-fixed:before { + content: "gps_fixed"; } + +.ui-icon-gps-not-fixed:before { + content: "gps_not_fixed"; } + +.ui-icon-gps-off:before { + content: "gps_off"; } + +.ui-icon-grade:before { + content: "grade"; } + +.ui-icon-gradient:before { + content: "gradient"; } + +.ui-icon-grain:before { + content: "grain"; } + +.ui-icon-graphic-eq:before { + content: "graphic_eq"; } + +.ui-icon-grid-off:before { + content: "grid_off"; } + +.ui-icon-grid-on:before { + content: "grid_on"; } + +.ui-icon-group:before { + content: "group"; } + +.ui-icon-group-add:before { + content: "group_add"; } + +.ui-icon-group-work:before { + content: "group_work"; } + +.ui-icon-hd:before { + content: "hd"; } + +.ui-icon-hdr-off:before { + content: "hdr_off"; } + +.ui-icon-hdr-on:before { + content: "hdr_on"; } + +.ui-icon-hdr-strong:before { + content: "hdr_strong"; } + +.ui-icon-hdr-weak:before { + content: "hdr_weak"; } + +.ui-icon-headset:before { + content: "headset"; } + +.ui-icon-headset-mic:before { + content: "headset_mic"; } + +.ui-icon-healing:before { + content: "healing"; } + +.ui-icon-hearing:before { + content: "hearing"; } + +.ui-icon-help:before { + content: "help"; } + +.ui-icon-help-outline:before { + content: "help_outline"; } + +.ui-icon-high-quality:before { + content: "high_quality"; } + +.ui-icon-highlight:before { + content: "highlight"; } + +.ui-icon-highlight-off:before { + content: "highlight_off"; } + +.ui-icon-history:before { + content: "history"; } + +.ui-icon-home:before { + content: "home"; } + +.ui-icon-hot-tub:before { + content: "hot_tub"; } + +.ui-icon-hotel:before { + content: "hotel"; } + +.ui-icon-hourglass-empty:before { + content: "hourglass_empty"; } + +.ui-icon-hourglass-full:before { + content: "hourglass_full"; } + +.ui-icon-http:before { + content: "http"; } + +.ui-icon-https:before { + content: "https"; } + +.ui-icon-image:before { + content: "image"; } + +.ui-icon-image-aspect-ratio:before { + content: "image_aspect_ratio"; } + +.ui-icon-import-contacts:before { + content: "import_contacts"; } + +.ui-icon-import-export:before { + content: "import_export"; } + +.ui-icon-important-devices:before { + content: "important_devices"; } + +.ui-icon-inbox:before { + content: "inbox"; } + +.ui-icon-indeterminate-check-box:before { + content: "indeterminate_check_box"; } + +.ui-icon-info:before { + content: "info"; } + +.ui-icon-info-outline:before { + content: "info_outline"; } + +.ui-icon-input:before { + content: "input"; } + +.ui-icon-insert-chart:before { + content: "insert_chart"; } + +.ui-icon-insert-comment:before { + content: "insert_comment"; } + +.ui-icon-insert-drive-file:before { + content: "insert_drive_file"; } + +.ui-icon-insert-emoticon:before { + content: "insert_emoticon"; } + +.ui-icon-insert-invitation:before { + content: "insert_invitation"; } + +.ui-icon-insert-link:before { + content: "insert_link"; } + +.ui-icon-insert-photo:before { + content: "insert_photo"; } + +.ui-icon-invert-colors:before { + content: "invert_colors"; } + +.ui-icon-invert-colors-off:before { + content: "invert_colors_off"; } + +.ui-icon-iso:before { + content: "iso"; } + +.ui-icon-keyboard:before { + content: "keyboard"; } + +.ui-icon-keyboard-arrow-down:before { + content: "keyboard_arrow_down"; } + +.ui-icon-keyboard-arrow-left:before { + content: "keyboard_arrow_left"; } + +.ui-icon-keyboard-arrow-right:before { + content: "keyboard_arrow_right"; } + +.ui-icon-keyboard-arrow-up:before { + content: "keyboard_arrow_up"; } + +.ui-icon-keyboard-backspace:before { + content: "keyboard_backspace"; } + +.ui-icon-keyboard-capslock:before { + content: "keyboard_capslock"; } + +.ui-icon-keyboard-hide:before { + content: "keyboard_hide"; } + +.ui-icon-keyboard-return:before { + content: "keyboard_return"; } + +.ui-icon-keyboard-tab:before { + content: "keyboard_tab"; } + +.ui-icon-keyboard-voice:before { + content: "keyboard_voice"; } + +.ui-icon-kitchen:before { + content: "kitchen"; } + +.ui-icon-label:before { + content: "label"; } + +.ui-icon-label-outline:before { + content: "label_outline"; } + +.ui-icon-landscape:before { + content: "landscape"; } + +.ui-icon-language:before { + content: "language"; } + +.ui-icon-laptop:before { + content: "laptop"; } + +.ui-icon-laptop-chromebook:before { + content: "laptop_chromebook"; } + +.ui-icon-laptop-mac:before { + content: "laptop_mac"; } + +.ui-icon-laptop-windows:before { + content: "laptop_windows"; } + +.ui-icon-last-page:before { + content: "last_page"; } + +.ui-icon-launch:before { + content: "launch"; } + +.ui-icon-layers:before { + content: "layers"; } + +.ui-icon-layers-clear:before { + content: "layers_clear"; } + +.ui-icon-leak-add:before { + content: "leak_add"; } + +.ui-icon-leak-remove:before { + content: "leak_remove"; } + +.ui-icon-lens:before { + content: "lens"; } + +.ui-icon-library-add:before { + content: "library_add"; } + +.ui-icon-library-books:before { + content: "library_books"; } + +.ui-icon-library-music:before { + content: "library_music"; } + +.ui-icon-lightbulb-outline:before { + content: "lightbulb_outline"; } + +.ui-icon-line-style:before { + content: "line_style"; } + +.ui-icon-line-weight:before { + content: "line_weight"; } + +.ui-icon-linear-scale:before { + content: "linear_scale"; } + +.ui-icon-link:before { + content: "link"; } + +.ui-icon-linked-camera:before { + content: "linked_camera"; } + +.ui-icon-list:before { + content: "list"; } + +.ui-icon-live-help:before { + content: "live_help"; } + +.ui-icon-live-tv:before { + content: "live_tv"; } + +.ui-icon-local-activity:before { + content: "local_activity"; } + +.ui-icon-local-airport:before { + content: "local_airport"; } + +.ui-icon-local-atm:before { + content: "local_atm"; } + +.ui-icon-local-bar:before { + content: "local_bar"; } + +.ui-icon-local-cafe:before { + content: "local_cafe"; } + +.ui-icon-local-car-wash:before { + content: "local_car_wash"; } + +.ui-icon-local-convenience-store:before { + content: "local_convenience_store"; } + +.ui-icon-local-dining:before { + content: "local_dining"; } + +.ui-icon-local-drink:before { + content: "local_drink"; } + +.ui-icon-local-florist:before { + content: "local_florist"; } + +.ui-icon-local-gas-station:before { + content: "local_gas_station"; } + +.ui-icon-local-grocery-store:before { + content: "local_grocery_store"; } + +.ui-icon-local-hospital:before { + content: "local_hospital"; } + +.ui-icon-local-hotel:before { + content: "local_hotel"; } + +.ui-icon-local-laundry-service:before { + content: "local_laundry_service"; } + +.ui-icon-local-library:before { + content: "local_library"; } + +.ui-icon-local-mall:before { + content: "local_mall"; } + +.ui-icon-local-movies:before { + content: "local_movies"; } + +.ui-icon-local-offer:before { + content: "local_offer"; } + +.ui-icon-local-parking:before { + content: "local_parking"; } + +.ui-icon-local-pharmacy:before { + content: "local_pharmacy"; } + +.ui-icon-local-phone:before { + content: "local_phone"; } + +.ui-icon-local-pizza:before { + content: "local_pizza"; } + +.ui-icon-local-play:before { + content: "local_play"; } + +.ui-icon-local-post-office:before { + content: "local_post_office"; } + +.ui-icon-local-printshop:before { + content: "local_printshop"; } + +.ui-icon-local-see:before { + content: "local_see"; } + +.ui-icon-local-shipping:before { + content: "local_shipping"; } + +.ui-icon-local-taxi:before { + content: "local_taxi"; } + +.ui-icon-location-city:before { + content: "location_city"; } + +.ui-icon-location-disabled:before { + content: "location_disabled"; } + +.ui-icon-location-off:before { + content: "location_off"; } + +.ui-icon-location-on:before { + content: "location_on"; } + +.ui-icon-location-searching:before { + content: "location_searching"; } + +.ui-icon-lock:before { + content: "lock"; } + +.ui-icon-lock-open:before { + content: "lock_open"; } + +.ui-icon-lock-outline:before { + content: "lock_outline"; } + +.ui-icon-looks:before { + content: "looks"; } + +.ui-icon-looks-3:before { + content: "looks_3"; } + +.ui-icon-looks-4:before { + content: "looks_4"; } + +.ui-icon-looks-5:before { + content: "looks_5"; } + +.ui-icon-looks-6:before { + content: "looks_6"; } + +.ui-icon-looks-one:before { + content: "looks_one"; } + +.ui-icon-looks-two:before { + content: "looks_two"; } + +.ui-icon-loop:before { + content: "loop"; } + +.ui-icon-loupe:before { + content: "loupe"; } + +.ui-icon-low-priority:before { + content: "low_priority"; } + +.ui-icon-loyalty:before { + content: "loyalty"; } + +.ui-icon-mail:before { + content: "mail"; } + +.ui-icon-mail-outline:before { + content: "mail_outline"; } + +.ui-icon-map:before { + content: "map"; } + +.ui-icon-markunread:before { + content: "markunread"; } + +.ui-icon-markunread-mailbox:before { + content: "markunread_mailbox"; } + +.ui-icon-memory:before { + content: "memory"; } + +.ui-icon-menu:before { + content: "menu"; } + +.ui-icon-merge-type:before { + content: "merge_type"; } + +.ui-icon-message:before { + content: "message"; } + +.ui-icon-mic:before { + content: "mic"; } + +.ui-icon-mic-none:before { + content: "mic_none"; } + +.ui-icon-mic-off:before { + content: "mic_off"; } + +.ui-icon-mms:before { + content: "mms"; } + +.ui-icon-mode-comment:before { + content: "mode_comment"; } + +.ui-icon-mode-edit:before { + content: "mode_edit"; } + +.ui-icon-monetization-on:before { + content: "monetization_on"; } + +.ui-icon-money-off:before { + content: "money_off"; } + +.ui-icon-monochrome-photos:before { + content: "monochrome_photos"; } + +.ui-icon-mood:before { + content: "mood"; } + +.ui-icon-mood-bad:before { + content: "mood_bad"; } + +.ui-icon-more:before { + content: "more"; } + +.ui-icon-more-horiz:before { + content: "more_horiz"; } + +.ui-icon-more-vert:before { + content: "more_vert"; } + +.ui-icon-motorcycle:before { + content: "motorcycle"; } + +.ui-icon-mouse:before { + content: "mouse"; } + +.ui-icon-move-to-inbox:before { + content: "move_to_inbox"; } + +.ui-icon-movie:before { + content: "movie"; } + +.ui-icon-movie-creation:before { + content: "movie_creation"; } + +.ui-icon-movie-filter:before { + content: "movie_filter"; } + +.ui-icon-multiline-chart:before { + content: "multiline_chart"; } + +.ui-icon-music-note:before { + content: "music_note"; } + +.ui-icon-music-video:before { + content: "music_video"; } + +.ui-icon-my-location:before { + content: "my_location"; } + +.ui-icon-nature:before { + content: "nature"; } + +.ui-icon-nature-people:before { + content: "nature_people"; } + +.ui-icon-navigate-before:before { + content: "navigate_before"; } + +.ui-icon-navigate-next:before { + content: "navigate_next"; } + +.ui-icon-navigation:before { + content: "navigation"; } + +.ui-icon-near-me:before { + content: "near_me"; } + +.ui-icon-network-cell:before { + content: "network_cell"; } + +.ui-icon-network-check:before { + content: "network_check"; } + +.ui-icon-network-locked:before { + content: "network_locked"; } + +.ui-icon-network-wifi:before { + content: "network_wifi"; } + +.ui-icon-new-releases:before { + content: "new_releases"; } + +.ui-icon-next-week:before { + content: "next_week"; } + +.ui-icon-nfc:before { + content: "nfc"; } + +.ui-icon-no-encryption:before { + content: "no_encryption"; } + +.ui-icon-no-sim:before { + content: "no_sim"; } + +.ui-icon-not-interested:before { + content: "not_interested"; } + +.ui-icon-note:before { + content: "note"; } + +.ui-icon-note-add:before { + content: "note_add"; } + +.ui-icon-notifications:before { + content: "notifications"; } + +.ui-icon-notifications-active:before { + content: "notifications_active"; } + +.ui-icon-notifications-none:before { + content: "notifications_none"; } + +.ui-icon-notifications-off:before { + content: "notifications_off"; } + +.ui-icon-notifications-paused:before { + content: "notifications_paused"; } + +.ui-icon-offline-pin:before { + content: "offline_pin"; } + +.ui-icon-ondemand-video:before { + content: "ondemand_video"; } + +.ui-icon-opacity:before { + content: "opacity"; } + +.ui-icon-open-in-browser:before { + content: "open_in_browser"; } + +.ui-icon-open-in-new:before { + content: "open_in_new"; } + +.ui-icon-open-with:before { + content: "open_with"; } + +.ui-icon-pages:before { + content: "pages"; } + +.ui-icon-pageview:before { + content: "pageview"; } + +.ui-icon-palette:before { + content: "palette"; } + +.ui-icon-pan-tool:before { + content: "pan_tool"; } + +.ui-icon-panorama:before { + content: "panorama"; } + +.ui-icon-panorama-fish-eye:before { + content: "panorama_fish_eye"; } + +.ui-icon-panorama-horizontal:before { + content: "panorama_horizontal"; } + +.ui-icon-panorama-vertical:before { + content: "panorama_vertical"; } + +.ui-icon-panorama-wide-angle:before { + content: "panorama_wide_angle"; } + +.ui-icon-party-mode:before { + content: "party_mode"; } + +.ui-icon-pause:before { + content: "pause"; } + +.ui-icon-pause-circle-filled:before { + content: "pause_circle_filled"; } + +.ui-icon-pause-circle-outline:before { + content: "pause_circle_outline"; } + +.ui-icon-payment:before { + content: "payment"; } + +.ui-icon-people:before { + content: "people"; } + +.ui-icon-people-outline:before { + content: "people_outline"; } + +.ui-icon-perm-camera-mic:before { + content: "perm_camera_mic"; } + +.ui-icon-perm-contact-calendar:before { + content: "perm_contact_calendar"; } + +.ui-icon-perm-data-setting:before { + content: "perm_data_setting"; } + +.ui-icon-perm-device-information:before { + content: "perm_device_information"; } + +.ui-icon-perm-identity:before { + content: "perm_identity"; } + +.ui-icon-perm-media:before { + content: "perm_media"; } + +.ui-icon-perm-phone-msg:before { + content: "perm_phone_msg"; } + +.ui-icon-perm-scan-wifi:before { + content: "perm_scan_wifi"; } + +.ui-icon-person:before { + content: "person"; } + +.ui-icon-person-add:before { + content: "person_add"; } + +.ui-icon-person-outline:before { + content: "person_outline"; } + +.ui-icon-person-pin:before { + content: "person_pin"; } + +.ui-icon-person-pin-circle:before { + content: "person_pin_circle"; } + +.ui-icon-personal-video:before { + content: "personal_video"; } + +.ui-icon-pets:before { + content: "pets"; } + +.ui-icon-phone:before { + content: "phone"; } + +.ui-icon-phone-android:before { + content: "phone_android"; } + +.ui-icon-phone-bluetooth-speaker:before { + content: "phone_bluetooth_speaker"; } + +.ui-icon-phone-forwarded:before { + content: "phone_forwarded"; } + +.ui-icon-phone-in-talk:before { + content: "phone_in_talk"; } + +.ui-icon-phone-iphone:before { + content: "phone_iphone"; } + +.ui-icon-phone-locked:before { + content: "phone_locked"; } + +.ui-icon-phone-missed:before { + content: "phone_missed"; } + +.ui-icon-phone-paused:before { + content: "phone_paused"; } + +.ui-icon-phonelink:before { + content: "phonelink"; } + +.ui-icon-phonelink-erase:before { + content: "phonelink_erase"; } + +.ui-icon-phonelink-lock:before { + content: "phonelink_lock"; } + +.ui-icon-phonelink-off:before { + content: "phonelink_off"; } + +.ui-icon-phonelink-ring:before { + content: "phonelink_ring"; } + +.ui-icon-phonelink-setup:before { + content: "phonelink_setup"; } + +.ui-icon-photo:before { + content: "photo"; } + +.ui-icon-photo-album:before { + content: "photo_album"; } + +.ui-icon-photo-camera:before { + content: "photo_camera"; } + +.ui-icon-photo-filter:before { + content: "photo_filter"; } + +.ui-icon-photo-library:before { + content: "photo_library"; } + +.ui-icon-photo-size-select-actual:before { + content: "photo_size_select_actual"; } + +.ui-icon-photo-size-select-large:before { + content: "photo_size_select_large"; } + +.ui-icon-photo-size-select-small:before { + content: "photo_size_select_small"; } + +.ui-icon-picture-as-pdf:before { + content: "picture_as_pdf"; } + +.ui-icon-picture-in-picture:before { + content: "picture_in_picture"; } + +.ui-icon-picture-in-picture-alt:before { + content: "picture_in_picture_alt"; } + +.ui-icon-pie-chart:before { + content: "pie_chart"; } + +.ui-icon-pie-chart-outlined:before { + content: "pie_chart_outlined"; } + +.ui-icon-pin-drop:before { + content: "pin_drop"; } + +.ui-icon-place:before { + content: "place"; } + +.ui-icon-play-arrow:before { + content: "play_arrow"; } + +.ui-icon-play-circle-filled:before { + content: "play_circle_filled"; } + +.ui-icon-play-circle-outline:before { + content: "play_circle_outline"; } + +.ui-icon-play-for-work:before { + content: "play_for_work"; } + +.ui-icon-playlist-add:before { + content: "playlist_add"; } + +.ui-icon-playlist-add-check:before { + content: "playlist_add_check"; } + +.ui-icon-playlist-play:before { + content: "playlist_play"; } + +.ui-icon-plus-one:before { + content: "plus_one"; } + +.ui-icon-poll:before { + content: "poll"; } + +.ui-icon-polymer:before { + content: "polymer"; } + +.ui-icon-pool:before { + content: "pool"; } + +.ui-icon-portable-wifi-off:before { + content: "portable_wifi_off"; } + +.ui-icon-portrait:before { + content: "portrait"; } + +.ui-icon-power:before { + content: "power"; } + +.ui-icon-power-input:before { + content: "power_input"; } + +.ui-icon-power-settings-new:before { + content: "power_settings_new"; } + +.ui-icon-pregnant-woman:before { + content: "pregnant_woman"; } + +.ui-icon-present-to-all:before { + content: "present_to_all"; } + +.ui-icon-print:before { + content: "print"; } + +.ui-icon-priority-high:before { + content: "priority_high"; } + +.ui-icon-public:before { + content: "public"; } + +.ui-icon-publish:before { + content: "publish"; } + +.ui-icon-query-builder:before { + content: "query_builder"; } + +.ui-icon-question-answer:before { + content: "question_answer"; } + +.ui-icon-queue:before { + content: "queue"; } + +.ui-icon-queue-music:before { + content: "queue_music"; } + +.ui-icon-queue-play-next:before { + content: "queue_play_next"; } + +.ui-icon-radio:before { + content: "radio"; } + +.ui-icon-radio-button-checked:before { + content: "radio_button_checked"; } + +.ui-icon-radio-button-unchecked:before { + content: "radio_button_unchecked"; } + +.ui-icon-rate-review:before { + content: "rate_review"; } + +.ui-icon-receipt:before { + content: "receipt"; } + +.ui-icon-recent-actors:before { + content: "recent_actors"; } + +.ui-icon-record-voice-over:before { + content: "record_voice_over"; } + +.ui-icon-redeem:before { + content: "redeem"; } + +.ui-icon-redo:before { + content: "redo"; } + +.ui-icon-refresh:before { + content: "refresh"; } + +.ui-icon-remove:before { + content: "remove"; } + +.ui-icon-remove-circle:before { + content: "remove_circle"; } + +.ui-icon-remove-circle-outline:before { + content: "remove_circle_outline"; } + +.ui-icon-remove-from-queue:before { + content: "remove_from_queue"; } + +.ui-icon-remove-red-eye:before { + content: "remove_red_eye"; } + +.ui-icon-remove-shopping-cart:before { + content: "remove_shopping_cart"; } + +.ui-icon-reorder:before { + content: "reorder"; } + +.ui-icon-repeat:before { + content: "repeat"; } + +.ui-icon-repeat-one:before { + content: "repeat_one"; } + +.ui-icon-replay:before { + content: "replay"; } + +.ui-icon-replay-10:before { + content: "replay_10"; } + +.ui-icon-replay-30:before { + content: "replay_30"; } + +.ui-icon-replay-5:before { + content: "replay_5"; } + +.ui-icon-reply:before { + content: "reply"; } + +.ui-icon-reply-all:before { + content: "reply_all"; } + +.ui-icon-report:before { + content: "report"; } + +.ui-icon-report-problem:before { + content: "report_problem"; } + +.ui-icon-restaurant:before { + content: "restaurant"; } + +.ui-icon-restaurant-menu:before { + content: "restaurant_menu"; } + +.ui-icon-restore:before { + content: "restore"; } + +.ui-icon-restore-page:before { + content: "restore_page"; } + +.ui-icon-ring-volume:before { + content: "ring_volume"; } + +.ui-icon-room:before { + content: "room"; } + +.ui-icon-room-service:before { + content: "room_service"; } + +.ui-icon-rotate-90-degrees-ccw:before { + content: "rotate_90_degrees_ccw"; } + +.ui-icon-rotate-left:before { + content: "rotate_left"; } + +.ui-icon-rotate-right:before { + content: "rotate_right"; } + +.ui-icon-rounded-corner:before { + content: "rounded_corner"; } + +.ui-icon-router:before { + content: "router"; } + +.ui-icon-rowing:before { + content: "rowing"; } + +.ui-icon-rss-feed:before { + content: "rss_feed"; } + +.ui-icon-rv-hookup:before { + content: "rv_hookup"; } + +.ui-icon-satellite:before { + content: "satellite"; } + +.ui-icon-save:before { + content: "save"; } + +.ui-icon-scanner:before { + content: "scanner"; } + +.ui-icon-schedule:before { + content: "schedule"; } + +.ui-icon-school:before { + content: "school"; } + +.ui-icon-screen-lock-landscape:before { + content: "screen_lock_landscape"; } + +.ui-icon-screen-lock-portrait:before { + content: "screen_lock_portrait"; } + +.ui-icon-screen-lock-rotation:before { + content: "screen_lock_rotation"; } + +.ui-icon-screen-rotation:before { + content: "screen_rotation"; } + +.ui-icon-screen-share:before { + content: "screen_share"; } + +.ui-icon-sd-card:before { + content: "sd_card"; } + +.ui-icon-sd-storage:before { + content: "sd_storage"; } + +.ui-icon-search:before { + content: "search"; } + +.ui-icon-security:before { + content: "security"; } + +.ui-icon-select-all:before { + content: "select_all"; } + +.ui-icon-send:before { + content: "send"; } + +.ui-icon-sentiment-dissatisfied:before { + content: "sentiment_dissatisfied"; } + +.ui-icon-sentiment-neutral:before { + content: "sentiment_neutral"; } + +.ui-icon-sentiment-satisfied:before { + content: "sentiment_satisfied"; } + +.ui-icon-sentiment-very-dissatisfied:before { + content: "sentiment_very_dissatisfied"; } + +.ui-icon-sentiment-very-satisfied:before { + content: "sentiment_very_satisfied"; } + +.ui-icon-settings:before { + content: "settings"; } + +.ui-icon-settings-applications:before { + content: "settings_applications"; } + +.ui-icon-settings-backup-restore:before { + content: "settings_backup_restore"; } + +.ui-icon-settings-bluetooth:before { + content: "settings_bluetooth"; } + +.ui-icon-settings-brightness:before { + content: "settings_brightness"; } + +.ui-icon-settings-cell:before { + content: "settings_cell"; } + +.ui-icon-settings-ethernet:before { + content: "settings_ethernet"; } + +.ui-icon-settings-input-antenna:before { + content: "settings_input_antenna"; } + +.ui-icon-settings-input-component:before { + content: "settings_input_component"; } + +.ui-icon-settings-input-composite:before { + content: "settings_input_composite"; } + +.ui-icon-settings-input-hdmi:before { + content: "settings_input_hdmi"; } + +.ui-icon-settings-input-svideo:before { + content: "settings_input_svideo"; } + +.ui-icon-settings-overscan:before { + content: "settings_overscan"; } + +.ui-icon-settings-phone:before { + content: "settings_phone"; } + +.ui-icon-settings-power:before { + content: "settings_power"; } + +.ui-icon-settings-remote:before { + content: "settings_remote"; } + +.ui-icon-settings-system-daydream:before { + content: "settings_system_daydream"; } + +.ui-icon-settings-voice:before { + content: "settings_voice"; } + +.ui-icon-share:before { + content: "share"; } + +.ui-icon-shop:before { + content: "shop"; } + +.ui-icon-shop-two:before { + content: "shop_two"; } + +.ui-icon-shopping-basket:before { + content: "shopping_basket"; } + +.ui-icon-shopping-cart:before { + content: "shopping_cart"; } + +.ui-icon-short-text:before { + content: "short_text"; } + +.ui-icon-show-chart:before { + content: "show_chart"; } + +.ui-icon-shuffle:before { + content: "shuffle"; } + +.ui-icon-signal-cellular-4-bar:before { + content: "signal_cellular_4_bar"; } + +.ui-icon-signal-cellular-connected-no-internet-4-bar:before { + content: "signal_cellular_connected_no_internet_4_bar"; } + +.ui-icon-signal-cellular-no-sim:before { + content: "signal_cellular_no_sim"; } + +.ui-icon-signal-cellular-null:before { + content: "signal_cellular_null"; } + +.ui-icon-signal-cellular-off:before { + content: "signal_cellular_off"; } + +.ui-icon-signal-wifi-4-bar:before { + content: "signal_wifi_4_bar"; } + +.ui-icon-signal-wifi-4-bar-lock:before { + content: "signal_wifi_4_bar_lock"; } + +.ui-icon-signal-wifi-off:before { + content: "signal_wifi_off"; } + +.ui-icon-sim-card:before { + content: "sim_card"; } + +.ui-icon-sim-card-alert:before { + content: "sim_card_alert"; } + +.ui-icon-skip-next:before { + content: "skip_next"; } + +.ui-icon-skip-previous:before { + content: "skip_previous"; } + +.ui-icon-slideshow:before { + content: "slideshow"; } + +.ui-icon-slow-motion-video:before { + content: "slow_motion_video"; } + +.ui-icon-smartphone:before { + content: "smartphone"; } + +.ui-icon-smoke-free:before { + content: "smoke_free"; } + +.ui-icon-smoking-rooms:before { + content: "smoking_rooms"; } + +.ui-icon-sms:before { + content: "sms"; } + +.ui-icon-sms-failed:before { + content: "sms_failed"; } + +.ui-icon-snooze:before { + content: "snooze"; } + +.ui-icon-sort:before { + content: "sort"; } + +.ui-icon-sort-by-alpha:before { + content: "sort_by_alpha"; } + +.ui-icon-spa:before { + content: "spa"; } + +.ui-icon-space-bar:before { + content: "space_bar"; } + +.ui-icon-speaker:before { + content: "speaker"; } + +.ui-icon-speaker-group:before { + content: "speaker_group"; } + +.ui-icon-speaker-notes:before { + content: "speaker_notes"; } + +.ui-icon-speaker-notes-off:before { + content: "speaker_notes_off"; } + +.ui-icon-speaker-phone:before { + content: "speaker_phone"; } + +.ui-icon-spellcheck:before { + content: "spellcheck"; } + +.ui-icon-star:before { + content: "star"; } + +.ui-icon-star-border:before { + content: "star_border"; } + +.ui-icon-star-half:before { + content: "star_half"; } + +.ui-icon-stars:before { + content: "stars"; } + +.ui-icon-stay-current-landscape:before { + content: "stay_current_landscape"; } + +.ui-icon-stay-current-portrait:before { + content: "stay_current_portrait"; } + +.ui-icon-stay-primary-landscape:before { + content: "stay_primary_landscape"; } + +.ui-icon-stay-primary-portrait:before { + content: "stay_primary_portrait"; } + +.ui-icon-stop:before { + content: "stop"; } + +.ui-icon-stop-screen-share:before { + content: "stop_screen_share"; } + +.ui-icon-storage:before { + content: "storage"; } + +.ui-icon-store:before { + content: "store"; } + +.ui-icon-store-mall-directory:before { + content: "store_mall_directory"; } + +.ui-icon-straighten:before { + content: "straighten"; } + +.ui-icon-streetview:before { + content: "streetview"; } + +.ui-icon-strikethrough-s:before { + content: "strikethrough_s"; } + +.ui-icon-style:before { + content: "style"; } + +.ui-icon-subdirectory-arrow-left:before { + content: "subdirectory_arrow_left"; } + +.ui-icon-subdirectory-arrow-right:before { + content: "subdirectory_arrow_right"; } + +.ui-icon-subject:before { + content: "subject"; } + +.ui-icon-subscriptions:before { + content: "subscriptions"; } + +.ui-icon-subtitles:before { + content: "subtitles"; } + +.ui-icon-subway:before { + content: "subway"; } + +.ui-icon-supervisor-account:before { + content: "supervisor_account"; } + +.ui-icon-surround-sound:before { + content: "surround_sound"; } + +.ui-icon-swap-calls:before { + content: "swap_calls"; } + +.ui-icon-swap-horiz:before { + content: "swap_horiz"; } + +.ui-icon-swap-vert:before { + content: "swap_vert"; } + +.ui-icon-swap-vertical-circle:before { + content: "swap_vertical_circle"; } + +.ui-icon-switch-camera:before { + content: "switch_camera"; } + +.ui-icon-switch-video:before { + content: "switch_video"; } + +.ui-icon-sync:before { + content: "sync"; } + +.ui-icon-sync-disabled:before { + content: "sync_disabled"; } + +.ui-icon-sync-problem:before { + content: "sync_problem"; } + +.ui-icon-system-update:before { + content: "system_update"; } + +.ui-icon-system-update-alt:before { + content: "system_update_alt"; } + +.ui-icon-tab:before { + content: "tab"; } + +.ui-icon-tab-unselected:before { + content: "tab_unselected"; } + +.ui-icon-tablet:before { + content: "tablet"; } + +.ui-icon-tablet-android:before { + content: "tablet_android"; } + +.ui-icon-tablet-mac:before { + content: "tablet_mac"; } + +.ui-icon-tag-faces:before { + content: "tag_faces"; } + +.ui-icon-tap-and-play:before { + content: "tap_and_play"; } + +.ui-icon-terrain:before { + content: "terrain"; } + +.ui-icon-text-fields:before { + content: "text_fields"; } + +.ui-icon-text-format:before { + content: "text_format"; } + +.ui-icon-textsms:before { + content: "textsms"; } + +.ui-icon-texture:before { + content: "texture"; } + +.ui-icon-theaters:before { + content: "theaters"; } + +.ui-icon-thumb-down:before { + content: "thumb_down"; } + +.ui-icon-thumb-up:before { + content: "thumb_up"; } + +.ui-icon-thumbs-up-down:before { + content: "thumbs_up_down"; } + +.ui-icon-time-to-leave:before { + content: "time_to_leave"; } + +.ui-icon-timelapse:before { + content: "timelapse"; } + +.ui-icon-timeline:before { + content: "timeline"; } + +.ui-icon-timer:before { + content: "timer"; } + +.ui-icon-timer-10:before { + content: "timer_10"; } + +.ui-icon-timer-3:before { + content: "timer_3"; } + +.ui-icon-timer-off:before { + content: "timer_off"; } + +.ui-icon-title:before { + content: "title"; } + +.ui-icon-toc:before { + content: "toc"; } + +.ui-icon-today:before { + content: "today"; } + +.ui-icon-toll:before { + content: "toll"; } + +.ui-icon-tonality:before { + content: "tonality"; } + +.ui-icon-touch-app:before { + content: "touch_app"; } + +.ui-icon-toys:before { + content: "toys"; } + +.ui-icon-track-changes:before { + content: "track_changes"; } + +.ui-icon-traffic:before { + content: "traffic"; } + +.ui-icon-train:before { + content: "train"; } + +.ui-icon-tram:before { + content: "tram"; } + +.ui-icon-transfer-within-a-station:before { + content: "transfer_within_a_station"; } + +.ui-icon-transform:before { + content: "transform"; } + +.ui-icon-translate:before { + content: "translate"; } + +.ui-icon-trending-down:before { + content: "trending_down"; } + +.ui-icon-trending-flat:before { + content: "trending_flat"; } + +.ui-icon-trending-up:before { + content: "trending_up"; } + +.ui-icon-tune:before { + content: "tune"; } + +.ui-icon-turned-in:before { + content: "turned_in"; } + +.ui-icon-turned-in-not:before { + content: "turned_in_not"; } + +.ui-icon-tv:before { + content: "tv"; } + +.ui-icon-unarchive:before { + content: "unarchive"; } + +.ui-icon-undo:before { + content: "undo"; } + +.ui-icon-unfold-less:before { + content: "unfold_less"; } + +.ui-icon-unfold-more:before { + content: "unfold_more"; } + +.ui-icon-update:before { + content: "update"; } + +.ui-icon-usb:before { + content: "usb"; } + +.ui-icon-verified-user:before { + content: "verified_user"; } + +.ui-icon-vertical-align-bottom:before { + content: "vertical_align_bottom"; } + +.ui-icon-vertical-align-center:before { + content: "vertical_align_center"; } + +.ui-icon-vertical-align-top:before { + content: "vertical_align_top"; } + +.ui-icon-vibration:before { + content: "vibration"; } + +.ui-icon-video-call:before { + content: "video_call"; } + +.ui-icon-video-label:before { + content: "video_label"; } + +.ui-icon-video-library:before { + content: "video_library"; } + +.ui-icon-videocam:before { + content: "videocam"; } + +.ui-icon-videocam-off:before { + content: "videocam_off"; } + +.ui-icon-videogame-asset:before { + content: "videogame_asset"; } + +.ui-icon-view-agenda:before { + content: "view_agenda"; } + +.ui-icon-view-array:before { + content: "view_array"; } + +.ui-icon-view-carousel:before { + content: "view_carousel"; } + +.ui-icon-view-column:before { + content: "view_column"; } + +.ui-icon-view-comfy:before { + content: "view_comfy"; } + +.ui-icon-view-compact:before { + content: "view_compact"; } + +.ui-icon-view-day:before { + content: "view_day"; } + +.ui-icon-view-headline:before { + content: "view_headline"; } + +.ui-icon-view-list:before { + content: "view_list"; } + +.ui-icon-view-module:before { + content: "view_module"; } + +.ui-icon-view-quilt:before { + content: "view_quilt"; } + +.ui-icon-view-stream:before { + content: "view_stream"; } + +.ui-icon-view-week:before { + content: "view_week"; } + +.ui-icon-vignette:before { + content: "vignette"; } + +.ui-icon-visibility:before { + content: "visibility"; } + +.ui-icon-visibility-off:before { + content: "visibility_off"; } + +.ui-icon-voice-chat:before { + content: "voice_chat"; } + +.ui-icon-voicemail:before { + content: "voicemail"; } + +.ui-icon-volume-down:before { + content: "volume_down"; } + +.ui-icon-volume-mute:before { + content: "volume_mute"; } + +.ui-icon-volume-off:before { + content: "volume_off"; } + +.ui-icon-volume-up:before { + content: "volume_up"; } + +.ui-icon-vpn-key:before { + content: "vpn_key"; } + +.ui-icon-vpn-lock:before { + content: "vpn_lock"; } + +.ui-icon-wallpaper:before { + content: "wallpaper"; } + +.ui-icon-warning:before { + content: "warning"; } + +.ui-icon-watch:before { + content: "watch"; } + +.ui-icon-watch-later:before { + content: "watch_later"; } + +.ui-icon-wb-auto:before { + content: "wb_auto"; } + +.ui-icon-wb-cloudy:before { + content: "wb_cloudy"; } + +.ui-icon-wb-incandescent:before { + content: "wb_incandescent"; } + +.ui-icon-wb-iridescent:before { + content: "wb_iridescent"; } + +.ui-icon-wb-sunny:before { + content: "wb_sunny"; } + +.ui-icon-wc:before { + content: "wc"; } + +.ui-icon-web:before { + content: "web"; } + +.ui-icon-web-asset:before { + content: "web_asset"; } + +.ui-icon-weekend:before { + content: "weekend"; } + +.ui-icon-whatshot:before { + content: "whatshot"; } + +.ui-icon-widgets:before { + content: "widgets"; } + +.ui-icon-wifi:before { + content: "wifi"; } + +.ui-icon-wifi-lock:before { + content: "wifi_lock"; } + +.ui-icon-wifi-tethering:before { + content: "wifi_tethering"; } + +.ui-icon-work:before { + content: "work"; } + +.ui-icon-wrap-text:before { + content: "wrap_text"; } + +.ui-icon-youtube-searched-for:before { + content: "youtube_searched_for"; } + +.ui-icon-zoom-in:before { + content: "zoom_in"; } + +.ui-icon-zoom-out:before { + content: "zoom_out"; } + +.ui-icon-zoom-out-map:before { + content: "zoom_out_map"; } + +.material-icons, .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + +body .ui-widget, +body .ui-widget .ui-widget { + font-family: "Roboto","Helvetica Neue",sans-serif; + text-decoration: none; } +body .ui-widget-content { + background-color: #ffffff; + font-size: 1em; + border: 1px solid #bdbdbd; } + body .ui-widget-content .fa { + color: #757575; } +body .ui-widget-header { + background-color: #03A9F4; + color: #ffffff; + font-size: 1em; + border: 1px solid #03A9F4; } + body .ui-widget-header .fa { + color: #ffffff; } +body .ui-state-active, body .ui-state-highlight { + background-color: #FFC107; + color: #212121; } + body .ui-state-active .fa, body .ui-state-highlight .fa { + color: #ffffff; } +body .ui-widget:disabled, +body .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; + cursor: auto !important; } +body .ui-corner-all { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } +body .ui-corner-top { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } +body .ui-corner-bottom { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-corner-left { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; } +body .ui-corner-right { + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-widget-overlay { + background-color: #58575c; + opacity: .8; } + +body { + /* InputGroup */ + /* Validation */ } + body .ui-inputtext { + background: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + font-size: 1em; + border-color: #bdbdbd; + border-style: solid; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + border-radius: 0px; } + body .ui-inputtext:focus, body .ui-inputtext.ui-state-focus { + border-width: 0 0 2px 0; + border-color: #03A9F4; + padding-bottom: 0px; } + body .ui-inputtext:disabled { + border-bottom: 1px dotted; } + body .ui-inputtext.ui-widget-content { + border-width: 1px; } + body .ui-inputtext.ui-state-error { + border-color: #e62a10; } + body .md-inputfield { + display: block; + position: relative; } + body .md-inputfield label { + color: #999; + font-weight: normal; + position: absolute; + pointer-events: none; + left: 5px; + top: 1px; + transition: 0.3s ease all; + -moz-transition: 0.3s ease all; + -webkit-transition: 0.3s ease all; } + body .md-inputfield input:focus ~ label, + body .md-inputfield input.ui-state-filled ~ label, + body .md-inputfield .ui-inputwrapper-focus ~ label, + body .md-inputfield .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #03A9F4; } + body .md-inputfield .input:-webkit-autofill ~ label { + top: -20px; + font-size: 12px; + color: #03A9F4; } + body .md-inputfield input.ng-dirty.ng-invalid ~ label { + color: #e62a10; } + body .md-inputfield .ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .md-inputfield.md-inputfield-fill input { + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 4px; } + body .md-inputfield.md-inputfield-fill label { + top: 2px; } + body .md-inputfield.md-inputfield-fill input:focus ~ label, + body .md-inputfield.md-inputfield-fill input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #03A9F4; } + body .md-inputfield.md-inputfield-box { + background-color: #f7f7f7; + height: 44px; } + body .md-inputfield.md-inputfield-box > *:not(label) { + bottom: 0px; + position: absolute; + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 24px; } + body .md-inputfield.md-inputfield-box > label { + top: 23px; } + body .md-inputfield.md-inputfield-box input:focus ~ label, + body .md-inputfield.md-inputfield-box input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-filled ~ label { + top: 1px; } + body .md-inputfield.md-inputfield-box .input:-webkit-autofill ~ label { + top: 1px; } + body .ui-material-message.ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .ui-material-message.ui-message.ui-messages-error label { + top: 4px; } + body .ui-listbox { + min-width: 12.5em; + background-color: #ffffff; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-listbox.ui-inputtext { + padding: 0; } + body .ui-listbox .ui-listbox-list { + padding: 0; } + body .ui-listbox .ui-listbox-item { + overflow: hidden; + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + color: #212121; + position: relative; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-listbox .ui-listbox-item.ui-state-highlight { + background-color: #FFC107; + color: #212121; } + body .ui-listbox:not(.ui-state-disabled) .ui-listbox-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-listbox .ui-listbox-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; } + body .ui-listbox .ui-listbox-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext { + color: #ffffff; + padding: 2px 2px 1px 2px; + padding-left: 1.5em; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext:focus { + padding-bottom: 0; + border-bottom-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .fa { + top: 0; + left: 0; } + body .ui-button, body .ui-datepicker-buttonpane > button { + overflow: hidden; + background-color: #03A9F4; + color: #ffffff; + font-size: 1em; + height: 2.25em; + padding: 0 1em; + border: 0 none; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button:enabled:not(:focus):hover { + background-color: #0277BD; } + body .ui-button:focus, body .ui-datepicker-buttonpane > button:focus { + outline: 0 none; + background-color: #2ebcfc; } + body .ui-button .ui-button-text, body .ui-datepicker-buttonpane > button .ui-button-text { + padding: 0; + line-height: 2.25em; } + body .ui-button .fa, body .ui-datepicker-buttonpane > button .fa { + color: #ffffff; } + body .ui-button.ui-button-icon-only, body .ui-datepicker-buttonpane > button.ui-button-icon-only { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 2.5em; + height: 2.5em; } + body .ui-button.ui-button-icon-only .fa, body .ui-datepicker-buttonpane > button.ui-button-icon-only .fa { + margin-left: -.5em; } + body .ui-button.ui-button-text-icon-left, body .ui-datepicker-buttonpane > button.ui-button-text-icon-left { + padding-left: 2.5em; } + body .ui-button.ui-button-text-icon-right, body .ui-datepicker-buttonpane > button.ui-button-text-icon-right { + padding-right: 2.5em; } + body .ui-button.secondary, body .ui-button.ui-secondary-button, body .ui-datepicker-buttonpane > button.secondary, body .ui-datepicker-buttonpane > button.ui-secondary-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.secondary:enabled:not(:focus):hover, body .ui-button.ui-secondary-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.secondary:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-secondary-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.secondary:focus, body .ui-button.ui-secondary-button:focus, body .ui-datepicker-buttonpane > button.secondary:focus, body .ui-datepicker-buttonpane > button.ui-secondary-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.blue-grey-btn, body .ui-datepicker-buttonpane > button.blue-grey-btn { + background-color: #607D8B; } + body .ui-button.blue-grey-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-grey-btn:enabled:not(:focus):hover { + background-color: #37474F; } + body .ui-button.blue-grey-btn:focus, body .ui-datepicker-buttonpane > button.blue-grey-btn:focus { + outline: 0 none; + background-color: #7b96a3; } + body .ui-button.cyan-btn, body .ui-datepicker-buttonpane > button.cyan-btn { + background-color: #00BCD4; } + body .ui-button.cyan-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.cyan-btn:enabled:not(:focus):hover { + background-color: #00838F; } + body .ui-button.cyan-btn:focus, body .ui-datepicker-buttonpane > button.cyan-btn:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button.teal-btn, body .ui-datepicker-buttonpane > button.teal-btn { + background-color: #009688; } + body .ui-button.teal-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.teal-btn:enabled:not(:focus):hover { + background-color: #00695C; } + body .ui-button.teal-btn:focus, body .ui-datepicker-buttonpane > button.teal-btn:focus { + outline: 0 none; + background-color: #00c9b6; } + body .ui-button.red-btn, body .ui-button.ui-danger-button, body .ui-datepicker-buttonpane > button.red-btn, body .ui-datepicker-buttonpane > button.ui-danger-button { + background-color: #F44336; } + body .ui-button.red-btn:enabled:not(:focus):hover, body .ui-button.ui-danger-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.red-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-danger-button:enabled:not(:focus):hover { + background-color: #C62828; } + body .ui-button.red-btn:focus, body .ui-button.ui-danger-button:focus, body .ui-datepicker-buttonpane > button.red-btn:focus, body .ui-datepicker-buttonpane > button.ui-danger-button:focus { + outline: 0 none; + background-color: #f77066; } + body .ui-button.green-btn, body .ui-button.ui-success-button, body .ui-datepicker-buttonpane > button.green-btn, body .ui-datepicker-buttonpane > button.ui-success-button { + background-color: #4CAF50; } + body .ui-button.green-btn:enabled:not(:focus):hover, body .ui-button.ui-success-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.green-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-success-button:enabled:not(:focus):hover { + background-color: #2E7D32; } + body .ui-button.green-btn:focus, body .ui-button.ui-success-button:focus, body .ui-datepicker-buttonpane > button.green-btn:focus, body .ui-datepicker-buttonpane > button.ui-success-button:focus { + outline: 0 none; + background-color: #6ec071; } + body .ui-button.deep-orange-btn, body .ui-datepicker-buttonpane > button.deep-orange-btn { + background-color: #FF5722; } + body .ui-button.deep-orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.deep-orange-btn:enabled:not(:focus):hover { + background-color: #D84315; } + body .ui-button.deep-orange-btn:focus, body .ui-datepicker-buttonpane > button.deep-orange-btn:focus { + outline: 0 none; + background-color: #ff7e55; } + body .ui-button.purple-btn, body .ui-datepicker-buttonpane > button.purple-btn { + background-color: #673AB7; } + body .ui-button.purple-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.purple-btn:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button.purple-btn:focus, body .ui-datepicker-buttonpane > button.purple-btn:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button.pink-btn, body .ui-datepicker-buttonpane > button.pink-btn { + background-color: #E91E63; } + body .ui-button.pink-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.pink-btn:enabled:not(:focus):hover { + background-color: #AD1457; } + body .ui-button.pink-btn:focus, body .ui-datepicker-buttonpane > button.pink-btn:focus { + outline: 0 none; + background-color: #ee4c83; } + body .ui-button.amber-btn, body .ui-button.ui-warning-button, body .ui-datepicker-buttonpane > button.amber-btn, body .ui-datepicker-buttonpane > button.ui-warning-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.amber-btn:enabled:not(:focus):hover, body .ui-button.ui-warning-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.amber-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-warning-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.amber-btn:focus, body .ui-button.ui-warning-button:focus, body .ui-datepicker-buttonpane > button.amber-btn:focus, body .ui-datepicker-buttonpane > button.ui-warning-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.orange-btn, body .ui-datepicker-buttonpane > button.orange-btn { + background-color: #FF9800; } + body .ui-button.orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.orange-btn:enabled:not(:focus):hover { + background-color: #EF6C00; } + body .ui-button.orange-btn:focus, body .ui-datepicker-buttonpane > button.orange-btn:focus { + outline: 0 none; + background-color: #ffad33; } + body .ui-button.brown-btn, body .ui-datepicker-buttonpane > button.brown-btn { + background-color: #795548; } + body .ui-button.brown-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.brown-btn:enabled:not(:focus):hover { + background-color: #4E342E; } + body .ui-button.brown-btn:focus, body .ui-datepicker-buttonpane > button.brown-btn:focus { + outline: 0 none; + background-color: #996b5b; } + body .ui-button.indigo-btn, body .ui-datepicker-buttonpane > button.indigo-btn { + background-color: #3F51B5; } + body .ui-button.indigo-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.indigo-btn:enabled:not(:focus):hover { + background-color: #283593; } + body .ui-button.indigo-btn:focus, body .ui-datepicker-buttonpane > button.indigo-btn:focus { + outline: 0 none; + background-color: #606fc7; } + body .ui-button.blue-btn, body .ui-button.ui-info-button, body .ui-datepicker-buttonpane > button.blue-btn, body .ui-datepicker-buttonpane > button.ui-info-button { + background-color: #03A9F4; + color: #ffffff; } + body .ui-button.blue-btn:enabled:not(:focus):hover, body .ui-button.ui-info-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-info-button:enabled:not(:focus):hover { + background-color: #0277BD; } + body .ui-button.blue-btn:focus, body .ui-button.ui-info-button:focus, body .ui-datepicker-buttonpane > button.blue-btn:focus, body .ui-datepicker-buttonpane > button.ui-info-button:focus { + outline: 0 none; + background-color: #2ebcfc; } + body .ui-button.flat, body .ui-datepicker-buttonpane > button.flat { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-buttonset .ui-button:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #0277BD; } + body .ui-buttonset .ui-button.ui-state-active { + background-color: #FFC107; + color: #212121; } + body .ui-togglebutton:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #0277BD; } + body .ui-togglebutton.ui-state-active { + background-color: #FFC107; + color: #212121; } + body .ui-splitbutton { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); } + body .ui-splitbutton > .ui-button { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-splitbutton > .ui-button:active { + background-color: #2ebcfc; } + body .ui-splitbutton .ui-splitbutton-menubutton { + height: 2.25em; + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton .ui-menu { + min-width: 100%; } + body .ui-fluid .ui-splitbutton .ui-button:first-child { + width: calc(100% - 2em); } + body .ui-chkbox { + display: inline-block; + vertical-align: middle; + line-height: 1.25em; + width: 1.25em; + height: 1.25em; + cursor: default; } + body .ui-chkbox .ui-chkbox-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + font-size: 1.25em; + margin-left: -2px; + margin-top: -2px; } + body .ui-chkbox .ui-chkbox-box.ui-state-active { + border-color: #03A9F4; + background-color: #03A9F4; } + body .ui-chkbox .ui-chkbox-box.ui-state-focus { + border-color: #03A9F4; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton { + position: relative; + margin: 0 .25em 0 0; + vertical-align: middle; } + body .ui-radiobutton .ui-radiobutton-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + -moz-transition: box-shadow 0.3s; + -o-transition: box-shadow 0.3s; + -webkit-transition: box-shadow 0.3s; + transition: box-shadow 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-focus { + border-color: #03A9F4; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-active { + border-color: #03A9F4; + background-color: transparent; } + body .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon { + display: block; + box-sizing: border-box; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-size: 1em; + transition: -webkit-transform ease .28s; + transition: transform ease .28s; + -webkit-transform: scale(0); + transform: scale(0); + margin: 0; } + body .ui-radiobutton .ui-radiobutton-box .fa-circle { + background-color: #03A9F4; + -webkit-transform: scale(0.5); + transform: scale(0.5); } + body .ui-autocomplete-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-autocomplete-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-autocomplete-panel .ui-autocomplete-list { + padding: 0; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + font-size: 1em; + padding: 0.625em 0.875em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item .ui-autocomplete-query { + font-weight: 700; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item.ui-state-highlight { + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-group { + padding: 0.625em 0.875em; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only { + background-color: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + height: 1.5em; + width: 1.5em; + padding: 0; + right: 0; + bottom: 0; + margin-right: 0; + position: absolute; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .ui-button-text { + display: none; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .fa { + color: #757575; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-inputtext { + box-sizing: border-box; + padding: 2px 2px 1px 2px; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-focus { + padding-bottom: 0; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token { + float: none; + display: inline-block; + margin: 0 1px; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token .ui-autocomplete-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-dropdown { + top: .75em; } + body .ui-fluid .ui-autocomplete.ui-autocomplete-dd > .ui-inputtext { + width: 100%; } + body .ui-dropdown { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-dropdown .ui-dropdown-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: 0; + margin-right: 0; } + body .ui-dropdown .ui-dropdown-trigger .fa { + color: #757575; + margin-top: 0; + margin-left: 0; } + body .ui-dropdown .ui-dropdown-label.ui-inputtext { + font: 1em "Roboto", "Helvetica Neue", sans-serif; } + body .ui-dropdown.ui-state-focus { + border-bottom: 2px solid #03A9F4; } + body .ui-dropdown.ui-state-focus .ui-dropdown-label { + padding-bottom: 0; } + body .ui-dropdown-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-list { + padding: 0; } + body .ui-dropdown-panel .ui-dropdown-item { + margin: 0; + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-item:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-dropdown-panel .ui-dropdown-item.ui-state-highlight { + background-color: #FFC107; + color: #212121; } + body .ui-dropdown-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-dropdown-panel .ui-dropdown-filter-container { + display: block; + border-bottom: 1px solid #bdbdbd; + background-color: #03A9F4; + padding: 0.625em 1em; } + body .ui-dropdown-panel .ui-dropdown-filter-container input { + color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container input:focus { + border-bottom-color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container .fa { + top: .325em; + right: .75em; + color: #ffffff; } + body .ui-multiselect { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-multiselect .ui-multiselect-label-container { + padding-right: 1.5em; } + body .ui-multiselect .ui-multiselect-label-container .ui-multiselect-label { + padding: 0px 2px 0px 2px; } + body .ui-multiselect .ui-multiselect-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: .063em; } + body .ui-multiselect .ui-multiselect-trigger .fa { + color: #757575; + margin-top: auto; + margin-left: auto; } + body .ui-multiselect.ui-state-focus { + border-bottom: 2px solid #03A9F4; } + body .ui-multiselect-panel.ui-widget { + padding: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + min-width: 12.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; + position: relative; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox { + float: none; + margin: 0 .5em 0 -.125em; + position: static; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-focus { + background-color: #81D4FA; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container { + width: 70%; + display: inline-block; + vertical-align: middle; + float: none; + margin-left: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .fa { + top: 0; + left: 0; + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext { + color: #ffffff; + padding-left: 1.5em; + width: 100%; + box-sizing: border-box; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext:focus { + border-bottom-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close { + position: absolute; + right: .5em; + top: .625em; + height: 1.5em; + width: 1.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close span { + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close:hover { + background-color: #81D4FA; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item { + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item.ui-state-highlight { + color: #212121; } + body .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; + padding: 0; + margin-right: .25em; + background-color: transparent; + color: #212121; + z-index: auto; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-n { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-s { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa { + top: 0px; + height: .5em; + color: #757575; } + body .ui-spinner .ui-spinner-button:enabled:hover, body .ui-spinner .ui-spinner-button:active { + background-color: transparent; } + body .ui-spinner .ui-spinner-up .fa { + top: .25em; } + body .ui-spinner .ui-spinner-down .fa { + top: .167em; } + body .ui-spinner .ui-spinner-input { + padding-right: 30px; } + body .ui-fluid .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; } + body .ui-fluid .ui-spinner .ui-spinner-button .fa { + left: auto; } + body .ui-inputswitch { + height: 14px; + width: 34px !important; + overflow: visible; + background-color: #9e9e9e; + border-color: #9e9e9e; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; } + body .ui-inputswitch .ui-inputswitch-handle { + top: -4px; + background-color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + width: 20px !important; + height: 20px !important; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; } + body .ui-inputswitch .ui-inputswitch-on { + visibility: hidden; } + body .ui-inputswitch .ui-inputswitch-off span, body .ui-inputswitch .ui-inputswitch-on span { + visibility: hidden; } + body .ui-inputswitch.ui-inputswitch-checked { + background-color: #FFE082; + border-color: #FFE082; } + body .ui-inputswitch.ui-inputswitch-checked .ui-inputswitch-handle { + background-color: #FFC107; + color: #212121; } + body .ui-slider .ui-slider-handle { + background-color: #FFC107; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 1.25em; + height: 1.25em; + transform: scale(0.7); + -moz-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -o-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + body .ui-slider .ui-slider-handle.ui-state-focus { + transform: scale(1); } + body .ui-slider .ui-slider-handle:focus { + outline: 0 none; } + body .ui-slider.ui-slider-horizontal { + height: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-horizontal .ui-slider-handle { + top: -.55em; } + body .ui-slider.ui-slider-vertical { + width: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-vertical .ui-slider-handle { + left: -.55em; } + body .ui-slider .ui-slider-range { + background-color: #FFC107; + color: #212121; } + body .ui-slider:not(.ui-state-disabled) .ui-slider-handle:hover { + transform: scale(1); } + body .ui-calendar .ui-datepicker-trigger { + bottom: 2px; + right: 0; + background-color: transparent; + color: #212121; + height: 1.5em; + width: 1.5em; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-calendar .ui-datepicker-trigger .fa { + color: #757575; } + body .ui-calendar .ui-datepicker-trigger:enabled:hover { + background-color: transparent; } + body .ui-fluid .ui-calendar.ui-calendar-w-btn .ui-inputtext { + width: 100%; } + body .ui-datepicker { + padding: 0; + width: 17.5em; } + body .ui-datepicker.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-datepicker .ui-datepicker-header { + padding: 0.625em 1em; + font-size: 1em; + background: #0277BD; + border-color: #0277BD; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + cursor: pointer; + top: .4em; + left: .2em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before { + content: "keyboard_arrow_left"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover { + background-color: #81D4FA; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next { + cursor: pointer; + top: .4em; + right: .2em; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before { + content: "keyboard_arrow_right"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover { + background-color: #81D4FA; } + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-month, + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-year { + font-size: 14px; } + body .ui-datepicker table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; + font-size: 14px; } + body .ui-datepicker thead tr { + color: #ffffff; + background: #03A9F4; } + body .ui-datepicker tbody td { + padding: .25em .125em; + box-sizing: border-box; } + body .ui-datepicker tbody td.ui-datepicker-today a { + color: #ffffff; + background: #60ccfd; } + body .ui-datepicker tbody td.ui-datepicker-today a.ui-state-active { + color: #ffffff; + background-color: #FFC107; + color: #212121; } + body .ui-datepicker tbody td a { + padding: .25em; + margin: 0; + text-align: center; + color: #212121; + display: inline-block; + height: 2.250em; + width: 2.250em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + line-height: 1.8em; } + body .ui-datepicker tbody td a.ui-state-active { + color: #ffffff; + background-color: #FFC107; + color: #212121; } + body .ui-datepicker tbody td a:not(.ui-state-active):not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datepicker tbody td a span { + display: inline; + padding: 0; + text-align: center; } + body .ui-datepicker .ui-timepicker { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-datepicker .ui-timepicker > div a { + height: 1.5em; } + body .ui-datepicker .ui-timepicker > div a > span { + display: inline-block; + margin-bottom: .25em; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up:before { + content: "keyboard_arrow_up"; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down:before { + content: "keyboard_arrow_down"; } + body #ui-datepicker-div { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-rating { + min-height: 1.5em; } + body .ui-rating .fa-ban { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-ban:before { + content: "cancel"; } + body .ui-rating .fa-star { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star:before { + content: "star"; } + body .ui-rating .fa-star-o { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star-o:before { + content: "star_border"; } + body .ui-chips > ul.ui-inputtext { + padding: 2px 2px 1px 2px; } + body .ui-chips > ul.ui-inputtext.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-chips > ul.ui-inputtext.ui-state-focus { + padding-bottom: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token { + padding-bottom: 2px; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token input:disabled { + width: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-chips > ul.ui-inputtext .ui-chips-token .ui-chips-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-password-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-fileupload .ui-fileupload-buttonbar { + padding: 0.625em 1em; } + body .ui-fileupload .ui-fileupload-buttonbar .fa-arrowreturnthick-1-n:before { + content: "file_upload"; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button { + background-color: #FFC107; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button:enabled:hover { + background-color: #FF8F00; } + body .ui-fileupload .ui-fileupload-content .ui-messages-error .fa { + color: #ffffff; } + body .ui-fileupload-choose:not(.ui-state-disabled):hover.ui-button, + body .ui-fileupload-choose.ui-state-focus.ui-button { + background-color: #edb100; } + body .ui-fileupload-choose:not(.ui-state-disabled):active.ui-button { + background-color: #d39e00; } + body .ui-editor-container .ui-editor-toolbar { + background-color: #e8e8e8; } + body .ui-editor-container .ql-picker.ql-expanded .ql-picker-label { + color: #444444; } + body .ui-inputgroup .ui-inputgroup-addon { + border-width: 0 0 1px 0; + border-color: #bdbdbd; + color: #757575; + padding: 2px 2px 1px 2px; + align-self: flex-end; } + body .ui-inputgroup .ui-inputgroup-addon > i { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-self: flex-end; } + body .ui-inputgroup .ui-inputtext { + align-self: flex-end; } + body .ui-inputgroup .md-inputfield { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + display: inherit; } + body .ui-inputgroup .md-inputfield label { + top: 5px; } + body .ui-inputgroup .ui-chkbox, body .ui-inputgroup .ui-radiobutton { + margin-bottom: .125em; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only { + width: 1.643em; + height: 1.643em; + padding: 0; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only .ui-button-icon-left { + margin-left: -.45em; } + body .ui-inputtext.ng-dirty.ng-invalid, + body p-dropdown.ng-dirty.ng-invalid > .ui-dropdown, + body p-autocomplete.ng-dirty.ng-invalid > .ui-autocomplete > .ui-inputtext, + body p-calendar.ng-dirty.ng-invalid > .ui-inputtext, + body p-inputmask.ng-dirty.ng-invalid > .ui-inputtext, + body p-checkbox.ng-dirty.ng-invalid .ui-chkbox-box, + body p-radiobutton.ng-dirty.ng-invalid .ui-radiobutton-box, + body p-inputswitch.ng-dirty.ng-invalid .ui-inputswitch, + body p-listbox.ng-dirty.ng-invalid .ui-inputtext, + body p-multiselect.ng-dirty.ng-invalid > .ui-multiselect, + body p-spinner.ng-dirty.ng-invalid > .ui-inputtext, + body p-selectbutton.ng-dirty.ng-invalid .ui-button, + body p-togglebutton.ng-dirty.ng-invalid .ui-button { + border-bottom-color: #e62a10; } + +@media (max-width: 640px) { + body .ui-buttonset > .ui-button { + display: block; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-buttonset > .ui-button:first-child { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } + body .ui-buttonset > .ui-button:last-child { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton > .ui-button { + display: inline-block; } + body .ui-splitbutton > .ui-button:first-child { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; } + body .ui-splitbutton > .ui-button:last-child { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } } +body .ui-panel { + padding: 0; } + body .ui-panel .ui-panel-titlebar { + border: 0 none; + border-bottom: 1px solid #03A9F4; + padding: 0.625em 1em; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-panel .ui-panel-titlebar .ui-panel-title { + line-height: 1.5em; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon { + position: relative; + width: 1.5em; + height: 1.5em; + color: #ffffff; + margin: 0; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon:hover { + background-color: #81D4FA; } + body .ui-panel .ui-panel-content { + height: 100%; + box-sizing: border-box; + padding: 0.625em 1em; } + body .ui-panel .ui-panel-footer { + padding: 0.625em 1em; + border: 0 none; + border-top: 1px solid #bdbdbd; + margin: 0; } +body .ui-fieldset { + padding: 0.625em 1em; } + body .ui-fieldset .ui-fieldset-legend { + padding: 0.625em 1em; + padding-left: .125em; + padding-right: .5em; + color: #03A9F4; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler { + padding: .5em; + height: 2em; + width: 2em; + background-color: #03A9F4; + color: #ffffff; + font-size: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + margin-right: .5em; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler:hover { + background-color: #0277BD; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-legend-text { + color: #03A9F4; } + body .ui-fieldset .ui-fieldset-legend.ui-state-focus { + background-color: transparent; } +body .ui-accordion .ui-accordion-header { + background-color: #03A9F4; + padding: 0; + color: #ffffff; + font-size: 1em; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-accordion .ui-accordion-header > a { + padding: 0.625em 1em; + color: #ffffff; } + body .ui-accordion .ui-accordion-header > a .ui-accordion-toggle-icon, + body .ui-accordion .ui-accordion-header > a .ui-accordion-header-text { + vertical-align: middle; } + body .ui-accordion .ui-accordion-header:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #0277BD; } + body .ui-accordion .ui-accordion-header.ui-state-active { + background-color: #FFC107; + color: #212121; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-accordion .ui-accordion-header.ui-state-active > a { + color: #212121; } +body .ui-accordion .ui-accordion-content { + padding: 0.625em 1em; + line-height: 1.5em; } +body .ui-toolbar { + background-color: #0277BD; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + padding: .625em; } +body .ui-tabview { + padding: 0; } + body .ui-tabview .ui-tabview-nav { + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabview .ui-tabview-nav > li { + padding: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabview .ui-tabview-nav > li > a { + padding: 0.625em 1em; } + body .ui-tabview .ui-tabview-nav > li > a:focus { + outline: 0 none; } + body .ui-tabview .ui-tabview-nav > li > .fa-close { + margin: .325em 0 0 0; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + color: #757575; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-left-icon, body .ui-tabview .ui-tabview-nav > li .ui-tabview-right-icon { + color: #757575; + display: inline-block; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-title { + line-height: 1.5em; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li.ui-state-default a { + color: #757575; } + body .ui-tabview .ui-tabview-nav > li:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #ffffff; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active { + background-color: #ffffff; + border-color: #FFC107; + border-style: solid; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active a { + color: #03A9F4; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active > .fa-close { + color: #FFC107; } + body .ui-tabview .ui-tabview-nav > li.ui-tabview-outline { + outline: 0 none; + border-color: #FFE082; } + body .ui-tabview .ui-tabview-panel { + padding: 0.625em 1em; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav > li { + border-style: solid; + border-width: 0 0 2px 0; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav > li { + border-width: 2px 0 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + border-right: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 2px 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav { + padding: 0; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 0 0 2px; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li.ui-state-active > a { + padding-left: 0.875em; } + +@media (max-width: 640px) { + body .ui-toolbar .ui-toolbar-group-right { + margin-top: 1em; } } +body .ui-picklist .ui-picklist-caption { + font-size: 1em; + padding: 0.625em 1em; } +body .ui-picklist .ui-picklist-list { + padding: 0; } +body .ui-picklist .ui-picklist-filter-container .fa { + left: 0.3em; } +body .ui-picklist .ui-picklist-filter-container .ui-picklist-filter { + text-indent: 1.5em; } +body .ui-picklist li.ui-picklist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-picklist li.ui-picklist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-picklist li.ui-picklist-item.ui-state-highlight { + background-color: #FFC107; + color: #212121; } +body .ui-picklist .ui-picklist-buttons { + width: 3em; } + body .ui-picklist .ui-picklist-buttons .ui-button.ui-button-icon-only { + width: 2.5em; + margin-right: 0; + display: inline-block; + margin-bottom: .5em; } +body .ui-picklist .ui-picklist-buttons-cell { + text-align: center; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + margin: 0 auto; + display: block; + margin-bottom: .5em; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox { + margin-right: .5em; + vertical-align: top; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox, body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox * { + box-sizing: content-box; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-organizationchart-selectable-node:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-state-highlight .ui-node-toggler i { + color: #876500; } +body .ui-organizationchart .ui-organizationchart-line-down { + background-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-left { + border-right: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-top { + border-top: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content { + border-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler { + bottom: -1.3em; + margin-left: -.75em; + color: #bdbdbd; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down:before { + content: "keyboard_arrow_down"; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up:before { + content: "keyboard_arrow_up"; } +body .ui-orderlist .ui-orderlist-caption { + font-size: 1em; + padding: 0.625em 1em; + box-sizing: border-box; } +body .ui-orderlist .ui-orderlist-list { + padding: 0; + box-sizing: border-box; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item.ui-state-highlight { + background-color: #FFC107; + color: #212121; } +body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 3.75em; } +body .ui-orderlist .ui-orderlist-controls { + width: 3.75em; + text-align: center; } + body .ui-orderlist .ui-orderlist-controls .ui-button.ui-button-icon-only { + width: 2.5em; + margin-bottom: .5em; + margin-right: 0; } +body .ui-paginator { + background-color: #0277BD; + padding: 0.625em 1em; } + body .ui-paginator > a { + box-sizing: border-box; + color: #ffffff; } + body .ui-paginator > a .fa { + display: none; } + body .ui-paginator > a:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #81D4FA; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-next { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-next:before { + content: "navigate_next"; } + body .ui-paginator .ui-paginator-last { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-last:before { + content: "last_page"; } + body .ui-paginator .ui-paginator-prev { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-prev:before { + content: "navigate_before"; } + body .ui-paginator .ui-paginator-first { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-first:before { + content: "first_page"; } + body .ui-paginator .ui-paginator-pages { + vertical-align: middle; + margin: 0 .375em 0 .375em; } + body .ui-paginator .ui-paginator-pages a { + padding: 0; + color: #ffffff; + min-width: 1.5em; + min-height: 1.5em; + line-height: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-pages a:not(.ui-state-active):hover { + background-color: #81D4FA; } + body .ui-paginator .ui-paginator-pages a.ui-state-active { + background-color: #FFC107; + color: #212121; } +body .ui-datagrid .ui-datagrid-header { + padding: 0.625em 1em; } +body .ui-datagrid .ui-panel .ui-panel-titlebar { + background-color: #ffffff; + color: #212121; + border-color: #bdbdbd; } +body .ui-datalist .ui-datalist-header { + padding: 0.625em 1em; } +body .ui-table .ui-table-caption, +body .ui-table .ui-table-summary { + padding: 0.625em 1em; + text-align: center; + font-weight: normal; } +body .ui-table .ui-table-caption { + border-bottom: 0 none; } +body .ui-table .ui-table-summary { + border-top: 0 none; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tbody > tr > td, +body .ui-table .ui-table-tfoot > tr > td { + padding: 0.625em 1em; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tfoot > tr > td { + font-weight: 400; + background-color: #ffffff; + border: 1px solid #cacaca; } +body .ui-table .ui-sortable-column:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-table .ui-sortable-column.ui-state-highlight { + background-color: #FFC107; + color: #212121; + border-top-color: #FFC107; } + body .ui-table .ui-sortable-column.ui-state-highlight .fa { + color: #212121; } +body .ui-table .ui-sortable-column .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } +body .ui-table .ui-table-tbody > tr { + background: #ffffff; } + body .ui-table .ui-table-tbody > tr > td { + background: inherit; + border: 1px solid #cacaca; } + body .ui-table .ui-table-tbody > tr.ui-state-highlight { + background-color: #FFC107; + color: #212121; } + body .ui-table .ui-table-tbody > tr.ui-contextmenu-selected { + background-color: #FFC107; + color: #212121; } +body .ui-table .ui-table-tbody > tr:nth-child(odd) { + background-color: #f4f4f4; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-state-highlight { + background-color: #FFC107; + color: #212121; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-contextmenu-selected { + background-color: #FFC107; + color: #212121; } +body .ui-table.ui-table-hoverable-rows .ui-table-tbody > tr:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable .ui-datatable-header, +body .ui-datatable .ui-datatable-footer { + padding: 0.625em 1em; } + body .ui-datatable .ui-datatable-header .ui-inputtext, + body .ui-datatable .ui-datatable-footer .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-header .ui-inputtext:focus, + body .ui-datatable .ui-datatable-footer .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-paginator { + padding: 0.625em 1em; } +body .ui-datatable .ui-datatable-thead > tr { + border-color: #cacaca; } + body .ui-datatable .ui-datatable-thead > tr th { + padding: .625em .875em; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-sortable-column:not(.ui-state-active):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datatable .ui-datatable-thead > tr th .ui-column-title { + display: inline-block; + vertical-align: middle; } + body .ui-datatable .ui-datatable-thead > tr th .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight { + background-color: #FFC107; + color: #212121; + border-top-color: #FFC107; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .fa, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .fa { + color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext { + color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext.ui-state-focus, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext.ui-state-focus { + border-color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-selection-column .ui-chkbox-box { + box-sizing: content-box; } +body .ui-datatable tfoot th { + padding: .625em .875em; + border: 1px solid #bdbdbd; + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-datatable-even { + background-color: #f4f4f4; } + body .ui-datatable .ui-datatable-data tr.ui-datatable-even.ui-state-highlight { + background-color: #FFC107; + color: #212121; } +body .ui-datatable .ui-datatable-data tr { + border: 1px solid #cacaca; } + body .ui-datatable .ui-datatable-data tr td { + padding: .625em .875em; } + body .ui-datatable .ui-datatable-data tr td .ui-row-toggler { + display: inherit; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td input.ui-cell-editor { + padding: 2px 2px 1px 2px; + font-size: 1em; } + body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-chkbox-box, body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-radiobutton-box { + box-sizing: content-box; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight { + background-color: #FFC107; + border-color:   #FFC107; + color: #212121; } + body .ui-datatable .ui-datatable-data tr .ui-cell-editor-input input { + color: #212121; } +body .ui-datatable .ui-datatable-data tr.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext, + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext.ui-state-error { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box .ui-radiobutton-icon { + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box { + border-color: #ffffff; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box .ui-chkbox-icon { + color: #757575; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-rowgroup-header td a { + height: 1.5em; + vertical-align: top; + display: inline-block; } +body .ui-datatable .ui-datatable-data.ui-datatable-hoverable-rows > tr.ui-widget-content:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer { + border: 0 none; + background-color: transparent; } + body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header .ui-datatable-data td, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer .ui-datatable-data td { + color: #212121; } +body .ui-datatable.ui-datatable-scrollable thead tr th { + color: #212121; + font-size: 16px; } +body .ui-datatable.ui-datatable-scrollable tfoot tr td { + color: #212121; + font-size: 16px; } +body .ui-datatable .ui-datatable-loading { + opacity: 0.3; + filter: alpha(opacity=30); } +body .ui-datatable .ui-datatable-loading-content { + top: 35%; } + body .ui-datatable .ui-datatable-loading-content .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-animation-delay: 0; + -webkit-animation-duration: 1000ms; + -webkit-animation-name: spin; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-delay: 0; + -moz-animation-duration: 1000ms; + -moz-animation-name: spin; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + animation-delay: 0; + animation-duration: 1000ms; + animation-name: spin; + animation-iteration-count: infinite; + animation-timing-function: linear; + font-size: 2em; } + body .ui-datatable .ui-datatable-loading-content .fa:before { + content: "refresh"; } +body .ui-carousel { + padding: 0; } + body .ui-carousel .ui-carousel-header { + padding: 0.625em 1em; + font-size: 1em; + overflow: visible; } + body .ui-carousel .ui-carousel-header .ui-carousel-header-title { + overflow: visible; } + body .ui-carousel .ui-carousel-header .fa { + color: #ffffff; } + body .ui-carousel .ui-carousel-header .ui-carousel-button { + margin: -1px 0 0 0; } + body .ui-carousel .ui-carousel-header .ui-carousel-page-links { + margin: -1px 0 0 0; } +body .ui-tree { + padding: 0.625em 1em/2; } + body .ui-tree .ui-treenode-children { + padding-left: 1.75em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin-right: .5em; } + body .ui-tree .ui-treenode-content .ui-chkbox .fa { + color: #757575; } + body .ui-tree .ui-treenode-content .ui-tree-toggler { + vertical-align: middle; + margin: 0 0 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-icon { + vertical-align: middle; + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-label { + margin: 0; + vertical-align: middle; } + body .ui-tree .ui-treenode-content.ui-treenode-selectable .ui-treenode-label:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal { + padding-left: 0; + padding-right: 0; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content { + background-color: #ffffff; + border: 1px solid #bdbdbd; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-tree-toggler { + vertical-align: top; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-treenode-icon { + vertical-align: top; + margin-right: .25em; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-treenode-selectable:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-state-highlight { + background-color: #FFC107; + color: #212121; } +body .ui-tree-draghelper { + border: 1px solid #03A9F4; } +body .fc .fc-toolbar .ui-icon-circle-triangle-e { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-icon-circle-triangle-w { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-state-active { + background-color: #FFC107; } +body .fc .fc-event { + background-color: #81D4FA; + color: #ffffff; } +body .fc table { + box-sizing: border-box; } +body .ui-treetable .ui-treetable-header { + padding: 0.625em 1em; + font-size: 1em; } +body .ui-treetable thead tr { + border-bottom: 1px solid #bdbdbd; } + body .ui-treetable thead tr th { + background-color: #ffffff; + padding: .625em .875em; + border: 0 none; } + body .ui-treetable thead tr th .fa { + color: #757575; } + body .ui-treetable thead tr th:first-child { + border-left: 1px solid #bdbdbd; } + body .ui-treetable thead tr th:last-child { + border-right: 1px solid #bdbdbd; } + body .ui-treetable thead tr th .ui-sortable-column-icon { + vertical-align: middle; + margin: -.25em 0 0 0; } + body .ui-treetable thead tr th.ui-state-active { + background-color: #FFC107; + color: #212121; } + body .ui-treetable thead tr th.ui-state-active .fa { + color: #212121; } + body .ui-treetable thead tr th .ui-column-resizer { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1em; + color: #757575; } + body .ui-treetable thead tr th .ui-column-resizer:before { + content: "code"; } +body .ui-treetable tfoot td { + border: 0 none; + padding: .625em .875em; } +body .ui-treetable tbody .ui-treetable-row { + background-color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row td { + border: 0 none; + padding: .625em .875em; } + body .ui-treetable tbody .ui-treetable-row td .ui-treetable-toggler { + display: inline-block; + vertical-align: middle; + margin: 0 .167em; + float: none; } + body .ui-treetable tbody .ui-treetable-row td .ui-chkbox { + margin-right: .5em; } + body .ui-treetable tbody .ui-treetable-row td.ui-treetable-child-table-container { + padding: 0; } + body .ui-treetable tbody .ui-treetable-row.ui-treetable-row-selectable:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight { + background-color: #FFC107; + color: #212121; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight .ui-chkbox .ui-chkbox-box { + border-color: #212121; } +body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-header, body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-footer { + background-color: transparent; + border: 0 none; } +body .ui-treetable.ui-treetable-scrollable thead th { + background-color: #ffffff; + color: #212121; } + +@media (max-width: 40em) { + body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 100%; } } +@media (max-width: 640px) { + body .ui-picklist.ui-picklist-responsive .ui-picklist-list-wrapper { + margin-bottom: .5em; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons { + padding: .5em 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + display: inline-block; + margin-right: .25em; + margin-bottom: 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right:before { + content: "skip_previous"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left:before { + content: "skip_next"; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls { + text-align: center; + width: auto; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button { + margin-right: .25em; } } +body .ui-breadcrumb { + padding: 0.625em 1em; } + body .ui-breadcrumb ul li a { + color: #ffffff; + font-size: 1em; } +body .ui-steps { + position: relative; } + body .ui-steps .ui-steps-item { + background-color: transparent; } + body .ui-steps .ui-steps-item.ui-state-disabled { + opacity: 1; + filter: alpha(opacity=100); } + body .ui-steps .ui-steps-item .ui-menuitem-link { + display: inline-block; + text-align: left; + background-color: #ffffff; + overflow: hidden; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number { + display: inline-block; + background-color: #757575; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: .25em .75em; + font-size: 1em; + color: #ffffff; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: inline; + margin-left: .625em; + color: #757575; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-number { + background-color: #FFC107; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-title { + font-weight: 700; + color: #212121; } + body .ui-steps .ui-steps-item:last-child .ui-menuitem-link { + display: block; } + body .ui-steps:before { + content: ' '; + border: 1px solid #bdbdbd; + width: 90%; + top: 45%; + left: 0; + display: block; + position: absolute; } +body .ui-menu .ui-menuitem-link, +body .ui-menubar .ui-menuitem-link, +body .ui-tieredmenu .ui-menuitem-link, +body .ui-contextmenu .ui-menuitem-link, +body .ui-megamenu .ui-menuitem-link, +body .ui-slidemenu .ui-menuitem-link { + padding: .625em 1em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-menu .ui-menuitem-link:hover, + body .ui-menubar .ui-menuitem-link:hover, + body .ui-tieredmenu .ui-menuitem-link:hover, + body .ui-contextmenu .ui-menuitem-link:hover, + body .ui-megamenu .ui-menuitem-link:hover, + body .ui-slidemenu .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link:focus, + body .ui-menubar .ui-menuitem-link:focus, + body .ui-tieredmenu .ui-menuitem-link:focus, + body .ui-contextmenu .ui-menuitem-link:focus, + body .ui-megamenu .ui-menuitem-link:focus, + body .ui-slidemenu .ui-menuitem-link:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link .ui-menuitem-text, + body .ui-menubar .ui-menuitem-link .ui-menuitem-text, + body .ui-tieredmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-contextmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-megamenu .ui-menuitem-link .ui-menuitem-text, + body .ui-slidemenu .ui-menuitem-link .ui-menuitem-text { + vertical-align: middle; } +body .ui-menubar .ui-submenu-list, body .ui-contextmenu .ui-submenu-list, +body .ui-slidemenu .ui-submenu-list, body .ui-tieredmenu .ui-submenu-list { + padding: .5em 0; } + body .ui-menubar .ui-submenu-list .ui-menuitem, body .ui-contextmenu .ui-submenu-list .ui-menuitem, + body .ui-slidemenu .ui-submenu-list .ui-menuitem, body .ui-tieredmenu .ui-submenu-list .ui-menuitem { + margin: 0; } +body .ui-menu { + width: 100%; + padding: .5em 0; } + body .ui-menu .ui-menuitem { + margin: 0; } + body .ui-menu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menu.ui-shadow, body .ui-menu .ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-menu .ui-submenu-header { + border: 0 none; + margin: 0; + padding: .625em 1em; + border-radius: 0; } +body .ui-menubar { + padding: 0; } + body .ui-menubar .ui-menubar-root-list > .ui-menuitem > .ui-menuitem-link { + padding: .625em 1em; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } +body .ui-contextmenu { + padding: .5em 0; } + body .ui-contextmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-contextmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-slidemenu { + padding: .5em 0; } + body .ui-slidemenu .ui-menuitem { + margin: 0; } + body .ui-slidemenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-slidemenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-slidemenu .ui-slidemenu-backward { + margin-bottom: .4em; + padding: 0.625em 1em; + width: 100%; + background-color: #03A9F4; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border: 0 none; } + body .ui-slidemenu .ui-slidemenu-backward:hover { + background-color: #0286c2; } +body .ui-tieredmenu { + padding: .5em 0; } + body .ui-tieredmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-tieredmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-tabmenu { + padding: 0; } + body .ui-tabmenu .ui-tabmenu-nav { + padding: 0; + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem { + top: auto; + margin: 0 .25em 0 0; + padding: 0; + border-style: solid; + border-width: 0 0 2px 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a { + padding: 0.625em 1em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a:focus { + outline: 0 none; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon, body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-text { + float: none; + display: inline-block; + vertical-align: middle; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon { + font-weight: 1em; + margin-right: .25em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a .fa { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem:not(.ui-state-active):hover { + background-color: #ffffff; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active { + background-color: #ffffff; + border-color: #FFC107; + border-style: solid; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a { + color: #03A9F4; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a .fa { + color: #03A9F4; } +body .ui-megamenu { + padding: 0; } + body .ui-megamenu .ui-megamenu-submenu-header { + border-radius: 0; + padding: .5em; } + body .ui-megamenu .ui-submenu-list { + padding: 0; + border: 0 none; } + body .ui-megamenu .ui-submenu-list .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-panelmenu .ui-panelmenu-header { + background-color: #03A9F4; + margin-bottom: 1px; } + body .ui-panelmenu .ui-panelmenu-header a { + padding: .625em 1em; + color: #ffffff; + font-size: 16px; + border-bottom: 1px solid #ffffff; } + body .ui-panelmenu .ui-panelmenu-header .fa { + color: #ffffff; + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header .ui-menuitem-text { + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active { + background-color: #FFC107; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + margin-bottom: 0; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active a, body .ui-panelmenu .ui-panelmenu-header.ui-state-active .fa { + color: #212121; } +body .ui-panelmenu .ui-panelmenu-content { + padding: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem { + margin: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link { + border: 0 none; + padding: .625em 1em; + width: 100%; + min-height: 2.750em; + box-sizing: border-box; + color: #212121; + line-height: 1.5em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + position: relative; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .ui-menuitem-text { + display: inline-block; + vertical-align: middle; + float: none; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .fa { + position: static; + display: inline-block; + vertical-align: middle; } +body .ui-panelmenu .ui-menu-parent .ui-menu-list { + margin-left: 28px; } + +@media (max-width: 640px) { + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: none; } } +body { + /* Messages */ } + body .ui-messages { + padding: 0.625em 1em; } + body .ui-messages ul { + display: inline-block; + margin-left: 0; } + body .ui-messages.ui-messages-info { + background-color: #2196F3; + border-color: #2196F3; + color: #ffffff; } + body .ui-messages.ui-messages-warn { + background-color: #ffc107; + border-color: #ffc107; + color: #ffffff; } + body .ui-messages.ui-messages-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-messages.ui-messages-fatal { + background-color: #212121; + border-color: #212121; + color: #ffffff; } + body .ui-messages.ui-messages-success { + background-color: #8BC34A; + border-color: #8BC34A; + color: #ffffff; } + body .ui-messages .ui-messages-close { + text-decoration: none; + color: #fff; + right: .25em; } + body .ui-messages .ui-messages-icon { + background: none; + color: #fff; + margin-top: -2px; } + body .ui-messages .ui-messages-icon.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-info-circle:before { + content: "info"; } + body .ui-messages .ui-messages-icon.fa-warning { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-warning:before { + content: "warning"; } + body .ui-messages .ui-messages-icon.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-close:before { + content: "error_outline"; } + body .ui-messages .ui-messages-icon.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-check:before { + content: "check_circle"; } + body .ui-growl { + top: 90px; } + body .ui-growl > .ui-growl-item-container { + opacity: 1; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-info { + background-color: #2196F3; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-warn { + background-color: #ffc107; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-error { + background-color: #e62a10; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-fatal { + background-color: #212121; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-success { + background-color: #8BC34A; } + body .ui-growl > .ui-growl-item-container.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + body .ui-growl .ui-growl-item .ui-growl-image { + background: none; + color: #ffffff; + font-size: 36px; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle:before { + content: "info"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle:before { + content: "warning"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close:before { + content: "error_outline"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check:before { + content: "check_circle"; } + body .ui-growl .ui-growl-item .ui-growl-message { + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 24px; + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close:before { + content: "close"; } + +body .ui-dialog.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-dialog .ui-dialog-titlebar { + background-color: #ffffff; + color: #212121; + padding: 0.625em 1em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-title { + font-size: 1.25em; + letter-spacing: .005em; + margin-top: .25em; + line-height: 2em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon { + border: 0 none; + padding: 0; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + height: 1.5em; + width: 1.5em; + text-align: center; + margin-top: .5em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:hover, body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa { + color: #757575; + display: inline-block; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-extlink:before { + content: "fullscreen"; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-newwin:before { + content: "fullscreen_exit"; } +body .ui-dialog .ui-dialog-content { + padding: 0.625em 1em; } +body .ui-dialog .ui-dialog-footer { + text-align: right; + border: 0 none; + border-top: 1px solid #bdbdbd; } + body .ui-dialog .ui-dialog-footer .ui-button { + background-color: #ffffff; + color: #212121; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: auto; } + body .ui-dialog .ui-dialog-footer .ui-button .fa { + color: #757575; } + body .ui-dialog .ui-dialog-footer .ui-button:hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-dialog .ui-confirm-dialog-severity { + margin: 0px .75em; } +body .ui-lightbox.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-lightbox .ui-lightbox-caption { + padding: 0.625em 1em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-caption-text { + margin: 0; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + padding: 0; + margin: 0; + width: 1.5em; + height: 1.5em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close:hover { + background-color: #81D4FA; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } +body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left { + top: 40%; } + body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right .fa, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left .fa { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 3em; + color: #81D4FA; } +body .ui-overlaypanel.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-overlaypanel .ui-overlaypanel-close { + background-color: #FFC107; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + right: -16px; + top: -16px; + width: 2em; + height: 2em; + line-height: 2em; + text-align: center; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-overlaypanel .ui-overlaypanel-close span { + color: #212121; + line-height: inherit; } + body .ui-overlaypanel .ui-overlaypanel-close:hover { + background-color: #FF8F00; } +body .ui-tooltip { + opacity: 0.9; + filter: alpha(opacity=90); } + body .ui-tooltip .ui-tooltip-text { + background-color: #323232; } + body .ui-tooltip.ui-tooltip-top .ui-tooltip-arrow { + border-top-color: #323232; } + body .ui-tooltip.ui-tooltip-bottom .ui-tooltip-arrow { + border-bottom-color: #323232; } + body .ui-tooltip.ui-tooltip-left .ui-tooltip-arrow { + border-left-color: #323232; } + body .ui-tooltip.ui-tooltip-right .ui-tooltip-arrow { + border-right-color: #323232; } + +body .ui-draggable-dragging.ui-state-default { + padding: 0.625em 1em !important; + background-color: #03A9F4; } +body .jqplot-target { + font-family: "Roboto","Helvetica Neue",sans-serif; } +body .ui-progressbar { + height: .5em; + background-color: #81D4FA; + overflow: hidden; + border: 0 none; } + body .ui-progressbar .ui-progressbar-value { + height: .5em; } + body .ui-progressbar .ui-progressbar-label { + color: #ffffff; + display: none !important; } +body .ui-galleria .ui-galleria-nav-prev { + left: 0; } +body .ui-galleria .ui-galleria-nav-next { + right: 0; } +body .ui-inplace .ui-inplace-display { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-inplace .ui-inplace-display:hover { + background-color: #e8e8e8; } +body .ui-terminal .ui-terminal-input { + font-size: 16px; } diff --git a/src/assets/theme/theme-blue.scss b/src/assets/theme/theme-blue.scss new file mode 100644 index 0000000..9fa8aba --- /dev/null +++ b/src/assets/theme/theme-blue.scss @@ -0,0 +1,9 @@ +$primaryColor: #03A9F4; +$primaryDarkColor: #0277BD; +$primaryLightColor: #81D4FA; +$accentColor: #FFC107; +$accentDarkColor: #FF8F00; +$accentLightColor: #FFE082; +$accentTextColor: #212121; + +@import '../sass/theme/_theme'; \ No newline at end of file diff --git a/src/assets/theme/theme-brown.css b/src/assets/theme/theme-brown.css new file mode 100644 index 0000000..ca6c395 --- /dev/null +++ b/src/assets/theme/theme-brown.css @@ -0,0 +1,6153 @@ +@charset "UTF-8"; +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +.fa-sort:before { + content: "sort"; } + +.fa-sort-asc:before { + content: "keyboard_arrow_up"; } + +.fa-sort-desc:before { + content: "keyboard_arrow_down"; } + +.fa-angle-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-up:before { + content: "play_arrow"; } + +.fa-angle-double-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-up:before { + content: "skip_next"; } + +.fa-angle-down { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .fa-angle-down:before { + content: "play_arrow"; } + +.fa-angle-double-down { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-down:before { + content: "skip_previous"; } + +.fa-angle-right:before { + content: "play_arrow"; } + +.fa-angle-double-right:before { + content: "fast_forward"; } + +.fa-angle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-angle-left:before { + content: "play_arrow"; } + +.fa-angle-double-left:before { + content: "fast_rewind"; } + +.fa-check:before { + content: "check"; } + +.fa-caret-up:before { + content: "keyboard_arrow_up"; } + +.fa-caret-down:before { + content: "keyboard_arrow_down"; } + +.fa-caret-right:before { + content: "keyboard_arrow_right"; } + +.fa-caret-left:before { + content: "keyboard_arrow_left"; } + +.fa-search:before { + content: "search"; } + +.fa-close:before { + content: "close"; } + +.fa-minus:before { + content: "remove"; } + +.fa-plus:before { + content: "add"; } + +.fa-check:before { + content: "check"; } + +.fa-info-circle:before { + content: "info"; } + +.fa-upload:before { + content: "file_upload"; } + +.fa-chevron-circle-left:before { + content: "keyboard_arrow_left"; } + +.fa-chevron-circle-right:before { + content: "keyboard_arrow_right"; } + +.fa-chevron-circle-down:before { + content: "keyboard_arrow_down"; } + +.fa-chevron-circle-up:before { + content: "keyboard_arrow_up"; } + +.fa-home:before { + content: "home"; } + +.fa-chevron-right:before { + content: "chevron_right"; } + +.fa-chevron-left:before { + content: "chevron_left"; } + +.fa-circle-o:before { + content: "radio_button_unchecked"; } + +.fa-dot-circle-o:before { + content: "radio_button_checked"; } + +.fa-arrow-circle-right:before { + content: "play_circle_outline"; } + +.fa-arrow-circle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-arrow-circle-left:before { + content: "play_circle_outline"; } + +.fa-calendar:before { + content: "date_range"; } + +.fa-arrow-down:before { + content: "arrow_downward"; } + +.fa-arrow-up:before { + content: "arrow_upward"; } + +.ui-icon-carat-2-n-s:before { + content: "sort"; } + +.ui-icon-triangle-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-triangle-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-triangle-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-triangle-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-carat-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-carat-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-carat-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-carat-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-arrow-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrow-1-n:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-n:before { + content: "skip_next"; } + +.ui-icon-arrow-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrow-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-s { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-s:before { + content: "skip_previous"; } + +.ui-icon-arrow-1-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-arrow-1-w:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-w:before { + content: "fast_rewind"; } + +.ui-icon-arrow-1-e:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-e:before { + content: "fast_forward"; } + +.ui-icon-arrowthick-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrowthick-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowthick-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowthick-1-n:before { + content: "play_arrow"; } + +.ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-circle-triangle-s:before { + content: "play_circle_outline"; } + +.ui-icon-radio-off:before { + content: "radio_button_unchecked"; } + +.ui-icon-radio-on:before { + content: "radio_button_checked"; } + +.ui-icon-folder-collapsed:before { + content: "folder"; } + +.ui-icon-document:before { + content: "content_paste"; } + +.ui-icon-video:before { + content: "movie"; } + +.ui-icon-music:before { + content: "music_note"; } + +.ui-icon-plus:before { + content: "add"; } + +.ui-icon-minus:before { + content: "remove"; } + +.ui-icon-plusthick:before { + content: "add"; } + +.ui-icon-minusthick:before { + content: "remove"; } + +.ui-icon-pencil:before { + content: "edit"; } + +.ui-icon-closethick:before { + content: "close"; } + +.ui-icon-circle-close:before { + content: "cancel"; } + +.ui-icon-gear:before { + content: "settings"; } + +.ui-icon-calendar:before { + content: "date_range"; } + +.ui-icon-trash:before { + content: "delete_forever"; } + +.ui-icon-notice:before { + content: "error_outline"; } + +.ui-icon-alert:before { + content: "warning"; } + +.ui-icon-circle-zoomin:before { + content: "zoom_in"; } + +.ui-icon-circle-zoomout:before { + content: "zoom_out"; } + +.ui-icon-circle-arrow-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-arrow-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-arrow-w:before { + content: "play_circle_outline"; } + +.ui-icon-3d-rotation:before { + content: "3d_rotation"; } + +.ui-icon-ac-unit:before { + content: "ac_unit"; } + +.ui-icon-access-alarm:before { + content: "access_alarm"; } + +.ui-icon-access-alarms:before { + content: "access_alarms"; } + +.ui-icon-access-time:before { + content: "access_time"; } + +.ui-icon-accessibility:before { + content: "accessibility"; } + +.ui-icon-accessible:before { + content: "accessible"; } + +.ui-icon-account-balance:before { + content: "account_balance"; } + +.ui-icon-account-balance-wallet:before { + content: "account_balance_wallet"; } + +.ui-icon-account-box:before { + content: "account_box"; } + +.ui-icon-account-circle:before { + content: "account_circle"; } + +.ui-icon-add:before { + content: "add"; } + +.ui-icon-add-a-photo:before { + content: "add_a_photo"; } + +.ui-icon-add-alarm:before { + content: "add_alarm"; } + +.ui-icon-add-alert:before { + content: "add_alert"; } + +.ui-icon-add-box:before { + content: "add_box"; } + +.ui-icon-add-circle:before { + content: "add_circle"; } + +.ui-icon-add-circle-outline:before { + content: "add_circle_outline"; } + +.ui-icon-add-location:before { + content: "add_location"; } + +.ui-icon-add-shopping-cart:before { + content: "add_shopping_cart"; } + +.ui-icon-add-to-photos:before { + content: "add_to_photos"; } + +.ui-icon-add-to-queue:before { + content: "add_to_queue"; } + +.ui-icon-adjust:before { + content: "adjust"; } + +.ui-icon-airline-seat-flat:before { + content: "airline_seat_flat"; } + +.ui-icon-airline-seat-flat-angled:before { + content: "airline_seat_flat_angled"; } + +.ui-icon-airline-seat-individual-suite:before { + content: "airline_seat_individual_suite"; } + +.ui-icon-airline-seat-legroom-extra:before { + content: "airline_seat_legroom_extra"; } + +.ui-icon-airline-seat-legroom-normal:before { + content: "airline_seat_legroom_normal"; } + +.ui-icon-airline-seat-legroom-reduced:before { + content: "airline_seat_legroom_reduced"; } + +.ui-icon-airline-seat-recline-extra:before { + content: "airline_seat_recline_extra"; } + +.ui-icon-airline-seat-recline-normal:before { + content: "airline_seat_recline_normal"; } + +.ui-icon-airplanemode-active:before { + content: "airplanemode_active"; } + +.ui-icon-airplanemode-inactive:before { + content: "airplanemode_inactive"; } + +.ui-icon-airplay:before { + content: "airplay"; } + +.ui-icon-airport-shuttle:before { + content: "airport_shuttle"; } + +.ui-icon-alarm:before { + content: "alarm"; } + +.ui-icon-alarm-add:before { + content: "alarm_add"; } + +.ui-icon-alarm-off:before { + content: "alarm_off"; } + +.ui-icon-alarm-on:before { + content: "alarm_on"; } + +.ui-icon-album:before { + content: "album"; } + +.ui-icon-all-inclusive:before { + content: "all_inclusive"; } + +.ui-icon-all-out:before { + content: "all_out"; } + +.ui-icon-android:before { + content: "android"; } + +.ui-icon-announcement:before { + content: "announcement"; } + +.ui-icon-apps:before { + content: "apps"; } + +.ui-icon-archive:before { + content: "archive"; } + +.ui-icon-arrow-back:before { + content: "arrow_back"; } + +.ui-icon-arrow-downward:before { + content: "arrow_downward"; } + +.ui-icon-arrow-drop-down:before { + content: "arrow_drop_down"; } + +.ui-icon-arrow-drop-down-circle:before { + content: "arrow_drop_down_circle"; } + +.ui-icon-arrow-drop-up:before { + content: "arrow_drop_up"; } + +.ui-icon-arrow-forward:before { + content: "arrow_forward"; } + +.ui-icon-arrow-upward:before { + content: "arrow_upward"; } + +.ui-icon-art-track:before { + content: "art_track"; } + +.ui-icon-aspect-ratio:before { + content: "aspect_ratio"; } + +.ui-icon-assessment:before { + content: "assessment"; } + +.ui-icon-assignment:before { + content: "assignment"; } + +.ui-icon-assignment-ind:before { + content: "assignment_ind"; } + +.ui-icon-assignment-late:before { + content: "assignment_late"; } + +.ui-icon-assignment-return:before { + content: "assignment_return"; } + +.ui-icon-assignment-returned:before { + content: "assignment_returned"; } + +.ui-icon-assignment-turned-in:before { + content: "assignment_turned_in"; } + +.ui-icon-assistant:before { + content: "assistant"; } + +.ui-icon-assistant-photo:before { + content: "assistant_photo"; } + +.ui-icon-attach-file:before { + content: "attach_file"; } + +.ui-icon-attach-money:before { + content: "attach_money"; } + +.ui-icon-attachment:before { + content: "attachment"; } + +.ui-icon-audiotrack:before { + content: "audiotrack"; } + +.ui-icon-autorenew:before { + content: "autorenew"; } + +.ui-icon-av-timer:before { + content: "av_timer"; } + +.ui-icon-backspace:before { + content: "backspace"; } + +.ui-icon-backup:before { + content: "backup"; } + +.ui-icon-battery-alert:before { + content: "battery_alert"; } + +.ui-icon-battery-charging-full:before { + content: "battery_charging_full"; } + +.ui-icon-battery-full:before { + content: "battery_full"; } + +.ui-icon-battery-std:before { + content: "battery_std"; } + +.ui-icon-battery-unknown:before { + content: "battery_unknown"; } + +.ui-icon-beach-access:before { + content: "beach_access"; } + +.ui-icon-beenhere:before { + content: "beenhere"; } + +.ui-icon-block:before { + content: "block"; } + +.ui-icon-bluetooth:before { + content: "bluetooth"; } + +.ui-icon-bluetooth-audio:before { + content: "bluetooth_audio"; } + +.ui-icon-bluetooth-connected:before { + content: "bluetooth_connected"; } + +.ui-icon-bluetooth-disabled:before { + content: "bluetooth_disabled"; } + +.ui-icon-bluetooth-searching:before { + content: "bluetooth_searching"; } + +.ui-icon-blur-circular:before { + content: "blur_circular"; } + +.ui-icon-blur-linear:before { + content: "blur_linear"; } + +.ui-icon-blur-off:before { + content: "blur_off"; } + +.ui-icon-blur-on:before { + content: "blur_on"; } + +.ui-icon-book:before { + content: "book"; } + +.ui-icon-bookmark:before { + content: "bookmark"; } + +.ui-icon-bookmark-border:before { + content: "bookmark_border"; } + +.ui-icon-border-all:before { + content: "border_all"; } + +.ui-icon-border-bottom:before { + content: "border_bottom"; } + +.ui-icon-border-clear:before { + content: "border_clear"; } + +.ui-icon-border-color:before { + content: "border_color"; } + +.ui-icon-border-horizontal:before { + content: "border_horizontal"; } + +.ui-icon-border-inner:before { + content: "border_inner"; } + +.ui-icon-border-left:before { + content: "border_left"; } + +.ui-icon-border-outer:before { + content: "border_outer"; } + +.ui-icon-border-right:before { + content: "border_right"; } + +.ui-icon-border-style:before { + content: "border_style"; } + +.ui-icon-border-top:before { + content: "border_top"; } + +.ui-icon-border-vertical:before { + content: "border_vertical"; } + +.ui-icon-branding-watermark:before { + content: "branding_watermark"; } + +.ui-icon-brightness-1:before { + content: "brightness_1"; } + +.ui-icon-brightness-2:before { + content: "brightness_2"; } + +.ui-icon-brightness-3:before { + content: "brightness_3"; } + +.ui-icon-brightness-4:before { + content: "brightness_4"; } + +.ui-icon-brightness-5:before { + content: "brightness_5"; } + +.ui-icon-brightness-6:before { + content: "brightness_6"; } + +.ui-icon-brightness-7:before { + content: "brightness_7"; } + +.ui-icon-brightness-auto:before { + content: "brightness_auto"; } + +.ui-icon-brightness-high:before { + content: "brightness_high"; } + +.ui-icon-brightness-low:before { + content: "brightness_low"; } + +.ui-icon-brightness-medium:before { + content: "brightness_medium"; } + +.ui-icon-broken-image:before { + content: "broken_image"; } + +.ui-icon-brush:before { + content: "brush"; } + +.ui-icon-bubble-chart:before { + content: "bubble_chart"; } + +.ui-icon-bug-report:before { + content: "bug_report"; } + +.ui-icon-build:before { + content: "build"; } + +.ui-icon-burst-mode:before { + content: "burst_mode"; } + +.ui-icon-business:before { + content: "business"; } + +.ui-icon-business-center:before { + content: "business_center"; } + +.ui-icon-cached:before { + content: "cached"; } + +.ui-icon-cake:before { + content: "cake"; } + +.ui-icon-call:before { + content: "call"; } + +.ui-icon-call-end:before { + content: "call_end"; } + +.ui-icon-call-made:before { + content: "call_made"; } + +.ui-icon-call-merge:before { + content: "call_merge"; } + +.ui-icon-call-missed:before { + content: "call_missed"; } + +.ui-icon-call-missed-outgoing:before { + content: "call_missed_outgoing"; } + +.ui-icon-call-received:before { + content: "call_received"; } + +.ui-icon-call-split:before { + content: "call_split"; } + +.ui-icon-call-to-action:before { + content: "call_to_action"; } + +.ui-icon-camera:before { + content: "camera"; } + +.ui-icon-camera-alt:before { + content: "camera_alt"; } + +.ui-icon-camera-enhance:before { + content: "camera_enhance"; } + +.ui-icon-camera-front:before { + content: "camera_front"; } + +.ui-icon-camera-rear:before { + content: "camera_rear"; } + +.ui-icon-camera-roll:before { + content: "camera_roll"; } + +.ui-icon-cancel:before { + content: "cancel"; } + +.ui-icon-card-giftcard:before { + content: "card_giftcard"; } + +.ui-icon-card-membership:before { + content: "card_membership"; } + +.ui-icon-card-travel:before { + content: "card_travel"; } + +.ui-icon-casino:before { + content: "casino"; } + +.ui-icon-cast:before { + content: "cast"; } + +.ui-icon-cast-connected:before { + content: "cast_connected"; } + +.ui-icon-center-focus-strong:before { + content: "center_focus_strong"; } + +.ui-icon-center-focus-weak:before { + content: "center_focus_weak"; } + +.ui-icon-change-history:before { + content: "change_history"; } + +.ui-icon-chat:before { + content: "chat"; } + +.ui-icon-chat-bubble:before { + content: "chat_bubble"; } + +.ui-icon-chat-bubble-outline:before { + content: "chat_bubble_outline"; } + +.ui-icon-check:before { + content: "check"; } + +.ui-icon-check-box:before { + content: "check_box"; } + +.ui-icon-check-box-outline-blank:before { + content: "check_box_outline_blank"; } + +.ui-icon-check-circle:before { + content: "check_circle"; } + +.ui-icon-chevron-left:before { + content: "chevron_left"; } + +.ui-icon-chevron-right:before { + content: "chevron_right"; } + +.ui-icon-child-care:before { + content: "child_care"; } + +.ui-icon-child-friendly:before { + content: "child_friendly"; } + +.ui-icon-chrome-reader-mode:before { + content: "chrome_reader_mode"; } + +.ui-icon-class:before { + content: "class"; } + +.ui-icon-clear:before { + content: "clear"; } + +.ui-icon-clear-all:before { + content: "clear_all"; } + +.ui-icon-close:before { + content: "close"; } + +.ui-icon-closed-caption:before { + content: "closed_caption"; } + +.ui-icon-cloud:before { + content: "cloud"; } + +.ui-icon-cloud-circle:before { + content: "cloud_circle"; } + +.ui-icon-cloud-done:before { + content: "cloud_done"; } + +.ui-icon-cloud-download:before { + content: "cloud_download"; } + +.ui-icon-cloud-off:before { + content: "cloud_off"; } + +.ui-icon-cloud-queue:before { + content: "cloud_queue"; } + +.ui-icon-cloud-upload:before { + content: "cloud_upload"; } + +.ui-icon-code:before { + content: "code"; } + +.ui-icon-collections:before { + content: "collections"; } + +.ui-icon-collections-bookmark:before { + content: "collections_bookmark"; } + +.ui-icon-color-lens:before { + content: "color_lens"; } + +.ui-icon-colorize:before { + content: "colorize"; } + +.ui-icon-comment:before { + content: "comment"; } + +.ui-icon-compare:before { + content: "compare"; } + +.ui-icon-compare-arrows:before { + content: "compare_arrows"; } + +.ui-icon-computer:before { + content: "computer"; } + +.ui-icon-confirmation-number:before { + content: "confirmation_number"; } + +.ui-icon-contact-mail:before { + content: "contact_mail"; } + +.ui-icon-contact-phone:before { + content: "contact_phone"; } + +.ui-icon-contacts:before { + content: "contacts"; } + +.ui-icon-content-copy:before { + content: "content_copy"; } + +.ui-icon-content-cut:before { + content: "content_cut"; } + +.ui-icon-content-paste:before { + content: "content_paste"; } + +.ui-icon-control-point:before { + content: "control_point"; } + +.ui-icon-control-point-duplicate:before { + content: "control_point_duplicate"; } + +.ui-icon-copyright:before { + content: "copyright"; } + +.ui-icon-create:before { + content: "create"; } + +.ui-icon-create-new-folder:before { + content: "create_new_folder"; } + +.ui-icon-credit-card:before { + content: "credit_card"; } + +.ui-icon-crop:before { + content: "crop"; } + +.ui-icon-crop-16-9:before { + content: "crop_16_9"; } + +.ui-icon-crop-3-2:before { + content: "crop_3_2"; } + +.ui-icon-crop-5-4:before { + content: "crop_5_4"; } + +.ui-icon-crop-7-5:before { + content: "crop_7_5"; } + +.ui-icon-crop-din:before { + content: "crop_din"; } + +.ui-icon-crop-free:before { + content: "crop_free"; } + +.ui-icon-crop-landscape:before { + content: "crop_landscape"; } + +.ui-icon-crop-original:before { + content: "crop_original"; } + +.ui-icon-crop-portrait:before { + content: "crop_portrait"; } + +.ui-icon-crop-rotate:before { + content: "crop_rotate"; } + +.ui-icon-crop-square:before { + content: "crop_square"; } + +.ui-icon-dashboard:before { + content: "dashboard"; } + +.ui-icon-data-usage:before { + content: "data_usage"; } + +.ui-icon-date-range:before { + content: "date_range"; } + +.ui-icon-dehaze:before { + content: "dehaze"; } + +.ui-icon-delete:before { + content: "delete"; } + +.ui-icon-delete-forever:before { + content: "delete_forever"; } + +.ui-icon-delete-sweep:before { + content: "delete_sweep"; } + +.ui-icon-description:before { + content: "description"; } + +.ui-icon-desktop-mac:before { + content: "desktop_mac"; } + +.ui-icon-desktop-windows:before { + content: "desktop_windows"; } + +.ui-icon-details:before { + content: "details"; } + +.ui-icon-developer-board:before { + content: "developer_board"; } + +.ui-icon-developer-mode:before { + content: "developer_mode"; } + +.ui-icon-device-hub:before { + content: "device_hub"; } + +.ui-icon-devices:before { + content: "devices"; } + +.ui-icon-devices-other:before { + content: "devices_other"; } + +.ui-icon-dialer-sip:before { + content: "dialer_sip"; } + +.ui-icon-dialpad:before { + content: "dialpad"; } + +.ui-icon-directions:before { + content: "directions"; } + +.ui-icon-directions-bike:before { + content: "directions_bike"; } + +.ui-icon-directions-boat:before { + content: "directions_boat"; } + +.ui-icon-directions-bus:before { + content: "directions_bus"; } + +.ui-icon-directions-car:before { + content: "directions_car"; } + +.ui-icon-directions-railway:before { + content: "directions_railway"; } + +.ui-icon-directions-run:before { + content: "directions_run"; } + +.ui-icon-directions-subway:before { + content: "directions_subway"; } + +.ui-icon-directions-transit:before { + content: "directions_transit"; } + +.ui-icon-directions-walk:before { + content: "directions_walk"; } + +.ui-icon-disc-full:before { + content: "disc_full"; } + +.ui-icon-dns:before { + content: "dns"; } + +.ui-icon-do-not-disturb:before { + content: "do_not_disturb"; } + +.ui-icon-do-not-disturb-alt:before { + content: "do_not_disturb_alt"; } + +.ui-icon-do-not-disturb-off:before { + content: "do_not_disturb_off"; } + +.ui-icon-do-not-disturb-on:before { + content: "do_not_disturb_on"; } + +.ui-icon-dock:before { + content: "dock"; } + +.ui-icon-domain:before { + content: "domain"; } + +.ui-icon-done:before { + content: "done"; } + +.ui-icon-done-all:before { + content: "done_all"; } + +.ui-icon-donut-large:before { + content: "donut_large"; } + +.ui-icon-donut-small:before { + content: "donut_small"; } + +.ui-icon-drafts:before { + content: "drafts"; } + +.ui-icon-drag-handle:before { + content: "drag_handle"; } + +.ui-icon-drive-eta:before { + content: "drive_eta"; } + +.ui-icon-dvr:before { + content: "dvr"; } + +.ui-icon-edit:before { + content: "edit"; } + +.ui-icon-edit-location:before { + content: "edit_location"; } + +.ui-icon-eject:before { + content: "eject"; } + +.ui-icon-email:before { + content: "email"; } + +.ui-icon-enhanced-encryption:before { + content: "enhanced_encryption"; } + +.ui-icon-equalizer:before { + content: "equalizer"; } + +.ui-icon-error:before { + content: "error"; } + +.ui-icon-error-outline:before { + content: "error_outline"; } + +.ui-icon-euro-symbol:before { + content: "euro_symbol"; } + +.ui-icon-ev-station:before { + content: "ev_station"; } + +.ui-icon-event:before { + content: "event"; } + +.ui-icon-event-available:before { + content: "event_available"; } + +.ui-icon-event-busy:before { + content: "event_busy"; } + +.ui-icon-event-note:before { + content: "event_note"; } + +.ui-icon-event-seat:before { + content: "event_seat"; } + +.ui-icon-exit-to-app:before { + content: "exit_to_app"; } + +.ui-icon-expand-less:before { + content: "expand_less"; } + +.ui-icon-expand-more:before { + content: "expand_more"; } + +.ui-icon-explicit:before { + content: "explicit"; } + +.ui-icon-explore:before { + content: "explore"; } + +.ui-icon-exposure:before { + content: "exposure"; } + +.ui-icon-exposure-neg-1:before { + content: "exposure_neg_1"; } + +.ui-icon-exposure-neg-2:before { + content: "exposure_neg_2"; } + +.ui-icon-exposure-plus-1:before { + content: "exposure_plus_1"; } + +.ui-icon-exposure-plus-2:before { + content: "exposure_plus_2"; } + +.ui-icon-exposure-zero:before { + content: "exposure_zero"; } + +.ui-icon-extension:before { + content: "extension"; } + +.ui-icon-face:before { + content: "face"; } + +.ui-icon-fast-forward:before { + content: "fast_forward"; } + +.ui-icon-fast-rewind:before { + content: "fast_rewind"; } + +.ui-icon-favorite:before { + content: "favorite"; } + +.ui-icon-favorite-border:before { + content: "favorite_border"; } + +.ui-icon-featured-play-list:before { + content: "featured_play_list"; } + +.ui-icon-featured-video:before { + content: "featured_video"; } + +.ui-icon-feedback:before { + content: "feedback"; } + +.ui-icon-fiber-dvr:before { + content: "fiber_dvr"; } + +.ui-icon-fiber-manual-record:before { + content: "fiber_manual_record"; } + +.ui-icon-fiber-new:before { + content: "fiber_new"; } + +.ui-icon-fiber-pin:before { + content: "fiber_pin"; } + +.ui-icon-fiber-smart-record:before { + content: "fiber_smart_record"; } + +.ui-icon-file-download:before { + content: "file_download"; } + +.ui-icon-file-upload:before { + content: "file_upload"; } + +.ui-icon-filter:before { + content: "filter"; } + +.ui-icon-filter-1:before { + content: "filter_1"; } + +.ui-icon-filter-2:before { + content: "filter_2"; } + +.ui-icon-filter-3:before { + content: "filter_3"; } + +.ui-icon-filter-4:before { + content: "filter_4"; } + +.ui-icon-filter-5:before { + content: "filter_5"; } + +.ui-icon-filter-6:before { + content: "filter_6"; } + +.ui-icon-filter-7:before { + content: "filter_7"; } + +.ui-icon-filter-8:before { + content: "filter_8"; } + +.ui-icon-filter-9:before { + content: "filter_9"; } + +.ui-icon-filter-9-plus:before { + content: "filter_9_plus"; } + +.ui-icon-filter-b-and-w:before { + content: "filter_b_and_w"; } + +.ui-icon-filter-center-focus:before { + content: "filter_center_focus"; } + +.ui-icon-filter-drama:before { + content: "filter_drama"; } + +.ui-icon-filter-frames:before { + content: "filter_frames"; } + +.ui-icon-filter-hdr:before { + content: "filter_hdr"; } + +.ui-icon-filter-list:before { + content: "filter_list"; } + +.ui-icon-filter-none:before { + content: "filter_none"; } + +.ui-icon-filter-tilt-shift:before { + content: "filter_tilt_shift"; } + +.ui-icon-filter-vintage:before { + content: "filter_vintage"; } + +.ui-icon-find-in-page:before { + content: "find_in_page"; } + +.ui-icon-find-replace:before { + content: "find_replace"; } + +.ui-icon-fingerprint:before { + content: "fingerprint"; } + +.ui-icon-first-page:before { + content: "first_page"; } + +.ui-icon-fitness-center:before { + content: "fitness_center"; } + +.ui-icon-flag:before { + content: "flag"; } + +.ui-icon-flare:before { + content: "flare"; } + +.ui-icon-flash-auto:before { + content: "flash_auto"; } + +.ui-icon-flash-off:before { + content: "flash_off"; } + +.ui-icon-flash-on:before { + content: "flash_on"; } + +.ui-icon-flight:before { + content: "flight"; } + +.ui-icon-flight-land:before { + content: "flight_land"; } + +.ui-icon-flight-takeoff:before { + content: "flight_takeoff"; } + +.ui-icon-flip:before { + content: "flip"; } + +.ui-icon-flip-to-back:before { + content: "flip_to_back"; } + +.ui-icon-flip-to-front:before { + content: "flip_to_front"; } + +.ui-icon-folder:before { + content: "folder"; } + +.ui-icon-folder-open:before { + content: "folder_open"; } + +.ui-icon-folder-shared:before { + content: "folder_shared"; } + +.ui-icon-folder-special:before { + content: "folder_special"; } + +.ui-icon-font-download:before { + content: "font_download"; } + +.ui-icon-format-align-center:before { + content: "format_align_center"; } + +.ui-icon-format-align-justify:before { + content: "format_align_justify"; } + +.ui-icon-format-align-left:before { + content: "format_align_left"; } + +.ui-icon-format-align-right:before { + content: "format_align_right"; } + +.ui-icon-format-bold:before { + content: "format_bold"; } + +.ui-icon-format-clear:before { + content: "format_clear"; } + +.ui-icon-format-color-fill:before { + content: "format_color_fill"; } + +.ui-icon-format-color-reset:before { + content: "format_color_reset"; } + +.ui-icon-format-color-text:before { + content: "format_color_text"; } + +.ui-icon-format-indent-decrease:before { + content: "format_indent_decrease"; } + +.ui-icon-format-indent-increase:before { + content: "format_indent_increase"; } + +.ui-icon-format-italic:before { + content: "format_italic"; } + +.ui-icon-format-line-spacing:before { + content: "format_line_spacing"; } + +.ui-icon-format-list-bulleted:before { + content: "format_list_bulleted"; } + +.ui-icon-format-list-numbered:before { + content: "format_list_numbered"; } + +.ui-icon-format-paint:before { + content: "format_paint"; } + +.ui-icon-format-quote:before { + content: "format_quote"; } + +.ui-icon-format-shapes:before { + content: "format_shapes"; } + +.ui-icon-format-size:before { + content: "format_size"; } + +.ui-icon-format-strikethrough:before { + content: "format_strikethrough"; } + +.ui-icon-format-textdirection-l-to-r:before { + content: "format_textdirection_l_to_r"; } + +.ui-icon-format-textdirection-r-to-l:before { + content: "format_textdirection_r_to_l"; } + +.ui-icon-format-underlined:before { + content: "format_underlined"; } + +.ui-icon-forum:before { + content: "forum"; } + +.ui-icon-forward:before { + content: "forward"; } + +.ui-icon-forward-10:before { + content: "forward_10"; } + +.ui-icon-forward-30:before { + content: "forward_30"; } + +.ui-icon-forward-5:before { + content: "forward_5"; } + +.ui-icon-free-breakfast:before { + content: "free_breakfast"; } + +.ui-icon-fullscreen:before { + content: "fullscreen"; } + +.ui-icon-fullscreen-exit:before { + content: "fullscreen_exit"; } + +.ui-icon-functions:before { + content: "functions"; } + +.ui-icon-g-translate:before { + content: "g_translate"; } + +.ui-icon-gamepad:before { + content: "gamepad"; } + +.ui-icon-games:before { + content: "games"; } + +.ui-icon-gavel:before { + content: "gavel"; } + +.ui-icon-gesture:before { + content: "gesture"; } + +.ui-icon-get-app:before { + content: "get_app"; } + +.ui-icon-gif:before { + content: "gif"; } + +.ui-icon-golf-course:before { + content: "golf_course"; } + +.ui-icon-gps-fixed:before { + content: "gps_fixed"; } + +.ui-icon-gps-not-fixed:before { + content: "gps_not_fixed"; } + +.ui-icon-gps-off:before { + content: "gps_off"; } + +.ui-icon-grade:before { + content: "grade"; } + +.ui-icon-gradient:before { + content: "gradient"; } + +.ui-icon-grain:before { + content: "grain"; } + +.ui-icon-graphic-eq:before { + content: "graphic_eq"; } + +.ui-icon-grid-off:before { + content: "grid_off"; } + +.ui-icon-grid-on:before { + content: "grid_on"; } + +.ui-icon-group:before { + content: "group"; } + +.ui-icon-group-add:before { + content: "group_add"; } + +.ui-icon-group-work:before { + content: "group_work"; } + +.ui-icon-hd:before { + content: "hd"; } + +.ui-icon-hdr-off:before { + content: "hdr_off"; } + +.ui-icon-hdr-on:before { + content: "hdr_on"; } + +.ui-icon-hdr-strong:before { + content: "hdr_strong"; } + +.ui-icon-hdr-weak:before { + content: "hdr_weak"; } + +.ui-icon-headset:before { + content: "headset"; } + +.ui-icon-headset-mic:before { + content: "headset_mic"; } + +.ui-icon-healing:before { + content: "healing"; } + +.ui-icon-hearing:before { + content: "hearing"; } + +.ui-icon-help:before { + content: "help"; } + +.ui-icon-help-outline:before { + content: "help_outline"; } + +.ui-icon-high-quality:before { + content: "high_quality"; } + +.ui-icon-highlight:before { + content: "highlight"; } + +.ui-icon-highlight-off:before { + content: "highlight_off"; } + +.ui-icon-history:before { + content: "history"; } + +.ui-icon-home:before { + content: "home"; } + +.ui-icon-hot-tub:before { + content: "hot_tub"; } + +.ui-icon-hotel:before { + content: "hotel"; } + +.ui-icon-hourglass-empty:before { + content: "hourglass_empty"; } + +.ui-icon-hourglass-full:before { + content: "hourglass_full"; } + +.ui-icon-http:before { + content: "http"; } + +.ui-icon-https:before { + content: "https"; } + +.ui-icon-image:before { + content: "image"; } + +.ui-icon-image-aspect-ratio:before { + content: "image_aspect_ratio"; } + +.ui-icon-import-contacts:before { + content: "import_contacts"; } + +.ui-icon-import-export:before { + content: "import_export"; } + +.ui-icon-important-devices:before { + content: "important_devices"; } + +.ui-icon-inbox:before { + content: "inbox"; } + +.ui-icon-indeterminate-check-box:before { + content: "indeterminate_check_box"; } + +.ui-icon-info:before { + content: "info"; } + +.ui-icon-info-outline:before { + content: "info_outline"; } + +.ui-icon-input:before { + content: "input"; } + +.ui-icon-insert-chart:before { + content: "insert_chart"; } + +.ui-icon-insert-comment:before { + content: "insert_comment"; } + +.ui-icon-insert-drive-file:before { + content: "insert_drive_file"; } + +.ui-icon-insert-emoticon:before { + content: "insert_emoticon"; } + +.ui-icon-insert-invitation:before { + content: "insert_invitation"; } + +.ui-icon-insert-link:before { + content: "insert_link"; } + +.ui-icon-insert-photo:before { + content: "insert_photo"; } + +.ui-icon-invert-colors:before { + content: "invert_colors"; } + +.ui-icon-invert-colors-off:before { + content: "invert_colors_off"; } + +.ui-icon-iso:before { + content: "iso"; } + +.ui-icon-keyboard:before { + content: "keyboard"; } + +.ui-icon-keyboard-arrow-down:before { + content: "keyboard_arrow_down"; } + +.ui-icon-keyboard-arrow-left:before { + content: "keyboard_arrow_left"; } + +.ui-icon-keyboard-arrow-right:before { + content: "keyboard_arrow_right"; } + +.ui-icon-keyboard-arrow-up:before { + content: "keyboard_arrow_up"; } + +.ui-icon-keyboard-backspace:before { + content: "keyboard_backspace"; } + +.ui-icon-keyboard-capslock:before { + content: "keyboard_capslock"; } + +.ui-icon-keyboard-hide:before { + content: "keyboard_hide"; } + +.ui-icon-keyboard-return:before { + content: "keyboard_return"; } + +.ui-icon-keyboard-tab:before { + content: "keyboard_tab"; } + +.ui-icon-keyboard-voice:before { + content: "keyboard_voice"; } + +.ui-icon-kitchen:before { + content: "kitchen"; } + +.ui-icon-label:before { + content: "label"; } + +.ui-icon-label-outline:before { + content: "label_outline"; } + +.ui-icon-landscape:before { + content: "landscape"; } + +.ui-icon-language:before { + content: "language"; } + +.ui-icon-laptop:before { + content: "laptop"; } + +.ui-icon-laptop-chromebook:before { + content: "laptop_chromebook"; } + +.ui-icon-laptop-mac:before { + content: "laptop_mac"; } + +.ui-icon-laptop-windows:before { + content: "laptop_windows"; } + +.ui-icon-last-page:before { + content: "last_page"; } + +.ui-icon-launch:before { + content: "launch"; } + +.ui-icon-layers:before { + content: "layers"; } + +.ui-icon-layers-clear:before { + content: "layers_clear"; } + +.ui-icon-leak-add:before { + content: "leak_add"; } + +.ui-icon-leak-remove:before { + content: "leak_remove"; } + +.ui-icon-lens:before { + content: "lens"; } + +.ui-icon-library-add:before { + content: "library_add"; } + +.ui-icon-library-books:before { + content: "library_books"; } + +.ui-icon-library-music:before { + content: "library_music"; } + +.ui-icon-lightbulb-outline:before { + content: "lightbulb_outline"; } + +.ui-icon-line-style:before { + content: "line_style"; } + +.ui-icon-line-weight:before { + content: "line_weight"; } + +.ui-icon-linear-scale:before { + content: "linear_scale"; } + +.ui-icon-link:before { + content: "link"; } + +.ui-icon-linked-camera:before { + content: "linked_camera"; } + +.ui-icon-list:before { + content: "list"; } + +.ui-icon-live-help:before { + content: "live_help"; } + +.ui-icon-live-tv:before { + content: "live_tv"; } + +.ui-icon-local-activity:before { + content: "local_activity"; } + +.ui-icon-local-airport:before { + content: "local_airport"; } + +.ui-icon-local-atm:before { + content: "local_atm"; } + +.ui-icon-local-bar:before { + content: "local_bar"; } + +.ui-icon-local-cafe:before { + content: "local_cafe"; } + +.ui-icon-local-car-wash:before { + content: "local_car_wash"; } + +.ui-icon-local-convenience-store:before { + content: "local_convenience_store"; } + +.ui-icon-local-dining:before { + content: "local_dining"; } + +.ui-icon-local-drink:before { + content: "local_drink"; } + +.ui-icon-local-florist:before { + content: "local_florist"; } + +.ui-icon-local-gas-station:before { + content: "local_gas_station"; } + +.ui-icon-local-grocery-store:before { + content: "local_grocery_store"; } + +.ui-icon-local-hospital:before { + content: "local_hospital"; } + +.ui-icon-local-hotel:before { + content: "local_hotel"; } + +.ui-icon-local-laundry-service:before { + content: "local_laundry_service"; } + +.ui-icon-local-library:before { + content: "local_library"; } + +.ui-icon-local-mall:before { + content: "local_mall"; } + +.ui-icon-local-movies:before { + content: "local_movies"; } + +.ui-icon-local-offer:before { + content: "local_offer"; } + +.ui-icon-local-parking:before { + content: "local_parking"; } + +.ui-icon-local-pharmacy:before { + content: "local_pharmacy"; } + +.ui-icon-local-phone:before { + content: "local_phone"; } + +.ui-icon-local-pizza:before { + content: "local_pizza"; } + +.ui-icon-local-play:before { + content: "local_play"; } + +.ui-icon-local-post-office:before { + content: "local_post_office"; } + +.ui-icon-local-printshop:before { + content: "local_printshop"; } + +.ui-icon-local-see:before { + content: "local_see"; } + +.ui-icon-local-shipping:before { + content: "local_shipping"; } + +.ui-icon-local-taxi:before { + content: "local_taxi"; } + +.ui-icon-location-city:before { + content: "location_city"; } + +.ui-icon-location-disabled:before { + content: "location_disabled"; } + +.ui-icon-location-off:before { + content: "location_off"; } + +.ui-icon-location-on:before { + content: "location_on"; } + +.ui-icon-location-searching:before { + content: "location_searching"; } + +.ui-icon-lock:before { + content: "lock"; } + +.ui-icon-lock-open:before { + content: "lock_open"; } + +.ui-icon-lock-outline:before { + content: "lock_outline"; } + +.ui-icon-looks:before { + content: "looks"; } + +.ui-icon-looks-3:before { + content: "looks_3"; } + +.ui-icon-looks-4:before { + content: "looks_4"; } + +.ui-icon-looks-5:before { + content: "looks_5"; } + +.ui-icon-looks-6:before { + content: "looks_6"; } + +.ui-icon-looks-one:before { + content: "looks_one"; } + +.ui-icon-looks-two:before { + content: "looks_two"; } + +.ui-icon-loop:before { + content: "loop"; } + +.ui-icon-loupe:before { + content: "loupe"; } + +.ui-icon-low-priority:before { + content: "low_priority"; } + +.ui-icon-loyalty:before { + content: "loyalty"; } + +.ui-icon-mail:before { + content: "mail"; } + +.ui-icon-mail-outline:before { + content: "mail_outline"; } + +.ui-icon-map:before { + content: "map"; } + +.ui-icon-markunread:before { + content: "markunread"; } + +.ui-icon-markunread-mailbox:before { + content: "markunread_mailbox"; } + +.ui-icon-memory:before { + content: "memory"; } + +.ui-icon-menu:before { + content: "menu"; } + +.ui-icon-merge-type:before { + content: "merge_type"; } + +.ui-icon-message:before { + content: "message"; } + +.ui-icon-mic:before { + content: "mic"; } + +.ui-icon-mic-none:before { + content: "mic_none"; } + +.ui-icon-mic-off:before { + content: "mic_off"; } + +.ui-icon-mms:before { + content: "mms"; } + +.ui-icon-mode-comment:before { + content: "mode_comment"; } + +.ui-icon-mode-edit:before { + content: "mode_edit"; } + +.ui-icon-monetization-on:before { + content: "monetization_on"; } + +.ui-icon-money-off:before { + content: "money_off"; } + +.ui-icon-monochrome-photos:before { + content: "monochrome_photos"; } + +.ui-icon-mood:before { + content: "mood"; } + +.ui-icon-mood-bad:before { + content: "mood_bad"; } + +.ui-icon-more:before { + content: "more"; } + +.ui-icon-more-horiz:before { + content: "more_horiz"; } + +.ui-icon-more-vert:before { + content: "more_vert"; } + +.ui-icon-motorcycle:before { + content: "motorcycle"; } + +.ui-icon-mouse:before { + content: "mouse"; } + +.ui-icon-move-to-inbox:before { + content: "move_to_inbox"; } + +.ui-icon-movie:before { + content: "movie"; } + +.ui-icon-movie-creation:before { + content: "movie_creation"; } + +.ui-icon-movie-filter:before { + content: "movie_filter"; } + +.ui-icon-multiline-chart:before { + content: "multiline_chart"; } + +.ui-icon-music-note:before { + content: "music_note"; } + +.ui-icon-music-video:before { + content: "music_video"; } + +.ui-icon-my-location:before { + content: "my_location"; } + +.ui-icon-nature:before { + content: "nature"; } + +.ui-icon-nature-people:before { + content: "nature_people"; } + +.ui-icon-navigate-before:before { + content: "navigate_before"; } + +.ui-icon-navigate-next:before { + content: "navigate_next"; } + +.ui-icon-navigation:before { + content: "navigation"; } + +.ui-icon-near-me:before { + content: "near_me"; } + +.ui-icon-network-cell:before { + content: "network_cell"; } + +.ui-icon-network-check:before { + content: "network_check"; } + +.ui-icon-network-locked:before { + content: "network_locked"; } + +.ui-icon-network-wifi:before { + content: "network_wifi"; } + +.ui-icon-new-releases:before { + content: "new_releases"; } + +.ui-icon-next-week:before { + content: "next_week"; } + +.ui-icon-nfc:before { + content: "nfc"; } + +.ui-icon-no-encryption:before { + content: "no_encryption"; } + +.ui-icon-no-sim:before { + content: "no_sim"; } + +.ui-icon-not-interested:before { + content: "not_interested"; } + +.ui-icon-note:before { + content: "note"; } + +.ui-icon-note-add:before { + content: "note_add"; } + +.ui-icon-notifications:before { + content: "notifications"; } + +.ui-icon-notifications-active:before { + content: "notifications_active"; } + +.ui-icon-notifications-none:before { + content: "notifications_none"; } + +.ui-icon-notifications-off:before { + content: "notifications_off"; } + +.ui-icon-notifications-paused:before { + content: "notifications_paused"; } + +.ui-icon-offline-pin:before { + content: "offline_pin"; } + +.ui-icon-ondemand-video:before { + content: "ondemand_video"; } + +.ui-icon-opacity:before { + content: "opacity"; } + +.ui-icon-open-in-browser:before { + content: "open_in_browser"; } + +.ui-icon-open-in-new:before { + content: "open_in_new"; } + +.ui-icon-open-with:before { + content: "open_with"; } + +.ui-icon-pages:before { + content: "pages"; } + +.ui-icon-pageview:before { + content: "pageview"; } + +.ui-icon-palette:before { + content: "palette"; } + +.ui-icon-pan-tool:before { + content: "pan_tool"; } + +.ui-icon-panorama:before { + content: "panorama"; } + +.ui-icon-panorama-fish-eye:before { + content: "panorama_fish_eye"; } + +.ui-icon-panorama-horizontal:before { + content: "panorama_horizontal"; } + +.ui-icon-panorama-vertical:before { + content: "panorama_vertical"; } + +.ui-icon-panorama-wide-angle:before { + content: "panorama_wide_angle"; } + +.ui-icon-party-mode:before { + content: "party_mode"; } + +.ui-icon-pause:before { + content: "pause"; } + +.ui-icon-pause-circle-filled:before { + content: "pause_circle_filled"; } + +.ui-icon-pause-circle-outline:before { + content: "pause_circle_outline"; } + +.ui-icon-payment:before { + content: "payment"; } + +.ui-icon-people:before { + content: "people"; } + +.ui-icon-people-outline:before { + content: "people_outline"; } + +.ui-icon-perm-camera-mic:before { + content: "perm_camera_mic"; } + +.ui-icon-perm-contact-calendar:before { + content: "perm_contact_calendar"; } + +.ui-icon-perm-data-setting:before { + content: "perm_data_setting"; } + +.ui-icon-perm-device-information:before { + content: "perm_device_information"; } + +.ui-icon-perm-identity:before { + content: "perm_identity"; } + +.ui-icon-perm-media:before { + content: "perm_media"; } + +.ui-icon-perm-phone-msg:before { + content: "perm_phone_msg"; } + +.ui-icon-perm-scan-wifi:before { + content: "perm_scan_wifi"; } + +.ui-icon-person:before { + content: "person"; } + +.ui-icon-person-add:before { + content: "person_add"; } + +.ui-icon-person-outline:before { + content: "person_outline"; } + +.ui-icon-person-pin:before { + content: "person_pin"; } + +.ui-icon-person-pin-circle:before { + content: "person_pin_circle"; } + +.ui-icon-personal-video:before { + content: "personal_video"; } + +.ui-icon-pets:before { + content: "pets"; } + +.ui-icon-phone:before { + content: "phone"; } + +.ui-icon-phone-android:before { + content: "phone_android"; } + +.ui-icon-phone-bluetooth-speaker:before { + content: "phone_bluetooth_speaker"; } + +.ui-icon-phone-forwarded:before { + content: "phone_forwarded"; } + +.ui-icon-phone-in-talk:before { + content: "phone_in_talk"; } + +.ui-icon-phone-iphone:before { + content: "phone_iphone"; } + +.ui-icon-phone-locked:before { + content: "phone_locked"; } + +.ui-icon-phone-missed:before { + content: "phone_missed"; } + +.ui-icon-phone-paused:before { + content: "phone_paused"; } + +.ui-icon-phonelink:before { + content: "phonelink"; } + +.ui-icon-phonelink-erase:before { + content: "phonelink_erase"; } + +.ui-icon-phonelink-lock:before { + content: "phonelink_lock"; } + +.ui-icon-phonelink-off:before { + content: "phonelink_off"; } + +.ui-icon-phonelink-ring:before { + content: "phonelink_ring"; } + +.ui-icon-phonelink-setup:before { + content: "phonelink_setup"; } + +.ui-icon-photo:before { + content: "photo"; } + +.ui-icon-photo-album:before { + content: "photo_album"; } + +.ui-icon-photo-camera:before { + content: "photo_camera"; } + +.ui-icon-photo-filter:before { + content: "photo_filter"; } + +.ui-icon-photo-library:before { + content: "photo_library"; } + +.ui-icon-photo-size-select-actual:before { + content: "photo_size_select_actual"; } + +.ui-icon-photo-size-select-large:before { + content: "photo_size_select_large"; } + +.ui-icon-photo-size-select-small:before { + content: "photo_size_select_small"; } + +.ui-icon-picture-as-pdf:before { + content: "picture_as_pdf"; } + +.ui-icon-picture-in-picture:before { + content: "picture_in_picture"; } + +.ui-icon-picture-in-picture-alt:before { + content: "picture_in_picture_alt"; } + +.ui-icon-pie-chart:before { + content: "pie_chart"; } + +.ui-icon-pie-chart-outlined:before { + content: "pie_chart_outlined"; } + +.ui-icon-pin-drop:before { + content: "pin_drop"; } + +.ui-icon-place:before { + content: "place"; } + +.ui-icon-play-arrow:before { + content: "play_arrow"; } + +.ui-icon-play-circle-filled:before { + content: "play_circle_filled"; } + +.ui-icon-play-circle-outline:before { + content: "play_circle_outline"; } + +.ui-icon-play-for-work:before { + content: "play_for_work"; } + +.ui-icon-playlist-add:before { + content: "playlist_add"; } + +.ui-icon-playlist-add-check:before { + content: "playlist_add_check"; } + +.ui-icon-playlist-play:before { + content: "playlist_play"; } + +.ui-icon-plus-one:before { + content: "plus_one"; } + +.ui-icon-poll:before { + content: "poll"; } + +.ui-icon-polymer:before { + content: "polymer"; } + +.ui-icon-pool:before { + content: "pool"; } + +.ui-icon-portable-wifi-off:before { + content: "portable_wifi_off"; } + +.ui-icon-portrait:before { + content: "portrait"; } + +.ui-icon-power:before { + content: "power"; } + +.ui-icon-power-input:before { + content: "power_input"; } + +.ui-icon-power-settings-new:before { + content: "power_settings_new"; } + +.ui-icon-pregnant-woman:before { + content: "pregnant_woman"; } + +.ui-icon-present-to-all:before { + content: "present_to_all"; } + +.ui-icon-print:before { + content: "print"; } + +.ui-icon-priority-high:before { + content: "priority_high"; } + +.ui-icon-public:before { + content: "public"; } + +.ui-icon-publish:before { + content: "publish"; } + +.ui-icon-query-builder:before { + content: "query_builder"; } + +.ui-icon-question-answer:before { + content: "question_answer"; } + +.ui-icon-queue:before { + content: "queue"; } + +.ui-icon-queue-music:before { + content: "queue_music"; } + +.ui-icon-queue-play-next:before { + content: "queue_play_next"; } + +.ui-icon-radio:before { + content: "radio"; } + +.ui-icon-radio-button-checked:before { + content: "radio_button_checked"; } + +.ui-icon-radio-button-unchecked:before { + content: "radio_button_unchecked"; } + +.ui-icon-rate-review:before { + content: "rate_review"; } + +.ui-icon-receipt:before { + content: "receipt"; } + +.ui-icon-recent-actors:before { + content: "recent_actors"; } + +.ui-icon-record-voice-over:before { + content: "record_voice_over"; } + +.ui-icon-redeem:before { + content: "redeem"; } + +.ui-icon-redo:before { + content: "redo"; } + +.ui-icon-refresh:before { + content: "refresh"; } + +.ui-icon-remove:before { + content: "remove"; } + +.ui-icon-remove-circle:before { + content: "remove_circle"; } + +.ui-icon-remove-circle-outline:before { + content: "remove_circle_outline"; } + +.ui-icon-remove-from-queue:before { + content: "remove_from_queue"; } + +.ui-icon-remove-red-eye:before { + content: "remove_red_eye"; } + +.ui-icon-remove-shopping-cart:before { + content: "remove_shopping_cart"; } + +.ui-icon-reorder:before { + content: "reorder"; } + +.ui-icon-repeat:before { + content: "repeat"; } + +.ui-icon-repeat-one:before { + content: "repeat_one"; } + +.ui-icon-replay:before { + content: "replay"; } + +.ui-icon-replay-10:before { + content: "replay_10"; } + +.ui-icon-replay-30:before { + content: "replay_30"; } + +.ui-icon-replay-5:before { + content: "replay_5"; } + +.ui-icon-reply:before { + content: "reply"; } + +.ui-icon-reply-all:before { + content: "reply_all"; } + +.ui-icon-report:before { + content: "report"; } + +.ui-icon-report-problem:before { + content: "report_problem"; } + +.ui-icon-restaurant:before { + content: "restaurant"; } + +.ui-icon-restaurant-menu:before { + content: "restaurant_menu"; } + +.ui-icon-restore:before { + content: "restore"; } + +.ui-icon-restore-page:before { + content: "restore_page"; } + +.ui-icon-ring-volume:before { + content: "ring_volume"; } + +.ui-icon-room:before { + content: "room"; } + +.ui-icon-room-service:before { + content: "room_service"; } + +.ui-icon-rotate-90-degrees-ccw:before { + content: "rotate_90_degrees_ccw"; } + +.ui-icon-rotate-left:before { + content: "rotate_left"; } + +.ui-icon-rotate-right:before { + content: "rotate_right"; } + +.ui-icon-rounded-corner:before { + content: "rounded_corner"; } + +.ui-icon-router:before { + content: "router"; } + +.ui-icon-rowing:before { + content: "rowing"; } + +.ui-icon-rss-feed:before { + content: "rss_feed"; } + +.ui-icon-rv-hookup:before { + content: "rv_hookup"; } + +.ui-icon-satellite:before { + content: "satellite"; } + +.ui-icon-save:before { + content: "save"; } + +.ui-icon-scanner:before { + content: "scanner"; } + +.ui-icon-schedule:before { + content: "schedule"; } + +.ui-icon-school:before { + content: "school"; } + +.ui-icon-screen-lock-landscape:before { + content: "screen_lock_landscape"; } + +.ui-icon-screen-lock-portrait:before { + content: "screen_lock_portrait"; } + +.ui-icon-screen-lock-rotation:before { + content: "screen_lock_rotation"; } + +.ui-icon-screen-rotation:before { + content: "screen_rotation"; } + +.ui-icon-screen-share:before { + content: "screen_share"; } + +.ui-icon-sd-card:before { + content: "sd_card"; } + +.ui-icon-sd-storage:before { + content: "sd_storage"; } + +.ui-icon-search:before { + content: "search"; } + +.ui-icon-security:before { + content: "security"; } + +.ui-icon-select-all:before { + content: "select_all"; } + +.ui-icon-send:before { + content: "send"; } + +.ui-icon-sentiment-dissatisfied:before { + content: "sentiment_dissatisfied"; } + +.ui-icon-sentiment-neutral:before { + content: "sentiment_neutral"; } + +.ui-icon-sentiment-satisfied:before { + content: "sentiment_satisfied"; } + +.ui-icon-sentiment-very-dissatisfied:before { + content: "sentiment_very_dissatisfied"; } + +.ui-icon-sentiment-very-satisfied:before { + content: "sentiment_very_satisfied"; } + +.ui-icon-settings:before { + content: "settings"; } + +.ui-icon-settings-applications:before { + content: "settings_applications"; } + +.ui-icon-settings-backup-restore:before { + content: "settings_backup_restore"; } + +.ui-icon-settings-bluetooth:before { + content: "settings_bluetooth"; } + +.ui-icon-settings-brightness:before { + content: "settings_brightness"; } + +.ui-icon-settings-cell:before { + content: "settings_cell"; } + +.ui-icon-settings-ethernet:before { + content: "settings_ethernet"; } + +.ui-icon-settings-input-antenna:before { + content: "settings_input_antenna"; } + +.ui-icon-settings-input-component:before { + content: "settings_input_component"; } + +.ui-icon-settings-input-composite:before { + content: "settings_input_composite"; } + +.ui-icon-settings-input-hdmi:before { + content: "settings_input_hdmi"; } + +.ui-icon-settings-input-svideo:before { + content: "settings_input_svideo"; } + +.ui-icon-settings-overscan:before { + content: "settings_overscan"; } + +.ui-icon-settings-phone:before { + content: "settings_phone"; } + +.ui-icon-settings-power:before { + content: "settings_power"; } + +.ui-icon-settings-remote:before { + content: "settings_remote"; } + +.ui-icon-settings-system-daydream:before { + content: "settings_system_daydream"; } + +.ui-icon-settings-voice:before { + content: "settings_voice"; } + +.ui-icon-share:before { + content: "share"; } + +.ui-icon-shop:before { + content: "shop"; } + +.ui-icon-shop-two:before { + content: "shop_two"; } + +.ui-icon-shopping-basket:before { + content: "shopping_basket"; } + +.ui-icon-shopping-cart:before { + content: "shopping_cart"; } + +.ui-icon-short-text:before { + content: "short_text"; } + +.ui-icon-show-chart:before { + content: "show_chart"; } + +.ui-icon-shuffle:before { + content: "shuffle"; } + +.ui-icon-signal-cellular-4-bar:before { + content: "signal_cellular_4_bar"; } + +.ui-icon-signal-cellular-connected-no-internet-4-bar:before { + content: "signal_cellular_connected_no_internet_4_bar"; } + +.ui-icon-signal-cellular-no-sim:before { + content: "signal_cellular_no_sim"; } + +.ui-icon-signal-cellular-null:before { + content: "signal_cellular_null"; } + +.ui-icon-signal-cellular-off:before { + content: "signal_cellular_off"; } + +.ui-icon-signal-wifi-4-bar:before { + content: "signal_wifi_4_bar"; } + +.ui-icon-signal-wifi-4-bar-lock:before { + content: "signal_wifi_4_bar_lock"; } + +.ui-icon-signal-wifi-off:before { + content: "signal_wifi_off"; } + +.ui-icon-sim-card:before { + content: "sim_card"; } + +.ui-icon-sim-card-alert:before { + content: "sim_card_alert"; } + +.ui-icon-skip-next:before { + content: "skip_next"; } + +.ui-icon-skip-previous:before { + content: "skip_previous"; } + +.ui-icon-slideshow:before { + content: "slideshow"; } + +.ui-icon-slow-motion-video:before { + content: "slow_motion_video"; } + +.ui-icon-smartphone:before { + content: "smartphone"; } + +.ui-icon-smoke-free:before { + content: "smoke_free"; } + +.ui-icon-smoking-rooms:before { + content: "smoking_rooms"; } + +.ui-icon-sms:before { + content: "sms"; } + +.ui-icon-sms-failed:before { + content: "sms_failed"; } + +.ui-icon-snooze:before { + content: "snooze"; } + +.ui-icon-sort:before { + content: "sort"; } + +.ui-icon-sort-by-alpha:before { + content: "sort_by_alpha"; } + +.ui-icon-spa:before { + content: "spa"; } + +.ui-icon-space-bar:before { + content: "space_bar"; } + +.ui-icon-speaker:before { + content: "speaker"; } + +.ui-icon-speaker-group:before { + content: "speaker_group"; } + +.ui-icon-speaker-notes:before { + content: "speaker_notes"; } + +.ui-icon-speaker-notes-off:before { + content: "speaker_notes_off"; } + +.ui-icon-speaker-phone:before { + content: "speaker_phone"; } + +.ui-icon-spellcheck:before { + content: "spellcheck"; } + +.ui-icon-star:before { + content: "star"; } + +.ui-icon-star-border:before { + content: "star_border"; } + +.ui-icon-star-half:before { + content: "star_half"; } + +.ui-icon-stars:before { + content: "stars"; } + +.ui-icon-stay-current-landscape:before { + content: "stay_current_landscape"; } + +.ui-icon-stay-current-portrait:before { + content: "stay_current_portrait"; } + +.ui-icon-stay-primary-landscape:before { + content: "stay_primary_landscape"; } + +.ui-icon-stay-primary-portrait:before { + content: "stay_primary_portrait"; } + +.ui-icon-stop:before { + content: "stop"; } + +.ui-icon-stop-screen-share:before { + content: "stop_screen_share"; } + +.ui-icon-storage:before { + content: "storage"; } + +.ui-icon-store:before { + content: "store"; } + +.ui-icon-store-mall-directory:before { + content: "store_mall_directory"; } + +.ui-icon-straighten:before { + content: "straighten"; } + +.ui-icon-streetview:before { + content: "streetview"; } + +.ui-icon-strikethrough-s:before { + content: "strikethrough_s"; } + +.ui-icon-style:before { + content: "style"; } + +.ui-icon-subdirectory-arrow-left:before { + content: "subdirectory_arrow_left"; } + +.ui-icon-subdirectory-arrow-right:before { + content: "subdirectory_arrow_right"; } + +.ui-icon-subject:before { + content: "subject"; } + +.ui-icon-subscriptions:before { + content: "subscriptions"; } + +.ui-icon-subtitles:before { + content: "subtitles"; } + +.ui-icon-subway:before { + content: "subway"; } + +.ui-icon-supervisor-account:before { + content: "supervisor_account"; } + +.ui-icon-surround-sound:before { + content: "surround_sound"; } + +.ui-icon-swap-calls:before { + content: "swap_calls"; } + +.ui-icon-swap-horiz:before { + content: "swap_horiz"; } + +.ui-icon-swap-vert:before { + content: "swap_vert"; } + +.ui-icon-swap-vertical-circle:before { + content: "swap_vertical_circle"; } + +.ui-icon-switch-camera:before { + content: "switch_camera"; } + +.ui-icon-switch-video:before { + content: "switch_video"; } + +.ui-icon-sync:before { + content: "sync"; } + +.ui-icon-sync-disabled:before { + content: "sync_disabled"; } + +.ui-icon-sync-problem:before { + content: "sync_problem"; } + +.ui-icon-system-update:before { + content: "system_update"; } + +.ui-icon-system-update-alt:before { + content: "system_update_alt"; } + +.ui-icon-tab:before { + content: "tab"; } + +.ui-icon-tab-unselected:before { + content: "tab_unselected"; } + +.ui-icon-tablet:before { + content: "tablet"; } + +.ui-icon-tablet-android:before { + content: "tablet_android"; } + +.ui-icon-tablet-mac:before { + content: "tablet_mac"; } + +.ui-icon-tag-faces:before { + content: "tag_faces"; } + +.ui-icon-tap-and-play:before { + content: "tap_and_play"; } + +.ui-icon-terrain:before { + content: "terrain"; } + +.ui-icon-text-fields:before { + content: "text_fields"; } + +.ui-icon-text-format:before { + content: "text_format"; } + +.ui-icon-textsms:before { + content: "textsms"; } + +.ui-icon-texture:before { + content: "texture"; } + +.ui-icon-theaters:before { + content: "theaters"; } + +.ui-icon-thumb-down:before { + content: "thumb_down"; } + +.ui-icon-thumb-up:before { + content: "thumb_up"; } + +.ui-icon-thumbs-up-down:before { + content: "thumbs_up_down"; } + +.ui-icon-time-to-leave:before { + content: "time_to_leave"; } + +.ui-icon-timelapse:before { + content: "timelapse"; } + +.ui-icon-timeline:before { + content: "timeline"; } + +.ui-icon-timer:before { + content: "timer"; } + +.ui-icon-timer-10:before { + content: "timer_10"; } + +.ui-icon-timer-3:before { + content: "timer_3"; } + +.ui-icon-timer-off:before { + content: "timer_off"; } + +.ui-icon-title:before { + content: "title"; } + +.ui-icon-toc:before { + content: "toc"; } + +.ui-icon-today:before { + content: "today"; } + +.ui-icon-toll:before { + content: "toll"; } + +.ui-icon-tonality:before { + content: "tonality"; } + +.ui-icon-touch-app:before { + content: "touch_app"; } + +.ui-icon-toys:before { + content: "toys"; } + +.ui-icon-track-changes:before { + content: "track_changes"; } + +.ui-icon-traffic:before { + content: "traffic"; } + +.ui-icon-train:before { + content: "train"; } + +.ui-icon-tram:before { + content: "tram"; } + +.ui-icon-transfer-within-a-station:before { + content: "transfer_within_a_station"; } + +.ui-icon-transform:before { + content: "transform"; } + +.ui-icon-translate:before { + content: "translate"; } + +.ui-icon-trending-down:before { + content: "trending_down"; } + +.ui-icon-trending-flat:before { + content: "trending_flat"; } + +.ui-icon-trending-up:before { + content: "trending_up"; } + +.ui-icon-tune:before { + content: "tune"; } + +.ui-icon-turned-in:before { + content: "turned_in"; } + +.ui-icon-turned-in-not:before { + content: "turned_in_not"; } + +.ui-icon-tv:before { + content: "tv"; } + +.ui-icon-unarchive:before { + content: "unarchive"; } + +.ui-icon-undo:before { + content: "undo"; } + +.ui-icon-unfold-less:before { + content: "unfold_less"; } + +.ui-icon-unfold-more:before { + content: "unfold_more"; } + +.ui-icon-update:before { + content: "update"; } + +.ui-icon-usb:before { + content: "usb"; } + +.ui-icon-verified-user:before { + content: "verified_user"; } + +.ui-icon-vertical-align-bottom:before { + content: "vertical_align_bottom"; } + +.ui-icon-vertical-align-center:before { + content: "vertical_align_center"; } + +.ui-icon-vertical-align-top:before { + content: "vertical_align_top"; } + +.ui-icon-vibration:before { + content: "vibration"; } + +.ui-icon-video-call:before { + content: "video_call"; } + +.ui-icon-video-label:before { + content: "video_label"; } + +.ui-icon-video-library:before { + content: "video_library"; } + +.ui-icon-videocam:before { + content: "videocam"; } + +.ui-icon-videocam-off:before { + content: "videocam_off"; } + +.ui-icon-videogame-asset:before { + content: "videogame_asset"; } + +.ui-icon-view-agenda:before { + content: "view_agenda"; } + +.ui-icon-view-array:before { + content: "view_array"; } + +.ui-icon-view-carousel:before { + content: "view_carousel"; } + +.ui-icon-view-column:before { + content: "view_column"; } + +.ui-icon-view-comfy:before { + content: "view_comfy"; } + +.ui-icon-view-compact:before { + content: "view_compact"; } + +.ui-icon-view-day:before { + content: "view_day"; } + +.ui-icon-view-headline:before { + content: "view_headline"; } + +.ui-icon-view-list:before { + content: "view_list"; } + +.ui-icon-view-module:before { + content: "view_module"; } + +.ui-icon-view-quilt:before { + content: "view_quilt"; } + +.ui-icon-view-stream:before { + content: "view_stream"; } + +.ui-icon-view-week:before { + content: "view_week"; } + +.ui-icon-vignette:before { + content: "vignette"; } + +.ui-icon-visibility:before { + content: "visibility"; } + +.ui-icon-visibility-off:before { + content: "visibility_off"; } + +.ui-icon-voice-chat:before { + content: "voice_chat"; } + +.ui-icon-voicemail:before { + content: "voicemail"; } + +.ui-icon-volume-down:before { + content: "volume_down"; } + +.ui-icon-volume-mute:before { + content: "volume_mute"; } + +.ui-icon-volume-off:before { + content: "volume_off"; } + +.ui-icon-volume-up:before { + content: "volume_up"; } + +.ui-icon-vpn-key:before { + content: "vpn_key"; } + +.ui-icon-vpn-lock:before { + content: "vpn_lock"; } + +.ui-icon-wallpaper:before { + content: "wallpaper"; } + +.ui-icon-warning:before { + content: "warning"; } + +.ui-icon-watch:before { + content: "watch"; } + +.ui-icon-watch-later:before { + content: "watch_later"; } + +.ui-icon-wb-auto:before { + content: "wb_auto"; } + +.ui-icon-wb-cloudy:before { + content: "wb_cloudy"; } + +.ui-icon-wb-incandescent:before { + content: "wb_incandescent"; } + +.ui-icon-wb-iridescent:before { + content: "wb_iridescent"; } + +.ui-icon-wb-sunny:before { + content: "wb_sunny"; } + +.ui-icon-wc:before { + content: "wc"; } + +.ui-icon-web:before { + content: "web"; } + +.ui-icon-web-asset:before { + content: "web_asset"; } + +.ui-icon-weekend:before { + content: "weekend"; } + +.ui-icon-whatshot:before { + content: "whatshot"; } + +.ui-icon-widgets:before { + content: "widgets"; } + +.ui-icon-wifi:before { + content: "wifi"; } + +.ui-icon-wifi-lock:before { + content: "wifi_lock"; } + +.ui-icon-wifi-tethering:before { + content: "wifi_tethering"; } + +.ui-icon-work:before { + content: "work"; } + +.ui-icon-wrap-text:before { + content: "wrap_text"; } + +.ui-icon-youtube-searched-for:before { + content: "youtube_searched_for"; } + +.ui-icon-zoom-in:before { + content: "zoom_in"; } + +.ui-icon-zoom-out:before { + content: "zoom_out"; } + +.ui-icon-zoom-out-map:before { + content: "zoom_out_map"; } + +.material-icons, .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + +body .ui-widget, +body .ui-widget .ui-widget { + font-family: "Roboto","Helvetica Neue",sans-serif; + text-decoration: none; } +body .ui-widget-content { + background-color: #ffffff; + font-size: 1em; + border: 1px solid #bdbdbd; } + body .ui-widget-content .fa { + color: #757575; } +body .ui-widget-header { + background-color: #795548; + color: #ffffff; + font-size: 1em; + border: 1px solid #795548; } + body .ui-widget-header .fa { + color: #ffffff; } +body .ui-state-active, body .ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } + body .ui-state-active .fa, body .ui-state-highlight .fa { + color: #ffffff; } +body .ui-widget:disabled, +body .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; + cursor: auto !important; } +body .ui-corner-all { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } +body .ui-corner-top { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } +body .ui-corner-bottom { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-corner-left { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; } +body .ui-corner-right { + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-widget-overlay { + background-color: #58575c; + opacity: .8; } + +body { + /* InputGroup */ + /* Validation */ } + body .ui-inputtext { + background: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + font-size: 1em; + border-color: #bdbdbd; + border-style: solid; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + border-radius: 0px; } + body .ui-inputtext:focus, body .ui-inputtext.ui-state-focus { + border-width: 0 0 2px 0; + border-color: #795548; + padding-bottom: 0px; } + body .ui-inputtext:disabled { + border-bottom: 1px dotted; } + body .ui-inputtext.ui-widget-content { + border-width: 1px; } + body .ui-inputtext.ui-state-error { + border-color: #e62a10; } + body .md-inputfield { + display: block; + position: relative; } + body .md-inputfield label { + color: #999; + font-weight: normal; + position: absolute; + pointer-events: none; + left: 5px; + top: 1px; + transition: 0.3s ease all; + -moz-transition: 0.3s ease all; + -webkit-transition: 0.3s ease all; } + body .md-inputfield input:focus ~ label, + body .md-inputfield input.ui-state-filled ~ label, + body .md-inputfield .ui-inputwrapper-focus ~ label, + body .md-inputfield .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #795548; } + body .md-inputfield .input:-webkit-autofill ~ label { + top: -20px; + font-size: 12px; + color: #795548; } + body .md-inputfield input.ng-dirty.ng-invalid ~ label { + color: #e62a10; } + body .md-inputfield .ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .md-inputfield.md-inputfield-fill input { + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 4px; } + body .md-inputfield.md-inputfield-fill label { + top: 2px; } + body .md-inputfield.md-inputfield-fill input:focus ~ label, + body .md-inputfield.md-inputfield-fill input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #795548; } + body .md-inputfield.md-inputfield-box { + background-color: #f7f7f7; + height: 44px; } + body .md-inputfield.md-inputfield-box > *:not(label) { + bottom: 0px; + position: absolute; + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 24px; } + body .md-inputfield.md-inputfield-box > label { + top: 23px; } + body .md-inputfield.md-inputfield-box input:focus ~ label, + body .md-inputfield.md-inputfield-box input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-filled ~ label { + top: 1px; } + body .md-inputfield.md-inputfield-box .input:-webkit-autofill ~ label { + top: 1px; } + body .ui-material-message.ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .ui-material-message.ui-message.ui-messages-error label { + top: 4px; } + body .ui-listbox { + min-width: 12.5em; + background-color: #ffffff; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-listbox.ui-inputtext { + padding: 0; } + body .ui-listbox .ui-listbox-list { + padding: 0; } + body .ui-listbox .ui-listbox-item { + overflow: hidden; + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + color: #212121; + position: relative; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-listbox .ui-listbox-item.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } + body .ui-listbox:not(.ui-state-disabled) .ui-listbox-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-listbox .ui-listbox-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; } + body .ui-listbox .ui-listbox-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext { + color: #ffffff; + padding: 2px 2px 1px 2px; + padding-left: 1.5em; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext:focus { + padding-bottom: 0; + border-bottom-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .fa { + top: 0; + left: 0; } + body .ui-button, body .ui-datepicker-buttonpane > button { + overflow: hidden; + background-color: #795548; + color: #ffffff; + font-size: 1em; + height: 2.25em; + padding: 0 1em; + border: 0 none; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button:enabled:not(:focus):hover { + background-color: #4e342e; } + body .ui-button:focus, body .ui-datepicker-buttonpane > button:focus { + outline: 0 none; + background-color: #996b5b; } + body .ui-button .ui-button-text, body .ui-datepicker-buttonpane > button .ui-button-text { + padding: 0; + line-height: 2.25em; } + body .ui-button .fa, body .ui-datepicker-buttonpane > button .fa { + color: #ffffff; } + body .ui-button.ui-button-icon-only, body .ui-datepicker-buttonpane > button.ui-button-icon-only { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 2.5em; + height: 2.5em; } + body .ui-button.ui-button-icon-only .fa, body .ui-datepicker-buttonpane > button.ui-button-icon-only .fa { + margin-left: -.5em; } + body .ui-button.ui-button-text-icon-left, body .ui-datepicker-buttonpane > button.ui-button-text-icon-left { + padding-left: 2.5em; } + body .ui-button.ui-button-text-icon-right, body .ui-datepicker-buttonpane > button.ui-button-text-icon-right { + padding-right: 2.5em; } + body .ui-button.secondary, body .ui-button.ui-secondary-button, body .ui-datepicker-buttonpane > button.secondary, body .ui-datepicker-buttonpane > button.ui-secondary-button { + background-color: #8BC34A; + color: #ffffff; } + body .ui-button.secondary:enabled:not(:focus):hover, body .ui-button.ui-secondary-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.secondary:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-secondary-button:enabled:not(:focus):hover { + background-color: #558B2F; } + body .ui-button.secondary:focus, body .ui-button.ui-secondary-button:focus, body .ui-datepicker-buttonpane > button.secondary:focus, body .ui-datepicker-buttonpane > button.ui-secondary-button:focus { + outline: 0 none; + background-color: #a4d070; } + body .ui-button.blue-grey-btn, body .ui-datepicker-buttonpane > button.blue-grey-btn { + background-color: #607D8B; } + body .ui-button.blue-grey-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-grey-btn:enabled:not(:focus):hover { + background-color: #37474F; } + body .ui-button.blue-grey-btn:focus, body .ui-datepicker-buttonpane > button.blue-grey-btn:focus { + outline: 0 none; + background-color: #7b96a3; } + body .ui-button.cyan-btn, body .ui-datepicker-buttonpane > button.cyan-btn { + background-color: #00BCD4; } + body .ui-button.cyan-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.cyan-btn:enabled:not(:focus):hover { + background-color: #00838F; } + body .ui-button.cyan-btn:focus, body .ui-datepicker-buttonpane > button.cyan-btn:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button.teal-btn, body .ui-datepicker-buttonpane > button.teal-btn { + background-color: #009688; } + body .ui-button.teal-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.teal-btn:enabled:not(:focus):hover { + background-color: #00695C; } + body .ui-button.teal-btn:focus, body .ui-datepicker-buttonpane > button.teal-btn:focus { + outline: 0 none; + background-color: #00c9b6; } + body .ui-button.red-btn, body .ui-button.ui-danger-button, body .ui-datepicker-buttonpane > button.red-btn, body .ui-datepicker-buttonpane > button.ui-danger-button { + background-color: #F44336; } + body .ui-button.red-btn:enabled:not(:focus):hover, body .ui-button.ui-danger-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.red-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-danger-button:enabled:not(:focus):hover { + background-color: #C62828; } + body .ui-button.red-btn:focus, body .ui-button.ui-danger-button:focus, body .ui-datepicker-buttonpane > button.red-btn:focus, body .ui-datepicker-buttonpane > button.ui-danger-button:focus { + outline: 0 none; + background-color: #f77066; } + body .ui-button.green-btn, body .ui-button.ui-success-button, body .ui-datepicker-buttonpane > button.green-btn, body .ui-datepicker-buttonpane > button.ui-success-button { + background-color: #4CAF50; } + body .ui-button.green-btn:enabled:not(:focus):hover, body .ui-button.ui-success-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.green-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-success-button:enabled:not(:focus):hover { + background-color: #2E7D32; } + body .ui-button.green-btn:focus, body .ui-button.ui-success-button:focus, body .ui-datepicker-buttonpane > button.green-btn:focus, body .ui-datepicker-buttonpane > button.ui-success-button:focus { + outline: 0 none; + background-color: #6ec071; } + body .ui-button.deep-orange-btn, body .ui-datepicker-buttonpane > button.deep-orange-btn { + background-color: #FF5722; } + body .ui-button.deep-orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.deep-orange-btn:enabled:not(:focus):hover { + background-color: #D84315; } + body .ui-button.deep-orange-btn:focus, body .ui-datepicker-buttonpane > button.deep-orange-btn:focus { + outline: 0 none; + background-color: #ff7e55; } + body .ui-button.purple-btn, body .ui-datepicker-buttonpane > button.purple-btn { + background-color: #673AB7; } + body .ui-button.purple-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.purple-btn:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button.purple-btn:focus, body .ui-datepicker-buttonpane > button.purple-btn:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button.pink-btn, body .ui-datepicker-buttonpane > button.pink-btn { + background-color: #E91E63; } + body .ui-button.pink-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.pink-btn:enabled:not(:focus):hover { + background-color: #AD1457; } + body .ui-button.pink-btn:focus, body .ui-datepicker-buttonpane > button.pink-btn:focus { + outline: 0 none; + background-color: #ee4c83; } + body .ui-button.amber-btn, body .ui-button.ui-warning-button, body .ui-datepicker-buttonpane > button.amber-btn, body .ui-datepicker-buttonpane > button.ui-warning-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.amber-btn:enabled:not(:focus):hover, body .ui-button.ui-warning-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.amber-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-warning-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.amber-btn:focus, body .ui-button.ui-warning-button:focus, body .ui-datepicker-buttonpane > button.amber-btn:focus, body .ui-datepicker-buttonpane > button.ui-warning-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.orange-btn, body .ui-datepicker-buttonpane > button.orange-btn { + background-color: #FF9800; } + body .ui-button.orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.orange-btn:enabled:not(:focus):hover { + background-color: #EF6C00; } + body .ui-button.orange-btn:focus, body .ui-datepicker-buttonpane > button.orange-btn:focus { + outline: 0 none; + background-color: #ffad33; } + body .ui-button.brown-btn, body .ui-datepicker-buttonpane > button.brown-btn { + background-color: #795548; } + body .ui-button.brown-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.brown-btn:enabled:not(:focus):hover { + background-color: #4E342E; } + body .ui-button.brown-btn:focus, body .ui-datepicker-buttonpane > button.brown-btn:focus { + outline: 0 none; + background-color: #996b5b; } + body .ui-button.indigo-btn, body .ui-datepicker-buttonpane > button.indigo-btn { + background-color: #3F51B5; } + body .ui-button.indigo-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.indigo-btn:enabled:not(:focus):hover { + background-color: #283593; } + body .ui-button.indigo-btn:focus, body .ui-datepicker-buttonpane > button.indigo-btn:focus { + outline: 0 none; + background-color: #606fc7; } + body .ui-button.blue-btn, body .ui-button.ui-info-button, body .ui-datepicker-buttonpane > button.blue-btn, body .ui-datepicker-buttonpane > button.ui-info-button { + background-color: #03A9F4; + color: #ffffff; } + body .ui-button.blue-btn:enabled:not(:focus):hover, body .ui-button.ui-info-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-info-button:enabled:not(:focus):hover { + background-color: #0277BD; } + body .ui-button.blue-btn:focus, body .ui-button.ui-info-button:focus, body .ui-datepicker-buttonpane > button.blue-btn:focus, body .ui-datepicker-buttonpane > button.ui-info-button:focus { + outline: 0 none; + background-color: #2ebcfc; } + body .ui-button.flat, body .ui-datepicker-buttonpane > button.flat { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-buttonset .ui-button:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #4e342e; } + body .ui-buttonset .ui-button.ui-state-active { + background-color: #8BC34A; + color: #ffffff; } + body .ui-togglebutton:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #4e342e; } + body .ui-togglebutton.ui-state-active { + background-color: #8BC34A; + color: #ffffff; } + body .ui-splitbutton { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); } + body .ui-splitbutton > .ui-button { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-splitbutton > .ui-button:active { + background-color: #996b5b; } + body .ui-splitbutton .ui-splitbutton-menubutton { + height: 2.25em; + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton .ui-menu { + min-width: 100%; } + body .ui-fluid .ui-splitbutton .ui-button:first-child { + width: calc(100% - 2em); } + body .ui-chkbox { + display: inline-block; + vertical-align: middle; + line-height: 1.25em; + width: 1.25em; + height: 1.25em; + cursor: default; } + body .ui-chkbox .ui-chkbox-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + font-size: 1.25em; + margin-left: -2px; + margin-top: -2px; } + body .ui-chkbox .ui-chkbox-box.ui-state-active { + border-color: #795548; + background-color: #795548; } + body .ui-chkbox .ui-chkbox-box.ui-state-focus { + border-color: #795548; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton { + position: relative; + margin: 0 .25em 0 0; + vertical-align: middle; } + body .ui-radiobutton .ui-radiobutton-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + -moz-transition: box-shadow 0.3s; + -o-transition: box-shadow 0.3s; + -webkit-transition: box-shadow 0.3s; + transition: box-shadow 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-focus { + border-color: #795548; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-active { + border-color: #795548; + background-color: transparent; } + body .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon { + display: block; + box-sizing: border-box; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-size: 1em; + transition: -webkit-transform ease .28s; + transition: transform ease .28s; + -webkit-transform: scale(0); + transform: scale(0); + margin: 0; } + body .ui-radiobutton .ui-radiobutton-box .fa-circle { + background-color: #795548; + -webkit-transform: scale(0.5); + transform: scale(0.5); } + body .ui-autocomplete-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-autocomplete-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-autocomplete-panel .ui-autocomplete-list { + padding: 0; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + font-size: 1em; + padding: 0.625em 0.875em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item .ui-autocomplete-query { + font-weight: 700; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item.ui-state-highlight { + color: #ffffff; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-group { + padding: 0.625em 0.875em; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only { + background-color: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + height: 1.5em; + width: 1.5em; + padding: 0; + right: 0; + bottom: 0; + margin-right: 0; + position: absolute; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .ui-button-text { + display: none; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .fa { + color: #757575; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-inputtext { + box-sizing: border-box; + padding: 2px 2px 1px 2px; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-focus { + padding-bottom: 0; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token { + float: none; + display: inline-block; + margin: 0 1px; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token .ui-autocomplete-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-dropdown { + top: .75em; } + body .ui-fluid .ui-autocomplete.ui-autocomplete-dd > .ui-inputtext { + width: 100%; } + body .ui-dropdown { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-dropdown .ui-dropdown-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: 0; + margin-right: 0; } + body .ui-dropdown .ui-dropdown-trigger .fa { + color: #757575; + margin-top: 0; + margin-left: 0; } + body .ui-dropdown .ui-dropdown-label.ui-inputtext { + font: 1em "Roboto", "Helvetica Neue", sans-serif; } + body .ui-dropdown.ui-state-focus { + border-bottom: 2px solid #795548; } + body .ui-dropdown.ui-state-focus .ui-dropdown-label { + padding-bottom: 0; } + body .ui-dropdown-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-list { + padding: 0; } + body .ui-dropdown-panel .ui-dropdown-item { + margin: 0; + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-item:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-dropdown-panel .ui-dropdown-item.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } + body .ui-dropdown-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-dropdown-panel .ui-dropdown-filter-container { + display: block; + border-bottom: 1px solid #bdbdbd; + background-color: #795548; + padding: 0.625em 1em; } + body .ui-dropdown-panel .ui-dropdown-filter-container input { + color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container input:focus { + border-bottom-color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container .fa { + top: .325em; + right: .75em; + color: #ffffff; } + body .ui-multiselect { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-multiselect .ui-multiselect-label-container { + padding-right: 1.5em; } + body .ui-multiselect .ui-multiselect-label-container .ui-multiselect-label { + padding: 0px 2px 0px 2px; } + body .ui-multiselect .ui-multiselect-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: .063em; } + body .ui-multiselect .ui-multiselect-trigger .fa { + color: #757575; + margin-top: auto; + margin-left: auto; } + body .ui-multiselect.ui-state-focus { + border-bottom: 2px solid #795548; } + body .ui-multiselect-panel.ui-widget { + padding: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + min-width: 12.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; + position: relative; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox { + float: none; + margin: 0 .5em 0 -.125em; + position: static; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-focus { + background-color: #bcaaa4; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container { + width: 70%; + display: inline-block; + vertical-align: middle; + float: none; + margin-left: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .fa { + top: 0; + left: 0; + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext { + color: #ffffff; + padding-left: 1.5em; + width: 100%; + box-sizing: border-box; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext:focus { + border-bottom-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close { + position: absolute; + right: .5em; + top: .625em; + height: 1.5em; + width: 1.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close span { + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close:hover { + background-color: #bcaaa4; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item { + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item.ui-state-highlight { + color: #ffffff; } + body .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; + padding: 0; + margin-right: .25em; + background-color: transparent; + color: #212121; + z-index: auto; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-n { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-s { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa { + top: 0px; + height: .5em; + color: #757575; } + body .ui-spinner .ui-spinner-button:enabled:hover, body .ui-spinner .ui-spinner-button:active { + background-color: transparent; } + body .ui-spinner .ui-spinner-up .fa { + top: .25em; } + body .ui-spinner .ui-spinner-down .fa { + top: .167em; } + body .ui-spinner .ui-spinner-input { + padding-right: 30px; } + body .ui-fluid .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; } + body .ui-fluid .ui-spinner .ui-spinner-button .fa { + left: auto; } + body .ui-inputswitch { + height: 14px; + width: 34px !important; + overflow: visible; + background-color: #9e9e9e; + border-color: #9e9e9e; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; } + body .ui-inputswitch .ui-inputswitch-handle { + top: -4px; + background-color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + width: 20px !important; + height: 20px !important; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; } + body .ui-inputswitch .ui-inputswitch-on { + visibility: hidden; } + body .ui-inputswitch .ui-inputswitch-off span, body .ui-inputswitch .ui-inputswitch-on span { + visibility: hidden; } + body .ui-inputswitch.ui-inputswitch-checked { + background-color: #C5E1A5; + border-color: #C5E1A5; } + body .ui-inputswitch.ui-inputswitch-checked .ui-inputswitch-handle { + background-color: #8BC34A; + color: #ffffff; } + body .ui-slider .ui-slider-handle { + background-color: #8BC34A; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 1.25em; + height: 1.25em; + transform: scale(0.7); + -moz-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -o-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + body .ui-slider .ui-slider-handle.ui-state-focus { + transform: scale(1); } + body .ui-slider .ui-slider-handle:focus { + outline: 0 none; } + body .ui-slider.ui-slider-horizontal { + height: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-horizontal .ui-slider-handle { + top: -.55em; } + body .ui-slider.ui-slider-vertical { + width: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-vertical .ui-slider-handle { + left: -.55em; } + body .ui-slider .ui-slider-range { + background-color: #8BC34A; + color: #ffffff; } + body .ui-slider:not(.ui-state-disabled) .ui-slider-handle:hover { + transform: scale(1); } + body .ui-calendar .ui-datepicker-trigger { + bottom: 2px; + right: 0; + background-color: transparent; + color: #212121; + height: 1.5em; + width: 1.5em; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-calendar .ui-datepicker-trigger .fa { + color: #757575; } + body .ui-calendar .ui-datepicker-trigger:enabled:hover { + background-color: transparent; } + body .ui-fluid .ui-calendar.ui-calendar-w-btn .ui-inputtext { + width: 100%; } + body .ui-datepicker { + padding: 0; + width: 17.5em; } + body .ui-datepicker.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-datepicker .ui-datepicker-header { + padding: 0.625em 1em; + font-size: 1em; + background: #4e342e; + border-color: #4e342e; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + cursor: pointer; + top: .4em; + left: .2em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before { + content: "keyboard_arrow_left"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover { + background-color: #bcaaa4; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next { + cursor: pointer; + top: .4em; + right: .2em; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before { + content: "keyboard_arrow_right"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover { + background-color: #bcaaa4; } + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-month, + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-year { + font-size: 14px; } + body .ui-datepicker table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; + font-size: 14px; } + body .ui-datepicker thead tr { + color: #ffffff; + background: #795548; } + body .ui-datepicker tbody td { + padding: .25em .125em; + box-sizing: border-box; } + body .ui-datepicker tbody td.ui-datepicker-today a { + color: #ffffff; + background: #af8778; } + body .ui-datepicker tbody td.ui-datepicker-today a.ui-state-active { + color: #ffffff; + background-color: #8BC34A; + color: #ffffff; } + body .ui-datepicker tbody td a { + padding: .25em; + margin: 0; + text-align: center; + color: #212121; + display: inline-block; + height: 2.250em; + width: 2.250em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + line-height: 1.8em; } + body .ui-datepicker tbody td a.ui-state-active { + color: #ffffff; + background-color: #8BC34A; + color: #ffffff; } + body .ui-datepicker tbody td a:not(.ui-state-active):not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datepicker tbody td a span { + display: inline; + padding: 0; + text-align: center; } + body .ui-datepicker .ui-timepicker { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-datepicker .ui-timepicker > div a { + height: 1.5em; } + body .ui-datepicker .ui-timepicker > div a > span { + display: inline-block; + margin-bottom: .25em; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up:before { + content: "keyboard_arrow_up"; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down:before { + content: "keyboard_arrow_down"; } + body #ui-datepicker-div { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-rating { + min-height: 1.5em; } + body .ui-rating .fa-ban { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-ban:before { + content: "cancel"; } + body .ui-rating .fa-star { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star:before { + content: "star"; } + body .ui-rating .fa-star-o { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star-o:before { + content: "star_border"; } + body .ui-chips > ul.ui-inputtext { + padding: 2px 2px 1px 2px; } + body .ui-chips > ul.ui-inputtext.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-chips > ul.ui-inputtext.ui-state-focus { + padding-bottom: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token { + padding-bottom: 2px; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token input:disabled { + width: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-chips > ul.ui-inputtext .ui-chips-token .ui-chips-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-password-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-fileupload .ui-fileupload-buttonbar { + padding: 0.625em 1em; } + body .ui-fileupload .ui-fileupload-buttonbar .fa-arrowreturnthick-1-n:before { + content: "file_upload"; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button { + background-color: #8BC34A; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button:enabled:hover { + background-color: #558B2F; } + body .ui-fileupload .ui-fileupload-content .ui-messages-error .fa { + color: #ffffff; } + body .ui-fileupload-choose:not(.ui-state-disabled):hover.ui-button, + body .ui-fileupload-choose.ui-state-focus.ui-button { + background-color: #7eb73d; } + body .ui-fileupload-choose:not(.ui-state-disabled):active.ui-button { + background-color: #71a436; } + body .ui-editor-container .ui-editor-toolbar { + background-color: #e8e8e8; } + body .ui-editor-container .ql-picker.ql-expanded .ql-picker-label { + color: #444444; } + body .ui-inputgroup .ui-inputgroup-addon { + border-width: 0 0 1px 0; + border-color: #bdbdbd; + color: #757575; + padding: 2px 2px 1px 2px; + align-self: flex-end; } + body .ui-inputgroup .ui-inputgroup-addon > i { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-self: flex-end; } + body .ui-inputgroup .ui-inputtext { + align-self: flex-end; } + body .ui-inputgroup .md-inputfield { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + display: inherit; } + body .ui-inputgroup .md-inputfield label { + top: 5px; } + body .ui-inputgroup .ui-chkbox, body .ui-inputgroup .ui-radiobutton { + margin-bottom: .125em; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only { + width: 1.643em; + height: 1.643em; + padding: 0; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only .ui-button-icon-left { + margin-left: -.45em; } + body .ui-inputtext.ng-dirty.ng-invalid, + body p-dropdown.ng-dirty.ng-invalid > .ui-dropdown, + body p-autocomplete.ng-dirty.ng-invalid > .ui-autocomplete > .ui-inputtext, + body p-calendar.ng-dirty.ng-invalid > .ui-inputtext, + body p-inputmask.ng-dirty.ng-invalid > .ui-inputtext, + body p-checkbox.ng-dirty.ng-invalid .ui-chkbox-box, + body p-radiobutton.ng-dirty.ng-invalid .ui-radiobutton-box, + body p-inputswitch.ng-dirty.ng-invalid .ui-inputswitch, + body p-listbox.ng-dirty.ng-invalid .ui-inputtext, + body p-multiselect.ng-dirty.ng-invalid > .ui-multiselect, + body p-spinner.ng-dirty.ng-invalid > .ui-inputtext, + body p-selectbutton.ng-dirty.ng-invalid .ui-button, + body p-togglebutton.ng-dirty.ng-invalid .ui-button { + border-bottom-color: #e62a10; } + +@media (max-width: 640px) { + body .ui-buttonset > .ui-button { + display: block; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-buttonset > .ui-button:first-child { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } + body .ui-buttonset > .ui-button:last-child { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton > .ui-button { + display: inline-block; } + body .ui-splitbutton > .ui-button:first-child { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; } + body .ui-splitbutton > .ui-button:last-child { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } } +body .ui-panel { + padding: 0; } + body .ui-panel .ui-panel-titlebar { + border: 0 none; + border-bottom: 1px solid #795548; + padding: 0.625em 1em; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-panel .ui-panel-titlebar .ui-panel-title { + line-height: 1.5em; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon { + position: relative; + width: 1.5em; + height: 1.5em; + color: #ffffff; + margin: 0; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon:hover { + background-color: #bcaaa4; } + body .ui-panel .ui-panel-content { + height: 100%; + box-sizing: border-box; + padding: 0.625em 1em; } + body .ui-panel .ui-panel-footer { + padding: 0.625em 1em; + border: 0 none; + border-top: 1px solid #bdbdbd; + margin: 0; } +body .ui-fieldset { + padding: 0.625em 1em; } + body .ui-fieldset .ui-fieldset-legend { + padding: 0.625em 1em; + padding-left: .125em; + padding-right: .5em; + color: #795548; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler { + padding: .5em; + height: 2em; + width: 2em; + background-color: #795548; + color: #ffffff; + font-size: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + margin-right: .5em; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler:hover { + background-color: #4e342e; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-legend-text { + color: #795548; } + body .ui-fieldset .ui-fieldset-legend.ui-state-focus { + background-color: transparent; } +body .ui-accordion .ui-accordion-header { + background-color: #795548; + padding: 0; + color: #ffffff; + font-size: 1em; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-accordion .ui-accordion-header > a { + padding: 0.625em 1em; + color: #ffffff; } + body .ui-accordion .ui-accordion-header > a .ui-accordion-toggle-icon, + body .ui-accordion .ui-accordion-header > a .ui-accordion-header-text { + vertical-align: middle; } + body .ui-accordion .ui-accordion-header:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #4e342e; } + body .ui-accordion .ui-accordion-header.ui-state-active { + background-color: #8BC34A; + color: #ffffff; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-accordion .ui-accordion-header.ui-state-active > a { + color: #ffffff; } +body .ui-accordion .ui-accordion-content { + padding: 0.625em 1em; + line-height: 1.5em; } +body .ui-toolbar { + background-color: #4e342e; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + padding: .625em; } +body .ui-tabview { + padding: 0; } + body .ui-tabview .ui-tabview-nav { + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabview .ui-tabview-nav > li { + padding: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabview .ui-tabview-nav > li > a { + padding: 0.625em 1em; } + body .ui-tabview .ui-tabview-nav > li > a:focus { + outline: 0 none; } + body .ui-tabview .ui-tabview-nav > li > .fa-close { + margin: .325em 0 0 0; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + color: #757575; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-left-icon, body .ui-tabview .ui-tabview-nav > li .ui-tabview-right-icon { + color: #757575; + display: inline-block; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-title { + line-height: 1.5em; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li.ui-state-default a { + color: #757575; } + body .ui-tabview .ui-tabview-nav > li:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #ffffff; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active { + background-color: #ffffff; + border-color: #8BC34A; + border-style: solid; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active a { + color: #795548; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active > .fa-close { + color: #8BC34A; } + body .ui-tabview .ui-tabview-nav > li.ui-tabview-outline { + outline: 0 none; + border-color: #C5E1A5; } + body .ui-tabview .ui-tabview-panel { + padding: 0.625em 1em; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav > li { + border-style: solid; + border-width: 0 0 2px 0; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav > li { + border-width: 2px 0 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + border-right: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 2px 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav { + padding: 0; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 0 0 2px; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li.ui-state-active > a { + padding-left: 0.875em; } + +@media (max-width: 640px) { + body .ui-toolbar .ui-toolbar-group-right { + margin-top: 1em; } } +body .ui-picklist .ui-picklist-caption { + font-size: 1em; + padding: 0.625em 1em; } +body .ui-picklist .ui-picklist-list { + padding: 0; } +body .ui-picklist .ui-picklist-filter-container .fa { + left: 0.3em; } +body .ui-picklist .ui-picklist-filter-container .ui-picklist-filter { + text-indent: 1.5em; } +body .ui-picklist li.ui-picklist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-picklist li.ui-picklist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-picklist li.ui-picklist-item.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } +body .ui-picklist .ui-picklist-buttons { + width: 3em; } + body .ui-picklist .ui-picklist-buttons .ui-button.ui-button-icon-only { + width: 2.5em; + margin-right: 0; + display: inline-block; + margin-bottom: .5em; } +body .ui-picklist .ui-picklist-buttons-cell { + text-align: center; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + margin: 0 auto; + display: block; + margin-bottom: .5em; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox { + margin-right: .5em; + vertical-align: top; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox, body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox * { + box-sizing: content-box; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-organizationchart-selectable-node:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-state-highlight .ui-node-toggler i { + color: #496a23; } +body .ui-organizationchart .ui-organizationchart-line-down { + background-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-left { + border-right: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-top { + border-top: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content { + border-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler { + bottom: -1.3em; + margin-left: -.75em; + color: #bdbdbd; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down:before { + content: "keyboard_arrow_down"; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up:before { + content: "keyboard_arrow_up"; } +body .ui-orderlist .ui-orderlist-caption { + font-size: 1em; + padding: 0.625em 1em; + box-sizing: border-box; } +body .ui-orderlist .ui-orderlist-list { + padding: 0; + box-sizing: border-box; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } +body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 3.75em; } +body .ui-orderlist .ui-orderlist-controls { + width: 3.75em; + text-align: center; } + body .ui-orderlist .ui-orderlist-controls .ui-button.ui-button-icon-only { + width: 2.5em; + margin-bottom: .5em; + margin-right: 0; } +body .ui-paginator { + background-color: #4e342e; + padding: 0.625em 1em; } + body .ui-paginator > a { + box-sizing: border-box; + color: #ffffff; } + body .ui-paginator > a .fa { + display: none; } + body .ui-paginator > a:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #bcaaa4; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-next { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-next:before { + content: "navigate_next"; } + body .ui-paginator .ui-paginator-last { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-last:before { + content: "last_page"; } + body .ui-paginator .ui-paginator-prev { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-prev:before { + content: "navigate_before"; } + body .ui-paginator .ui-paginator-first { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-first:before { + content: "first_page"; } + body .ui-paginator .ui-paginator-pages { + vertical-align: middle; + margin: 0 .375em 0 .375em; } + body .ui-paginator .ui-paginator-pages a { + padding: 0; + color: #ffffff; + min-width: 1.5em; + min-height: 1.5em; + line-height: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-pages a:not(.ui-state-active):hover { + background-color: #bcaaa4; } + body .ui-paginator .ui-paginator-pages a.ui-state-active { + background-color: #8BC34A; + color: #ffffff; } +body .ui-datagrid .ui-datagrid-header { + padding: 0.625em 1em; } +body .ui-datagrid .ui-panel .ui-panel-titlebar { + background-color: #ffffff; + color: #212121; + border-color: #bdbdbd; } +body .ui-datalist .ui-datalist-header { + padding: 0.625em 1em; } +body .ui-table .ui-table-caption, +body .ui-table .ui-table-summary { + padding: 0.625em 1em; + text-align: center; + font-weight: normal; } +body .ui-table .ui-table-caption { + border-bottom: 0 none; } +body .ui-table .ui-table-summary { + border-top: 0 none; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tbody > tr > td, +body .ui-table .ui-table-tfoot > tr > td { + padding: 0.625em 1em; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tfoot > tr > td { + font-weight: 400; + background-color: #ffffff; + border: 1px solid #cacaca; } +body .ui-table .ui-sortable-column:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-table .ui-sortable-column.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; + border-top-color: #8BC34A; } + body .ui-table .ui-sortable-column.ui-state-highlight .fa { + color: #ffffff; } +body .ui-table .ui-sortable-column .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } +body .ui-table .ui-table-tbody > tr { + background: #ffffff; } + body .ui-table .ui-table-tbody > tr > td { + background: inherit; + border: 1px solid #cacaca; } + body .ui-table .ui-table-tbody > tr.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr.ui-contextmenu-selected { + background-color: #8BC34A; + color: #ffffff; } +body .ui-table .ui-table-tbody > tr:nth-child(odd) { + background-color: #f4f4f4; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-contextmenu-selected { + background-color: #8BC34A; + color: #ffffff; } +body .ui-table.ui-table-hoverable-rows .ui-table-tbody > tr:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable .ui-datatable-header, +body .ui-datatable .ui-datatable-footer { + padding: 0.625em 1em; } + body .ui-datatable .ui-datatable-header .ui-inputtext, + body .ui-datatable .ui-datatable-footer .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-header .ui-inputtext:focus, + body .ui-datatable .ui-datatable-footer .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-paginator { + padding: 0.625em 1em; } +body .ui-datatable .ui-datatable-thead > tr { + border-color: #cacaca; } + body .ui-datatable .ui-datatable-thead > tr th { + padding: .625em .875em; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-sortable-column:not(.ui-state-active):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datatable .ui-datatable-thead > tr th .ui-column-title { + display: inline-block; + vertical-align: middle; } + body .ui-datatable .ui-datatable-thead > tr th .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; + border-top-color: #8BC34A; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .fa, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .fa { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext.ui-state-focus, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext.ui-state-focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-selection-column .ui-chkbox-box { + box-sizing: content-box; } +body .ui-datatable tfoot th { + padding: .625em .875em; + border: 1px solid #bdbdbd; + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-datatable-even { + background-color: #f4f4f4; } + body .ui-datatable .ui-datatable-data tr.ui-datatable-even.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr { + border: 1px solid #cacaca; } + body .ui-datatable .ui-datatable-data tr td { + padding: .625em .875em; } + body .ui-datatable .ui-datatable-data tr td .ui-row-toggler { + display: inherit; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td input.ui-cell-editor { + padding: 2px 2px 1px 2px; + font-size: 1em; } + body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-chkbox-box, body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-radiobutton-box { + box-sizing: content-box; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight { + background-color: #8BC34A; + border-color:   #8BC34A; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr .ui-cell-editor-input input { + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext, + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext.ui-state-error { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box .ui-radiobutton-icon { + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box { + border-color: #ffffff; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box .ui-chkbox-icon { + color: #757575; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-rowgroup-header td a { + height: 1.5em; + vertical-align: top; + display: inline-block; } +body .ui-datatable .ui-datatable-data.ui-datatable-hoverable-rows > tr.ui-widget-content:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer { + border: 0 none; + background-color: transparent; } + body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header .ui-datatable-data td, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer .ui-datatable-data td { + color: #212121; } +body .ui-datatable.ui-datatable-scrollable thead tr th { + color: #212121; + font-size: 16px; } +body .ui-datatable.ui-datatable-scrollable tfoot tr td { + color: #212121; + font-size: 16px; } +body .ui-datatable .ui-datatable-loading { + opacity: 0.3; + filter: alpha(opacity=30); } +body .ui-datatable .ui-datatable-loading-content { + top: 35%; } + body .ui-datatable .ui-datatable-loading-content .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-animation-delay: 0; + -webkit-animation-duration: 1000ms; + -webkit-animation-name: spin; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-delay: 0; + -moz-animation-duration: 1000ms; + -moz-animation-name: spin; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + animation-delay: 0; + animation-duration: 1000ms; + animation-name: spin; + animation-iteration-count: infinite; + animation-timing-function: linear; + font-size: 2em; } + body .ui-datatable .ui-datatable-loading-content .fa:before { + content: "refresh"; } +body .ui-carousel { + padding: 0; } + body .ui-carousel .ui-carousel-header { + padding: 0.625em 1em; + font-size: 1em; + overflow: visible; } + body .ui-carousel .ui-carousel-header .ui-carousel-header-title { + overflow: visible; } + body .ui-carousel .ui-carousel-header .fa { + color: #ffffff; } + body .ui-carousel .ui-carousel-header .ui-carousel-button { + margin: -1px 0 0 0; } + body .ui-carousel .ui-carousel-header .ui-carousel-page-links { + margin: -1px 0 0 0; } +body .ui-tree { + padding: 0.625em 1em/2; } + body .ui-tree .ui-treenode-children { + padding-left: 1.75em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin-right: .5em; } + body .ui-tree .ui-treenode-content .ui-chkbox .fa { + color: #757575; } + body .ui-tree .ui-treenode-content .ui-tree-toggler { + vertical-align: middle; + margin: 0 0 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-icon { + vertical-align: middle; + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-label { + margin: 0; + vertical-align: middle; } + body .ui-tree .ui-treenode-content.ui-treenode-selectable .ui-treenode-label:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal { + padding-left: 0; + padding-right: 0; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content { + background-color: #ffffff; + border: 1px solid #bdbdbd; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-tree-toggler { + vertical-align: top; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-treenode-icon { + vertical-align: top; + margin-right: .25em; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-treenode-selectable:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } +body .ui-tree-draghelper { + border: 1px solid #795548; } +body .fc .fc-toolbar .ui-icon-circle-triangle-e { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-icon-circle-triangle-w { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-state-active { + background-color: #8BC34A; } +body .fc .fc-event { + background-color: #bcaaa4; + color: #ffffff; } +body .fc table { + box-sizing: border-box; } +body .ui-treetable .ui-treetable-header { + padding: 0.625em 1em; + font-size: 1em; } +body .ui-treetable thead tr { + border-bottom: 1px solid #bdbdbd; } + body .ui-treetable thead tr th { + background-color: #ffffff; + padding: .625em .875em; + border: 0 none; } + body .ui-treetable thead tr th .fa { + color: #757575; } + body .ui-treetable thead tr th:first-child { + border-left: 1px solid #bdbdbd; } + body .ui-treetable thead tr th:last-child { + border-right: 1px solid #bdbdbd; } + body .ui-treetable thead tr th .ui-sortable-column-icon { + vertical-align: middle; + margin: -.25em 0 0 0; } + body .ui-treetable thead tr th.ui-state-active { + background-color: #8BC34A; + color: #ffffff; } + body .ui-treetable thead tr th.ui-state-active .fa { + color: #ffffff; } + body .ui-treetable thead tr th .ui-column-resizer { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1em; + color: #757575; } + body .ui-treetable thead tr th .ui-column-resizer:before { + content: "code"; } +body .ui-treetable tfoot td { + border: 0 none; + padding: .625em .875em; } +body .ui-treetable tbody .ui-treetable-row { + background-color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row td { + border: 0 none; + padding: .625em .875em; } + body .ui-treetable tbody .ui-treetable-row td .ui-treetable-toggler { + display: inline-block; + vertical-align: middle; + margin: 0 .167em; + float: none; } + body .ui-treetable tbody .ui-treetable-row td .ui-chkbox { + margin-right: .5em; } + body .ui-treetable tbody .ui-treetable-row td.ui-treetable-child-table-container { + padding: 0; } + body .ui-treetable tbody .ui-treetable-row.ui-treetable-row-selectable:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight { + background-color: #8BC34A; + color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } +body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-header, body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-footer { + background-color: transparent; + border: 0 none; } +body .ui-treetable.ui-treetable-scrollable thead th { + background-color: #ffffff; + color: #212121; } + +@media (max-width: 40em) { + body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 100%; } } +@media (max-width: 640px) { + body .ui-picklist.ui-picklist-responsive .ui-picklist-list-wrapper { + margin-bottom: .5em; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons { + padding: .5em 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + display: inline-block; + margin-right: .25em; + margin-bottom: 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right:before { + content: "skip_previous"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left:before { + content: "skip_next"; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls { + text-align: center; + width: auto; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button { + margin-right: .25em; } } +body .ui-breadcrumb { + padding: 0.625em 1em; } + body .ui-breadcrumb ul li a { + color: #ffffff; + font-size: 1em; } +body .ui-steps { + position: relative; } + body .ui-steps .ui-steps-item { + background-color: transparent; } + body .ui-steps .ui-steps-item.ui-state-disabled { + opacity: 1; + filter: alpha(opacity=100); } + body .ui-steps .ui-steps-item .ui-menuitem-link { + display: inline-block; + text-align: left; + background-color: #ffffff; + overflow: hidden; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number { + display: inline-block; + background-color: #757575; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: .25em .75em; + font-size: 1em; + color: #ffffff; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: inline; + margin-left: .625em; + color: #757575; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-number { + background-color: #8BC34A; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-title { + font-weight: 700; + color: #212121; } + body .ui-steps .ui-steps-item:last-child .ui-menuitem-link { + display: block; } + body .ui-steps:before { + content: ' '; + border: 1px solid #bdbdbd; + width: 90%; + top: 45%; + left: 0; + display: block; + position: absolute; } +body .ui-menu .ui-menuitem-link, +body .ui-menubar .ui-menuitem-link, +body .ui-tieredmenu .ui-menuitem-link, +body .ui-contextmenu .ui-menuitem-link, +body .ui-megamenu .ui-menuitem-link, +body .ui-slidemenu .ui-menuitem-link { + padding: .625em 1em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-menu .ui-menuitem-link:hover, + body .ui-menubar .ui-menuitem-link:hover, + body .ui-tieredmenu .ui-menuitem-link:hover, + body .ui-contextmenu .ui-menuitem-link:hover, + body .ui-megamenu .ui-menuitem-link:hover, + body .ui-slidemenu .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link:focus, + body .ui-menubar .ui-menuitem-link:focus, + body .ui-tieredmenu .ui-menuitem-link:focus, + body .ui-contextmenu .ui-menuitem-link:focus, + body .ui-megamenu .ui-menuitem-link:focus, + body .ui-slidemenu .ui-menuitem-link:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link .ui-menuitem-text, + body .ui-menubar .ui-menuitem-link .ui-menuitem-text, + body .ui-tieredmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-contextmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-megamenu .ui-menuitem-link .ui-menuitem-text, + body .ui-slidemenu .ui-menuitem-link .ui-menuitem-text { + vertical-align: middle; } +body .ui-menubar .ui-submenu-list, body .ui-contextmenu .ui-submenu-list, +body .ui-slidemenu .ui-submenu-list, body .ui-tieredmenu .ui-submenu-list { + padding: .5em 0; } + body .ui-menubar .ui-submenu-list .ui-menuitem, body .ui-contextmenu .ui-submenu-list .ui-menuitem, + body .ui-slidemenu .ui-submenu-list .ui-menuitem, body .ui-tieredmenu .ui-submenu-list .ui-menuitem { + margin: 0; } +body .ui-menu { + width: 100%; + padding: .5em 0; } + body .ui-menu .ui-menuitem { + margin: 0; } + body .ui-menu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menu.ui-shadow, body .ui-menu .ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-menu .ui-submenu-header { + border: 0 none; + margin: 0; + padding: .625em 1em; + border-radius: 0; } +body .ui-menubar { + padding: 0; } + body .ui-menubar .ui-menubar-root-list > .ui-menuitem > .ui-menuitem-link { + padding: .625em 1em; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } +body .ui-contextmenu { + padding: .5em 0; } + body .ui-contextmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-contextmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-slidemenu { + padding: .5em 0; } + body .ui-slidemenu .ui-menuitem { + margin: 0; } + body .ui-slidemenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-slidemenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-slidemenu .ui-slidemenu-backward { + margin-bottom: .4em; + padding: 0.625em 1em; + width: 100%; + background-color: #795548; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border: 0 none; } + body .ui-slidemenu .ui-slidemenu-backward:hover { + background-color: #593f35; } +body .ui-tieredmenu { + padding: .5em 0; } + body .ui-tieredmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-tieredmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-tabmenu { + padding: 0; } + body .ui-tabmenu .ui-tabmenu-nav { + padding: 0; + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem { + top: auto; + margin: 0 .25em 0 0; + padding: 0; + border-style: solid; + border-width: 0 0 2px 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a { + padding: 0.625em 1em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a:focus { + outline: 0 none; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon, body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-text { + float: none; + display: inline-block; + vertical-align: middle; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon { + font-weight: 1em; + margin-right: .25em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a .fa { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem:not(.ui-state-active):hover { + background-color: #ffffff; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active { + background-color: #ffffff; + border-color: #8BC34A; + border-style: solid; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a { + color: #795548; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a .fa { + color: #795548; } +body .ui-megamenu { + padding: 0; } + body .ui-megamenu .ui-megamenu-submenu-header { + border-radius: 0; + padding: .5em; } + body .ui-megamenu .ui-submenu-list { + padding: 0; + border: 0 none; } + body .ui-megamenu .ui-submenu-list .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-panelmenu .ui-panelmenu-header { + background-color: #795548; + margin-bottom: 1px; } + body .ui-panelmenu .ui-panelmenu-header a { + padding: .625em 1em; + color: #ffffff; + font-size: 16px; + border-bottom: 1px solid #ffffff; } + body .ui-panelmenu .ui-panelmenu-header .fa { + color: #ffffff; + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header .ui-menuitem-text { + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active { + background-color: #8BC34A; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + margin-bottom: 0; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active a, body .ui-panelmenu .ui-panelmenu-header.ui-state-active .fa { + color: #ffffff; } +body .ui-panelmenu .ui-panelmenu-content { + padding: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem { + margin: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link { + border: 0 none; + padding: .625em 1em; + width: 100%; + min-height: 2.750em; + box-sizing: border-box; + color: #212121; + line-height: 1.5em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + position: relative; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .ui-menuitem-text { + display: inline-block; + vertical-align: middle; + float: none; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .fa { + position: static; + display: inline-block; + vertical-align: middle; } +body .ui-panelmenu .ui-menu-parent .ui-menu-list { + margin-left: 28px; } + +@media (max-width: 640px) { + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: none; } } +body { + /* Messages */ } + body .ui-messages { + padding: 0.625em 1em; } + body .ui-messages ul { + display: inline-block; + margin-left: 0; } + body .ui-messages.ui-messages-info { + background-color: #2196F3; + border-color: #2196F3; + color: #ffffff; } + body .ui-messages.ui-messages-warn { + background-color: #ffc107; + border-color: #ffc107; + color: #ffffff; } + body .ui-messages.ui-messages-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-messages.ui-messages-fatal { + background-color: #212121; + border-color: #212121; + color: #ffffff; } + body .ui-messages.ui-messages-success { + background-color: #8BC34A; + border-color: #8BC34A; + color: #ffffff; } + body .ui-messages .ui-messages-close { + text-decoration: none; + color: #fff; + right: .25em; } + body .ui-messages .ui-messages-icon { + background: none; + color: #fff; + margin-top: -2px; } + body .ui-messages .ui-messages-icon.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-info-circle:before { + content: "info"; } + body .ui-messages .ui-messages-icon.fa-warning { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-warning:before { + content: "warning"; } + body .ui-messages .ui-messages-icon.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-close:before { + content: "error_outline"; } + body .ui-messages .ui-messages-icon.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-check:before { + content: "check_circle"; } + body .ui-growl { + top: 90px; } + body .ui-growl > .ui-growl-item-container { + opacity: 1; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-info { + background-color: #2196F3; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-warn { + background-color: #ffc107; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-error { + background-color: #e62a10; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-fatal { + background-color: #212121; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-success { + background-color: #8BC34A; } + body .ui-growl > .ui-growl-item-container.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + body .ui-growl .ui-growl-item .ui-growl-image { + background: none; + color: #ffffff; + font-size: 36px; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle:before { + content: "info"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle:before { + content: "warning"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close:before { + content: "error_outline"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check:before { + content: "check_circle"; } + body .ui-growl .ui-growl-item .ui-growl-message { + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 24px; + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close:before { + content: "close"; } + +body .ui-dialog.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-dialog .ui-dialog-titlebar { + background-color: #ffffff; + color: #212121; + padding: 0.625em 1em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-title { + font-size: 1.25em; + letter-spacing: .005em; + margin-top: .25em; + line-height: 2em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon { + border: 0 none; + padding: 0; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + height: 1.5em; + width: 1.5em; + text-align: center; + margin-top: .5em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:hover, body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa { + color: #757575; + display: inline-block; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-extlink:before { + content: "fullscreen"; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-newwin:before { + content: "fullscreen_exit"; } +body .ui-dialog .ui-dialog-content { + padding: 0.625em 1em; } +body .ui-dialog .ui-dialog-footer { + text-align: right; + border: 0 none; + border-top: 1px solid #bdbdbd; } + body .ui-dialog .ui-dialog-footer .ui-button { + background-color: #ffffff; + color: #212121; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: auto; } + body .ui-dialog .ui-dialog-footer .ui-button .fa { + color: #757575; } + body .ui-dialog .ui-dialog-footer .ui-button:hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-dialog .ui-confirm-dialog-severity { + margin: 0px .75em; } +body .ui-lightbox.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-lightbox .ui-lightbox-caption { + padding: 0.625em 1em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-caption-text { + margin: 0; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + padding: 0; + margin: 0; + width: 1.5em; + height: 1.5em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close:hover { + background-color: #bcaaa4; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } +body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left { + top: 40%; } + body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right .fa, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left .fa { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 3em; + color: #bcaaa4; } +body .ui-overlaypanel.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-overlaypanel .ui-overlaypanel-close { + background-color: #8BC34A; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + right: -16px; + top: -16px; + width: 2em; + height: 2em; + line-height: 2em; + text-align: center; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-overlaypanel .ui-overlaypanel-close span { + color: #ffffff; + line-height: inherit; } + body .ui-overlaypanel .ui-overlaypanel-close:hover { + background-color: #558B2F; } +body .ui-tooltip { + opacity: 0.9; + filter: alpha(opacity=90); } + body .ui-tooltip .ui-tooltip-text { + background-color: #323232; } + body .ui-tooltip.ui-tooltip-top .ui-tooltip-arrow { + border-top-color: #323232; } + body .ui-tooltip.ui-tooltip-bottom .ui-tooltip-arrow { + border-bottom-color: #323232; } + body .ui-tooltip.ui-tooltip-left .ui-tooltip-arrow { + border-left-color: #323232; } + body .ui-tooltip.ui-tooltip-right .ui-tooltip-arrow { + border-right-color: #323232; } + +body .ui-draggable-dragging.ui-state-default { + padding: 0.625em 1em !important; + background-color: #795548; } +body .jqplot-target { + font-family: "Roboto","Helvetica Neue",sans-serif; } +body .ui-progressbar { + height: .5em; + background-color: #bcaaa4; + overflow: hidden; + border: 0 none; } + body .ui-progressbar .ui-progressbar-value { + height: .5em; } + body .ui-progressbar .ui-progressbar-label { + color: #ffffff; + display: none !important; } +body .ui-galleria .ui-galleria-nav-prev { + left: 0; } +body .ui-galleria .ui-galleria-nav-next { + right: 0; } +body .ui-inplace .ui-inplace-display { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-inplace .ui-inplace-display:hover { + background-color: #e8e8e8; } +body .ui-terminal .ui-terminal-input { + font-size: 16px; } diff --git a/src/assets/theme/theme-brown.scss b/src/assets/theme/theme-brown.scss new file mode 100644 index 0000000..adc2513 --- /dev/null +++ b/src/assets/theme/theme-brown.scss @@ -0,0 +1,9 @@ +$primaryColor: #795548; +$primaryDarkColor: #4e342e; +$primaryLightColor: #bcaaa4; +$accentColor: #8BC34A; +$accentDarkColor: #558B2F; +$accentLightColor: #C5E1A5; +$accentTextColor: #ffffff; + +@import '../sass/theme/_theme'; \ No newline at end of file diff --git a/src/assets/theme/theme-cyan.css b/src/assets/theme/theme-cyan.css new file mode 100644 index 0000000..4fc43cd --- /dev/null +++ b/src/assets/theme/theme-cyan.css @@ -0,0 +1,6153 @@ +@charset "UTF-8"; +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +.fa-sort:before { + content: "sort"; } + +.fa-sort-asc:before { + content: "keyboard_arrow_up"; } + +.fa-sort-desc:before { + content: "keyboard_arrow_down"; } + +.fa-angle-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-up:before { + content: "play_arrow"; } + +.fa-angle-double-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-up:before { + content: "skip_next"; } + +.fa-angle-down { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .fa-angle-down:before { + content: "play_arrow"; } + +.fa-angle-double-down { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-down:before { + content: "skip_previous"; } + +.fa-angle-right:before { + content: "play_arrow"; } + +.fa-angle-double-right:before { + content: "fast_forward"; } + +.fa-angle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-angle-left:before { + content: "play_arrow"; } + +.fa-angle-double-left:before { + content: "fast_rewind"; } + +.fa-check:before { + content: "check"; } + +.fa-caret-up:before { + content: "keyboard_arrow_up"; } + +.fa-caret-down:before { + content: "keyboard_arrow_down"; } + +.fa-caret-right:before { + content: "keyboard_arrow_right"; } + +.fa-caret-left:before { + content: "keyboard_arrow_left"; } + +.fa-search:before { + content: "search"; } + +.fa-close:before { + content: "close"; } + +.fa-minus:before { + content: "remove"; } + +.fa-plus:before { + content: "add"; } + +.fa-check:before { + content: "check"; } + +.fa-info-circle:before { + content: "info"; } + +.fa-upload:before { + content: "file_upload"; } + +.fa-chevron-circle-left:before { + content: "keyboard_arrow_left"; } + +.fa-chevron-circle-right:before { + content: "keyboard_arrow_right"; } + +.fa-chevron-circle-down:before { + content: "keyboard_arrow_down"; } + +.fa-chevron-circle-up:before { + content: "keyboard_arrow_up"; } + +.fa-home:before { + content: "home"; } + +.fa-chevron-right:before { + content: "chevron_right"; } + +.fa-chevron-left:before { + content: "chevron_left"; } + +.fa-circle-o:before { + content: "radio_button_unchecked"; } + +.fa-dot-circle-o:before { + content: "radio_button_checked"; } + +.fa-arrow-circle-right:before { + content: "play_circle_outline"; } + +.fa-arrow-circle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-arrow-circle-left:before { + content: "play_circle_outline"; } + +.fa-calendar:before { + content: "date_range"; } + +.fa-arrow-down:before { + content: "arrow_downward"; } + +.fa-arrow-up:before { + content: "arrow_upward"; } + +.ui-icon-carat-2-n-s:before { + content: "sort"; } + +.ui-icon-triangle-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-triangle-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-triangle-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-triangle-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-carat-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-carat-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-carat-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-carat-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-arrow-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrow-1-n:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-n:before { + content: "skip_next"; } + +.ui-icon-arrow-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrow-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-s { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-s:before { + content: "skip_previous"; } + +.ui-icon-arrow-1-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-arrow-1-w:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-w:before { + content: "fast_rewind"; } + +.ui-icon-arrow-1-e:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-e:before { + content: "fast_forward"; } + +.ui-icon-arrowthick-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrowthick-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowthick-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowthick-1-n:before { + content: "play_arrow"; } + +.ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-circle-triangle-s:before { + content: "play_circle_outline"; } + +.ui-icon-radio-off:before { + content: "radio_button_unchecked"; } + +.ui-icon-radio-on:before { + content: "radio_button_checked"; } + +.ui-icon-folder-collapsed:before { + content: "folder"; } + +.ui-icon-document:before { + content: "content_paste"; } + +.ui-icon-video:before { + content: "movie"; } + +.ui-icon-music:before { + content: "music_note"; } + +.ui-icon-plus:before { + content: "add"; } + +.ui-icon-minus:before { + content: "remove"; } + +.ui-icon-plusthick:before { + content: "add"; } + +.ui-icon-minusthick:before { + content: "remove"; } + +.ui-icon-pencil:before { + content: "edit"; } + +.ui-icon-closethick:before { + content: "close"; } + +.ui-icon-circle-close:before { + content: "cancel"; } + +.ui-icon-gear:before { + content: "settings"; } + +.ui-icon-calendar:before { + content: "date_range"; } + +.ui-icon-trash:before { + content: "delete_forever"; } + +.ui-icon-notice:before { + content: "error_outline"; } + +.ui-icon-alert:before { + content: "warning"; } + +.ui-icon-circle-zoomin:before { + content: "zoom_in"; } + +.ui-icon-circle-zoomout:before { + content: "zoom_out"; } + +.ui-icon-circle-arrow-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-arrow-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-arrow-w:before { + content: "play_circle_outline"; } + +.ui-icon-3d-rotation:before { + content: "3d_rotation"; } + +.ui-icon-ac-unit:before { + content: "ac_unit"; } + +.ui-icon-access-alarm:before { + content: "access_alarm"; } + +.ui-icon-access-alarms:before { + content: "access_alarms"; } + +.ui-icon-access-time:before { + content: "access_time"; } + +.ui-icon-accessibility:before { + content: "accessibility"; } + +.ui-icon-accessible:before { + content: "accessible"; } + +.ui-icon-account-balance:before { + content: "account_balance"; } + +.ui-icon-account-balance-wallet:before { + content: "account_balance_wallet"; } + +.ui-icon-account-box:before { + content: "account_box"; } + +.ui-icon-account-circle:before { + content: "account_circle"; } + +.ui-icon-add:before { + content: "add"; } + +.ui-icon-add-a-photo:before { + content: "add_a_photo"; } + +.ui-icon-add-alarm:before { + content: "add_alarm"; } + +.ui-icon-add-alert:before { + content: "add_alert"; } + +.ui-icon-add-box:before { + content: "add_box"; } + +.ui-icon-add-circle:before { + content: "add_circle"; } + +.ui-icon-add-circle-outline:before { + content: "add_circle_outline"; } + +.ui-icon-add-location:before { + content: "add_location"; } + +.ui-icon-add-shopping-cart:before { + content: "add_shopping_cart"; } + +.ui-icon-add-to-photos:before { + content: "add_to_photos"; } + +.ui-icon-add-to-queue:before { + content: "add_to_queue"; } + +.ui-icon-adjust:before { + content: "adjust"; } + +.ui-icon-airline-seat-flat:before { + content: "airline_seat_flat"; } + +.ui-icon-airline-seat-flat-angled:before { + content: "airline_seat_flat_angled"; } + +.ui-icon-airline-seat-individual-suite:before { + content: "airline_seat_individual_suite"; } + +.ui-icon-airline-seat-legroom-extra:before { + content: "airline_seat_legroom_extra"; } + +.ui-icon-airline-seat-legroom-normal:before { + content: "airline_seat_legroom_normal"; } + +.ui-icon-airline-seat-legroom-reduced:before { + content: "airline_seat_legroom_reduced"; } + +.ui-icon-airline-seat-recline-extra:before { + content: "airline_seat_recline_extra"; } + +.ui-icon-airline-seat-recline-normal:before { + content: "airline_seat_recline_normal"; } + +.ui-icon-airplanemode-active:before { + content: "airplanemode_active"; } + +.ui-icon-airplanemode-inactive:before { + content: "airplanemode_inactive"; } + +.ui-icon-airplay:before { + content: "airplay"; } + +.ui-icon-airport-shuttle:before { + content: "airport_shuttle"; } + +.ui-icon-alarm:before { + content: "alarm"; } + +.ui-icon-alarm-add:before { + content: "alarm_add"; } + +.ui-icon-alarm-off:before { + content: "alarm_off"; } + +.ui-icon-alarm-on:before { + content: "alarm_on"; } + +.ui-icon-album:before { + content: "album"; } + +.ui-icon-all-inclusive:before { + content: "all_inclusive"; } + +.ui-icon-all-out:before { + content: "all_out"; } + +.ui-icon-android:before { + content: "android"; } + +.ui-icon-announcement:before { + content: "announcement"; } + +.ui-icon-apps:before { + content: "apps"; } + +.ui-icon-archive:before { + content: "archive"; } + +.ui-icon-arrow-back:before { + content: "arrow_back"; } + +.ui-icon-arrow-downward:before { + content: "arrow_downward"; } + +.ui-icon-arrow-drop-down:before { + content: "arrow_drop_down"; } + +.ui-icon-arrow-drop-down-circle:before { + content: "arrow_drop_down_circle"; } + +.ui-icon-arrow-drop-up:before { + content: "arrow_drop_up"; } + +.ui-icon-arrow-forward:before { + content: "arrow_forward"; } + +.ui-icon-arrow-upward:before { + content: "arrow_upward"; } + +.ui-icon-art-track:before { + content: "art_track"; } + +.ui-icon-aspect-ratio:before { + content: "aspect_ratio"; } + +.ui-icon-assessment:before { + content: "assessment"; } + +.ui-icon-assignment:before { + content: "assignment"; } + +.ui-icon-assignment-ind:before { + content: "assignment_ind"; } + +.ui-icon-assignment-late:before { + content: "assignment_late"; } + +.ui-icon-assignment-return:before { + content: "assignment_return"; } + +.ui-icon-assignment-returned:before { + content: "assignment_returned"; } + +.ui-icon-assignment-turned-in:before { + content: "assignment_turned_in"; } + +.ui-icon-assistant:before { + content: "assistant"; } + +.ui-icon-assistant-photo:before { + content: "assistant_photo"; } + +.ui-icon-attach-file:before { + content: "attach_file"; } + +.ui-icon-attach-money:before { + content: "attach_money"; } + +.ui-icon-attachment:before { + content: "attachment"; } + +.ui-icon-audiotrack:before { + content: "audiotrack"; } + +.ui-icon-autorenew:before { + content: "autorenew"; } + +.ui-icon-av-timer:before { + content: "av_timer"; } + +.ui-icon-backspace:before { + content: "backspace"; } + +.ui-icon-backup:before { + content: "backup"; } + +.ui-icon-battery-alert:before { + content: "battery_alert"; } + +.ui-icon-battery-charging-full:before { + content: "battery_charging_full"; } + +.ui-icon-battery-full:before { + content: "battery_full"; } + +.ui-icon-battery-std:before { + content: "battery_std"; } + +.ui-icon-battery-unknown:before { + content: "battery_unknown"; } + +.ui-icon-beach-access:before { + content: "beach_access"; } + +.ui-icon-beenhere:before { + content: "beenhere"; } + +.ui-icon-block:before { + content: "block"; } + +.ui-icon-bluetooth:before { + content: "bluetooth"; } + +.ui-icon-bluetooth-audio:before { + content: "bluetooth_audio"; } + +.ui-icon-bluetooth-connected:before { + content: "bluetooth_connected"; } + +.ui-icon-bluetooth-disabled:before { + content: "bluetooth_disabled"; } + +.ui-icon-bluetooth-searching:before { + content: "bluetooth_searching"; } + +.ui-icon-blur-circular:before { + content: "blur_circular"; } + +.ui-icon-blur-linear:before { + content: "blur_linear"; } + +.ui-icon-blur-off:before { + content: "blur_off"; } + +.ui-icon-blur-on:before { + content: "blur_on"; } + +.ui-icon-book:before { + content: "book"; } + +.ui-icon-bookmark:before { + content: "bookmark"; } + +.ui-icon-bookmark-border:before { + content: "bookmark_border"; } + +.ui-icon-border-all:before { + content: "border_all"; } + +.ui-icon-border-bottom:before { + content: "border_bottom"; } + +.ui-icon-border-clear:before { + content: "border_clear"; } + +.ui-icon-border-color:before { + content: "border_color"; } + +.ui-icon-border-horizontal:before { + content: "border_horizontal"; } + +.ui-icon-border-inner:before { + content: "border_inner"; } + +.ui-icon-border-left:before { + content: "border_left"; } + +.ui-icon-border-outer:before { + content: "border_outer"; } + +.ui-icon-border-right:before { + content: "border_right"; } + +.ui-icon-border-style:before { + content: "border_style"; } + +.ui-icon-border-top:before { + content: "border_top"; } + +.ui-icon-border-vertical:before { + content: "border_vertical"; } + +.ui-icon-branding-watermark:before { + content: "branding_watermark"; } + +.ui-icon-brightness-1:before { + content: "brightness_1"; } + +.ui-icon-brightness-2:before { + content: "brightness_2"; } + +.ui-icon-brightness-3:before { + content: "brightness_3"; } + +.ui-icon-brightness-4:before { + content: "brightness_4"; } + +.ui-icon-brightness-5:before { + content: "brightness_5"; } + +.ui-icon-brightness-6:before { + content: "brightness_6"; } + +.ui-icon-brightness-7:before { + content: "brightness_7"; } + +.ui-icon-brightness-auto:before { + content: "brightness_auto"; } + +.ui-icon-brightness-high:before { + content: "brightness_high"; } + +.ui-icon-brightness-low:before { + content: "brightness_low"; } + +.ui-icon-brightness-medium:before { + content: "brightness_medium"; } + +.ui-icon-broken-image:before { + content: "broken_image"; } + +.ui-icon-brush:before { + content: "brush"; } + +.ui-icon-bubble-chart:before { + content: "bubble_chart"; } + +.ui-icon-bug-report:before { + content: "bug_report"; } + +.ui-icon-build:before { + content: "build"; } + +.ui-icon-burst-mode:before { + content: "burst_mode"; } + +.ui-icon-business:before { + content: "business"; } + +.ui-icon-business-center:before { + content: "business_center"; } + +.ui-icon-cached:before { + content: "cached"; } + +.ui-icon-cake:before { + content: "cake"; } + +.ui-icon-call:before { + content: "call"; } + +.ui-icon-call-end:before { + content: "call_end"; } + +.ui-icon-call-made:before { + content: "call_made"; } + +.ui-icon-call-merge:before { + content: "call_merge"; } + +.ui-icon-call-missed:before { + content: "call_missed"; } + +.ui-icon-call-missed-outgoing:before { + content: "call_missed_outgoing"; } + +.ui-icon-call-received:before { + content: "call_received"; } + +.ui-icon-call-split:before { + content: "call_split"; } + +.ui-icon-call-to-action:before { + content: "call_to_action"; } + +.ui-icon-camera:before { + content: "camera"; } + +.ui-icon-camera-alt:before { + content: "camera_alt"; } + +.ui-icon-camera-enhance:before { + content: "camera_enhance"; } + +.ui-icon-camera-front:before { + content: "camera_front"; } + +.ui-icon-camera-rear:before { + content: "camera_rear"; } + +.ui-icon-camera-roll:before { + content: "camera_roll"; } + +.ui-icon-cancel:before { + content: "cancel"; } + +.ui-icon-card-giftcard:before { + content: "card_giftcard"; } + +.ui-icon-card-membership:before { + content: "card_membership"; } + +.ui-icon-card-travel:before { + content: "card_travel"; } + +.ui-icon-casino:before { + content: "casino"; } + +.ui-icon-cast:before { + content: "cast"; } + +.ui-icon-cast-connected:before { + content: "cast_connected"; } + +.ui-icon-center-focus-strong:before { + content: "center_focus_strong"; } + +.ui-icon-center-focus-weak:before { + content: "center_focus_weak"; } + +.ui-icon-change-history:before { + content: "change_history"; } + +.ui-icon-chat:before { + content: "chat"; } + +.ui-icon-chat-bubble:before { + content: "chat_bubble"; } + +.ui-icon-chat-bubble-outline:before { + content: "chat_bubble_outline"; } + +.ui-icon-check:before { + content: "check"; } + +.ui-icon-check-box:before { + content: "check_box"; } + +.ui-icon-check-box-outline-blank:before { + content: "check_box_outline_blank"; } + +.ui-icon-check-circle:before { + content: "check_circle"; } + +.ui-icon-chevron-left:before { + content: "chevron_left"; } + +.ui-icon-chevron-right:before { + content: "chevron_right"; } + +.ui-icon-child-care:before { + content: "child_care"; } + +.ui-icon-child-friendly:before { + content: "child_friendly"; } + +.ui-icon-chrome-reader-mode:before { + content: "chrome_reader_mode"; } + +.ui-icon-class:before { + content: "class"; } + +.ui-icon-clear:before { + content: "clear"; } + +.ui-icon-clear-all:before { + content: "clear_all"; } + +.ui-icon-close:before { + content: "close"; } + +.ui-icon-closed-caption:before { + content: "closed_caption"; } + +.ui-icon-cloud:before { + content: "cloud"; } + +.ui-icon-cloud-circle:before { + content: "cloud_circle"; } + +.ui-icon-cloud-done:before { + content: "cloud_done"; } + +.ui-icon-cloud-download:before { + content: "cloud_download"; } + +.ui-icon-cloud-off:before { + content: "cloud_off"; } + +.ui-icon-cloud-queue:before { + content: "cloud_queue"; } + +.ui-icon-cloud-upload:before { + content: "cloud_upload"; } + +.ui-icon-code:before { + content: "code"; } + +.ui-icon-collections:before { + content: "collections"; } + +.ui-icon-collections-bookmark:before { + content: "collections_bookmark"; } + +.ui-icon-color-lens:before { + content: "color_lens"; } + +.ui-icon-colorize:before { + content: "colorize"; } + +.ui-icon-comment:before { + content: "comment"; } + +.ui-icon-compare:before { + content: "compare"; } + +.ui-icon-compare-arrows:before { + content: "compare_arrows"; } + +.ui-icon-computer:before { + content: "computer"; } + +.ui-icon-confirmation-number:before { + content: "confirmation_number"; } + +.ui-icon-contact-mail:before { + content: "contact_mail"; } + +.ui-icon-contact-phone:before { + content: "contact_phone"; } + +.ui-icon-contacts:before { + content: "contacts"; } + +.ui-icon-content-copy:before { + content: "content_copy"; } + +.ui-icon-content-cut:before { + content: "content_cut"; } + +.ui-icon-content-paste:before { + content: "content_paste"; } + +.ui-icon-control-point:before { + content: "control_point"; } + +.ui-icon-control-point-duplicate:before { + content: "control_point_duplicate"; } + +.ui-icon-copyright:before { + content: "copyright"; } + +.ui-icon-create:before { + content: "create"; } + +.ui-icon-create-new-folder:before { + content: "create_new_folder"; } + +.ui-icon-credit-card:before { + content: "credit_card"; } + +.ui-icon-crop:before { + content: "crop"; } + +.ui-icon-crop-16-9:before { + content: "crop_16_9"; } + +.ui-icon-crop-3-2:before { + content: "crop_3_2"; } + +.ui-icon-crop-5-4:before { + content: "crop_5_4"; } + +.ui-icon-crop-7-5:before { + content: "crop_7_5"; } + +.ui-icon-crop-din:before { + content: "crop_din"; } + +.ui-icon-crop-free:before { + content: "crop_free"; } + +.ui-icon-crop-landscape:before { + content: "crop_landscape"; } + +.ui-icon-crop-original:before { + content: "crop_original"; } + +.ui-icon-crop-portrait:before { + content: "crop_portrait"; } + +.ui-icon-crop-rotate:before { + content: "crop_rotate"; } + +.ui-icon-crop-square:before { + content: "crop_square"; } + +.ui-icon-dashboard:before { + content: "dashboard"; } + +.ui-icon-data-usage:before { + content: "data_usage"; } + +.ui-icon-date-range:before { + content: "date_range"; } + +.ui-icon-dehaze:before { + content: "dehaze"; } + +.ui-icon-delete:before { + content: "delete"; } + +.ui-icon-delete-forever:before { + content: "delete_forever"; } + +.ui-icon-delete-sweep:before { + content: "delete_sweep"; } + +.ui-icon-description:before { + content: "description"; } + +.ui-icon-desktop-mac:before { + content: "desktop_mac"; } + +.ui-icon-desktop-windows:before { + content: "desktop_windows"; } + +.ui-icon-details:before { + content: "details"; } + +.ui-icon-developer-board:before { + content: "developer_board"; } + +.ui-icon-developer-mode:before { + content: "developer_mode"; } + +.ui-icon-device-hub:before { + content: "device_hub"; } + +.ui-icon-devices:before { + content: "devices"; } + +.ui-icon-devices-other:before { + content: "devices_other"; } + +.ui-icon-dialer-sip:before { + content: "dialer_sip"; } + +.ui-icon-dialpad:before { + content: "dialpad"; } + +.ui-icon-directions:before { + content: "directions"; } + +.ui-icon-directions-bike:before { + content: "directions_bike"; } + +.ui-icon-directions-boat:before { + content: "directions_boat"; } + +.ui-icon-directions-bus:before { + content: "directions_bus"; } + +.ui-icon-directions-car:before { + content: "directions_car"; } + +.ui-icon-directions-railway:before { + content: "directions_railway"; } + +.ui-icon-directions-run:before { + content: "directions_run"; } + +.ui-icon-directions-subway:before { + content: "directions_subway"; } + +.ui-icon-directions-transit:before { + content: "directions_transit"; } + +.ui-icon-directions-walk:before { + content: "directions_walk"; } + +.ui-icon-disc-full:before { + content: "disc_full"; } + +.ui-icon-dns:before { + content: "dns"; } + +.ui-icon-do-not-disturb:before { + content: "do_not_disturb"; } + +.ui-icon-do-not-disturb-alt:before { + content: "do_not_disturb_alt"; } + +.ui-icon-do-not-disturb-off:before { + content: "do_not_disturb_off"; } + +.ui-icon-do-not-disturb-on:before { + content: "do_not_disturb_on"; } + +.ui-icon-dock:before { + content: "dock"; } + +.ui-icon-domain:before { + content: "domain"; } + +.ui-icon-done:before { + content: "done"; } + +.ui-icon-done-all:before { + content: "done_all"; } + +.ui-icon-donut-large:before { + content: "donut_large"; } + +.ui-icon-donut-small:before { + content: "donut_small"; } + +.ui-icon-drafts:before { + content: "drafts"; } + +.ui-icon-drag-handle:before { + content: "drag_handle"; } + +.ui-icon-drive-eta:before { + content: "drive_eta"; } + +.ui-icon-dvr:before { + content: "dvr"; } + +.ui-icon-edit:before { + content: "edit"; } + +.ui-icon-edit-location:before { + content: "edit_location"; } + +.ui-icon-eject:before { + content: "eject"; } + +.ui-icon-email:before { + content: "email"; } + +.ui-icon-enhanced-encryption:before { + content: "enhanced_encryption"; } + +.ui-icon-equalizer:before { + content: "equalizer"; } + +.ui-icon-error:before { + content: "error"; } + +.ui-icon-error-outline:before { + content: "error_outline"; } + +.ui-icon-euro-symbol:before { + content: "euro_symbol"; } + +.ui-icon-ev-station:before { + content: "ev_station"; } + +.ui-icon-event:before { + content: "event"; } + +.ui-icon-event-available:before { + content: "event_available"; } + +.ui-icon-event-busy:before { + content: "event_busy"; } + +.ui-icon-event-note:before { + content: "event_note"; } + +.ui-icon-event-seat:before { + content: "event_seat"; } + +.ui-icon-exit-to-app:before { + content: "exit_to_app"; } + +.ui-icon-expand-less:before { + content: "expand_less"; } + +.ui-icon-expand-more:before { + content: "expand_more"; } + +.ui-icon-explicit:before { + content: "explicit"; } + +.ui-icon-explore:before { + content: "explore"; } + +.ui-icon-exposure:before { + content: "exposure"; } + +.ui-icon-exposure-neg-1:before { + content: "exposure_neg_1"; } + +.ui-icon-exposure-neg-2:before { + content: "exposure_neg_2"; } + +.ui-icon-exposure-plus-1:before { + content: "exposure_plus_1"; } + +.ui-icon-exposure-plus-2:before { + content: "exposure_plus_2"; } + +.ui-icon-exposure-zero:before { + content: "exposure_zero"; } + +.ui-icon-extension:before { + content: "extension"; } + +.ui-icon-face:before { + content: "face"; } + +.ui-icon-fast-forward:before { + content: "fast_forward"; } + +.ui-icon-fast-rewind:before { + content: "fast_rewind"; } + +.ui-icon-favorite:before { + content: "favorite"; } + +.ui-icon-favorite-border:before { + content: "favorite_border"; } + +.ui-icon-featured-play-list:before { + content: "featured_play_list"; } + +.ui-icon-featured-video:before { + content: "featured_video"; } + +.ui-icon-feedback:before { + content: "feedback"; } + +.ui-icon-fiber-dvr:before { + content: "fiber_dvr"; } + +.ui-icon-fiber-manual-record:before { + content: "fiber_manual_record"; } + +.ui-icon-fiber-new:before { + content: "fiber_new"; } + +.ui-icon-fiber-pin:before { + content: "fiber_pin"; } + +.ui-icon-fiber-smart-record:before { + content: "fiber_smart_record"; } + +.ui-icon-file-download:before { + content: "file_download"; } + +.ui-icon-file-upload:before { + content: "file_upload"; } + +.ui-icon-filter:before { + content: "filter"; } + +.ui-icon-filter-1:before { + content: "filter_1"; } + +.ui-icon-filter-2:before { + content: "filter_2"; } + +.ui-icon-filter-3:before { + content: "filter_3"; } + +.ui-icon-filter-4:before { + content: "filter_4"; } + +.ui-icon-filter-5:before { + content: "filter_5"; } + +.ui-icon-filter-6:before { + content: "filter_6"; } + +.ui-icon-filter-7:before { + content: "filter_7"; } + +.ui-icon-filter-8:before { + content: "filter_8"; } + +.ui-icon-filter-9:before { + content: "filter_9"; } + +.ui-icon-filter-9-plus:before { + content: "filter_9_plus"; } + +.ui-icon-filter-b-and-w:before { + content: "filter_b_and_w"; } + +.ui-icon-filter-center-focus:before { + content: "filter_center_focus"; } + +.ui-icon-filter-drama:before { + content: "filter_drama"; } + +.ui-icon-filter-frames:before { + content: "filter_frames"; } + +.ui-icon-filter-hdr:before { + content: "filter_hdr"; } + +.ui-icon-filter-list:before { + content: "filter_list"; } + +.ui-icon-filter-none:before { + content: "filter_none"; } + +.ui-icon-filter-tilt-shift:before { + content: "filter_tilt_shift"; } + +.ui-icon-filter-vintage:before { + content: "filter_vintage"; } + +.ui-icon-find-in-page:before { + content: "find_in_page"; } + +.ui-icon-find-replace:before { + content: "find_replace"; } + +.ui-icon-fingerprint:before { + content: "fingerprint"; } + +.ui-icon-first-page:before { + content: "first_page"; } + +.ui-icon-fitness-center:before { + content: "fitness_center"; } + +.ui-icon-flag:before { + content: "flag"; } + +.ui-icon-flare:before { + content: "flare"; } + +.ui-icon-flash-auto:before { + content: "flash_auto"; } + +.ui-icon-flash-off:before { + content: "flash_off"; } + +.ui-icon-flash-on:before { + content: "flash_on"; } + +.ui-icon-flight:before { + content: "flight"; } + +.ui-icon-flight-land:before { + content: "flight_land"; } + +.ui-icon-flight-takeoff:before { + content: "flight_takeoff"; } + +.ui-icon-flip:before { + content: "flip"; } + +.ui-icon-flip-to-back:before { + content: "flip_to_back"; } + +.ui-icon-flip-to-front:before { + content: "flip_to_front"; } + +.ui-icon-folder:before { + content: "folder"; } + +.ui-icon-folder-open:before { + content: "folder_open"; } + +.ui-icon-folder-shared:before { + content: "folder_shared"; } + +.ui-icon-folder-special:before { + content: "folder_special"; } + +.ui-icon-font-download:before { + content: "font_download"; } + +.ui-icon-format-align-center:before { + content: "format_align_center"; } + +.ui-icon-format-align-justify:before { + content: "format_align_justify"; } + +.ui-icon-format-align-left:before { + content: "format_align_left"; } + +.ui-icon-format-align-right:before { + content: "format_align_right"; } + +.ui-icon-format-bold:before { + content: "format_bold"; } + +.ui-icon-format-clear:before { + content: "format_clear"; } + +.ui-icon-format-color-fill:before { + content: "format_color_fill"; } + +.ui-icon-format-color-reset:before { + content: "format_color_reset"; } + +.ui-icon-format-color-text:before { + content: "format_color_text"; } + +.ui-icon-format-indent-decrease:before { + content: "format_indent_decrease"; } + +.ui-icon-format-indent-increase:before { + content: "format_indent_increase"; } + +.ui-icon-format-italic:before { + content: "format_italic"; } + +.ui-icon-format-line-spacing:before { + content: "format_line_spacing"; } + +.ui-icon-format-list-bulleted:before { + content: "format_list_bulleted"; } + +.ui-icon-format-list-numbered:before { + content: "format_list_numbered"; } + +.ui-icon-format-paint:before { + content: "format_paint"; } + +.ui-icon-format-quote:before { + content: "format_quote"; } + +.ui-icon-format-shapes:before { + content: "format_shapes"; } + +.ui-icon-format-size:before { + content: "format_size"; } + +.ui-icon-format-strikethrough:before { + content: "format_strikethrough"; } + +.ui-icon-format-textdirection-l-to-r:before { + content: "format_textdirection_l_to_r"; } + +.ui-icon-format-textdirection-r-to-l:before { + content: "format_textdirection_r_to_l"; } + +.ui-icon-format-underlined:before { + content: "format_underlined"; } + +.ui-icon-forum:before { + content: "forum"; } + +.ui-icon-forward:before { + content: "forward"; } + +.ui-icon-forward-10:before { + content: "forward_10"; } + +.ui-icon-forward-30:before { + content: "forward_30"; } + +.ui-icon-forward-5:before { + content: "forward_5"; } + +.ui-icon-free-breakfast:before { + content: "free_breakfast"; } + +.ui-icon-fullscreen:before { + content: "fullscreen"; } + +.ui-icon-fullscreen-exit:before { + content: "fullscreen_exit"; } + +.ui-icon-functions:before { + content: "functions"; } + +.ui-icon-g-translate:before { + content: "g_translate"; } + +.ui-icon-gamepad:before { + content: "gamepad"; } + +.ui-icon-games:before { + content: "games"; } + +.ui-icon-gavel:before { + content: "gavel"; } + +.ui-icon-gesture:before { + content: "gesture"; } + +.ui-icon-get-app:before { + content: "get_app"; } + +.ui-icon-gif:before { + content: "gif"; } + +.ui-icon-golf-course:before { + content: "golf_course"; } + +.ui-icon-gps-fixed:before { + content: "gps_fixed"; } + +.ui-icon-gps-not-fixed:before { + content: "gps_not_fixed"; } + +.ui-icon-gps-off:before { + content: "gps_off"; } + +.ui-icon-grade:before { + content: "grade"; } + +.ui-icon-gradient:before { + content: "gradient"; } + +.ui-icon-grain:before { + content: "grain"; } + +.ui-icon-graphic-eq:before { + content: "graphic_eq"; } + +.ui-icon-grid-off:before { + content: "grid_off"; } + +.ui-icon-grid-on:before { + content: "grid_on"; } + +.ui-icon-group:before { + content: "group"; } + +.ui-icon-group-add:before { + content: "group_add"; } + +.ui-icon-group-work:before { + content: "group_work"; } + +.ui-icon-hd:before { + content: "hd"; } + +.ui-icon-hdr-off:before { + content: "hdr_off"; } + +.ui-icon-hdr-on:before { + content: "hdr_on"; } + +.ui-icon-hdr-strong:before { + content: "hdr_strong"; } + +.ui-icon-hdr-weak:before { + content: "hdr_weak"; } + +.ui-icon-headset:before { + content: "headset"; } + +.ui-icon-headset-mic:before { + content: "headset_mic"; } + +.ui-icon-healing:before { + content: "healing"; } + +.ui-icon-hearing:before { + content: "hearing"; } + +.ui-icon-help:before { + content: "help"; } + +.ui-icon-help-outline:before { + content: "help_outline"; } + +.ui-icon-high-quality:before { + content: "high_quality"; } + +.ui-icon-highlight:before { + content: "highlight"; } + +.ui-icon-highlight-off:before { + content: "highlight_off"; } + +.ui-icon-history:before { + content: "history"; } + +.ui-icon-home:before { + content: "home"; } + +.ui-icon-hot-tub:before { + content: "hot_tub"; } + +.ui-icon-hotel:before { + content: "hotel"; } + +.ui-icon-hourglass-empty:before { + content: "hourglass_empty"; } + +.ui-icon-hourglass-full:before { + content: "hourglass_full"; } + +.ui-icon-http:before { + content: "http"; } + +.ui-icon-https:before { + content: "https"; } + +.ui-icon-image:before { + content: "image"; } + +.ui-icon-image-aspect-ratio:before { + content: "image_aspect_ratio"; } + +.ui-icon-import-contacts:before { + content: "import_contacts"; } + +.ui-icon-import-export:before { + content: "import_export"; } + +.ui-icon-important-devices:before { + content: "important_devices"; } + +.ui-icon-inbox:before { + content: "inbox"; } + +.ui-icon-indeterminate-check-box:before { + content: "indeterminate_check_box"; } + +.ui-icon-info:before { + content: "info"; } + +.ui-icon-info-outline:before { + content: "info_outline"; } + +.ui-icon-input:before { + content: "input"; } + +.ui-icon-insert-chart:before { + content: "insert_chart"; } + +.ui-icon-insert-comment:before { + content: "insert_comment"; } + +.ui-icon-insert-drive-file:before { + content: "insert_drive_file"; } + +.ui-icon-insert-emoticon:before { + content: "insert_emoticon"; } + +.ui-icon-insert-invitation:before { + content: "insert_invitation"; } + +.ui-icon-insert-link:before { + content: "insert_link"; } + +.ui-icon-insert-photo:before { + content: "insert_photo"; } + +.ui-icon-invert-colors:before { + content: "invert_colors"; } + +.ui-icon-invert-colors-off:before { + content: "invert_colors_off"; } + +.ui-icon-iso:before { + content: "iso"; } + +.ui-icon-keyboard:before { + content: "keyboard"; } + +.ui-icon-keyboard-arrow-down:before { + content: "keyboard_arrow_down"; } + +.ui-icon-keyboard-arrow-left:before { + content: "keyboard_arrow_left"; } + +.ui-icon-keyboard-arrow-right:before { + content: "keyboard_arrow_right"; } + +.ui-icon-keyboard-arrow-up:before { + content: "keyboard_arrow_up"; } + +.ui-icon-keyboard-backspace:before { + content: "keyboard_backspace"; } + +.ui-icon-keyboard-capslock:before { + content: "keyboard_capslock"; } + +.ui-icon-keyboard-hide:before { + content: "keyboard_hide"; } + +.ui-icon-keyboard-return:before { + content: "keyboard_return"; } + +.ui-icon-keyboard-tab:before { + content: "keyboard_tab"; } + +.ui-icon-keyboard-voice:before { + content: "keyboard_voice"; } + +.ui-icon-kitchen:before { + content: "kitchen"; } + +.ui-icon-label:before { + content: "label"; } + +.ui-icon-label-outline:before { + content: "label_outline"; } + +.ui-icon-landscape:before { + content: "landscape"; } + +.ui-icon-language:before { + content: "language"; } + +.ui-icon-laptop:before { + content: "laptop"; } + +.ui-icon-laptop-chromebook:before { + content: "laptop_chromebook"; } + +.ui-icon-laptop-mac:before { + content: "laptop_mac"; } + +.ui-icon-laptop-windows:before { + content: "laptop_windows"; } + +.ui-icon-last-page:before { + content: "last_page"; } + +.ui-icon-launch:before { + content: "launch"; } + +.ui-icon-layers:before { + content: "layers"; } + +.ui-icon-layers-clear:before { + content: "layers_clear"; } + +.ui-icon-leak-add:before { + content: "leak_add"; } + +.ui-icon-leak-remove:before { + content: "leak_remove"; } + +.ui-icon-lens:before { + content: "lens"; } + +.ui-icon-library-add:before { + content: "library_add"; } + +.ui-icon-library-books:before { + content: "library_books"; } + +.ui-icon-library-music:before { + content: "library_music"; } + +.ui-icon-lightbulb-outline:before { + content: "lightbulb_outline"; } + +.ui-icon-line-style:before { + content: "line_style"; } + +.ui-icon-line-weight:before { + content: "line_weight"; } + +.ui-icon-linear-scale:before { + content: "linear_scale"; } + +.ui-icon-link:before { + content: "link"; } + +.ui-icon-linked-camera:before { + content: "linked_camera"; } + +.ui-icon-list:before { + content: "list"; } + +.ui-icon-live-help:before { + content: "live_help"; } + +.ui-icon-live-tv:before { + content: "live_tv"; } + +.ui-icon-local-activity:before { + content: "local_activity"; } + +.ui-icon-local-airport:before { + content: "local_airport"; } + +.ui-icon-local-atm:before { + content: "local_atm"; } + +.ui-icon-local-bar:before { + content: "local_bar"; } + +.ui-icon-local-cafe:before { + content: "local_cafe"; } + +.ui-icon-local-car-wash:before { + content: "local_car_wash"; } + +.ui-icon-local-convenience-store:before { + content: "local_convenience_store"; } + +.ui-icon-local-dining:before { + content: "local_dining"; } + +.ui-icon-local-drink:before { + content: "local_drink"; } + +.ui-icon-local-florist:before { + content: "local_florist"; } + +.ui-icon-local-gas-station:before { + content: "local_gas_station"; } + +.ui-icon-local-grocery-store:before { + content: "local_grocery_store"; } + +.ui-icon-local-hospital:before { + content: "local_hospital"; } + +.ui-icon-local-hotel:before { + content: "local_hotel"; } + +.ui-icon-local-laundry-service:before { + content: "local_laundry_service"; } + +.ui-icon-local-library:before { + content: "local_library"; } + +.ui-icon-local-mall:before { + content: "local_mall"; } + +.ui-icon-local-movies:before { + content: "local_movies"; } + +.ui-icon-local-offer:before { + content: "local_offer"; } + +.ui-icon-local-parking:before { + content: "local_parking"; } + +.ui-icon-local-pharmacy:before { + content: "local_pharmacy"; } + +.ui-icon-local-phone:before { + content: "local_phone"; } + +.ui-icon-local-pizza:before { + content: "local_pizza"; } + +.ui-icon-local-play:before { + content: "local_play"; } + +.ui-icon-local-post-office:before { + content: "local_post_office"; } + +.ui-icon-local-printshop:before { + content: "local_printshop"; } + +.ui-icon-local-see:before { + content: "local_see"; } + +.ui-icon-local-shipping:before { + content: "local_shipping"; } + +.ui-icon-local-taxi:before { + content: "local_taxi"; } + +.ui-icon-location-city:before { + content: "location_city"; } + +.ui-icon-location-disabled:before { + content: "location_disabled"; } + +.ui-icon-location-off:before { + content: "location_off"; } + +.ui-icon-location-on:before { + content: "location_on"; } + +.ui-icon-location-searching:before { + content: "location_searching"; } + +.ui-icon-lock:before { + content: "lock"; } + +.ui-icon-lock-open:before { + content: "lock_open"; } + +.ui-icon-lock-outline:before { + content: "lock_outline"; } + +.ui-icon-looks:before { + content: "looks"; } + +.ui-icon-looks-3:before { + content: "looks_3"; } + +.ui-icon-looks-4:before { + content: "looks_4"; } + +.ui-icon-looks-5:before { + content: "looks_5"; } + +.ui-icon-looks-6:before { + content: "looks_6"; } + +.ui-icon-looks-one:before { + content: "looks_one"; } + +.ui-icon-looks-two:before { + content: "looks_two"; } + +.ui-icon-loop:before { + content: "loop"; } + +.ui-icon-loupe:before { + content: "loupe"; } + +.ui-icon-low-priority:before { + content: "low_priority"; } + +.ui-icon-loyalty:before { + content: "loyalty"; } + +.ui-icon-mail:before { + content: "mail"; } + +.ui-icon-mail-outline:before { + content: "mail_outline"; } + +.ui-icon-map:before { + content: "map"; } + +.ui-icon-markunread:before { + content: "markunread"; } + +.ui-icon-markunread-mailbox:before { + content: "markunread_mailbox"; } + +.ui-icon-memory:before { + content: "memory"; } + +.ui-icon-menu:before { + content: "menu"; } + +.ui-icon-merge-type:before { + content: "merge_type"; } + +.ui-icon-message:before { + content: "message"; } + +.ui-icon-mic:before { + content: "mic"; } + +.ui-icon-mic-none:before { + content: "mic_none"; } + +.ui-icon-mic-off:before { + content: "mic_off"; } + +.ui-icon-mms:before { + content: "mms"; } + +.ui-icon-mode-comment:before { + content: "mode_comment"; } + +.ui-icon-mode-edit:before { + content: "mode_edit"; } + +.ui-icon-monetization-on:before { + content: "monetization_on"; } + +.ui-icon-money-off:before { + content: "money_off"; } + +.ui-icon-monochrome-photos:before { + content: "monochrome_photos"; } + +.ui-icon-mood:before { + content: "mood"; } + +.ui-icon-mood-bad:before { + content: "mood_bad"; } + +.ui-icon-more:before { + content: "more"; } + +.ui-icon-more-horiz:before { + content: "more_horiz"; } + +.ui-icon-more-vert:before { + content: "more_vert"; } + +.ui-icon-motorcycle:before { + content: "motorcycle"; } + +.ui-icon-mouse:before { + content: "mouse"; } + +.ui-icon-move-to-inbox:before { + content: "move_to_inbox"; } + +.ui-icon-movie:before { + content: "movie"; } + +.ui-icon-movie-creation:before { + content: "movie_creation"; } + +.ui-icon-movie-filter:before { + content: "movie_filter"; } + +.ui-icon-multiline-chart:before { + content: "multiline_chart"; } + +.ui-icon-music-note:before { + content: "music_note"; } + +.ui-icon-music-video:before { + content: "music_video"; } + +.ui-icon-my-location:before { + content: "my_location"; } + +.ui-icon-nature:before { + content: "nature"; } + +.ui-icon-nature-people:before { + content: "nature_people"; } + +.ui-icon-navigate-before:before { + content: "navigate_before"; } + +.ui-icon-navigate-next:before { + content: "navigate_next"; } + +.ui-icon-navigation:before { + content: "navigation"; } + +.ui-icon-near-me:before { + content: "near_me"; } + +.ui-icon-network-cell:before { + content: "network_cell"; } + +.ui-icon-network-check:before { + content: "network_check"; } + +.ui-icon-network-locked:before { + content: "network_locked"; } + +.ui-icon-network-wifi:before { + content: "network_wifi"; } + +.ui-icon-new-releases:before { + content: "new_releases"; } + +.ui-icon-next-week:before { + content: "next_week"; } + +.ui-icon-nfc:before { + content: "nfc"; } + +.ui-icon-no-encryption:before { + content: "no_encryption"; } + +.ui-icon-no-sim:before { + content: "no_sim"; } + +.ui-icon-not-interested:before { + content: "not_interested"; } + +.ui-icon-note:before { + content: "note"; } + +.ui-icon-note-add:before { + content: "note_add"; } + +.ui-icon-notifications:before { + content: "notifications"; } + +.ui-icon-notifications-active:before { + content: "notifications_active"; } + +.ui-icon-notifications-none:before { + content: "notifications_none"; } + +.ui-icon-notifications-off:before { + content: "notifications_off"; } + +.ui-icon-notifications-paused:before { + content: "notifications_paused"; } + +.ui-icon-offline-pin:before { + content: "offline_pin"; } + +.ui-icon-ondemand-video:before { + content: "ondemand_video"; } + +.ui-icon-opacity:before { + content: "opacity"; } + +.ui-icon-open-in-browser:before { + content: "open_in_browser"; } + +.ui-icon-open-in-new:before { + content: "open_in_new"; } + +.ui-icon-open-with:before { + content: "open_with"; } + +.ui-icon-pages:before { + content: "pages"; } + +.ui-icon-pageview:before { + content: "pageview"; } + +.ui-icon-palette:before { + content: "palette"; } + +.ui-icon-pan-tool:before { + content: "pan_tool"; } + +.ui-icon-panorama:before { + content: "panorama"; } + +.ui-icon-panorama-fish-eye:before { + content: "panorama_fish_eye"; } + +.ui-icon-panorama-horizontal:before { + content: "panorama_horizontal"; } + +.ui-icon-panorama-vertical:before { + content: "panorama_vertical"; } + +.ui-icon-panorama-wide-angle:before { + content: "panorama_wide_angle"; } + +.ui-icon-party-mode:before { + content: "party_mode"; } + +.ui-icon-pause:before { + content: "pause"; } + +.ui-icon-pause-circle-filled:before { + content: "pause_circle_filled"; } + +.ui-icon-pause-circle-outline:before { + content: "pause_circle_outline"; } + +.ui-icon-payment:before { + content: "payment"; } + +.ui-icon-people:before { + content: "people"; } + +.ui-icon-people-outline:before { + content: "people_outline"; } + +.ui-icon-perm-camera-mic:before { + content: "perm_camera_mic"; } + +.ui-icon-perm-contact-calendar:before { + content: "perm_contact_calendar"; } + +.ui-icon-perm-data-setting:before { + content: "perm_data_setting"; } + +.ui-icon-perm-device-information:before { + content: "perm_device_information"; } + +.ui-icon-perm-identity:before { + content: "perm_identity"; } + +.ui-icon-perm-media:before { + content: "perm_media"; } + +.ui-icon-perm-phone-msg:before { + content: "perm_phone_msg"; } + +.ui-icon-perm-scan-wifi:before { + content: "perm_scan_wifi"; } + +.ui-icon-person:before { + content: "person"; } + +.ui-icon-person-add:before { + content: "person_add"; } + +.ui-icon-person-outline:before { + content: "person_outline"; } + +.ui-icon-person-pin:before { + content: "person_pin"; } + +.ui-icon-person-pin-circle:before { + content: "person_pin_circle"; } + +.ui-icon-personal-video:before { + content: "personal_video"; } + +.ui-icon-pets:before { + content: "pets"; } + +.ui-icon-phone:before { + content: "phone"; } + +.ui-icon-phone-android:before { + content: "phone_android"; } + +.ui-icon-phone-bluetooth-speaker:before { + content: "phone_bluetooth_speaker"; } + +.ui-icon-phone-forwarded:before { + content: "phone_forwarded"; } + +.ui-icon-phone-in-talk:before { + content: "phone_in_talk"; } + +.ui-icon-phone-iphone:before { + content: "phone_iphone"; } + +.ui-icon-phone-locked:before { + content: "phone_locked"; } + +.ui-icon-phone-missed:before { + content: "phone_missed"; } + +.ui-icon-phone-paused:before { + content: "phone_paused"; } + +.ui-icon-phonelink:before { + content: "phonelink"; } + +.ui-icon-phonelink-erase:before { + content: "phonelink_erase"; } + +.ui-icon-phonelink-lock:before { + content: "phonelink_lock"; } + +.ui-icon-phonelink-off:before { + content: "phonelink_off"; } + +.ui-icon-phonelink-ring:before { + content: "phonelink_ring"; } + +.ui-icon-phonelink-setup:before { + content: "phonelink_setup"; } + +.ui-icon-photo:before { + content: "photo"; } + +.ui-icon-photo-album:before { + content: "photo_album"; } + +.ui-icon-photo-camera:before { + content: "photo_camera"; } + +.ui-icon-photo-filter:before { + content: "photo_filter"; } + +.ui-icon-photo-library:before { + content: "photo_library"; } + +.ui-icon-photo-size-select-actual:before { + content: "photo_size_select_actual"; } + +.ui-icon-photo-size-select-large:before { + content: "photo_size_select_large"; } + +.ui-icon-photo-size-select-small:before { + content: "photo_size_select_small"; } + +.ui-icon-picture-as-pdf:before { + content: "picture_as_pdf"; } + +.ui-icon-picture-in-picture:before { + content: "picture_in_picture"; } + +.ui-icon-picture-in-picture-alt:before { + content: "picture_in_picture_alt"; } + +.ui-icon-pie-chart:before { + content: "pie_chart"; } + +.ui-icon-pie-chart-outlined:before { + content: "pie_chart_outlined"; } + +.ui-icon-pin-drop:before { + content: "pin_drop"; } + +.ui-icon-place:before { + content: "place"; } + +.ui-icon-play-arrow:before { + content: "play_arrow"; } + +.ui-icon-play-circle-filled:before { + content: "play_circle_filled"; } + +.ui-icon-play-circle-outline:before { + content: "play_circle_outline"; } + +.ui-icon-play-for-work:before { + content: "play_for_work"; } + +.ui-icon-playlist-add:before { + content: "playlist_add"; } + +.ui-icon-playlist-add-check:before { + content: "playlist_add_check"; } + +.ui-icon-playlist-play:before { + content: "playlist_play"; } + +.ui-icon-plus-one:before { + content: "plus_one"; } + +.ui-icon-poll:before { + content: "poll"; } + +.ui-icon-polymer:before { + content: "polymer"; } + +.ui-icon-pool:before { + content: "pool"; } + +.ui-icon-portable-wifi-off:before { + content: "portable_wifi_off"; } + +.ui-icon-portrait:before { + content: "portrait"; } + +.ui-icon-power:before { + content: "power"; } + +.ui-icon-power-input:before { + content: "power_input"; } + +.ui-icon-power-settings-new:before { + content: "power_settings_new"; } + +.ui-icon-pregnant-woman:before { + content: "pregnant_woman"; } + +.ui-icon-present-to-all:before { + content: "present_to_all"; } + +.ui-icon-print:before { + content: "print"; } + +.ui-icon-priority-high:before { + content: "priority_high"; } + +.ui-icon-public:before { + content: "public"; } + +.ui-icon-publish:before { + content: "publish"; } + +.ui-icon-query-builder:before { + content: "query_builder"; } + +.ui-icon-question-answer:before { + content: "question_answer"; } + +.ui-icon-queue:before { + content: "queue"; } + +.ui-icon-queue-music:before { + content: "queue_music"; } + +.ui-icon-queue-play-next:before { + content: "queue_play_next"; } + +.ui-icon-radio:before { + content: "radio"; } + +.ui-icon-radio-button-checked:before { + content: "radio_button_checked"; } + +.ui-icon-radio-button-unchecked:before { + content: "radio_button_unchecked"; } + +.ui-icon-rate-review:before { + content: "rate_review"; } + +.ui-icon-receipt:before { + content: "receipt"; } + +.ui-icon-recent-actors:before { + content: "recent_actors"; } + +.ui-icon-record-voice-over:before { + content: "record_voice_over"; } + +.ui-icon-redeem:before { + content: "redeem"; } + +.ui-icon-redo:before { + content: "redo"; } + +.ui-icon-refresh:before { + content: "refresh"; } + +.ui-icon-remove:before { + content: "remove"; } + +.ui-icon-remove-circle:before { + content: "remove_circle"; } + +.ui-icon-remove-circle-outline:before { + content: "remove_circle_outline"; } + +.ui-icon-remove-from-queue:before { + content: "remove_from_queue"; } + +.ui-icon-remove-red-eye:before { + content: "remove_red_eye"; } + +.ui-icon-remove-shopping-cart:before { + content: "remove_shopping_cart"; } + +.ui-icon-reorder:before { + content: "reorder"; } + +.ui-icon-repeat:before { + content: "repeat"; } + +.ui-icon-repeat-one:before { + content: "repeat_one"; } + +.ui-icon-replay:before { + content: "replay"; } + +.ui-icon-replay-10:before { + content: "replay_10"; } + +.ui-icon-replay-30:before { + content: "replay_30"; } + +.ui-icon-replay-5:before { + content: "replay_5"; } + +.ui-icon-reply:before { + content: "reply"; } + +.ui-icon-reply-all:before { + content: "reply_all"; } + +.ui-icon-report:before { + content: "report"; } + +.ui-icon-report-problem:before { + content: "report_problem"; } + +.ui-icon-restaurant:before { + content: "restaurant"; } + +.ui-icon-restaurant-menu:before { + content: "restaurant_menu"; } + +.ui-icon-restore:before { + content: "restore"; } + +.ui-icon-restore-page:before { + content: "restore_page"; } + +.ui-icon-ring-volume:before { + content: "ring_volume"; } + +.ui-icon-room:before { + content: "room"; } + +.ui-icon-room-service:before { + content: "room_service"; } + +.ui-icon-rotate-90-degrees-ccw:before { + content: "rotate_90_degrees_ccw"; } + +.ui-icon-rotate-left:before { + content: "rotate_left"; } + +.ui-icon-rotate-right:before { + content: "rotate_right"; } + +.ui-icon-rounded-corner:before { + content: "rounded_corner"; } + +.ui-icon-router:before { + content: "router"; } + +.ui-icon-rowing:before { + content: "rowing"; } + +.ui-icon-rss-feed:before { + content: "rss_feed"; } + +.ui-icon-rv-hookup:before { + content: "rv_hookup"; } + +.ui-icon-satellite:before { + content: "satellite"; } + +.ui-icon-save:before { + content: "save"; } + +.ui-icon-scanner:before { + content: "scanner"; } + +.ui-icon-schedule:before { + content: "schedule"; } + +.ui-icon-school:before { + content: "school"; } + +.ui-icon-screen-lock-landscape:before { + content: "screen_lock_landscape"; } + +.ui-icon-screen-lock-portrait:before { + content: "screen_lock_portrait"; } + +.ui-icon-screen-lock-rotation:before { + content: "screen_lock_rotation"; } + +.ui-icon-screen-rotation:before { + content: "screen_rotation"; } + +.ui-icon-screen-share:before { + content: "screen_share"; } + +.ui-icon-sd-card:before { + content: "sd_card"; } + +.ui-icon-sd-storage:before { + content: "sd_storage"; } + +.ui-icon-search:before { + content: "search"; } + +.ui-icon-security:before { + content: "security"; } + +.ui-icon-select-all:before { + content: "select_all"; } + +.ui-icon-send:before { + content: "send"; } + +.ui-icon-sentiment-dissatisfied:before { + content: "sentiment_dissatisfied"; } + +.ui-icon-sentiment-neutral:before { + content: "sentiment_neutral"; } + +.ui-icon-sentiment-satisfied:before { + content: "sentiment_satisfied"; } + +.ui-icon-sentiment-very-dissatisfied:before { + content: "sentiment_very_dissatisfied"; } + +.ui-icon-sentiment-very-satisfied:before { + content: "sentiment_very_satisfied"; } + +.ui-icon-settings:before { + content: "settings"; } + +.ui-icon-settings-applications:before { + content: "settings_applications"; } + +.ui-icon-settings-backup-restore:before { + content: "settings_backup_restore"; } + +.ui-icon-settings-bluetooth:before { + content: "settings_bluetooth"; } + +.ui-icon-settings-brightness:before { + content: "settings_brightness"; } + +.ui-icon-settings-cell:before { + content: "settings_cell"; } + +.ui-icon-settings-ethernet:before { + content: "settings_ethernet"; } + +.ui-icon-settings-input-antenna:before { + content: "settings_input_antenna"; } + +.ui-icon-settings-input-component:before { + content: "settings_input_component"; } + +.ui-icon-settings-input-composite:before { + content: "settings_input_composite"; } + +.ui-icon-settings-input-hdmi:before { + content: "settings_input_hdmi"; } + +.ui-icon-settings-input-svideo:before { + content: "settings_input_svideo"; } + +.ui-icon-settings-overscan:before { + content: "settings_overscan"; } + +.ui-icon-settings-phone:before { + content: "settings_phone"; } + +.ui-icon-settings-power:before { + content: "settings_power"; } + +.ui-icon-settings-remote:before { + content: "settings_remote"; } + +.ui-icon-settings-system-daydream:before { + content: "settings_system_daydream"; } + +.ui-icon-settings-voice:before { + content: "settings_voice"; } + +.ui-icon-share:before { + content: "share"; } + +.ui-icon-shop:before { + content: "shop"; } + +.ui-icon-shop-two:before { + content: "shop_two"; } + +.ui-icon-shopping-basket:before { + content: "shopping_basket"; } + +.ui-icon-shopping-cart:before { + content: "shopping_cart"; } + +.ui-icon-short-text:before { + content: "short_text"; } + +.ui-icon-show-chart:before { + content: "show_chart"; } + +.ui-icon-shuffle:before { + content: "shuffle"; } + +.ui-icon-signal-cellular-4-bar:before { + content: "signal_cellular_4_bar"; } + +.ui-icon-signal-cellular-connected-no-internet-4-bar:before { + content: "signal_cellular_connected_no_internet_4_bar"; } + +.ui-icon-signal-cellular-no-sim:before { + content: "signal_cellular_no_sim"; } + +.ui-icon-signal-cellular-null:before { + content: "signal_cellular_null"; } + +.ui-icon-signal-cellular-off:before { + content: "signal_cellular_off"; } + +.ui-icon-signal-wifi-4-bar:before { + content: "signal_wifi_4_bar"; } + +.ui-icon-signal-wifi-4-bar-lock:before { + content: "signal_wifi_4_bar_lock"; } + +.ui-icon-signal-wifi-off:before { + content: "signal_wifi_off"; } + +.ui-icon-sim-card:before { + content: "sim_card"; } + +.ui-icon-sim-card-alert:before { + content: "sim_card_alert"; } + +.ui-icon-skip-next:before { + content: "skip_next"; } + +.ui-icon-skip-previous:before { + content: "skip_previous"; } + +.ui-icon-slideshow:before { + content: "slideshow"; } + +.ui-icon-slow-motion-video:before { + content: "slow_motion_video"; } + +.ui-icon-smartphone:before { + content: "smartphone"; } + +.ui-icon-smoke-free:before { + content: "smoke_free"; } + +.ui-icon-smoking-rooms:before { + content: "smoking_rooms"; } + +.ui-icon-sms:before { + content: "sms"; } + +.ui-icon-sms-failed:before { + content: "sms_failed"; } + +.ui-icon-snooze:before { + content: "snooze"; } + +.ui-icon-sort:before { + content: "sort"; } + +.ui-icon-sort-by-alpha:before { + content: "sort_by_alpha"; } + +.ui-icon-spa:before { + content: "spa"; } + +.ui-icon-space-bar:before { + content: "space_bar"; } + +.ui-icon-speaker:before { + content: "speaker"; } + +.ui-icon-speaker-group:before { + content: "speaker_group"; } + +.ui-icon-speaker-notes:before { + content: "speaker_notes"; } + +.ui-icon-speaker-notes-off:before { + content: "speaker_notes_off"; } + +.ui-icon-speaker-phone:before { + content: "speaker_phone"; } + +.ui-icon-spellcheck:before { + content: "spellcheck"; } + +.ui-icon-star:before { + content: "star"; } + +.ui-icon-star-border:before { + content: "star_border"; } + +.ui-icon-star-half:before { + content: "star_half"; } + +.ui-icon-stars:before { + content: "stars"; } + +.ui-icon-stay-current-landscape:before { + content: "stay_current_landscape"; } + +.ui-icon-stay-current-portrait:before { + content: "stay_current_portrait"; } + +.ui-icon-stay-primary-landscape:before { + content: "stay_primary_landscape"; } + +.ui-icon-stay-primary-portrait:before { + content: "stay_primary_portrait"; } + +.ui-icon-stop:before { + content: "stop"; } + +.ui-icon-stop-screen-share:before { + content: "stop_screen_share"; } + +.ui-icon-storage:before { + content: "storage"; } + +.ui-icon-store:before { + content: "store"; } + +.ui-icon-store-mall-directory:before { + content: "store_mall_directory"; } + +.ui-icon-straighten:before { + content: "straighten"; } + +.ui-icon-streetview:before { + content: "streetview"; } + +.ui-icon-strikethrough-s:before { + content: "strikethrough_s"; } + +.ui-icon-style:before { + content: "style"; } + +.ui-icon-subdirectory-arrow-left:before { + content: "subdirectory_arrow_left"; } + +.ui-icon-subdirectory-arrow-right:before { + content: "subdirectory_arrow_right"; } + +.ui-icon-subject:before { + content: "subject"; } + +.ui-icon-subscriptions:before { + content: "subscriptions"; } + +.ui-icon-subtitles:before { + content: "subtitles"; } + +.ui-icon-subway:before { + content: "subway"; } + +.ui-icon-supervisor-account:before { + content: "supervisor_account"; } + +.ui-icon-surround-sound:before { + content: "surround_sound"; } + +.ui-icon-swap-calls:before { + content: "swap_calls"; } + +.ui-icon-swap-horiz:before { + content: "swap_horiz"; } + +.ui-icon-swap-vert:before { + content: "swap_vert"; } + +.ui-icon-swap-vertical-circle:before { + content: "swap_vertical_circle"; } + +.ui-icon-switch-camera:before { + content: "switch_camera"; } + +.ui-icon-switch-video:before { + content: "switch_video"; } + +.ui-icon-sync:before { + content: "sync"; } + +.ui-icon-sync-disabled:before { + content: "sync_disabled"; } + +.ui-icon-sync-problem:before { + content: "sync_problem"; } + +.ui-icon-system-update:before { + content: "system_update"; } + +.ui-icon-system-update-alt:before { + content: "system_update_alt"; } + +.ui-icon-tab:before { + content: "tab"; } + +.ui-icon-tab-unselected:before { + content: "tab_unselected"; } + +.ui-icon-tablet:before { + content: "tablet"; } + +.ui-icon-tablet-android:before { + content: "tablet_android"; } + +.ui-icon-tablet-mac:before { + content: "tablet_mac"; } + +.ui-icon-tag-faces:before { + content: "tag_faces"; } + +.ui-icon-tap-and-play:before { + content: "tap_and_play"; } + +.ui-icon-terrain:before { + content: "terrain"; } + +.ui-icon-text-fields:before { + content: "text_fields"; } + +.ui-icon-text-format:before { + content: "text_format"; } + +.ui-icon-textsms:before { + content: "textsms"; } + +.ui-icon-texture:before { + content: "texture"; } + +.ui-icon-theaters:before { + content: "theaters"; } + +.ui-icon-thumb-down:before { + content: "thumb_down"; } + +.ui-icon-thumb-up:before { + content: "thumb_up"; } + +.ui-icon-thumbs-up-down:before { + content: "thumbs_up_down"; } + +.ui-icon-time-to-leave:before { + content: "time_to_leave"; } + +.ui-icon-timelapse:before { + content: "timelapse"; } + +.ui-icon-timeline:before { + content: "timeline"; } + +.ui-icon-timer:before { + content: "timer"; } + +.ui-icon-timer-10:before { + content: "timer_10"; } + +.ui-icon-timer-3:before { + content: "timer_3"; } + +.ui-icon-timer-off:before { + content: "timer_off"; } + +.ui-icon-title:before { + content: "title"; } + +.ui-icon-toc:before { + content: "toc"; } + +.ui-icon-today:before { + content: "today"; } + +.ui-icon-toll:before { + content: "toll"; } + +.ui-icon-tonality:before { + content: "tonality"; } + +.ui-icon-touch-app:before { + content: "touch_app"; } + +.ui-icon-toys:before { + content: "toys"; } + +.ui-icon-track-changes:before { + content: "track_changes"; } + +.ui-icon-traffic:before { + content: "traffic"; } + +.ui-icon-train:before { + content: "train"; } + +.ui-icon-tram:before { + content: "tram"; } + +.ui-icon-transfer-within-a-station:before { + content: "transfer_within_a_station"; } + +.ui-icon-transform:before { + content: "transform"; } + +.ui-icon-translate:before { + content: "translate"; } + +.ui-icon-trending-down:before { + content: "trending_down"; } + +.ui-icon-trending-flat:before { + content: "trending_flat"; } + +.ui-icon-trending-up:before { + content: "trending_up"; } + +.ui-icon-tune:before { + content: "tune"; } + +.ui-icon-turned-in:before { + content: "turned_in"; } + +.ui-icon-turned-in-not:before { + content: "turned_in_not"; } + +.ui-icon-tv:before { + content: "tv"; } + +.ui-icon-unarchive:before { + content: "unarchive"; } + +.ui-icon-undo:before { + content: "undo"; } + +.ui-icon-unfold-less:before { + content: "unfold_less"; } + +.ui-icon-unfold-more:before { + content: "unfold_more"; } + +.ui-icon-update:before { + content: "update"; } + +.ui-icon-usb:before { + content: "usb"; } + +.ui-icon-verified-user:before { + content: "verified_user"; } + +.ui-icon-vertical-align-bottom:before { + content: "vertical_align_bottom"; } + +.ui-icon-vertical-align-center:before { + content: "vertical_align_center"; } + +.ui-icon-vertical-align-top:before { + content: "vertical_align_top"; } + +.ui-icon-vibration:before { + content: "vibration"; } + +.ui-icon-video-call:before { + content: "video_call"; } + +.ui-icon-video-label:before { + content: "video_label"; } + +.ui-icon-video-library:before { + content: "video_library"; } + +.ui-icon-videocam:before { + content: "videocam"; } + +.ui-icon-videocam-off:before { + content: "videocam_off"; } + +.ui-icon-videogame-asset:before { + content: "videogame_asset"; } + +.ui-icon-view-agenda:before { + content: "view_agenda"; } + +.ui-icon-view-array:before { + content: "view_array"; } + +.ui-icon-view-carousel:before { + content: "view_carousel"; } + +.ui-icon-view-column:before { + content: "view_column"; } + +.ui-icon-view-comfy:before { + content: "view_comfy"; } + +.ui-icon-view-compact:before { + content: "view_compact"; } + +.ui-icon-view-day:before { + content: "view_day"; } + +.ui-icon-view-headline:before { + content: "view_headline"; } + +.ui-icon-view-list:before { + content: "view_list"; } + +.ui-icon-view-module:before { + content: "view_module"; } + +.ui-icon-view-quilt:before { + content: "view_quilt"; } + +.ui-icon-view-stream:before { + content: "view_stream"; } + +.ui-icon-view-week:before { + content: "view_week"; } + +.ui-icon-vignette:before { + content: "vignette"; } + +.ui-icon-visibility:before { + content: "visibility"; } + +.ui-icon-visibility-off:before { + content: "visibility_off"; } + +.ui-icon-voice-chat:before { + content: "voice_chat"; } + +.ui-icon-voicemail:before { + content: "voicemail"; } + +.ui-icon-volume-down:before { + content: "volume_down"; } + +.ui-icon-volume-mute:before { + content: "volume_mute"; } + +.ui-icon-volume-off:before { + content: "volume_off"; } + +.ui-icon-volume-up:before { + content: "volume_up"; } + +.ui-icon-vpn-key:before { + content: "vpn_key"; } + +.ui-icon-vpn-lock:before { + content: "vpn_lock"; } + +.ui-icon-wallpaper:before { + content: "wallpaper"; } + +.ui-icon-warning:before { + content: "warning"; } + +.ui-icon-watch:before { + content: "watch"; } + +.ui-icon-watch-later:before { + content: "watch_later"; } + +.ui-icon-wb-auto:before { + content: "wb_auto"; } + +.ui-icon-wb-cloudy:before { + content: "wb_cloudy"; } + +.ui-icon-wb-incandescent:before { + content: "wb_incandescent"; } + +.ui-icon-wb-iridescent:before { + content: "wb_iridescent"; } + +.ui-icon-wb-sunny:before { + content: "wb_sunny"; } + +.ui-icon-wc:before { + content: "wc"; } + +.ui-icon-web:before { + content: "web"; } + +.ui-icon-web-asset:before { + content: "web_asset"; } + +.ui-icon-weekend:before { + content: "weekend"; } + +.ui-icon-whatshot:before { + content: "whatshot"; } + +.ui-icon-widgets:before { + content: "widgets"; } + +.ui-icon-wifi:before { + content: "wifi"; } + +.ui-icon-wifi-lock:before { + content: "wifi_lock"; } + +.ui-icon-wifi-tethering:before { + content: "wifi_tethering"; } + +.ui-icon-work:before { + content: "work"; } + +.ui-icon-wrap-text:before { + content: "wrap_text"; } + +.ui-icon-youtube-searched-for:before { + content: "youtube_searched_for"; } + +.ui-icon-zoom-in:before { + content: "zoom_in"; } + +.ui-icon-zoom-out:before { + content: "zoom_out"; } + +.ui-icon-zoom-out-map:before { + content: "zoom_out_map"; } + +.material-icons, .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + +body .ui-widget, +body .ui-widget .ui-widget { + font-family: "Roboto","Helvetica Neue",sans-serif; + text-decoration: none; } +body .ui-widget-content { + background-color: #ffffff; + font-size: 1em; + border: 1px solid #bdbdbd; } + body .ui-widget-content .fa { + color: #757575; } +body .ui-widget-header { + background-color: #00bcd4; + color: #ffffff; + font-size: 1em; + border: 1px solid #00bcd4; } + body .ui-widget-header .fa { + color: #ffffff; } +body .ui-state-active, body .ui-state-highlight { + background-color: #ffc107; + color: #212121; } + body .ui-state-active .fa, body .ui-state-highlight .fa { + color: #ffffff; } +body .ui-widget:disabled, +body .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; + cursor: auto !important; } +body .ui-corner-all { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } +body .ui-corner-top { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } +body .ui-corner-bottom { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-corner-left { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; } +body .ui-corner-right { + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-widget-overlay { + background-color: #58575c; + opacity: .8; } + +body { + /* InputGroup */ + /* Validation */ } + body .ui-inputtext { + background: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + font-size: 1em; + border-color: #bdbdbd; + border-style: solid; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + border-radius: 0px; } + body .ui-inputtext:focus, body .ui-inputtext.ui-state-focus { + border-width: 0 0 2px 0; + border-color: #00bcd4; + padding-bottom: 0px; } + body .ui-inputtext:disabled { + border-bottom: 1px dotted; } + body .ui-inputtext.ui-widget-content { + border-width: 1px; } + body .ui-inputtext.ui-state-error { + border-color: #e62a10; } + body .md-inputfield { + display: block; + position: relative; } + body .md-inputfield label { + color: #999; + font-weight: normal; + position: absolute; + pointer-events: none; + left: 5px; + top: 1px; + transition: 0.3s ease all; + -moz-transition: 0.3s ease all; + -webkit-transition: 0.3s ease all; } + body .md-inputfield input:focus ~ label, + body .md-inputfield input.ui-state-filled ~ label, + body .md-inputfield .ui-inputwrapper-focus ~ label, + body .md-inputfield .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #00bcd4; } + body .md-inputfield .input:-webkit-autofill ~ label { + top: -20px; + font-size: 12px; + color: #00bcd4; } + body .md-inputfield input.ng-dirty.ng-invalid ~ label { + color: #e62a10; } + body .md-inputfield .ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .md-inputfield.md-inputfield-fill input { + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 4px; } + body .md-inputfield.md-inputfield-fill label { + top: 2px; } + body .md-inputfield.md-inputfield-fill input:focus ~ label, + body .md-inputfield.md-inputfield-fill input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #00bcd4; } + body .md-inputfield.md-inputfield-box { + background-color: #f7f7f7; + height: 44px; } + body .md-inputfield.md-inputfield-box > *:not(label) { + bottom: 0px; + position: absolute; + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 24px; } + body .md-inputfield.md-inputfield-box > label { + top: 23px; } + body .md-inputfield.md-inputfield-box input:focus ~ label, + body .md-inputfield.md-inputfield-box input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-filled ~ label { + top: 1px; } + body .md-inputfield.md-inputfield-box .input:-webkit-autofill ~ label { + top: 1px; } + body .ui-material-message.ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .ui-material-message.ui-message.ui-messages-error label { + top: 4px; } + body .ui-listbox { + min-width: 12.5em; + background-color: #ffffff; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-listbox.ui-inputtext { + padding: 0; } + body .ui-listbox .ui-listbox-list { + padding: 0; } + body .ui-listbox .ui-listbox-item { + overflow: hidden; + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + color: #212121; + position: relative; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-listbox .ui-listbox-item.ui-state-highlight { + background-color: #ffc107; + color: #212121; } + body .ui-listbox:not(.ui-state-disabled) .ui-listbox-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-listbox .ui-listbox-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; } + body .ui-listbox .ui-listbox-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext { + color: #ffffff; + padding: 2px 2px 1px 2px; + padding-left: 1.5em; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext:focus { + padding-bottom: 0; + border-bottom-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .fa { + top: 0; + left: 0; } + body .ui-button, body .ui-datepicker-buttonpane > button { + overflow: hidden; + background-color: #00bcd4; + color: #ffffff; + font-size: 1em; + height: 2.25em; + padding: 0 1em; + border: 0 none; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button:enabled:not(:focus):hover { + background-color: #00838f; } + body .ui-button:focus, body .ui-datepicker-buttonpane > button:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button .ui-button-text, body .ui-datepicker-buttonpane > button .ui-button-text { + padding: 0; + line-height: 2.25em; } + body .ui-button .fa, body .ui-datepicker-buttonpane > button .fa { + color: #ffffff; } + body .ui-button.ui-button-icon-only, body .ui-datepicker-buttonpane > button.ui-button-icon-only { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 2.5em; + height: 2.5em; } + body .ui-button.ui-button-icon-only .fa, body .ui-datepicker-buttonpane > button.ui-button-icon-only .fa { + margin-left: -.5em; } + body .ui-button.ui-button-text-icon-left, body .ui-datepicker-buttonpane > button.ui-button-text-icon-left { + padding-left: 2.5em; } + body .ui-button.ui-button-text-icon-right, body .ui-datepicker-buttonpane > button.ui-button-text-icon-right { + padding-right: 2.5em; } + body .ui-button.secondary, body .ui-button.ui-secondary-button, body .ui-datepicker-buttonpane > button.secondary, body .ui-datepicker-buttonpane > button.ui-secondary-button { + background-color: #ffc107; + color: #212121; } + body .ui-button.secondary:enabled:not(:focus):hover, body .ui-button.ui-secondary-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.secondary:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-secondary-button:enabled:not(:focus):hover { + background-color: #ff8f00; } + body .ui-button.secondary:focus, body .ui-button.ui-secondary-button:focus, body .ui-datepicker-buttonpane > button.secondary:focus, body .ui-datepicker-buttonpane > button.ui-secondary-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.blue-grey-btn, body .ui-datepicker-buttonpane > button.blue-grey-btn { + background-color: #607D8B; } + body .ui-button.blue-grey-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-grey-btn:enabled:not(:focus):hover { + background-color: #37474F; } + body .ui-button.blue-grey-btn:focus, body .ui-datepicker-buttonpane > button.blue-grey-btn:focus { + outline: 0 none; + background-color: #7b96a3; } + body .ui-button.cyan-btn, body .ui-datepicker-buttonpane > button.cyan-btn { + background-color: #00BCD4; } + body .ui-button.cyan-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.cyan-btn:enabled:not(:focus):hover { + background-color: #00838F; } + body .ui-button.cyan-btn:focus, body .ui-datepicker-buttonpane > button.cyan-btn:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button.teal-btn, body .ui-datepicker-buttonpane > button.teal-btn { + background-color: #009688; } + body .ui-button.teal-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.teal-btn:enabled:not(:focus):hover { + background-color: #00695C; } + body .ui-button.teal-btn:focus, body .ui-datepicker-buttonpane > button.teal-btn:focus { + outline: 0 none; + background-color: #00c9b6; } + body .ui-button.red-btn, body .ui-button.ui-danger-button, body .ui-datepicker-buttonpane > button.red-btn, body .ui-datepicker-buttonpane > button.ui-danger-button { + background-color: #F44336; } + body .ui-button.red-btn:enabled:not(:focus):hover, body .ui-button.ui-danger-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.red-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-danger-button:enabled:not(:focus):hover { + background-color: #C62828; } + body .ui-button.red-btn:focus, body .ui-button.ui-danger-button:focus, body .ui-datepicker-buttonpane > button.red-btn:focus, body .ui-datepicker-buttonpane > button.ui-danger-button:focus { + outline: 0 none; + background-color: #f77066; } + body .ui-button.green-btn, body .ui-button.ui-success-button, body .ui-datepicker-buttonpane > button.green-btn, body .ui-datepicker-buttonpane > button.ui-success-button { + background-color: #4CAF50; } + body .ui-button.green-btn:enabled:not(:focus):hover, body .ui-button.ui-success-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.green-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-success-button:enabled:not(:focus):hover { + background-color: #2E7D32; } + body .ui-button.green-btn:focus, body .ui-button.ui-success-button:focus, body .ui-datepicker-buttonpane > button.green-btn:focus, body .ui-datepicker-buttonpane > button.ui-success-button:focus { + outline: 0 none; + background-color: #6ec071; } + body .ui-button.deep-orange-btn, body .ui-datepicker-buttonpane > button.deep-orange-btn { + background-color: #FF5722; } + body .ui-button.deep-orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.deep-orange-btn:enabled:not(:focus):hover { + background-color: #D84315; } + body .ui-button.deep-orange-btn:focus, body .ui-datepicker-buttonpane > button.deep-orange-btn:focus { + outline: 0 none; + background-color: #ff7e55; } + body .ui-button.purple-btn, body .ui-datepicker-buttonpane > button.purple-btn { + background-color: #673AB7; } + body .ui-button.purple-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.purple-btn:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button.purple-btn:focus, body .ui-datepicker-buttonpane > button.purple-btn:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button.pink-btn, body .ui-datepicker-buttonpane > button.pink-btn { + background-color: #E91E63; } + body .ui-button.pink-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.pink-btn:enabled:not(:focus):hover { + background-color: #AD1457; } + body .ui-button.pink-btn:focus, body .ui-datepicker-buttonpane > button.pink-btn:focus { + outline: 0 none; + background-color: #ee4c83; } + body .ui-button.amber-btn, body .ui-button.ui-warning-button, body .ui-datepicker-buttonpane > button.amber-btn, body .ui-datepicker-buttonpane > button.ui-warning-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.amber-btn:enabled:not(:focus):hover, body .ui-button.ui-warning-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.amber-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-warning-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.amber-btn:focus, body .ui-button.ui-warning-button:focus, body .ui-datepicker-buttonpane > button.amber-btn:focus, body .ui-datepicker-buttonpane > button.ui-warning-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.orange-btn, body .ui-datepicker-buttonpane > button.orange-btn { + background-color: #FF9800; } + body .ui-button.orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.orange-btn:enabled:not(:focus):hover { + background-color: #EF6C00; } + body .ui-button.orange-btn:focus, body .ui-datepicker-buttonpane > button.orange-btn:focus { + outline: 0 none; + background-color: #ffad33; } + body .ui-button.brown-btn, body .ui-datepicker-buttonpane > button.brown-btn { + background-color: #795548; } + body .ui-button.brown-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.brown-btn:enabled:not(:focus):hover { + background-color: #4E342E; } + body .ui-button.brown-btn:focus, body .ui-datepicker-buttonpane > button.brown-btn:focus { + outline: 0 none; + background-color: #996b5b; } + body .ui-button.indigo-btn, body .ui-datepicker-buttonpane > button.indigo-btn { + background-color: #3F51B5; } + body .ui-button.indigo-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.indigo-btn:enabled:not(:focus):hover { + background-color: #283593; } + body .ui-button.indigo-btn:focus, body .ui-datepicker-buttonpane > button.indigo-btn:focus { + outline: 0 none; + background-color: #606fc7; } + body .ui-button.blue-btn, body .ui-button.ui-info-button, body .ui-datepicker-buttonpane > button.blue-btn, body .ui-datepicker-buttonpane > button.ui-info-button { + background-color: #03A9F4; + color: #ffffff; } + body .ui-button.blue-btn:enabled:not(:focus):hover, body .ui-button.ui-info-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-info-button:enabled:not(:focus):hover { + background-color: #0277BD; } + body .ui-button.blue-btn:focus, body .ui-button.ui-info-button:focus, body .ui-datepicker-buttonpane > button.blue-btn:focus, body .ui-datepicker-buttonpane > button.ui-info-button:focus { + outline: 0 none; + background-color: #2ebcfc; } + body .ui-button.flat, body .ui-datepicker-buttonpane > button.flat { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-buttonset .ui-button:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #00838f; } + body .ui-buttonset .ui-button.ui-state-active { + background-color: #ffc107; + color: #212121; } + body .ui-togglebutton:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #00838f; } + body .ui-togglebutton.ui-state-active { + background-color: #ffc107; + color: #212121; } + body .ui-splitbutton { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); } + body .ui-splitbutton > .ui-button { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-splitbutton > .ui-button:active { + background-color: #08e3ff; } + body .ui-splitbutton .ui-splitbutton-menubutton { + height: 2.25em; + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton .ui-menu { + min-width: 100%; } + body .ui-fluid .ui-splitbutton .ui-button:first-child { + width: calc(100% - 2em); } + body .ui-chkbox { + display: inline-block; + vertical-align: middle; + line-height: 1.25em; + width: 1.25em; + height: 1.25em; + cursor: default; } + body .ui-chkbox .ui-chkbox-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + font-size: 1.25em; + margin-left: -2px; + margin-top: -2px; } + body .ui-chkbox .ui-chkbox-box.ui-state-active { + border-color: #00bcd4; + background-color: #00bcd4; } + body .ui-chkbox .ui-chkbox-box.ui-state-focus { + border-color: #00bcd4; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton { + position: relative; + margin: 0 .25em 0 0; + vertical-align: middle; } + body .ui-radiobutton .ui-radiobutton-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + -moz-transition: box-shadow 0.3s; + -o-transition: box-shadow 0.3s; + -webkit-transition: box-shadow 0.3s; + transition: box-shadow 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-focus { + border-color: #00bcd4; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-active { + border-color: #00bcd4; + background-color: transparent; } + body .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon { + display: block; + box-sizing: border-box; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-size: 1em; + transition: -webkit-transform ease .28s; + transition: transform ease .28s; + -webkit-transform: scale(0); + transform: scale(0); + margin: 0; } + body .ui-radiobutton .ui-radiobutton-box .fa-circle { + background-color: #00bcd4; + -webkit-transform: scale(0.5); + transform: scale(0.5); } + body .ui-autocomplete-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-autocomplete-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-autocomplete-panel .ui-autocomplete-list { + padding: 0; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + font-size: 1em; + padding: 0.625em 0.875em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item .ui-autocomplete-query { + font-weight: 700; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item.ui-state-highlight { + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-group { + padding: 0.625em 0.875em; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only { + background-color: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + height: 1.5em; + width: 1.5em; + padding: 0; + right: 0; + bottom: 0; + margin-right: 0; + position: absolute; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .ui-button-text { + display: none; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .fa { + color: #757575; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-inputtext { + box-sizing: border-box; + padding: 2px 2px 1px 2px; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-focus { + padding-bottom: 0; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token { + float: none; + display: inline-block; + margin: 0 1px; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token .ui-autocomplete-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-dropdown { + top: .75em; } + body .ui-fluid .ui-autocomplete.ui-autocomplete-dd > .ui-inputtext { + width: 100%; } + body .ui-dropdown { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-dropdown .ui-dropdown-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: 0; + margin-right: 0; } + body .ui-dropdown .ui-dropdown-trigger .fa { + color: #757575; + margin-top: 0; + margin-left: 0; } + body .ui-dropdown .ui-dropdown-label.ui-inputtext { + font: 1em "Roboto", "Helvetica Neue", sans-serif; } + body .ui-dropdown.ui-state-focus { + border-bottom: 2px solid #00bcd4; } + body .ui-dropdown.ui-state-focus .ui-dropdown-label { + padding-bottom: 0; } + body .ui-dropdown-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-list { + padding: 0; } + body .ui-dropdown-panel .ui-dropdown-item { + margin: 0; + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-item:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-dropdown-panel .ui-dropdown-item.ui-state-highlight { + background-color: #ffc107; + color: #212121; } + body .ui-dropdown-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-dropdown-panel .ui-dropdown-filter-container { + display: block; + border-bottom: 1px solid #bdbdbd; + background-color: #00bcd4; + padding: 0.625em 1em; } + body .ui-dropdown-panel .ui-dropdown-filter-container input { + color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container input:focus { + border-bottom-color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container .fa { + top: .325em; + right: .75em; + color: #ffffff; } + body .ui-multiselect { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-multiselect .ui-multiselect-label-container { + padding-right: 1.5em; } + body .ui-multiselect .ui-multiselect-label-container .ui-multiselect-label { + padding: 0px 2px 0px 2px; } + body .ui-multiselect .ui-multiselect-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: .063em; } + body .ui-multiselect .ui-multiselect-trigger .fa { + color: #757575; + margin-top: auto; + margin-left: auto; } + body .ui-multiselect.ui-state-focus { + border-bottom: 2px solid #00bcd4; } + body .ui-multiselect-panel.ui-widget { + padding: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + min-width: 12.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; + position: relative; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox { + float: none; + margin: 0 .5em 0 -.125em; + position: static; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-focus { + background-color: #4dd0e1; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container { + width: 70%; + display: inline-block; + vertical-align: middle; + float: none; + margin-left: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .fa { + top: 0; + left: 0; + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext { + color: #ffffff; + padding-left: 1.5em; + width: 100%; + box-sizing: border-box; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext:focus { + border-bottom-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close { + position: absolute; + right: .5em; + top: .625em; + height: 1.5em; + width: 1.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close span { + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close:hover { + background-color: #4dd0e1; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item { + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item.ui-state-highlight { + color: #212121; } + body .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; + padding: 0; + margin-right: .25em; + background-color: transparent; + color: #212121; + z-index: auto; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-n { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-s { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa { + top: 0px; + height: .5em; + color: #757575; } + body .ui-spinner .ui-spinner-button:enabled:hover, body .ui-spinner .ui-spinner-button:active { + background-color: transparent; } + body .ui-spinner .ui-spinner-up .fa { + top: .25em; } + body .ui-spinner .ui-spinner-down .fa { + top: .167em; } + body .ui-spinner .ui-spinner-input { + padding-right: 30px; } + body .ui-fluid .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; } + body .ui-fluid .ui-spinner .ui-spinner-button .fa { + left: auto; } + body .ui-inputswitch { + height: 14px; + width: 34px !important; + overflow: visible; + background-color: #9e9e9e; + border-color: #9e9e9e; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; } + body .ui-inputswitch .ui-inputswitch-handle { + top: -4px; + background-color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + width: 20px !important; + height: 20px !important; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; } + body .ui-inputswitch .ui-inputswitch-on { + visibility: hidden; } + body .ui-inputswitch .ui-inputswitch-off span, body .ui-inputswitch .ui-inputswitch-on span { + visibility: hidden; } + body .ui-inputswitch.ui-inputswitch-checked { + background-color: #ffe082; + border-color: #ffe082; } + body .ui-inputswitch.ui-inputswitch-checked .ui-inputswitch-handle { + background-color: #ffc107; + color: #212121; } + body .ui-slider .ui-slider-handle { + background-color: #ffc107; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 1.25em; + height: 1.25em; + transform: scale(0.7); + -moz-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -o-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + body .ui-slider .ui-slider-handle.ui-state-focus { + transform: scale(1); } + body .ui-slider .ui-slider-handle:focus { + outline: 0 none; } + body .ui-slider.ui-slider-horizontal { + height: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-horizontal .ui-slider-handle { + top: -.55em; } + body .ui-slider.ui-slider-vertical { + width: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-vertical .ui-slider-handle { + left: -.55em; } + body .ui-slider .ui-slider-range { + background-color: #ffc107; + color: #212121; } + body .ui-slider:not(.ui-state-disabled) .ui-slider-handle:hover { + transform: scale(1); } + body .ui-calendar .ui-datepicker-trigger { + bottom: 2px; + right: 0; + background-color: transparent; + color: #212121; + height: 1.5em; + width: 1.5em; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-calendar .ui-datepicker-trigger .fa { + color: #757575; } + body .ui-calendar .ui-datepicker-trigger:enabled:hover { + background-color: transparent; } + body .ui-fluid .ui-calendar.ui-calendar-w-btn .ui-inputtext { + width: 100%; } + body .ui-datepicker { + padding: 0; + width: 17.5em; } + body .ui-datepicker.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-datepicker .ui-datepicker-header { + padding: 0.625em 1em; + font-size: 1em; + background: #00838f; + border-color: #00838f; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + cursor: pointer; + top: .4em; + left: .2em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before { + content: "keyboard_arrow_left"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover { + background-color: #4dd0e1; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next { + cursor: pointer; + top: .4em; + right: .2em; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before { + content: "keyboard_arrow_right"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover { + background-color: #4dd0e1; } + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-month, + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-year { + font-size: 14px; } + body .ui-datepicker table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; + font-size: 14px; } + body .ui-datepicker thead tr { + color: #ffffff; + background: #00bcd4; } + body .ui-datepicker tbody td { + padding: .25em .125em; + box-sizing: border-box; } + body .ui-datepicker tbody td.ui-datepicker-today a { + color: #ffffff; + background: #3be9ff; } + body .ui-datepicker tbody td.ui-datepicker-today a.ui-state-active { + color: #ffffff; + background-color: #ffc107; + color: #212121; } + body .ui-datepicker tbody td a { + padding: .25em; + margin: 0; + text-align: center; + color: #212121; + display: inline-block; + height: 2.250em; + width: 2.250em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + line-height: 1.8em; } + body .ui-datepicker tbody td a.ui-state-active { + color: #ffffff; + background-color: #ffc107; + color: #212121; } + body .ui-datepicker tbody td a:not(.ui-state-active):not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datepicker tbody td a span { + display: inline; + padding: 0; + text-align: center; } + body .ui-datepicker .ui-timepicker { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-datepicker .ui-timepicker > div a { + height: 1.5em; } + body .ui-datepicker .ui-timepicker > div a > span { + display: inline-block; + margin-bottom: .25em; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up:before { + content: "keyboard_arrow_up"; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down:before { + content: "keyboard_arrow_down"; } + body #ui-datepicker-div { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-rating { + min-height: 1.5em; } + body .ui-rating .fa-ban { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-ban:before { + content: "cancel"; } + body .ui-rating .fa-star { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star:before { + content: "star"; } + body .ui-rating .fa-star-o { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star-o:before { + content: "star_border"; } + body .ui-chips > ul.ui-inputtext { + padding: 2px 2px 1px 2px; } + body .ui-chips > ul.ui-inputtext.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-chips > ul.ui-inputtext.ui-state-focus { + padding-bottom: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token { + padding-bottom: 2px; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token input:disabled { + width: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-chips > ul.ui-inputtext .ui-chips-token .ui-chips-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-password-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-fileupload .ui-fileupload-buttonbar { + padding: 0.625em 1em; } + body .ui-fileupload .ui-fileupload-buttonbar .fa-arrowreturnthick-1-n:before { + content: "file_upload"; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button { + background-color: #ffc107; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button:enabled:hover { + background-color: #ff8f00; } + body .ui-fileupload .ui-fileupload-content .ui-messages-error .fa { + color: #ffffff; } + body .ui-fileupload-choose:not(.ui-state-disabled):hover.ui-button, + body .ui-fileupload-choose.ui-state-focus.ui-button { + background-color: #edb100; } + body .ui-fileupload-choose:not(.ui-state-disabled):active.ui-button { + background-color: #d39e00; } + body .ui-editor-container .ui-editor-toolbar { + background-color: #e8e8e8; } + body .ui-editor-container .ql-picker.ql-expanded .ql-picker-label { + color: #444444; } + body .ui-inputgroup .ui-inputgroup-addon { + border-width: 0 0 1px 0; + border-color: #bdbdbd; + color: #757575; + padding: 2px 2px 1px 2px; + align-self: flex-end; } + body .ui-inputgroup .ui-inputgroup-addon > i { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-self: flex-end; } + body .ui-inputgroup .ui-inputtext { + align-self: flex-end; } + body .ui-inputgroup .md-inputfield { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + display: inherit; } + body .ui-inputgroup .md-inputfield label { + top: 5px; } + body .ui-inputgroup .ui-chkbox, body .ui-inputgroup .ui-radiobutton { + margin-bottom: .125em; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only { + width: 1.643em; + height: 1.643em; + padding: 0; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only .ui-button-icon-left { + margin-left: -.45em; } + body .ui-inputtext.ng-dirty.ng-invalid, + body p-dropdown.ng-dirty.ng-invalid > .ui-dropdown, + body p-autocomplete.ng-dirty.ng-invalid > .ui-autocomplete > .ui-inputtext, + body p-calendar.ng-dirty.ng-invalid > .ui-inputtext, + body p-inputmask.ng-dirty.ng-invalid > .ui-inputtext, + body p-checkbox.ng-dirty.ng-invalid .ui-chkbox-box, + body p-radiobutton.ng-dirty.ng-invalid .ui-radiobutton-box, + body p-inputswitch.ng-dirty.ng-invalid .ui-inputswitch, + body p-listbox.ng-dirty.ng-invalid .ui-inputtext, + body p-multiselect.ng-dirty.ng-invalid > .ui-multiselect, + body p-spinner.ng-dirty.ng-invalid > .ui-inputtext, + body p-selectbutton.ng-dirty.ng-invalid .ui-button, + body p-togglebutton.ng-dirty.ng-invalid .ui-button { + border-bottom-color: #e62a10; } + +@media (max-width: 640px) { + body .ui-buttonset > .ui-button { + display: block; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-buttonset > .ui-button:first-child { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } + body .ui-buttonset > .ui-button:last-child { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton > .ui-button { + display: inline-block; } + body .ui-splitbutton > .ui-button:first-child { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; } + body .ui-splitbutton > .ui-button:last-child { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } } +body .ui-panel { + padding: 0; } + body .ui-panel .ui-panel-titlebar { + border: 0 none; + border-bottom: 1px solid #00bcd4; + padding: 0.625em 1em; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-panel .ui-panel-titlebar .ui-panel-title { + line-height: 1.5em; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon { + position: relative; + width: 1.5em; + height: 1.5em; + color: #ffffff; + margin: 0; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon:hover { + background-color: #4dd0e1; } + body .ui-panel .ui-panel-content { + height: 100%; + box-sizing: border-box; + padding: 0.625em 1em; } + body .ui-panel .ui-panel-footer { + padding: 0.625em 1em; + border: 0 none; + border-top: 1px solid #bdbdbd; + margin: 0; } +body .ui-fieldset { + padding: 0.625em 1em; } + body .ui-fieldset .ui-fieldset-legend { + padding: 0.625em 1em; + padding-left: .125em; + padding-right: .5em; + color: #00bcd4; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler { + padding: .5em; + height: 2em; + width: 2em; + background-color: #00bcd4; + color: #ffffff; + font-size: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + margin-right: .5em; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler:hover { + background-color: #00838f; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-legend-text { + color: #00bcd4; } + body .ui-fieldset .ui-fieldset-legend.ui-state-focus { + background-color: transparent; } +body .ui-accordion .ui-accordion-header { + background-color: #00bcd4; + padding: 0; + color: #ffffff; + font-size: 1em; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-accordion .ui-accordion-header > a { + padding: 0.625em 1em; + color: #ffffff; } + body .ui-accordion .ui-accordion-header > a .ui-accordion-toggle-icon, + body .ui-accordion .ui-accordion-header > a .ui-accordion-header-text { + vertical-align: middle; } + body .ui-accordion .ui-accordion-header:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #00838f; } + body .ui-accordion .ui-accordion-header.ui-state-active { + background-color: #ffc107; + color: #212121; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-accordion .ui-accordion-header.ui-state-active > a { + color: #212121; } +body .ui-accordion .ui-accordion-content { + padding: 0.625em 1em; + line-height: 1.5em; } +body .ui-toolbar { + background-color: #00838f; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + padding: .625em; } +body .ui-tabview { + padding: 0; } + body .ui-tabview .ui-tabview-nav { + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabview .ui-tabview-nav > li { + padding: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabview .ui-tabview-nav > li > a { + padding: 0.625em 1em; } + body .ui-tabview .ui-tabview-nav > li > a:focus { + outline: 0 none; } + body .ui-tabview .ui-tabview-nav > li > .fa-close { + margin: .325em 0 0 0; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + color: #757575; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-left-icon, body .ui-tabview .ui-tabview-nav > li .ui-tabview-right-icon { + color: #757575; + display: inline-block; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-title { + line-height: 1.5em; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li.ui-state-default a { + color: #757575; } + body .ui-tabview .ui-tabview-nav > li:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #ffffff; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active { + background-color: #ffffff; + border-color: #ffc107; + border-style: solid; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active a { + color: #00bcd4; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active > .fa-close { + color: #ffc107; } + body .ui-tabview .ui-tabview-nav > li.ui-tabview-outline { + outline: 0 none; + border-color: #ffe082; } + body .ui-tabview .ui-tabview-panel { + padding: 0.625em 1em; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav > li { + border-style: solid; + border-width: 0 0 2px 0; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav > li { + border-width: 2px 0 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + border-right: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 2px 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav { + padding: 0; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 0 0 2px; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li.ui-state-active > a { + padding-left: 0.875em; } + +@media (max-width: 640px) { + body .ui-toolbar .ui-toolbar-group-right { + margin-top: 1em; } } +body .ui-picklist .ui-picklist-caption { + font-size: 1em; + padding: 0.625em 1em; } +body .ui-picklist .ui-picklist-list { + padding: 0; } +body .ui-picklist .ui-picklist-filter-container .fa { + left: 0.3em; } +body .ui-picklist .ui-picklist-filter-container .ui-picklist-filter { + text-indent: 1.5em; } +body .ui-picklist li.ui-picklist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-picklist li.ui-picklist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-picklist li.ui-picklist-item.ui-state-highlight { + background-color: #ffc107; + color: #212121; } +body .ui-picklist .ui-picklist-buttons { + width: 3em; } + body .ui-picklist .ui-picklist-buttons .ui-button.ui-button-icon-only { + width: 2.5em; + margin-right: 0; + display: inline-block; + margin-bottom: .5em; } +body .ui-picklist .ui-picklist-buttons-cell { + text-align: center; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + margin: 0 auto; + display: block; + margin-bottom: .5em; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox { + margin-right: .5em; + vertical-align: top; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox, body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox * { + box-sizing: content-box; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-organizationchart-selectable-node:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-state-highlight .ui-node-toggler i { + color: #876500; } +body .ui-organizationchart .ui-organizationchart-line-down { + background-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-left { + border-right: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-top { + border-top: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content { + border-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler { + bottom: -1.3em; + margin-left: -.75em; + color: #bdbdbd; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down:before { + content: "keyboard_arrow_down"; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up:before { + content: "keyboard_arrow_up"; } +body .ui-orderlist .ui-orderlist-caption { + font-size: 1em; + padding: 0.625em 1em; + box-sizing: border-box; } +body .ui-orderlist .ui-orderlist-list { + padding: 0; + box-sizing: border-box; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item.ui-state-highlight { + background-color: #ffc107; + color: #212121; } +body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 3.75em; } +body .ui-orderlist .ui-orderlist-controls { + width: 3.75em; + text-align: center; } + body .ui-orderlist .ui-orderlist-controls .ui-button.ui-button-icon-only { + width: 2.5em; + margin-bottom: .5em; + margin-right: 0; } +body .ui-paginator { + background-color: #00838f; + padding: 0.625em 1em; } + body .ui-paginator > a { + box-sizing: border-box; + color: #ffffff; } + body .ui-paginator > a .fa { + display: none; } + body .ui-paginator > a:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #4dd0e1; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-next { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-next:before { + content: "navigate_next"; } + body .ui-paginator .ui-paginator-last { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-last:before { + content: "last_page"; } + body .ui-paginator .ui-paginator-prev { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-prev:before { + content: "navigate_before"; } + body .ui-paginator .ui-paginator-first { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-first:before { + content: "first_page"; } + body .ui-paginator .ui-paginator-pages { + vertical-align: middle; + margin: 0 .375em 0 .375em; } + body .ui-paginator .ui-paginator-pages a { + padding: 0; + color: #ffffff; + min-width: 1.5em; + min-height: 1.5em; + line-height: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-pages a:not(.ui-state-active):hover { + background-color: #4dd0e1; } + body .ui-paginator .ui-paginator-pages a.ui-state-active { + background-color: #ffc107; + color: #212121; } +body .ui-datagrid .ui-datagrid-header { + padding: 0.625em 1em; } +body .ui-datagrid .ui-panel .ui-panel-titlebar { + background-color: #ffffff; + color: #212121; + border-color: #bdbdbd; } +body .ui-datalist .ui-datalist-header { + padding: 0.625em 1em; } +body .ui-table .ui-table-caption, +body .ui-table .ui-table-summary { + padding: 0.625em 1em; + text-align: center; + font-weight: normal; } +body .ui-table .ui-table-caption { + border-bottom: 0 none; } +body .ui-table .ui-table-summary { + border-top: 0 none; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tbody > tr > td, +body .ui-table .ui-table-tfoot > tr > td { + padding: 0.625em 1em; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tfoot > tr > td { + font-weight: 400; + background-color: #ffffff; + border: 1px solid #cacaca; } +body .ui-table .ui-sortable-column:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-table .ui-sortable-column.ui-state-highlight { + background-color: #ffc107; + color: #212121; + border-top-color: #ffc107; } + body .ui-table .ui-sortable-column.ui-state-highlight .fa { + color: #212121; } +body .ui-table .ui-sortable-column .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } +body .ui-table .ui-table-tbody > tr { + background: #ffffff; } + body .ui-table .ui-table-tbody > tr > td { + background: inherit; + border: 1px solid #cacaca; } + body .ui-table .ui-table-tbody > tr.ui-state-highlight { + background-color: #ffc107; + color: #212121; } + body .ui-table .ui-table-tbody > tr.ui-contextmenu-selected { + background-color: #ffc107; + color: #212121; } +body .ui-table .ui-table-tbody > tr:nth-child(odd) { + background-color: #f4f4f4; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-state-highlight { + background-color: #ffc107; + color: #212121; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-contextmenu-selected { + background-color: #ffc107; + color: #212121; } +body .ui-table.ui-table-hoverable-rows .ui-table-tbody > tr:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable .ui-datatable-header, +body .ui-datatable .ui-datatable-footer { + padding: 0.625em 1em; } + body .ui-datatable .ui-datatable-header .ui-inputtext, + body .ui-datatable .ui-datatable-footer .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-header .ui-inputtext:focus, + body .ui-datatable .ui-datatable-footer .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-paginator { + padding: 0.625em 1em; } +body .ui-datatable .ui-datatable-thead > tr { + border-color: #cacaca; } + body .ui-datatable .ui-datatable-thead > tr th { + padding: .625em .875em; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-sortable-column:not(.ui-state-active):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datatable .ui-datatable-thead > tr th .ui-column-title { + display: inline-block; + vertical-align: middle; } + body .ui-datatable .ui-datatable-thead > tr th .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight { + background-color: #ffc107; + color: #212121; + border-top-color: #ffc107; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .fa, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .fa { + color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext { + color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext.ui-state-focus, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext.ui-state-focus { + border-color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-selection-column .ui-chkbox-box { + box-sizing: content-box; } +body .ui-datatable tfoot th { + padding: .625em .875em; + border: 1px solid #bdbdbd; + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-datatable-even { + background-color: #f4f4f4; } + body .ui-datatable .ui-datatable-data tr.ui-datatable-even.ui-state-highlight { + background-color: #ffc107; + color: #212121; } +body .ui-datatable .ui-datatable-data tr { + border: 1px solid #cacaca; } + body .ui-datatable .ui-datatable-data tr td { + padding: .625em .875em; } + body .ui-datatable .ui-datatable-data tr td .ui-row-toggler { + display: inherit; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td input.ui-cell-editor { + padding: 2px 2px 1px 2px; + font-size: 1em; } + body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-chkbox-box, body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-radiobutton-box { + box-sizing: content-box; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight { + background-color: #ffc107; + border-color:   #ffc107; + color: #212121; } + body .ui-datatable .ui-datatable-data tr .ui-cell-editor-input input { + color: #212121; } +body .ui-datatable .ui-datatable-data tr.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext, + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext.ui-state-error { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box .ui-radiobutton-icon { + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box { + border-color: #ffffff; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box .ui-chkbox-icon { + color: #757575; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-rowgroup-header td a { + height: 1.5em; + vertical-align: top; + display: inline-block; } +body .ui-datatable .ui-datatable-data.ui-datatable-hoverable-rows > tr.ui-widget-content:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer { + border: 0 none; + background-color: transparent; } + body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header .ui-datatable-data td, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer .ui-datatable-data td { + color: #212121; } +body .ui-datatable.ui-datatable-scrollable thead tr th { + color: #212121; + font-size: 16px; } +body .ui-datatable.ui-datatable-scrollable tfoot tr td { + color: #212121; + font-size: 16px; } +body .ui-datatable .ui-datatable-loading { + opacity: 0.3; + filter: alpha(opacity=30); } +body .ui-datatable .ui-datatable-loading-content { + top: 35%; } + body .ui-datatable .ui-datatable-loading-content .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-animation-delay: 0; + -webkit-animation-duration: 1000ms; + -webkit-animation-name: spin; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-delay: 0; + -moz-animation-duration: 1000ms; + -moz-animation-name: spin; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + animation-delay: 0; + animation-duration: 1000ms; + animation-name: spin; + animation-iteration-count: infinite; + animation-timing-function: linear; + font-size: 2em; } + body .ui-datatable .ui-datatable-loading-content .fa:before { + content: "refresh"; } +body .ui-carousel { + padding: 0; } + body .ui-carousel .ui-carousel-header { + padding: 0.625em 1em; + font-size: 1em; + overflow: visible; } + body .ui-carousel .ui-carousel-header .ui-carousel-header-title { + overflow: visible; } + body .ui-carousel .ui-carousel-header .fa { + color: #ffffff; } + body .ui-carousel .ui-carousel-header .ui-carousel-button { + margin: -1px 0 0 0; } + body .ui-carousel .ui-carousel-header .ui-carousel-page-links { + margin: -1px 0 0 0; } +body .ui-tree { + padding: 0.625em 1em/2; } + body .ui-tree .ui-treenode-children { + padding-left: 1.75em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin-right: .5em; } + body .ui-tree .ui-treenode-content .ui-chkbox .fa { + color: #757575; } + body .ui-tree .ui-treenode-content .ui-tree-toggler { + vertical-align: middle; + margin: 0 0 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-icon { + vertical-align: middle; + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-label { + margin: 0; + vertical-align: middle; } + body .ui-tree .ui-treenode-content.ui-treenode-selectable .ui-treenode-label:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal { + padding-left: 0; + padding-right: 0; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content { + background-color: #ffffff; + border: 1px solid #bdbdbd; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-tree-toggler { + vertical-align: top; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-treenode-icon { + vertical-align: top; + margin-right: .25em; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-treenode-selectable:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-state-highlight { + background-color: #ffc107; + color: #212121; } +body .ui-tree-draghelper { + border: 1px solid #00bcd4; } +body .fc .fc-toolbar .ui-icon-circle-triangle-e { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-icon-circle-triangle-w { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-state-active { + background-color: #ffc107; } +body .fc .fc-event { + background-color: #4dd0e1; + color: #ffffff; } +body .fc table { + box-sizing: border-box; } +body .ui-treetable .ui-treetable-header { + padding: 0.625em 1em; + font-size: 1em; } +body .ui-treetable thead tr { + border-bottom: 1px solid #bdbdbd; } + body .ui-treetable thead tr th { + background-color: #ffffff; + padding: .625em .875em; + border: 0 none; } + body .ui-treetable thead tr th .fa { + color: #757575; } + body .ui-treetable thead tr th:first-child { + border-left: 1px solid #bdbdbd; } + body .ui-treetable thead tr th:last-child { + border-right: 1px solid #bdbdbd; } + body .ui-treetable thead tr th .ui-sortable-column-icon { + vertical-align: middle; + margin: -.25em 0 0 0; } + body .ui-treetable thead tr th.ui-state-active { + background-color: #ffc107; + color: #212121; } + body .ui-treetable thead tr th.ui-state-active .fa { + color: #212121; } + body .ui-treetable thead tr th .ui-column-resizer { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1em; + color: #757575; } + body .ui-treetable thead tr th .ui-column-resizer:before { + content: "code"; } +body .ui-treetable tfoot td { + border: 0 none; + padding: .625em .875em; } +body .ui-treetable tbody .ui-treetable-row { + background-color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row td { + border: 0 none; + padding: .625em .875em; } + body .ui-treetable tbody .ui-treetable-row td .ui-treetable-toggler { + display: inline-block; + vertical-align: middle; + margin: 0 .167em; + float: none; } + body .ui-treetable tbody .ui-treetable-row td .ui-chkbox { + margin-right: .5em; } + body .ui-treetable tbody .ui-treetable-row td.ui-treetable-child-table-container { + padding: 0; } + body .ui-treetable tbody .ui-treetable-row.ui-treetable-row-selectable:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight { + background-color: #ffc107; + color: #212121; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight .ui-chkbox .ui-chkbox-box { + border-color: #212121; } +body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-header, body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-footer { + background-color: transparent; + border: 0 none; } +body .ui-treetable.ui-treetable-scrollable thead th { + background-color: #ffffff; + color: #212121; } + +@media (max-width: 40em) { + body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 100%; } } +@media (max-width: 640px) { + body .ui-picklist.ui-picklist-responsive .ui-picklist-list-wrapper { + margin-bottom: .5em; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons { + padding: .5em 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + display: inline-block; + margin-right: .25em; + margin-bottom: 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right:before { + content: "skip_previous"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left:before { + content: "skip_next"; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls { + text-align: center; + width: auto; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button { + margin-right: .25em; } } +body .ui-breadcrumb { + padding: 0.625em 1em; } + body .ui-breadcrumb ul li a { + color: #ffffff; + font-size: 1em; } +body .ui-steps { + position: relative; } + body .ui-steps .ui-steps-item { + background-color: transparent; } + body .ui-steps .ui-steps-item.ui-state-disabled { + opacity: 1; + filter: alpha(opacity=100); } + body .ui-steps .ui-steps-item .ui-menuitem-link { + display: inline-block; + text-align: left; + background-color: #ffffff; + overflow: hidden; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number { + display: inline-block; + background-color: #757575; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: .25em .75em; + font-size: 1em; + color: #ffffff; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: inline; + margin-left: .625em; + color: #757575; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-number { + background-color: #ffc107; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-title { + font-weight: 700; + color: #212121; } + body .ui-steps .ui-steps-item:last-child .ui-menuitem-link { + display: block; } + body .ui-steps:before { + content: ' '; + border: 1px solid #bdbdbd; + width: 90%; + top: 45%; + left: 0; + display: block; + position: absolute; } +body .ui-menu .ui-menuitem-link, +body .ui-menubar .ui-menuitem-link, +body .ui-tieredmenu .ui-menuitem-link, +body .ui-contextmenu .ui-menuitem-link, +body .ui-megamenu .ui-menuitem-link, +body .ui-slidemenu .ui-menuitem-link { + padding: .625em 1em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-menu .ui-menuitem-link:hover, + body .ui-menubar .ui-menuitem-link:hover, + body .ui-tieredmenu .ui-menuitem-link:hover, + body .ui-contextmenu .ui-menuitem-link:hover, + body .ui-megamenu .ui-menuitem-link:hover, + body .ui-slidemenu .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link:focus, + body .ui-menubar .ui-menuitem-link:focus, + body .ui-tieredmenu .ui-menuitem-link:focus, + body .ui-contextmenu .ui-menuitem-link:focus, + body .ui-megamenu .ui-menuitem-link:focus, + body .ui-slidemenu .ui-menuitem-link:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link .ui-menuitem-text, + body .ui-menubar .ui-menuitem-link .ui-menuitem-text, + body .ui-tieredmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-contextmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-megamenu .ui-menuitem-link .ui-menuitem-text, + body .ui-slidemenu .ui-menuitem-link .ui-menuitem-text { + vertical-align: middle; } +body .ui-menubar .ui-submenu-list, body .ui-contextmenu .ui-submenu-list, +body .ui-slidemenu .ui-submenu-list, body .ui-tieredmenu .ui-submenu-list { + padding: .5em 0; } + body .ui-menubar .ui-submenu-list .ui-menuitem, body .ui-contextmenu .ui-submenu-list .ui-menuitem, + body .ui-slidemenu .ui-submenu-list .ui-menuitem, body .ui-tieredmenu .ui-submenu-list .ui-menuitem { + margin: 0; } +body .ui-menu { + width: 100%; + padding: .5em 0; } + body .ui-menu .ui-menuitem { + margin: 0; } + body .ui-menu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menu.ui-shadow, body .ui-menu .ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-menu .ui-submenu-header { + border: 0 none; + margin: 0; + padding: .625em 1em; + border-radius: 0; } +body .ui-menubar { + padding: 0; } + body .ui-menubar .ui-menubar-root-list > .ui-menuitem > .ui-menuitem-link { + padding: .625em 1em; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } +body .ui-contextmenu { + padding: .5em 0; } + body .ui-contextmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-contextmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-slidemenu { + padding: .5em 0; } + body .ui-slidemenu .ui-menuitem { + margin: 0; } + body .ui-slidemenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-slidemenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-slidemenu .ui-slidemenu-backward { + margin-bottom: .4em; + padding: 0.625em 1em; + width: 100%; + background-color: #00bcd4; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border: 0 none; } + body .ui-slidemenu .ui-slidemenu-backward:hover { + background-color: #008fa1; } +body .ui-tieredmenu { + padding: .5em 0; } + body .ui-tieredmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-tieredmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-tabmenu { + padding: 0; } + body .ui-tabmenu .ui-tabmenu-nav { + padding: 0; + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem { + top: auto; + margin: 0 .25em 0 0; + padding: 0; + border-style: solid; + border-width: 0 0 2px 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a { + padding: 0.625em 1em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a:focus { + outline: 0 none; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon, body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-text { + float: none; + display: inline-block; + vertical-align: middle; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon { + font-weight: 1em; + margin-right: .25em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a .fa { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem:not(.ui-state-active):hover { + background-color: #ffffff; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active { + background-color: #ffffff; + border-color: #ffc107; + border-style: solid; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a { + color: #00bcd4; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a .fa { + color: #00bcd4; } +body .ui-megamenu { + padding: 0; } + body .ui-megamenu .ui-megamenu-submenu-header { + border-radius: 0; + padding: .5em; } + body .ui-megamenu .ui-submenu-list { + padding: 0; + border: 0 none; } + body .ui-megamenu .ui-submenu-list .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-panelmenu .ui-panelmenu-header { + background-color: #00bcd4; + margin-bottom: 1px; } + body .ui-panelmenu .ui-panelmenu-header a { + padding: .625em 1em; + color: #ffffff; + font-size: 16px; + border-bottom: 1px solid #ffffff; } + body .ui-panelmenu .ui-panelmenu-header .fa { + color: #ffffff; + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header .ui-menuitem-text { + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active { + background-color: #ffc107; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + margin-bottom: 0; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active a, body .ui-panelmenu .ui-panelmenu-header.ui-state-active .fa { + color: #212121; } +body .ui-panelmenu .ui-panelmenu-content { + padding: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem { + margin: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link { + border: 0 none; + padding: .625em 1em; + width: 100%; + min-height: 2.750em; + box-sizing: border-box; + color: #212121; + line-height: 1.5em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + position: relative; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .ui-menuitem-text { + display: inline-block; + vertical-align: middle; + float: none; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .fa { + position: static; + display: inline-block; + vertical-align: middle; } +body .ui-panelmenu .ui-menu-parent .ui-menu-list { + margin-left: 28px; } + +@media (max-width: 640px) { + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: none; } } +body { + /* Messages */ } + body .ui-messages { + padding: 0.625em 1em; } + body .ui-messages ul { + display: inline-block; + margin-left: 0; } + body .ui-messages.ui-messages-info { + background-color: #2196F3; + border-color: #2196F3; + color: #ffffff; } + body .ui-messages.ui-messages-warn { + background-color: #ffc107; + border-color: #ffc107; + color: #ffffff; } + body .ui-messages.ui-messages-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-messages.ui-messages-fatal { + background-color: #212121; + border-color: #212121; + color: #ffffff; } + body .ui-messages.ui-messages-success { + background-color: #8BC34A; + border-color: #8BC34A; + color: #ffffff; } + body .ui-messages .ui-messages-close { + text-decoration: none; + color: #fff; + right: .25em; } + body .ui-messages .ui-messages-icon { + background: none; + color: #fff; + margin-top: -2px; } + body .ui-messages .ui-messages-icon.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-info-circle:before { + content: "info"; } + body .ui-messages .ui-messages-icon.fa-warning { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-warning:before { + content: "warning"; } + body .ui-messages .ui-messages-icon.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-close:before { + content: "error_outline"; } + body .ui-messages .ui-messages-icon.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-check:before { + content: "check_circle"; } + body .ui-growl { + top: 90px; } + body .ui-growl > .ui-growl-item-container { + opacity: 1; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-info { + background-color: #2196F3; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-warn { + background-color: #ffc107; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-error { + background-color: #e62a10; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-fatal { + background-color: #212121; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-success { + background-color: #8BC34A; } + body .ui-growl > .ui-growl-item-container.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + body .ui-growl .ui-growl-item .ui-growl-image { + background: none; + color: #ffffff; + font-size: 36px; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle:before { + content: "info"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle:before { + content: "warning"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close:before { + content: "error_outline"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check:before { + content: "check_circle"; } + body .ui-growl .ui-growl-item .ui-growl-message { + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 24px; + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close:before { + content: "close"; } + +body .ui-dialog.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-dialog .ui-dialog-titlebar { + background-color: #ffffff; + color: #212121; + padding: 0.625em 1em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-title { + font-size: 1.25em; + letter-spacing: .005em; + margin-top: .25em; + line-height: 2em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon { + border: 0 none; + padding: 0; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + height: 1.5em; + width: 1.5em; + text-align: center; + margin-top: .5em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:hover, body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa { + color: #757575; + display: inline-block; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-extlink:before { + content: "fullscreen"; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-newwin:before { + content: "fullscreen_exit"; } +body .ui-dialog .ui-dialog-content { + padding: 0.625em 1em; } +body .ui-dialog .ui-dialog-footer { + text-align: right; + border: 0 none; + border-top: 1px solid #bdbdbd; } + body .ui-dialog .ui-dialog-footer .ui-button { + background-color: #ffffff; + color: #212121; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: auto; } + body .ui-dialog .ui-dialog-footer .ui-button .fa { + color: #757575; } + body .ui-dialog .ui-dialog-footer .ui-button:hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-dialog .ui-confirm-dialog-severity { + margin: 0px .75em; } +body .ui-lightbox.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-lightbox .ui-lightbox-caption { + padding: 0.625em 1em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-caption-text { + margin: 0; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + padding: 0; + margin: 0; + width: 1.5em; + height: 1.5em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close:hover { + background-color: #4dd0e1; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } +body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left { + top: 40%; } + body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right .fa, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left .fa { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 3em; + color: #4dd0e1; } +body .ui-overlaypanel.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-overlaypanel .ui-overlaypanel-close { + background-color: #ffc107; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + right: -16px; + top: -16px; + width: 2em; + height: 2em; + line-height: 2em; + text-align: center; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-overlaypanel .ui-overlaypanel-close span { + color: #212121; + line-height: inherit; } + body .ui-overlaypanel .ui-overlaypanel-close:hover { + background-color: #ff8f00; } +body .ui-tooltip { + opacity: 0.9; + filter: alpha(opacity=90); } + body .ui-tooltip .ui-tooltip-text { + background-color: #323232; } + body .ui-tooltip.ui-tooltip-top .ui-tooltip-arrow { + border-top-color: #323232; } + body .ui-tooltip.ui-tooltip-bottom .ui-tooltip-arrow { + border-bottom-color: #323232; } + body .ui-tooltip.ui-tooltip-left .ui-tooltip-arrow { + border-left-color: #323232; } + body .ui-tooltip.ui-tooltip-right .ui-tooltip-arrow { + border-right-color: #323232; } + +body .ui-draggable-dragging.ui-state-default { + padding: 0.625em 1em !important; + background-color: #00bcd4; } +body .jqplot-target { + font-family: "Roboto","Helvetica Neue",sans-serif; } +body .ui-progressbar { + height: .5em; + background-color: #4dd0e1; + overflow: hidden; + border: 0 none; } + body .ui-progressbar .ui-progressbar-value { + height: .5em; } + body .ui-progressbar .ui-progressbar-label { + color: #ffffff; + display: none !important; } +body .ui-galleria .ui-galleria-nav-prev { + left: 0; } +body .ui-galleria .ui-galleria-nav-next { + right: 0; } +body .ui-inplace .ui-inplace-display { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-inplace .ui-inplace-display:hover { + background-color: #e8e8e8; } +body .ui-terminal .ui-terminal-input { + font-size: 16px; } diff --git a/src/assets/theme/theme-cyan.scss b/src/assets/theme/theme-cyan.scss new file mode 100644 index 0000000..d01d7e8 --- /dev/null +++ b/src/assets/theme/theme-cyan.scss @@ -0,0 +1,9 @@ +$primaryColor: #00bcd4; +$primaryDarkColor: #00838f; +$primaryLightColor: #4dd0e1; +$accentColor: #ffc107; +$accentDarkColor: #ff8f00; +$accentLightColor: #ffe082; +$accentTextColor: #212121; + +@import '../sass/theme/_theme'; \ No newline at end of file diff --git a/src/assets/theme/theme-dark-blue.css b/src/assets/theme/theme-dark-blue.css new file mode 100644 index 0000000..67ab086 --- /dev/null +++ b/src/assets/theme/theme-dark-blue.css @@ -0,0 +1,6153 @@ +@charset "UTF-8"; +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +.fa-sort:before { + content: "sort"; } + +.fa-sort-asc:before { + content: "keyboard_arrow_up"; } + +.fa-sort-desc:before { + content: "keyboard_arrow_down"; } + +.fa-angle-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-up:before { + content: "play_arrow"; } + +.fa-angle-double-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-up:before { + content: "skip_next"; } + +.fa-angle-down { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .fa-angle-down:before { + content: "play_arrow"; } + +.fa-angle-double-down { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-down:before { + content: "skip_previous"; } + +.fa-angle-right:before { + content: "play_arrow"; } + +.fa-angle-double-right:before { + content: "fast_forward"; } + +.fa-angle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-angle-left:before { + content: "play_arrow"; } + +.fa-angle-double-left:before { + content: "fast_rewind"; } + +.fa-check:before { + content: "check"; } + +.fa-caret-up:before { + content: "keyboard_arrow_up"; } + +.fa-caret-down:before { + content: "keyboard_arrow_down"; } + +.fa-caret-right:before { + content: "keyboard_arrow_right"; } + +.fa-caret-left:before { + content: "keyboard_arrow_left"; } + +.fa-search:before { + content: "search"; } + +.fa-close:before { + content: "close"; } + +.fa-minus:before { + content: "remove"; } + +.fa-plus:before { + content: "add"; } + +.fa-check:before { + content: "check"; } + +.fa-info-circle:before { + content: "info"; } + +.fa-upload:before { + content: "file_upload"; } + +.fa-chevron-circle-left:before { + content: "keyboard_arrow_left"; } + +.fa-chevron-circle-right:before { + content: "keyboard_arrow_right"; } + +.fa-chevron-circle-down:before { + content: "keyboard_arrow_down"; } + +.fa-chevron-circle-up:before { + content: "keyboard_arrow_up"; } + +.fa-home:before { + content: "home"; } + +.fa-chevron-right:before { + content: "chevron_right"; } + +.fa-chevron-left:before { + content: "chevron_left"; } + +.fa-circle-o:before { + content: "radio_button_unchecked"; } + +.fa-dot-circle-o:before { + content: "radio_button_checked"; } + +.fa-arrow-circle-right:before { + content: "play_circle_outline"; } + +.fa-arrow-circle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-arrow-circle-left:before { + content: "play_circle_outline"; } + +.fa-calendar:before { + content: "date_range"; } + +.fa-arrow-down:before { + content: "arrow_downward"; } + +.fa-arrow-up:before { + content: "arrow_upward"; } + +.ui-icon-carat-2-n-s:before { + content: "sort"; } + +.ui-icon-triangle-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-triangle-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-triangle-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-triangle-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-carat-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-carat-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-carat-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-carat-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-arrow-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrow-1-n:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-n:before { + content: "skip_next"; } + +.ui-icon-arrow-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrow-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-s { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-s:before { + content: "skip_previous"; } + +.ui-icon-arrow-1-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-arrow-1-w:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-w:before { + content: "fast_rewind"; } + +.ui-icon-arrow-1-e:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-e:before { + content: "fast_forward"; } + +.ui-icon-arrowthick-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrowthick-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowthick-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowthick-1-n:before { + content: "play_arrow"; } + +.ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-circle-triangle-s:before { + content: "play_circle_outline"; } + +.ui-icon-radio-off:before { + content: "radio_button_unchecked"; } + +.ui-icon-radio-on:before { + content: "radio_button_checked"; } + +.ui-icon-folder-collapsed:before { + content: "folder"; } + +.ui-icon-document:before { + content: "content_paste"; } + +.ui-icon-video:before { + content: "movie"; } + +.ui-icon-music:before { + content: "music_note"; } + +.ui-icon-plus:before { + content: "add"; } + +.ui-icon-minus:before { + content: "remove"; } + +.ui-icon-plusthick:before { + content: "add"; } + +.ui-icon-minusthick:before { + content: "remove"; } + +.ui-icon-pencil:before { + content: "edit"; } + +.ui-icon-closethick:before { + content: "close"; } + +.ui-icon-circle-close:before { + content: "cancel"; } + +.ui-icon-gear:before { + content: "settings"; } + +.ui-icon-calendar:before { + content: "date_range"; } + +.ui-icon-trash:before { + content: "delete_forever"; } + +.ui-icon-notice:before { + content: "error_outline"; } + +.ui-icon-alert:before { + content: "warning"; } + +.ui-icon-circle-zoomin:before { + content: "zoom_in"; } + +.ui-icon-circle-zoomout:before { + content: "zoom_out"; } + +.ui-icon-circle-arrow-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-arrow-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-arrow-w:before { + content: "play_circle_outline"; } + +.ui-icon-3d-rotation:before { + content: "3d_rotation"; } + +.ui-icon-ac-unit:before { + content: "ac_unit"; } + +.ui-icon-access-alarm:before { + content: "access_alarm"; } + +.ui-icon-access-alarms:before { + content: "access_alarms"; } + +.ui-icon-access-time:before { + content: "access_time"; } + +.ui-icon-accessibility:before { + content: "accessibility"; } + +.ui-icon-accessible:before { + content: "accessible"; } + +.ui-icon-account-balance:before { + content: "account_balance"; } + +.ui-icon-account-balance-wallet:before { + content: "account_balance_wallet"; } + +.ui-icon-account-box:before { + content: "account_box"; } + +.ui-icon-account-circle:before { + content: "account_circle"; } + +.ui-icon-add:before { + content: "add"; } + +.ui-icon-add-a-photo:before { + content: "add_a_photo"; } + +.ui-icon-add-alarm:before { + content: "add_alarm"; } + +.ui-icon-add-alert:before { + content: "add_alert"; } + +.ui-icon-add-box:before { + content: "add_box"; } + +.ui-icon-add-circle:before { + content: "add_circle"; } + +.ui-icon-add-circle-outline:before { + content: "add_circle_outline"; } + +.ui-icon-add-location:before { + content: "add_location"; } + +.ui-icon-add-shopping-cart:before { + content: "add_shopping_cart"; } + +.ui-icon-add-to-photos:before { + content: "add_to_photos"; } + +.ui-icon-add-to-queue:before { + content: "add_to_queue"; } + +.ui-icon-adjust:before { + content: "adjust"; } + +.ui-icon-airline-seat-flat:before { + content: "airline_seat_flat"; } + +.ui-icon-airline-seat-flat-angled:before { + content: "airline_seat_flat_angled"; } + +.ui-icon-airline-seat-individual-suite:before { + content: "airline_seat_individual_suite"; } + +.ui-icon-airline-seat-legroom-extra:before { + content: "airline_seat_legroom_extra"; } + +.ui-icon-airline-seat-legroom-normal:before { + content: "airline_seat_legroom_normal"; } + +.ui-icon-airline-seat-legroom-reduced:before { + content: "airline_seat_legroom_reduced"; } + +.ui-icon-airline-seat-recline-extra:before { + content: "airline_seat_recline_extra"; } + +.ui-icon-airline-seat-recline-normal:before { + content: "airline_seat_recline_normal"; } + +.ui-icon-airplanemode-active:before { + content: "airplanemode_active"; } + +.ui-icon-airplanemode-inactive:before { + content: "airplanemode_inactive"; } + +.ui-icon-airplay:before { + content: "airplay"; } + +.ui-icon-airport-shuttle:before { + content: "airport_shuttle"; } + +.ui-icon-alarm:before { + content: "alarm"; } + +.ui-icon-alarm-add:before { + content: "alarm_add"; } + +.ui-icon-alarm-off:before { + content: "alarm_off"; } + +.ui-icon-alarm-on:before { + content: "alarm_on"; } + +.ui-icon-album:before { + content: "album"; } + +.ui-icon-all-inclusive:before { + content: "all_inclusive"; } + +.ui-icon-all-out:before { + content: "all_out"; } + +.ui-icon-android:before { + content: "android"; } + +.ui-icon-announcement:before { + content: "announcement"; } + +.ui-icon-apps:before { + content: "apps"; } + +.ui-icon-archive:before { + content: "archive"; } + +.ui-icon-arrow-back:before { + content: "arrow_back"; } + +.ui-icon-arrow-downward:before { + content: "arrow_downward"; } + +.ui-icon-arrow-drop-down:before { + content: "arrow_drop_down"; } + +.ui-icon-arrow-drop-down-circle:before { + content: "arrow_drop_down_circle"; } + +.ui-icon-arrow-drop-up:before { + content: "arrow_drop_up"; } + +.ui-icon-arrow-forward:before { + content: "arrow_forward"; } + +.ui-icon-arrow-upward:before { + content: "arrow_upward"; } + +.ui-icon-art-track:before { + content: "art_track"; } + +.ui-icon-aspect-ratio:before { + content: "aspect_ratio"; } + +.ui-icon-assessment:before { + content: "assessment"; } + +.ui-icon-assignment:before { + content: "assignment"; } + +.ui-icon-assignment-ind:before { + content: "assignment_ind"; } + +.ui-icon-assignment-late:before { + content: "assignment_late"; } + +.ui-icon-assignment-return:before { + content: "assignment_return"; } + +.ui-icon-assignment-returned:before { + content: "assignment_returned"; } + +.ui-icon-assignment-turned-in:before { + content: "assignment_turned_in"; } + +.ui-icon-assistant:before { + content: "assistant"; } + +.ui-icon-assistant-photo:before { + content: "assistant_photo"; } + +.ui-icon-attach-file:before { + content: "attach_file"; } + +.ui-icon-attach-money:before { + content: "attach_money"; } + +.ui-icon-attachment:before { + content: "attachment"; } + +.ui-icon-audiotrack:before { + content: "audiotrack"; } + +.ui-icon-autorenew:before { + content: "autorenew"; } + +.ui-icon-av-timer:before { + content: "av_timer"; } + +.ui-icon-backspace:before { + content: "backspace"; } + +.ui-icon-backup:before { + content: "backup"; } + +.ui-icon-battery-alert:before { + content: "battery_alert"; } + +.ui-icon-battery-charging-full:before { + content: "battery_charging_full"; } + +.ui-icon-battery-full:before { + content: "battery_full"; } + +.ui-icon-battery-std:before { + content: "battery_std"; } + +.ui-icon-battery-unknown:before { + content: "battery_unknown"; } + +.ui-icon-beach-access:before { + content: "beach_access"; } + +.ui-icon-beenhere:before { + content: "beenhere"; } + +.ui-icon-block:before { + content: "block"; } + +.ui-icon-bluetooth:before { + content: "bluetooth"; } + +.ui-icon-bluetooth-audio:before { + content: "bluetooth_audio"; } + +.ui-icon-bluetooth-connected:before { + content: "bluetooth_connected"; } + +.ui-icon-bluetooth-disabled:before { + content: "bluetooth_disabled"; } + +.ui-icon-bluetooth-searching:before { + content: "bluetooth_searching"; } + +.ui-icon-blur-circular:before { + content: "blur_circular"; } + +.ui-icon-blur-linear:before { + content: "blur_linear"; } + +.ui-icon-blur-off:before { + content: "blur_off"; } + +.ui-icon-blur-on:before { + content: "blur_on"; } + +.ui-icon-book:before { + content: "book"; } + +.ui-icon-bookmark:before { + content: "bookmark"; } + +.ui-icon-bookmark-border:before { + content: "bookmark_border"; } + +.ui-icon-border-all:before { + content: "border_all"; } + +.ui-icon-border-bottom:before { + content: "border_bottom"; } + +.ui-icon-border-clear:before { + content: "border_clear"; } + +.ui-icon-border-color:before { + content: "border_color"; } + +.ui-icon-border-horizontal:before { + content: "border_horizontal"; } + +.ui-icon-border-inner:before { + content: "border_inner"; } + +.ui-icon-border-left:before { + content: "border_left"; } + +.ui-icon-border-outer:before { + content: "border_outer"; } + +.ui-icon-border-right:before { + content: "border_right"; } + +.ui-icon-border-style:before { + content: "border_style"; } + +.ui-icon-border-top:before { + content: "border_top"; } + +.ui-icon-border-vertical:before { + content: "border_vertical"; } + +.ui-icon-branding-watermark:before { + content: "branding_watermark"; } + +.ui-icon-brightness-1:before { + content: "brightness_1"; } + +.ui-icon-brightness-2:before { + content: "brightness_2"; } + +.ui-icon-brightness-3:before { + content: "brightness_3"; } + +.ui-icon-brightness-4:before { + content: "brightness_4"; } + +.ui-icon-brightness-5:before { + content: "brightness_5"; } + +.ui-icon-brightness-6:before { + content: "brightness_6"; } + +.ui-icon-brightness-7:before { + content: "brightness_7"; } + +.ui-icon-brightness-auto:before { + content: "brightness_auto"; } + +.ui-icon-brightness-high:before { + content: "brightness_high"; } + +.ui-icon-brightness-low:before { + content: "brightness_low"; } + +.ui-icon-brightness-medium:before { + content: "brightness_medium"; } + +.ui-icon-broken-image:before { + content: "broken_image"; } + +.ui-icon-brush:before { + content: "brush"; } + +.ui-icon-bubble-chart:before { + content: "bubble_chart"; } + +.ui-icon-bug-report:before { + content: "bug_report"; } + +.ui-icon-build:before { + content: "build"; } + +.ui-icon-burst-mode:before { + content: "burst_mode"; } + +.ui-icon-business:before { + content: "business"; } + +.ui-icon-business-center:before { + content: "business_center"; } + +.ui-icon-cached:before { + content: "cached"; } + +.ui-icon-cake:before { + content: "cake"; } + +.ui-icon-call:before { + content: "call"; } + +.ui-icon-call-end:before { + content: "call_end"; } + +.ui-icon-call-made:before { + content: "call_made"; } + +.ui-icon-call-merge:before { + content: "call_merge"; } + +.ui-icon-call-missed:before { + content: "call_missed"; } + +.ui-icon-call-missed-outgoing:before { + content: "call_missed_outgoing"; } + +.ui-icon-call-received:before { + content: "call_received"; } + +.ui-icon-call-split:before { + content: "call_split"; } + +.ui-icon-call-to-action:before { + content: "call_to_action"; } + +.ui-icon-camera:before { + content: "camera"; } + +.ui-icon-camera-alt:before { + content: "camera_alt"; } + +.ui-icon-camera-enhance:before { + content: "camera_enhance"; } + +.ui-icon-camera-front:before { + content: "camera_front"; } + +.ui-icon-camera-rear:before { + content: "camera_rear"; } + +.ui-icon-camera-roll:before { + content: "camera_roll"; } + +.ui-icon-cancel:before { + content: "cancel"; } + +.ui-icon-card-giftcard:before { + content: "card_giftcard"; } + +.ui-icon-card-membership:before { + content: "card_membership"; } + +.ui-icon-card-travel:before { + content: "card_travel"; } + +.ui-icon-casino:before { + content: "casino"; } + +.ui-icon-cast:before { + content: "cast"; } + +.ui-icon-cast-connected:before { + content: "cast_connected"; } + +.ui-icon-center-focus-strong:before { + content: "center_focus_strong"; } + +.ui-icon-center-focus-weak:before { + content: "center_focus_weak"; } + +.ui-icon-change-history:before { + content: "change_history"; } + +.ui-icon-chat:before { + content: "chat"; } + +.ui-icon-chat-bubble:before { + content: "chat_bubble"; } + +.ui-icon-chat-bubble-outline:before { + content: "chat_bubble_outline"; } + +.ui-icon-check:before { + content: "check"; } + +.ui-icon-check-box:before { + content: "check_box"; } + +.ui-icon-check-box-outline-blank:before { + content: "check_box_outline_blank"; } + +.ui-icon-check-circle:before { + content: "check_circle"; } + +.ui-icon-chevron-left:before { + content: "chevron_left"; } + +.ui-icon-chevron-right:before { + content: "chevron_right"; } + +.ui-icon-child-care:before { + content: "child_care"; } + +.ui-icon-child-friendly:before { + content: "child_friendly"; } + +.ui-icon-chrome-reader-mode:before { + content: "chrome_reader_mode"; } + +.ui-icon-class:before { + content: "class"; } + +.ui-icon-clear:before { + content: "clear"; } + +.ui-icon-clear-all:before { + content: "clear_all"; } + +.ui-icon-close:before { + content: "close"; } + +.ui-icon-closed-caption:before { + content: "closed_caption"; } + +.ui-icon-cloud:before { + content: "cloud"; } + +.ui-icon-cloud-circle:before { + content: "cloud_circle"; } + +.ui-icon-cloud-done:before { + content: "cloud_done"; } + +.ui-icon-cloud-download:before { + content: "cloud_download"; } + +.ui-icon-cloud-off:before { + content: "cloud_off"; } + +.ui-icon-cloud-queue:before { + content: "cloud_queue"; } + +.ui-icon-cloud-upload:before { + content: "cloud_upload"; } + +.ui-icon-code:before { + content: "code"; } + +.ui-icon-collections:before { + content: "collections"; } + +.ui-icon-collections-bookmark:before { + content: "collections_bookmark"; } + +.ui-icon-color-lens:before { + content: "color_lens"; } + +.ui-icon-colorize:before { + content: "colorize"; } + +.ui-icon-comment:before { + content: "comment"; } + +.ui-icon-compare:before { + content: "compare"; } + +.ui-icon-compare-arrows:before { + content: "compare_arrows"; } + +.ui-icon-computer:before { + content: "computer"; } + +.ui-icon-confirmation-number:before { + content: "confirmation_number"; } + +.ui-icon-contact-mail:before { + content: "contact_mail"; } + +.ui-icon-contact-phone:before { + content: "contact_phone"; } + +.ui-icon-contacts:before { + content: "contacts"; } + +.ui-icon-content-copy:before { + content: "content_copy"; } + +.ui-icon-content-cut:before { + content: "content_cut"; } + +.ui-icon-content-paste:before { + content: "content_paste"; } + +.ui-icon-control-point:before { + content: "control_point"; } + +.ui-icon-control-point-duplicate:before { + content: "control_point_duplicate"; } + +.ui-icon-copyright:before { + content: "copyright"; } + +.ui-icon-create:before { + content: "create"; } + +.ui-icon-create-new-folder:before { + content: "create_new_folder"; } + +.ui-icon-credit-card:before { + content: "credit_card"; } + +.ui-icon-crop:before { + content: "crop"; } + +.ui-icon-crop-16-9:before { + content: "crop_16_9"; } + +.ui-icon-crop-3-2:before { + content: "crop_3_2"; } + +.ui-icon-crop-5-4:before { + content: "crop_5_4"; } + +.ui-icon-crop-7-5:before { + content: "crop_7_5"; } + +.ui-icon-crop-din:before { + content: "crop_din"; } + +.ui-icon-crop-free:before { + content: "crop_free"; } + +.ui-icon-crop-landscape:before { + content: "crop_landscape"; } + +.ui-icon-crop-original:before { + content: "crop_original"; } + +.ui-icon-crop-portrait:before { + content: "crop_portrait"; } + +.ui-icon-crop-rotate:before { + content: "crop_rotate"; } + +.ui-icon-crop-square:before { + content: "crop_square"; } + +.ui-icon-dashboard:before { + content: "dashboard"; } + +.ui-icon-data-usage:before { + content: "data_usage"; } + +.ui-icon-date-range:before { + content: "date_range"; } + +.ui-icon-dehaze:before { + content: "dehaze"; } + +.ui-icon-delete:before { + content: "delete"; } + +.ui-icon-delete-forever:before { + content: "delete_forever"; } + +.ui-icon-delete-sweep:before { + content: "delete_sweep"; } + +.ui-icon-description:before { + content: "description"; } + +.ui-icon-desktop-mac:before { + content: "desktop_mac"; } + +.ui-icon-desktop-windows:before { + content: "desktop_windows"; } + +.ui-icon-details:before { + content: "details"; } + +.ui-icon-developer-board:before { + content: "developer_board"; } + +.ui-icon-developer-mode:before { + content: "developer_mode"; } + +.ui-icon-device-hub:before { + content: "device_hub"; } + +.ui-icon-devices:before { + content: "devices"; } + +.ui-icon-devices-other:before { + content: "devices_other"; } + +.ui-icon-dialer-sip:before { + content: "dialer_sip"; } + +.ui-icon-dialpad:before { + content: "dialpad"; } + +.ui-icon-directions:before { + content: "directions"; } + +.ui-icon-directions-bike:before { + content: "directions_bike"; } + +.ui-icon-directions-boat:before { + content: "directions_boat"; } + +.ui-icon-directions-bus:before { + content: "directions_bus"; } + +.ui-icon-directions-car:before { + content: "directions_car"; } + +.ui-icon-directions-railway:before { + content: "directions_railway"; } + +.ui-icon-directions-run:before { + content: "directions_run"; } + +.ui-icon-directions-subway:before { + content: "directions_subway"; } + +.ui-icon-directions-transit:before { + content: "directions_transit"; } + +.ui-icon-directions-walk:before { + content: "directions_walk"; } + +.ui-icon-disc-full:before { + content: "disc_full"; } + +.ui-icon-dns:before { + content: "dns"; } + +.ui-icon-do-not-disturb:before { + content: "do_not_disturb"; } + +.ui-icon-do-not-disturb-alt:before { + content: "do_not_disturb_alt"; } + +.ui-icon-do-not-disturb-off:before { + content: "do_not_disturb_off"; } + +.ui-icon-do-not-disturb-on:before { + content: "do_not_disturb_on"; } + +.ui-icon-dock:before { + content: "dock"; } + +.ui-icon-domain:before { + content: "domain"; } + +.ui-icon-done:before { + content: "done"; } + +.ui-icon-done-all:before { + content: "done_all"; } + +.ui-icon-donut-large:before { + content: "donut_large"; } + +.ui-icon-donut-small:before { + content: "donut_small"; } + +.ui-icon-drafts:before { + content: "drafts"; } + +.ui-icon-drag-handle:before { + content: "drag_handle"; } + +.ui-icon-drive-eta:before { + content: "drive_eta"; } + +.ui-icon-dvr:before { + content: "dvr"; } + +.ui-icon-edit:before { + content: "edit"; } + +.ui-icon-edit-location:before { + content: "edit_location"; } + +.ui-icon-eject:before { + content: "eject"; } + +.ui-icon-email:before { + content: "email"; } + +.ui-icon-enhanced-encryption:before { + content: "enhanced_encryption"; } + +.ui-icon-equalizer:before { + content: "equalizer"; } + +.ui-icon-error:before { + content: "error"; } + +.ui-icon-error-outline:before { + content: "error_outline"; } + +.ui-icon-euro-symbol:before { + content: "euro_symbol"; } + +.ui-icon-ev-station:before { + content: "ev_station"; } + +.ui-icon-event:before { + content: "event"; } + +.ui-icon-event-available:before { + content: "event_available"; } + +.ui-icon-event-busy:before { + content: "event_busy"; } + +.ui-icon-event-note:before { + content: "event_note"; } + +.ui-icon-event-seat:before { + content: "event_seat"; } + +.ui-icon-exit-to-app:before { + content: "exit_to_app"; } + +.ui-icon-expand-less:before { + content: "expand_less"; } + +.ui-icon-expand-more:before { + content: "expand_more"; } + +.ui-icon-explicit:before { + content: "explicit"; } + +.ui-icon-explore:before { + content: "explore"; } + +.ui-icon-exposure:before { + content: "exposure"; } + +.ui-icon-exposure-neg-1:before { + content: "exposure_neg_1"; } + +.ui-icon-exposure-neg-2:before { + content: "exposure_neg_2"; } + +.ui-icon-exposure-plus-1:before { + content: "exposure_plus_1"; } + +.ui-icon-exposure-plus-2:before { + content: "exposure_plus_2"; } + +.ui-icon-exposure-zero:before { + content: "exposure_zero"; } + +.ui-icon-extension:before { + content: "extension"; } + +.ui-icon-face:before { + content: "face"; } + +.ui-icon-fast-forward:before { + content: "fast_forward"; } + +.ui-icon-fast-rewind:before { + content: "fast_rewind"; } + +.ui-icon-favorite:before { + content: "favorite"; } + +.ui-icon-favorite-border:before { + content: "favorite_border"; } + +.ui-icon-featured-play-list:before { + content: "featured_play_list"; } + +.ui-icon-featured-video:before { + content: "featured_video"; } + +.ui-icon-feedback:before { + content: "feedback"; } + +.ui-icon-fiber-dvr:before { + content: "fiber_dvr"; } + +.ui-icon-fiber-manual-record:before { + content: "fiber_manual_record"; } + +.ui-icon-fiber-new:before { + content: "fiber_new"; } + +.ui-icon-fiber-pin:before { + content: "fiber_pin"; } + +.ui-icon-fiber-smart-record:before { + content: "fiber_smart_record"; } + +.ui-icon-file-download:before { + content: "file_download"; } + +.ui-icon-file-upload:before { + content: "file_upload"; } + +.ui-icon-filter:before { + content: "filter"; } + +.ui-icon-filter-1:before { + content: "filter_1"; } + +.ui-icon-filter-2:before { + content: "filter_2"; } + +.ui-icon-filter-3:before { + content: "filter_3"; } + +.ui-icon-filter-4:before { + content: "filter_4"; } + +.ui-icon-filter-5:before { + content: "filter_5"; } + +.ui-icon-filter-6:before { + content: "filter_6"; } + +.ui-icon-filter-7:before { + content: "filter_7"; } + +.ui-icon-filter-8:before { + content: "filter_8"; } + +.ui-icon-filter-9:before { + content: "filter_9"; } + +.ui-icon-filter-9-plus:before { + content: "filter_9_plus"; } + +.ui-icon-filter-b-and-w:before { + content: "filter_b_and_w"; } + +.ui-icon-filter-center-focus:before { + content: "filter_center_focus"; } + +.ui-icon-filter-drama:before { + content: "filter_drama"; } + +.ui-icon-filter-frames:before { + content: "filter_frames"; } + +.ui-icon-filter-hdr:before { + content: "filter_hdr"; } + +.ui-icon-filter-list:before { + content: "filter_list"; } + +.ui-icon-filter-none:before { + content: "filter_none"; } + +.ui-icon-filter-tilt-shift:before { + content: "filter_tilt_shift"; } + +.ui-icon-filter-vintage:before { + content: "filter_vintage"; } + +.ui-icon-find-in-page:before { + content: "find_in_page"; } + +.ui-icon-find-replace:before { + content: "find_replace"; } + +.ui-icon-fingerprint:before { + content: "fingerprint"; } + +.ui-icon-first-page:before { + content: "first_page"; } + +.ui-icon-fitness-center:before { + content: "fitness_center"; } + +.ui-icon-flag:before { + content: "flag"; } + +.ui-icon-flare:before { + content: "flare"; } + +.ui-icon-flash-auto:before { + content: "flash_auto"; } + +.ui-icon-flash-off:before { + content: "flash_off"; } + +.ui-icon-flash-on:before { + content: "flash_on"; } + +.ui-icon-flight:before { + content: "flight"; } + +.ui-icon-flight-land:before { + content: "flight_land"; } + +.ui-icon-flight-takeoff:before { + content: "flight_takeoff"; } + +.ui-icon-flip:before { + content: "flip"; } + +.ui-icon-flip-to-back:before { + content: "flip_to_back"; } + +.ui-icon-flip-to-front:before { + content: "flip_to_front"; } + +.ui-icon-folder:before { + content: "folder"; } + +.ui-icon-folder-open:before { + content: "folder_open"; } + +.ui-icon-folder-shared:before { + content: "folder_shared"; } + +.ui-icon-folder-special:before { + content: "folder_special"; } + +.ui-icon-font-download:before { + content: "font_download"; } + +.ui-icon-format-align-center:before { + content: "format_align_center"; } + +.ui-icon-format-align-justify:before { + content: "format_align_justify"; } + +.ui-icon-format-align-left:before { + content: "format_align_left"; } + +.ui-icon-format-align-right:before { + content: "format_align_right"; } + +.ui-icon-format-bold:before { + content: "format_bold"; } + +.ui-icon-format-clear:before { + content: "format_clear"; } + +.ui-icon-format-color-fill:before { + content: "format_color_fill"; } + +.ui-icon-format-color-reset:before { + content: "format_color_reset"; } + +.ui-icon-format-color-text:before { + content: "format_color_text"; } + +.ui-icon-format-indent-decrease:before { + content: "format_indent_decrease"; } + +.ui-icon-format-indent-increase:before { + content: "format_indent_increase"; } + +.ui-icon-format-italic:before { + content: "format_italic"; } + +.ui-icon-format-line-spacing:before { + content: "format_line_spacing"; } + +.ui-icon-format-list-bulleted:before { + content: "format_list_bulleted"; } + +.ui-icon-format-list-numbered:before { + content: "format_list_numbered"; } + +.ui-icon-format-paint:before { + content: "format_paint"; } + +.ui-icon-format-quote:before { + content: "format_quote"; } + +.ui-icon-format-shapes:before { + content: "format_shapes"; } + +.ui-icon-format-size:before { + content: "format_size"; } + +.ui-icon-format-strikethrough:before { + content: "format_strikethrough"; } + +.ui-icon-format-textdirection-l-to-r:before { + content: "format_textdirection_l_to_r"; } + +.ui-icon-format-textdirection-r-to-l:before { + content: "format_textdirection_r_to_l"; } + +.ui-icon-format-underlined:before { + content: "format_underlined"; } + +.ui-icon-forum:before { + content: "forum"; } + +.ui-icon-forward:before { + content: "forward"; } + +.ui-icon-forward-10:before { + content: "forward_10"; } + +.ui-icon-forward-30:before { + content: "forward_30"; } + +.ui-icon-forward-5:before { + content: "forward_5"; } + +.ui-icon-free-breakfast:before { + content: "free_breakfast"; } + +.ui-icon-fullscreen:before { + content: "fullscreen"; } + +.ui-icon-fullscreen-exit:before { + content: "fullscreen_exit"; } + +.ui-icon-functions:before { + content: "functions"; } + +.ui-icon-g-translate:before { + content: "g_translate"; } + +.ui-icon-gamepad:before { + content: "gamepad"; } + +.ui-icon-games:before { + content: "games"; } + +.ui-icon-gavel:before { + content: "gavel"; } + +.ui-icon-gesture:before { + content: "gesture"; } + +.ui-icon-get-app:before { + content: "get_app"; } + +.ui-icon-gif:before { + content: "gif"; } + +.ui-icon-golf-course:before { + content: "golf_course"; } + +.ui-icon-gps-fixed:before { + content: "gps_fixed"; } + +.ui-icon-gps-not-fixed:before { + content: "gps_not_fixed"; } + +.ui-icon-gps-off:before { + content: "gps_off"; } + +.ui-icon-grade:before { + content: "grade"; } + +.ui-icon-gradient:before { + content: "gradient"; } + +.ui-icon-grain:before { + content: "grain"; } + +.ui-icon-graphic-eq:before { + content: "graphic_eq"; } + +.ui-icon-grid-off:before { + content: "grid_off"; } + +.ui-icon-grid-on:before { + content: "grid_on"; } + +.ui-icon-group:before { + content: "group"; } + +.ui-icon-group-add:before { + content: "group_add"; } + +.ui-icon-group-work:before { + content: "group_work"; } + +.ui-icon-hd:before { + content: "hd"; } + +.ui-icon-hdr-off:before { + content: "hdr_off"; } + +.ui-icon-hdr-on:before { + content: "hdr_on"; } + +.ui-icon-hdr-strong:before { + content: "hdr_strong"; } + +.ui-icon-hdr-weak:before { + content: "hdr_weak"; } + +.ui-icon-headset:before { + content: "headset"; } + +.ui-icon-headset-mic:before { + content: "headset_mic"; } + +.ui-icon-healing:before { + content: "healing"; } + +.ui-icon-hearing:before { + content: "hearing"; } + +.ui-icon-help:before { + content: "help"; } + +.ui-icon-help-outline:before { + content: "help_outline"; } + +.ui-icon-high-quality:before { + content: "high_quality"; } + +.ui-icon-highlight:before { + content: "highlight"; } + +.ui-icon-highlight-off:before { + content: "highlight_off"; } + +.ui-icon-history:before { + content: "history"; } + +.ui-icon-home:before { + content: "home"; } + +.ui-icon-hot-tub:before { + content: "hot_tub"; } + +.ui-icon-hotel:before { + content: "hotel"; } + +.ui-icon-hourglass-empty:before { + content: "hourglass_empty"; } + +.ui-icon-hourglass-full:before { + content: "hourglass_full"; } + +.ui-icon-http:before { + content: "http"; } + +.ui-icon-https:before { + content: "https"; } + +.ui-icon-image:before { + content: "image"; } + +.ui-icon-image-aspect-ratio:before { + content: "image_aspect_ratio"; } + +.ui-icon-import-contacts:before { + content: "import_contacts"; } + +.ui-icon-import-export:before { + content: "import_export"; } + +.ui-icon-important-devices:before { + content: "important_devices"; } + +.ui-icon-inbox:before { + content: "inbox"; } + +.ui-icon-indeterminate-check-box:before { + content: "indeterminate_check_box"; } + +.ui-icon-info:before { + content: "info"; } + +.ui-icon-info-outline:before { + content: "info_outline"; } + +.ui-icon-input:before { + content: "input"; } + +.ui-icon-insert-chart:before { + content: "insert_chart"; } + +.ui-icon-insert-comment:before { + content: "insert_comment"; } + +.ui-icon-insert-drive-file:before { + content: "insert_drive_file"; } + +.ui-icon-insert-emoticon:before { + content: "insert_emoticon"; } + +.ui-icon-insert-invitation:before { + content: "insert_invitation"; } + +.ui-icon-insert-link:before { + content: "insert_link"; } + +.ui-icon-insert-photo:before { + content: "insert_photo"; } + +.ui-icon-invert-colors:before { + content: "invert_colors"; } + +.ui-icon-invert-colors-off:before { + content: "invert_colors_off"; } + +.ui-icon-iso:before { + content: "iso"; } + +.ui-icon-keyboard:before { + content: "keyboard"; } + +.ui-icon-keyboard-arrow-down:before { + content: "keyboard_arrow_down"; } + +.ui-icon-keyboard-arrow-left:before { + content: "keyboard_arrow_left"; } + +.ui-icon-keyboard-arrow-right:before { + content: "keyboard_arrow_right"; } + +.ui-icon-keyboard-arrow-up:before { + content: "keyboard_arrow_up"; } + +.ui-icon-keyboard-backspace:before { + content: "keyboard_backspace"; } + +.ui-icon-keyboard-capslock:before { + content: "keyboard_capslock"; } + +.ui-icon-keyboard-hide:before { + content: "keyboard_hide"; } + +.ui-icon-keyboard-return:before { + content: "keyboard_return"; } + +.ui-icon-keyboard-tab:before { + content: "keyboard_tab"; } + +.ui-icon-keyboard-voice:before { + content: "keyboard_voice"; } + +.ui-icon-kitchen:before { + content: "kitchen"; } + +.ui-icon-label:before { + content: "label"; } + +.ui-icon-label-outline:before { + content: "label_outline"; } + +.ui-icon-landscape:before { + content: "landscape"; } + +.ui-icon-language:before { + content: "language"; } + +.ui-icon-laptop:before { + content: "laptop"; } + +.ui-icon-laptop-chromebook:before { + content: "laptop_chromebook"; } + +.ui-icon-laptop-mac:before { + content: "laptop_mac"; } + +.ui-icon-laptop-windows:before { + content: "laptop_windows"; } + +.ui-icon-last-page:before { + content: "last_page"; } + +.ui-icon-launch:before { + content: "launch"; } + +.ui-icon-layers:before { + content: "layers"; } + +.ui-icon-layers-clear:before { + content: "layers_clear"; } + +.ui-icon-leak-add:before { + content: "leak_add"; } + +.ui-icon-leak-remove:before { + content: "leak_remove"; } + +.ui-icon-lens:before { + content: "lens"; } + +.ui-icon-library-add:before { + content: "library_add"; } + +.ui-icon-library-books:before { + content: "library_books"; } + +.ui-icon-library-music:before { + content: "library_music"; } + +.ui-icon-lightbulb-outline:before { + content: "lightbulb_outline"; } + +.ui-icon-line-style:before { + content: "line_style"; } + +.ui-icon-line-weight:before { + content: "line_weight"; } + +.ui-icon-linear-scale:before { + content: "linear_scale"; } + +.ui-icon-link:before { + content: "link"; } + +.ui-icon-linked-camera:before { + content: "linked_camera"; } + +.ui-icon-list:before { + content: "list"; } + +.ui-icon-live-help:before { + content: "live_help"; } + +.ui-icon-live-tv:before { + content: "live_tv"; } + +.ui-icon-local-activity:before { + content: "local_activity"; } + +.ui-icon-local-airport:before { + content: "local_airport"; } + +.ui-icon-local-atm:before { + content: "local_atm"; } + +.ui-icon-local-bar:before { + content: "local_bar"; } + +.ui-icon-local-cafe:before { + content: "local_cafe"; } + +.ui-icon-local-car-wash:before { + content: "local_car_wash"; } + +.ui-icon-local-convenience-store:before { + content: "local_convenience_store"; } + +.ui-icon-local-dining:before { + content: "local_dining"; } + +.ui-icon-local-drink:before { + content: "local_drink"; } + +.ui-icon-local-florist:before { + content: "local_florist"; } + +.ui-icon-local-gas-station:before { + content: "local_gas_station"; } + +.ui-icon-local-grocery-store:before { + content: "local_grocery_store"; } + +.ui-icon-local-hospital:before { + content: "local_hospital"; } + +.ui-icon-local-hotel:before { + content: "local_hotel"; } + +.ui-icon-local-laundry-service:before { + content: "local_laundry_service"; } + +.ui-icon-local-library:before { + content: "local_library"; } + +.ui-icon-local-mall:before { + content: "local_mall"; } + +.ui-icon-local-movies:before { + content: "local_movies"; } + +.ui-icon-local-offer:before { + content: "local_offer"; } + +.ui-icon-local-parking:before { + content: "local_parking"; } + +.ui-icon-local-pharmacy:before { + content: "local_pharmacy"; } + +.ui-icon-local-phone:before { + content: "local_phone"; } + +.ui-icon-local-pizza:before { + content: "local_pizza"; } + +.ui-icon-local-play:before { + content: "local_play"; } + +.ui-icon-local-post-office:before { + content: "local_post_office"; } + +.ui-icon-local-printshop:before { + content: "local_printshop"; } + +.ui-icon-local-see:before { + content: "local_see"; } + +.ui-icon-local-shipping:before { + content: "local_shipping"; } + +.ui-icon-local-taxi:before { + content: "local_taxi"; } + +.ui-icon-location-city:before { + content: "location_city"; } + +.ui-icon-location-disabled:before { + content: "location_disabled"; } + +.ui-icon-location-off:before { + content: "location_off"; } + +.ui-icon-location-on:before { + content: "location_on"; } + +.ui-icon-location-searching:before { + content: "location_searching"; } + +.ui-icon-lock:before { + content: "lock"; } + +.ui-icon-lock-open:before { + content: "lock_open"; } + +.ui-icon-lock-outline:before { + content: "lock_outline"; } + +.ui-icon-looks:before { + content: "looks"; } + +.ui-icon-looks-3:before { + content: "looks_3"; } + +.ui-icon-looks-4:before { + content: "looks_4"; } + +.ui-icon-looks-5:before { + content: "looks_5"; } + +.ui-icon-looks-6:before { + content: "looks_6"; } + +.ui-icon-looks-one:before { + content: "looks_one"; } + +.ui-icon-looks-two:before { + content: "looks_two"; } + +.ui-icon-loop:before { + content: "loop"; } + +.ui-icon-loupe:before { + content: "loupe"; } + +.ui-icon-low-priority:before { + content: "low_priority"; } + +.ui-icon-loyalty:before { + content: "loyalty"; } + +.ui-icon-mail:before { + content: "mail"; } + +.ui-icon-mail-outline:before { + content: "mail_outline"; } + +.ui-icon-map:before { + content: "map"; } + +.ui-icon-markunread:before { + content: "markunread"; } + +.ui-icon-markunread-mailbox:before { + content: "markunread_mailbox"; } + +.ui-icon-memory:before { + content: "memory"; } + +.ui-icon-menu:before { + content: "menu"; } + +.ui-icon-merge-type:before { + content: "merge_type"; } + +.ui-icon-message:before { + content: "message"; } + +.ui-icon-mic:before { + content: "mic"; } + +.ui-icon-mic-none:before { + content: "mic_none"; } + +.ui-icon-mic-off:before { + content: "mic_off"; } + +.ui-icon-mms:before { + content: "mms"; } + +.ui-icon-mode-comment:before { + content: "mode_comment"; } + +.ui-icon-mode-edit:before { + content: "mode_edit"; } + +.ui-icon-monetization-on:before { + content: "monetization_on"; } + +.ui-icon-money-off:before { + content: "money_off"; } + +.ui-icon-monochrome-photos:before { + content: "monochrome_photos"; } + +.ui-icon-mood:before { + content: "mood"; } + +.ui-icon-mood-bad:before { + content: "mood_bad"; } + +.ui-icon-more:before { + content: "more"; } + +.ui-icon-more-horiz:before { + content: "more_horiz"; } + +.ui-icon-more-vert:before { + content: "more_vert"; } + +.ui-icon-motorcycle:before { + content: "motorcycle"; } + +.ui-icon-mouse:before { + content: "mouse"; } + +.ui-icon-move-to-inbox:before { + content: "move_to_inbox"; } + +.ui-icon-movie:before { + content: "movie"; } + +.ui-icon-movie-creation:before { + content: "movie_creation"; } + +.ui-icon-movie-filter:before { + content: "movie_filter"; } + +.ui-icon-multiline-chart:before { + content: "multiline_chart"; } + +.ui-icon-music-note:before { + content: "music_note"; } + +.ui-icon-music-video:before { + content: "music_video"; } + +.ui-icon-my-location:before { + content: "my_location"; } + +.ui-icon-nature:before { + content: "nature"; } + +.ui-icon-nature-people:before { + content: "nature_people"; } + +.ui-icon-navigate-before:before { + content: "navigate_before"; } + +.ui-icon-navigate-next:before { + content: "navigate_next"; } + +.ui-icon-navigation:before { + content: "navigation"; } + +.ui-icon-near-me:before { + content: "near_me"; } + +.ui-icon-network-cell:before { + content: "network_cell"; } + +.ui-icon-network-check:before { + content: "network_check"; } + +.ui-icon-network-locked:before { + content: "network_locked"; } + +.ui-icon-network-wifi:before { + content: "network_wifi"; } + +.ui-icon-new-releases:before { + content: "new_releases"; } + +.ui-icon-next-week:before { + content: "next_week"; } + +.ui-icon-nfc:before { + content: "nfc"; } + +.ui-icon-no-encryption:before { + content: "no_encryption"; } + +.ui-icon-no-sim:before { + content: "no_sim"; } + +.ui-icon-not-interested:before { + content: "not_interested"; } + +.ui-icon-note:before { + content: "note"; } + +.ui-icon-note-add:before { + content: "note_add"; } + +.ui-icon-notifications:before { + content: "notifications"; } + +.ui-icon-notifications-active:before { + content: "notifications_active"; } + +.ui-icon-notifications-none:before { + content: "notifications_none"; } + +.ui-icon-notifications-off:before { + content: "notifications_off"; } + +.ui-icon-notifications-paused:before { + content: "notifications_paused"; } + +.ui-icon-offline-pin:before { + content: "offline_pin"; } + +.ui-icon-ondemand-video:before { + content: "ondemand_video"; } + +.ui-icon-opacity:before { + content: "opacity"; } + +.ui-icon-open-in-browser:before { + content: "open_in_browser"; } + +.ui-icon-open-in-new:before { + content: "open_in_new"; } + +.ui-icon-open-with:before { + content: "open_with"; } + +.ui-icon-pages:before { + content: "pages"; } + +.ui-icon-pageview:before { + content: "pageview"; } + +.ui-icon-palette:before { + content: "palette"; } + +.ui-icon-pan-tool:before { + content: "pan_tool"; } + +.ui-icon-panorama:before { + content: "panorama"; } + +.ui-icon-panorama-fish-eye:before { + content: "panorama_fish_eye"; } + +.ui-icon-panorama-horizontal:before { + content: "panorama_horizontal"; } + +.ui-icon-panorama-vertical:before { + content: "panorama_vertical"; } + +.ui-icon-panorama-wide-angle:before { + content: "panorama_wide_angle"; } + +.ui-icon-party-mode:before { + content: "party_mode"; } + +.ui-icon-pause:before { + content: "pause"; } + +.ui-icon-pause-circle-filled:before { + content: "pause_circle_filled"; } + +.ui-icon-pause-circle-outline:before { + content: "pause_circle_outline"; } + +.ui-icon-payment:before { + content: "payment"; } + +.ui-icon-people:before { + content: "people"; } + +.ui-icon-people-outline:before { + content: "people_outline"; } + +.ui-icon-perm-camera-mic:before { + content: "perm_camera_mic"; } + +.ui-icon-perm-contact-calendar:before { + content: "perm_contact_calendar"; } + +.ui-icon-perm-data-setting:before { + content: "perm_data_setting"; } + +.ui-icon-perm-device-information:before { + content: "perm_device_information"; } + +.ui-icon-perm-identity:before { + content: "perm_identity"; } + +.ui-icon-perm-media:before { + content: "perm_media"; } + +.ui-icon-perm-phone-msg:before { + content: "perm_phone_msg"; } + +.ui-icon-perm-scan-wifi:before { + content: "perm_scan_wifi"; } + +.ui-icon-person:before { + content: "person"; } + +.ui-icon-person-add:before { + content: "person_add"; } + +.ui-icon-person-outline:before { + content: "person_outline"; } + +.ui-icon-person-pin:before { + content: "person_pin"; } + +.ui-icon-person-pin-circle:before { + content: "person_pin_circle"; } + +.ui-icon-personal-video:before { + content: "personal_video"; } + +.ui-icon-pets:before { + content: "pets"; } + +.ui-icon-phone:before { + content: "phone"; } + +.ui-icon-phone-android:before { + content: "phone_android"; } + +.ui-icon-phone-bluetooth-speaker:before { + content: "phone_bluetooth_speaker"; } + +.ui-icon-phone-forwarded:before { + content: "phone_forwarded"; } + +.ui-icon-phone-in-talk:before { + content: "phone_in_talk"; } + +.ui-icon-phone-iphone:before { + content: "phone_iphone"; } + +.ui-icon-phone-locked:before { + content: "phone_locked"; } + +.ui-icon-phone-missed:before { + content: "phone_missed"; } + +.ui-icon-phone-paused:before { + content: "phone_paused"; } + +.ui-icon-phonelink:before { + content: "phonelink"; } + +.ui-icon-phonelink-erase:before { + content: "phonelink_erase"; } + +.ui-icon-phonelink-lock:before { + content: "phonelink_lock"; } + +.ui-icon-phonelink-off:before { + content: "phonelink_off"; } + +.ui-icon-phonelink-ring:before { + content: "phonelink_ring"; } + +.ui-icon-phonelink-setup:before { + content: "phonelink_setup"; } + +.ui-icon-photo:before { + content: "photo"; } + +.ui-icon-photo-album:before { + content: "photo_album"; } + +.ui-icon-photo-camera:before { + content: "photo_camera"; } + +.ui-icon-photo-filter:before { + content: "photo_filter"; } + +.ui-icon-photo-library:before { + content: "photo_library"; } + +.ui-icon-photo-size-select-actual:before { + content: "photo_size_select_actual"; } + +.ui-icon-photo-size-select-large:before { + content: "photo_size_select_large"; } + +.ui-icon-photo-size-select-small:before { + content: "photo_size_select_small"; } + +.ui-icon-picture-as-pdf:before { + content: "picture_as_pdf"; } + +.ui-icon-picture-in-picture:before { + content: "picture_in_picture"; } + +.ui-icon-picture-in-picture-alt:before { + content: "picture_in_picture_alt"; } + +.ui-icon-pie-chart:before { + content: "pie_chart"; } + +.ui-icon-pie-chart-outlined:before { + content: "pie_chart_outlined"; } + +.ui-icon-pin-drop:before { + content: "pin_drop"; } + +.ui-icon-place:before { + content: "place"; } + +.ui-icon-play-arrow:before { + content: "play_arrow"; } + +.ui-icon-play-circle-filled:before { + content: "play_circle_filled"; } + +.ui-icon-play-circle-outline:before { + content: "play_circle_outline"; } + +.ui-icon-play-for-work:before { + content: "play_for_work"; } + +.ui-icon-playlist-add:before { + content: "playlist_add"; } + +.ui-icon-playlist-add-check:before { + content: "playlist_add_check"; } + +.ui-icon-playlist-play:before { + content: "playlist_play"; } + +.ui-icon-plus-one:before { + content: "plus_one"; } + +.ui-icon-poll:before { + content: "poll"; } + +.ui-icon-polymer:before { + content: "polymer"; } + +.ui-icon-pool:before { + content: "pool"; } + +.ui-icon-portable-wifi-off:before { + content: "portable_wifi_off"; } + +.ui-icon-portrait:before { + content: "portrait"; } + +.ui-icon-power:before { + content: "power"; } + +.ui-icon-power-input:before { + content: "power_input"; } + +.ui-icon-power-settings-new:before { + content: "power_settings_new"; } + +.ui-icon-pregnant-woman:before { + content: "pregnant_woman"; } + +.ui-icon-present-to-all:before { + content: "present_to_all"; } + +.ui-icon-print:before { + content: "print"; } + +.ui-icon-priority-high:before { + content: "priority_high"; } + +.ui-icon-public:before { + content: "public"; } + +.ui-icon-publish:before { + content: "publish"; } + +.ui-icon-query-builder:before { + content: "query_builder"; } + +.ui-icon-question-answer:before { + content: "question_answer"; } + +.ui-icon-queue:before { + content: "queue"; } + +.ui-icon-queue-music:before { + content: "queue_music"; } + +.ui-icon-queue-play-next:before { + content: "queue_play_next"; } + +.ui-icon-radio:before { + content: "radio"; } + +.ui-icon-radio-button-checked:before { + content: "radio_button_checked"; } + +.ui-icon-radio-button-unchecked:before { + content: "radio_button_unchecked"; } + +.ui-icon-rate-review:before { + content: "rate_review"; } + +.ui-icon-receipt:before { + content: "receipt"; } + +.ui-icon-recent-actors:before { + content: "recent_actors"; } + +.ui-icon-record-voice-over:before { + content: "record_voice_over"; } + +.ui-icon-redeem:before { + content: "redeem"; } + +.ui-icon-redo:before { + content: "redo"; } + +.ui-icon-refresh:before { + content: "refresh"; } + +.ui-icon-remove:before { + content: "remove"; } + +.ui-icon-remove-circle:before { + content: "remove_circle"; } + +.ui-icon-remove-circle-outline:before { + content: "remove_circle_outline"; } + +.ui-icon-remove-from-queue:before { + content: "remove_from_queue"; } + +.ui-icon-remove-red-eye:before { + content: "remove_red_eye"; } + +.ui-icon-remove-shopping-cart:before { + content: "remove_shopping_cart"; } + +.ui-icon-reorder:before { + content: "reorder"; } + +.ui-icon-repeat:before { + content: "repeat"; } + +.ui-icon-repeat-one:before { + content: "repeat_one"; } + +.ui-icon-replay:before { + content: "replay"; } + +.ui-icon-replay-10:before { + content: "replay_10"; } + +.ui-icon-replay-30:before { + content: "replay_30"; } + +.ui-icon-replay-5:before { + content: "replay_5"; } + +.ui-icon-reply:before { + content: "reply"; } + +.ui-icon-reply-all:before { + content: "reply_all"; } + +.ui-icon-report:before { + content: "report"; } + +.ui-icon-report-problem:before { + content: "report_problem"; } + +.ui-icon-restaurant:before { + content: "restaurant"; } + +.ui-icon-restaurant-menu:before { + content: "restaurant_menu"; } + +.ui-icon-restore:before { + content: "restore"; } + +.ui-icon-restore-page:before { + content: "restore_page"; } + +.ui-icon-ring-volume:before { + content: "ring_volume"; } + +.ui-icon-room:before { + content: "room"; } + +.ui-icon-room-service:before { + content: "room_service"; } + +.ui-icon-rotate-90-degrees-ccw:before { + content: "rotate_90_degrees_ccw"; } + +.ui-icon-rotate-left:before { + content: "rotate_left"; } + +.ui-icon-rotate-right:before { + content: "rotate_right"; } + +.ui-icon-rounded-corner:before { + content: "rounded_corner"; } + +.ui-icon-router:before { + content: "router"; } + +.ui-icon-rowing:before { + content: "rowing"; } + +.ui-icon-rss-feed:before { + content: "rss_feed"; } + +.ui-icon-rv-hookup:before { + content: "rv_hookup"; } + +.ui-icon-satellite:before { + content: "satellite"; } + +.ui-icon-save:before { + content: "save"; } + +.ui-icon-scanner:before { + content: "scanner"; } + +.ui-icon-schedule:before { + content: "schedule"; } + +.ui-icon-school:before { + content: "school"; } + +.ui-icon-screen-lock-landscape:before { + content: "screen_lock_landscape"; } + +.ui-icon-screen-lock-portrait:before { + content: "screen_lock_portrait"; } + +.ui-icon-screen-lock-rotation:before { + content: "screen_lock_rotation"; } + +.ui-icon-screen-rotation:before { + content: "screen_rotation"; } + +.ui-icon-screen-share:before { + content: "screen_share"; } + +.ui-icon-sd-card:before { + content: "sd_card"; } + +.ui-icon-sd-storage:before { + content: "sd_storage"; } + +.ui-icon-search:before { + content: "search"; } + +.ui-icon-security:before { + content: "security"; } + +.ui-icon-select-all:before { + content: "select_all"; } + +.ui-icon-send:before { + content: "send"; } + +.ui-icon-sentiment-dissatisfied:before { + content: "sentiment_dissatisfied"; } + +.ui-icon-sentiment-neutral:before { + content: "sentiment_neutral"; } + +.ui-icon-sentiment-satisfied:before { + content: "sentiment_satisfied"; } + +.ui-icon-sentiment-very-dissatisfied:before { + content: "sentiment_very_dissatisfied"; } + +.ui-icon-sentiment-very-satisfied:before { + content: "sentiment_very_satisfied"; } + +.ui-icon-settings:before { + content: "settings"; } + +.ui-icon-settings-applications:before { + content: "settings_applications"; } + +.ui-icon-settings-backup-restore:before { + content: "settings_backup_restore"; } + +.ui-icon-settings-bluetooth:before { + content: "settings_bluetooth"; } + +.ui-icon-settings-brightness:before { + content: "settings_brightness"; } + +.ui-icon-settings-cell:before { + content: "settings_cell"; } + +.ui-icon-settings-ethernet:before { + content: "settings_ethernet"; } + +.ui-icon-settings-input-antenna:before { + content: "settings_input_antenna"; } + +.ui-icon-settings-input-component:before { + content: "settings_input_component"; } + +.ui-icon-settings-input-composite:before { + content: "settings_input_composite"; } + +.ui-icon-settings-input-hdmi:before { + content: "settings_input_hdmi"; } + +.ui-icon-settings-input-svideo:before { + content: "settings_input_svideo"; } + +.ui-icon-settings-overscan:before { + content: "settings_overscan"; } + +.ui-icon-settings-phone:before { + content: "settings_phone"; } + +.ui-icon-settings-power:before { + content: "settings_power"; } + +.ui-icon-settings-remote:before { + content: "settings_remote"; } + +.ui-icon-settings-system-daydream:before { + content: "settings_system_daydream"; } + +.ui-icon-settings-voice:before { + content: "settings_voice"; } + +.ui-icon-share:before { + content: "share"; } + +.ui-icon-shop:before { + content: "shop"; } + +.ui-icon-shop-two:before { + content: "shop_two"; } + +.ui-icon-shopping-basket:before { + content: "shopping_basket"; } + +.ui-icon-shopping-cart:before { + content: "shopping_cart"; } + +.ui-icon-short-text:before { + content: "short_text"; } + +.ui-icon-show-chart:before { + content: "show_chart"; } + +.ui-icon-shuffle:before { + content: "shuffle"; } + +.ui-icon-signal-cellular-4-bar:before { + content: "signal_cellular_4_bar"; } + +.ui-icon-signal-cellular-connected-no-internet-4-bar:before { + content: "signal_cellular_connected_no_internet_4_bar"; } + +.ui-icon-signal-cellular-no-sim:before { + content: "signal_cellular_no_sim"; } + +.ui-icon-signal-cellular-null:before { + content: "signal_cellular_null"; } + +.ui-icon-signal-cellular-off:before { + content: "signal_cellular_off"; } + +.ui-icon-signal-wifi-4-bar:before { + content: "signal_wifi_4_bar"; } + +.ui-icon-signal-wifi-4-bar-lock:before { + content: "signal_wifi_4_bar_lock"; } + +.ui-icon-signal-wifi-off:before { + content: "signal_wifi_off"; } + +.ui-icon-sim-card:before { + content: "sim_card"; } + +.ui-icon-sim-card-alert:before { + content: "sim_card_alert"; } + +.ui-icon-skip-next:before { + content: "skip_next"; } + +.ui-icon-skip-previous:before { + content: "skip_previous"; } + +.ui-icon-slideshow:before { + content: "slideshow"; } + +.ui-icon-slow-motion-video:before { + content: "slow_motion_video"; } + +.ui-icon-smartphone:before { + content: "smartphone"; } + +.ui-icon-smoke-free:before { + content: "smoke_free"; } + +.ui-icon-smoking-rooms:before { + content: "smoking_rooms"; } + +.ui-icon-sms:before { + content: "sms"; } + +.ui-icon-sms-failed:before { + content: "sms_failed"; } + +.ui-icon-snooze:before { + content: "snooze"; } + +.ui-icon-sort:before { + content: "sort"; } + +.ui-icon-sort-by-alpha:before { + content: "sort_by_alpha"; } + +.ui-icon-spa:before { + content: "spa"; } + +.ui-icon-space-bar:before { + content: "space_bar"; } + +.ui-icon-speaker:before { + content: "speaker"; } + +.ui-icon-speaker-group:before { + content: "speaker_group"; } + +.ui-icon-speaker-notes:before { + content: "speaker_notes"; } + +.ui-icon-speaker-notes-off:before { + content: "speaker_notes_off"; } + +.ui-icon-speaker-phone:before { + content: "speaker_phone"; } + +.ui-icon-spellcheck:before { + content: "spellcheck"; } + +.ui-icon-star:before { + content: "star"; } + +.ui-icon-star-border:before { + content: "star_border"; } + +.ui-icon-star-half:before { + content: "star_half"; } + +.ui-icon-stars:before { + content: "stars"; } + +.ui-icon-stay-current-landscape:before { + content: "stay_current_landscape"; } + +.ui-icon-stay-current-portrait:before { + content: "stay_current_portrait"; } + +.ui-icon-stay-primary-landscape:before { + content: "stay_primary_landscape"; } + +.ui-icon-stay-primary-portrait:before { + content: "stay_primary_portrait"; } + +.ui-icon-stop:before { + content: "stop"; } + +.ui-icon-stop-screen-share:before { + content: "stop_screen_share"; } + +.ui-icon-storage:before { + content: "storage"; } + +.ui-icon-store:before { + content: "store"; } + +.ui-icon-store-mall-directory:before { + content: "store_mall_directory"; } + +.ui-icon-straighten:before { + content: "straighten"; } + +.ui-icon-streetview:before { + content: "streetview"; } + +.ui-icon-strikethrough-s:before { + content: "strikethrough_s"; } + +.ui-icon-style:before { + content: "style"; } + +.ui-icon-subdirectory-arrow-left:before { + content: "subdirectory_arrow_left"; } + +.ui-icon-subdirectory-arrow-right:before { + content: "subdirectory_arrow_right"; } + +.ui-icon-subject:before { + content: "subject"; } + +.ui-icon-subscriptions:before { + content: "subscriptions"; } + +.ui-icon-subtitles:before { + content: "subtitles"; } + +.ui-icon-subway:before { + content: "subway"; } + +.ui-icon-supervisor-account:before { + content: "supervisor_account"; } + +.ui-icon-surround-sound:before { + content: "surround_sound"; } + +.ui-icon-swap-calls:before { + content: "swap_calls"; } + +.ui-icon-swap-horiz:before { + content: "swap_horiz"; } + +.ui-icon-swap-vert:before { + content: "swap_vert"; } + +.ui-icon-swap-vertical-circle:before { + content: "swap_vertical_circle"; } + +.ui-icon-switch-camera:before { + content: "switch_camera"; } + +.ui-icon-switch-video:before { + content: "switch_video"; } + +.ui-icon-sync:before { + content: "sync"; } + +.ui-icon-sync-disabled:before { + content: "sync_disabled"; } + +.ui-icon-sync-problem:before { + content: "sync_problem"; } + +.ui-icon-system-update:before { + content: "system_update"; } + +.ui-icon-system-update-alt:before { + content: "system_update_alt"; } + +.ui-icon-tab:before { + content: "tab"; } + +.ui-icon-tab-unselected:before { + content: "tab_unselected"; } + +.ui-icon-tablet:before { + content: "tablet"; } + +.ui-icon-tablet-android:before { + content: "tablet_android"; } + +.ui-icon-tablet-mac:before { + content: "tablet_mac"; } + +.ui-icon-tag-faces:before { + content: "tag_faces"; } + +.ui-icon-tap-and-play:before { + content: "tap_and_play"; } + +.ui-icon-terrain:before { + content: "terrain"; } + +.ui-icon-text-fields:before { + content: "text_fields"; } + +.ui-icon-text-format:before { + content: "text_format"; } + +.ui-icon-textsms:before { + content: "textsms"; } + +.ui-icon-texture:before { + content: "texture"; } + +.ui-icon-theaters:before { + content: "theaters"; } + +.ui-icon-thumb-down:before { + content: "thumb_down"; } + +.ui-icon-thumb-up:before { + content: "thumb_up"; } + +.ui-icon-thumbs-up-down:before { + content: "thumbs_up_down"; } + +.ui-icon-time-to-leave:before { + content: "time_to_leave"; } + +.ui-icon-timelapse:before { + content: "timelapse"; } + +.ui-icon-timeline:before { + content: "timeline"; } + +.ui-icon-timer:before { + content: "timer"; } + +.ui-icon-timer-10:before { + content: "timer_10"; } + +.ui-icon-timer-3:before { + content: "timer_3"; } + +.ui-icon-timer-off:before { + content: "timer_off"; } + +.ui-icon-title:before { + content: "title"; } + +.ui-icon-toc:before { + content: "toc"; } + +.ui-icon-today:before { + content: "today"; } + +.ui-icon-toll:before { + content: "toll"; } + +.ui-icon-tonality:before { + content: "tonality"; } + +.ui-icon-touch-app:before { + content: "touch_app"; } + +.ui-icon-toys:before { + content: "toys"; } + +.ui-icon-track-changes:before { + content: "track_changes"; } + +.ui-icon-traffic:before { + content: "traffic"; } + +.ui-icon-train:before { + content: "train"; } + +.ui-icon-tram:before { + content: "tram"; } + +.ui-icon-transfer-within-a-station:before { + content: "transfer_within_a_station"; } + +.ui-icon-transform:before { + content: "transform"; } + +.ui-icon-translate:before { + content: "translate"; } + +.ui-icon-trending-down:before { + content: "trending_down"; } + +.ui-icon-trending-flat:before { + content: "trending_flat"; } + +.ui-icon-trending-up:before { + content: "trending_up"; } + +.ui-icon-tune:before { + content: "tune"; } + +.ui-icon-turned-in:before { + content: "turned_in"; } + +.ui-icon-turned-in-not:before { + content: "turned_in_not"; } + +.ui-icon-tv:before { + content: "tv"; } + +.ui-icon-unarchive:before { + content: "unarchive"; } + +.ui-icon-undo:before { + content: "undo"; } + +.ui-icon-unfold-less:before { + content: "unfold_less"; } + +.ui-icon-unfold-more:before { + content: "unfold_more"; } + +.ui-icon-update:before { + content: "update"; } + +.ui-icon-usb:before { + content: "usb"; } + +.ui-icon-verified-user:before { + content: "verified_user"; } + +.ui-icon-vertical-align-bottom:before { + content: "vertical_align_bottom"; } + +.ui-icon-vertical-align-center:before { + content: "vertical_align_center"; } + +.ui-icon-vertical-align-top:before { + content: "vertical_align_top"; } + +.ui-icon-vibration:before { + content: "vibration"; } + +.ui-icon-video-call:before { + content: "video_call"; } + +.ui-icon-video-label:before { + content: "video_label"; } + +.ui-icon-video-library:before { + content: "video_library"; } + +.ui-icon-videocam:before { + content: "videocam"; } + +.ui-icon-videocam-off:before { + content: "videocam_off"; } + +.ui-icon-videogame-asset:before { + content: "videogame_asset"; } + +.ui-icon-view-agenda:before { + content: "view_agenda"; } + +.ui-icon-view-array:before { + content: "view_array"; } + +.ui-icon-view-carousel:before { + content: "view_carousel"; } + +.ui-icon-view-column:before { + content: "view_column"; } + +.ui-icon-view-comfy:before { + content: "view_comfy"; } + +.ui-icon-view-compact:before { + content: "view_compact"; } + +.ui-icon-view-day:before { + content: "view_day"; } + +.ui-icon-view-headline:before { + content: "view_headline"; } + +.ui-icon-view-list:before { + content: "view_list"; } + +.ui-icon-view-module:before { + content: "view_module"; } + +.ui-icon-view-quilt:before { + content: "view_quilt"; } + +.ui-icon-view-stream:before { + content: "view_stream"; } + +.ui-icon-view-week:before { + content: "view_week"; } + +.ui-icon-vignette:before { + content: "vignette"; } + +.ui-icon-visibility:before { + content: "visibility"; } + +.ui-icon-visibility-off:before { + content: "visibility_off"; } + +.ui-icon-voice-chat:before { + content: "voice_chat"; } + +.ui-icon-voicemail:before { + content: "voicemail"; } + +.ui-icon-volume-down:before { + content: "volume_down"; } + +.ui-icon-volume-mute:before { + content: "volume_mute"; } + +.ui-icon-volume-off:before { + content: "volume_off"; } + +.ui-icon-volume-up:before { + content: "volume_up"; } + +.ui-icon-vpn-key:before { + content: "vpn_key"; } + +.ui-icon-vpn-lock:before { + content: "vpn_lock"; } + +.ui-icon-wallpaper:before { + content: "wallpaper"; } + +.ui-icon-warning:before { + content: "warning"; } + +.ui-icon-watch:before { + content: "watch"; } + +.ui-icon-watch-later:before { + content: "watch_later"; } + +.ui-icon-wb-auto:before { + content: "wb_auto"; } + +.ui-icon-wb-cloudy:before { + content: "wb_cloudy"; } + +.ui-icon-wb-incandescent:before { + content: "wb_incandescent"; } + +.ui-icon-wb-iridescent:before { + content: "wb_iridescent"; } + +.ui-icon-wb-sunny:before { + content: "wb_sunny"; } + +.ui-icon-wc:before { + content: "wc"; } + +.ui-icon-web:before { + content: "web"; } + +.ui-icon-web-asset:before { + content: "web_asset"; } + +.ui-icon-weekend:before { + content: "weekend"; } + +.ui-icon-whatshot:before { + content: "whatshot"; } + +.ui-icon-widgets:before { + content: "widgets"; } + +.ui-icon-wifi:before { + content: "wifi"; } + +.ui-icon-wifi-lock:before { + content: "wifi_lock"; } + +.ui-icon-wifi-tethering:before { + content: "wifi_tethering"; } + +.ui-icon-work:before { + content: "work"; } + +.ui-icon-wrap-text:before { + content: "wrap_text"; } + +.ui-icon-youtube-searched-for:before { + content: "youtube_searched_for"; } + +.ui-icon-zoom-in:before { + content: "zoom_in"; } + +.ui-icon-zoom-out:before { + content: "zoom_out"; } + +.ui-icon-zoom-out-map:before { + content: "zoom_out_map"; } + +.material-icons, .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + +body .ui-widget, +body .ui-widget .ui-widget { + font-family: "Roboto","Helvetica Neue",sans-serif; + text-decoration: none; } +body .ui-widget-content { + background-color: #ffffff; + font-size: 1em; + border: 1px solid #bdbdbd; } + body .ui-widget-content .fa { + color: #757575; } +body .ui-widget-header { + background-color: #3e464c; + color: #ffffff; + font-size: 1em; + border: 1px solid #3e464c; } + body .ui-widget-header .fa { + color: #ffffff; } +body .ui-state-active, body .ui-state-highlight { + background-color: #5180ce; + color: #ffffff; } + body .ui-state-active .fa, body .ui-state-highlight .fa { + color: #ffffff; } +body .ui-widget:disabled, +body .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; + cursor: auto !important; } +body .ui-corner-all { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } +body .ui-corner-top { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } +body .ui-corner-bottom { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-corner-left { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; } +body .ui-corner-right { + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-widget-overlay { + background-color: #58575c; + opacity: .8; } + +body { + /* InputGroup */ + /* Validation */ } + body .ui-inputtext { + background: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + font-size: 1em; + border-color: #bdbdbd; + border-style: solid; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + border-radius: 0px; } + body .ui-inputtext:focus, body .ui-inputtext.ui-state-focus { + border-width: 0 0 2px 0; + border-color: #3e464c; + padding-bottom: 0px; } + body .ui-inputtext:disabled { + border-bottom: 1px dotted; } + body .ui-inputtext.ui-widget-content { + border-width: 1px; } + body .ui-inputtext.ui-state-error { + border-color: #e62a10; } + body .md-inputfield { + display: block; + position: relative; } + body .md-inputfield label { + color: #999; + font-weight: normal; + position: absolute; + pointer-events: none; + left: 5px; + top: 1px; + transition: 0.3s ease all; + -moz-transition: 0.3s ease all; + -webkit-transition: 0.3s ease all; } + body .md-inputfield input:focus ~ label, + body .md-inputfield input.ui-state-filled ~ label, + body .md-inputfield .ui-inputwrapper-focus ~ label, + body .md-inputfield .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #3e464c; } + body .md-inputfield .input:-webkit-autofill ~ label { + top: -20px; + font-size: 12px; + color: #3e464c; } + body .md-inputfield input.ng-dirty.ng-invalid ~ label { + color: #e62a10; } + body .md-inputfield .ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .md-inputfield.md-inputfield-fill input { + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 4px; } + body .md-inputfield.md-inputfield-fill label { + top: 2px; } + body .md-inputfield.md-inputfield-fill input:focus ~ label, + body .md-inputfield.md-inputfield-fill input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #3e464c; } + body .md-inputfield.md-inputfield-box { + background-color: #f7f7f7; + height: 44px; } + body .md-inputfield.md-inputfield-box > *:not(label) { + bottom: 0px; + position: absolute; + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 24px; } + body .md-inputfield.md-inputfield-box > label { + top: 23px; } + body .md-inputfield.md-inputfield-box input:focus ~ label, + body .md-inputfield.md-inputfield-box input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-filled ~ label { + top: 1px; } + body .md-inputfield.md-inputfield-box .input:-webkit-autofill ~ label { + top: 1px; } + body .ui-material-message.ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .ui-material-message.ui-message.ui-messages-error label { + top: 4px; } + body .ui-listbox { + min-width: 12.5em; + background-color: #ffffff; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-listbox.ui-inputtext { + padding: 0; } + body .ui-listbox .ui-listbox-list { + padding: 0; } + body .ui-listbox .ui-listbox-item { + overflow: hidden; + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + color: #212121; + position: relative; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-listbox .ui-listbox-item.ui-state-highlight { + background-color: #5180ce; + color: #ffffff; } + body .ui-listbox:not(.ui-state-disabled) .ui-listbox-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-listbox .ui-listbox-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; } + body .ui-listbox .ui-listbox-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext { + color: #ffffff; + padding: 2px 2px 1px 2px; + padding-left: 1.5em; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext:focus { + padding-bottom: 0; + border-bottom-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .fa { + top: 0; + left: 0; } + body .ui-button, body .ui-datepicker-buttonpane > button { + overflow: hidden; + background-color: #3e464c; + color: #ffffff; + font-size: 1em; + height: 2.25em; + padding: 0 1em; + border: 0 none; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button:enabled:not(:focus):hover { + background-color: #2b3135; } + body .ui-button:focus, body .ui-datepicker-buttonpane > button:focus { + outline: 0 none; + background-color: #556068; } + body .ui-button .ui-button-text, body .ui-datepicker-buttonpane > button .ui-button-text { + padding: 0; + line-height: 2.25em; } + body .ui-button .fa, body .ui-datepicker-buttonpane > button .fa { + color: #ffffff; } + body .ui-button.ui-button-icon-only, body .ui-datepicker-buttonpane > button.ui-button-icon-only { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 2.5em; + height: 2.5em; } + body .ui-button.ui-button-icon-only .fa, body .ui-datepicker-buttonpane > button.ui-button-icon-only .fa { + margin-left: -.5em; } + body .ui-button.ui-button-text-icon-left, body .ui-datepicker-buttonpane > button.ui-button-text-icon-left { + padding-left: 2.5em; } + body .ui-button.ui-button-text-icon-right, body .ui-datepicker-buttonpane > button.ui-button-text-icon-right { + padding-right: 2.5em; } + body .ui-button.secondary, body .ui-button.ui-secondary-button, body .ui-datepicker-buttonpane > button.secondary, body .ui-datepicker-buttonpane > button.ui-secondary-button { + background-color: #5180ce; + color: #ffffff; } + body .ui-button.secondary:enabled:not(:focus):hover, body .ui-button.ui-secondary-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.secondary:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-secondary-button:enabled:not(:focus):hover { + background-color: #274d8d; } + body .ui-button.secondary:focus, body .ui-button.ui-secondary-button:focus, body .ui-datepicker-buttonpane > button.secondary:focus, body .ui-datepicker-buttonpane > button.ui-secondary-button:focus { + outline: 0 none; + background-color: #799dd9; } + body .ui-button.blue-grey-btn, body .ui-datepicker-buttonpane > button.blue-grey-btn { + background-color: #607D8B; } + body .ui-button.blue-grey-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-grey-btn:enabled:not(:focus):hover { + background-color: #37474F; } + body .ui-button.blue-grey-btn:focus, body .ui-datepicker-buttonpane > button.blue-grey-btn:focus { + outline: 0 none; + background-color: #7b96a3; } + body .ui-button.cyan-btn, body .ui-datepicker-buttonpane > button.cyan-btn { + background-color: #00BCD4; } + body .ui-button.cyan-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.cyan-btn:enabled:not(:focus):hover { + background-color: #00838F; } + body .ui-button.cyan-btn:focus, body .ui-datepicker-buttonpane > button.cyan-btn:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button.teal-btn, body .ui-datepicker-buttonpane > button.teal-btn { + background-color: #009688; } + body .ui-button.teal-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.teal-btn:enabled:not(:focus):hover { + background-color: #00695C; } + body .ui-button.teal-btn:focus, body .ui-datepicker-buttonpane > button.teal-btn:focus { + outline: 0 none; + background-color: #00c9b6; } + body .ui-button.red-btn, body .ui-button.ui-danger-button, body .ui-datepicker-buttonpane > button.red-btn, body .ui-datepicker-buttonpane > button.ui-danger-button { + background-color: #F44336; } + body .ui-button.red-btn:enabled:not(:focus):hover, body .ui-button.ui-danger-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.red-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-danger-button:enabled:not(:focus):hover { + background-color: #C62828; } + body .ui-button.red-btn:focus, body .ui-button.ui-danger-button:focus, body .ui-datepicker-buttonpane > button.red-btn:focus, body .ui-datepicker-buttonpane > button.ui-danger-button:focus { + outline: 0 none; + background-color: #f77066; } + body .ui-button.green-btn, body .ui-button.ui-success-button, body .ui-datepicker-buttonpane > button.green-btn, body .ui-datepicker-buttonpane > button.ui-success-button { + background-color: #4CAF50; } + body .ui-button.green-btn:enabled:not(:focus):hover, body .ui-button.ui-success-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.green-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-success-button:enabled:not(:focus):hover { + background-color: #2E7D32; } + body .ui-button.green-btn:focus, body .ui-button.ui-success-button:focus, body .ui-datepicker-buttonpane > button.green-btn:focus, body .ui-datepicker-buttonpane > button.ui-success-button:focus { + outline: 0 none; + background-color: #6ec071; } + body .ui-button.deep-orange-btn, body .ui-datepicker-buttonpane > button.deep-orange-btn { + background-color: #FF5722; } + body .ui-button.deep-orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.deep-orange-btn:enabled:not(:focus):hover { + background-color: #D84315; } + body .ui-button.deep-orange-btn:focus, body .ui-datepicker-buttonpane > button.deep-orange-btn:focus { + outline: 0 none; + background-color: #ff7e55; } + body .ui-button.purple-btn, body .ui-datepicker-buttonpane > button.purple-btn { + background-color: #673AB7; } + body .ui-button.purple-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.purple-btn:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button.purple-btn:focus, body .ui-datepicker-buttonpane > button.purple-btn:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button.pink-btn, body .ui-datepicker-buttonpane > button.pink-btn { + background-color: #E91E63; } + body .ui-button.pink-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.pink-btn:enabled:not(:focus):hover { + background-color: #AD1457; } + body .ui-button.pink-btn:focus, body .ui-datepicker-buttonpane > button.pink-btn:focus { + outline: 0 none; + background-color: #ee4c83; } + body .ui-button.amber-btn, body .ui-button.ui-warning-button, body .ui-datepicker-buttonpane > button.amber-btn, body .ui-datepicker-buttonpane > button.ui-warning-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.amber-btn:enabled:not(:focus):hover, body .ui-button.ui-warning-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.amber-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-warning-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.amber-btn:focus, body .ui-button.ui-warning-button:focus, body .ui-datepicker-buttonpane > button.amber-btn:focus, body .ui-datepicker-buttonpane > button.ui-warning-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.orange-btn, body .ui-datepicker-buttonpane > button.orange-btn { + background-color: #FF9800; } + body .ui-button.orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.orange-btn:enabled:not(:focus):hover { + background-color: #EF6C00; } + body .ui-button.orange-btn:focus, body .ui-datepicker-buttonpane > button.orange-btn:focus { + outline: 0 none; + background-color: #ffad33; } + body .ui-button.brown-btn, body .ui-datepicker-buttonpane > button.brown-btn { + background-color: #795548; } + body .ui-button.brown-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.brown-btn:enabled:not(:focus):hover { + background-color: #4E342E; } + body .ui-button.brown-btn:focus, body .ui-datepicker-buttonpane > button.brown-btn:focus { + outline: 0 none; + background-color: #996b5b; } + body .ui-button.indigo-btn, body .ui-datepicker-buttonpane > button.indigo-btn { + background-color: #3F51B5; } + body .ui-button.indigo-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.indigo-btn:enabled:not(:focus):hover { + background-color: #283593; } + body .ui-button.indigo-btn:focus, body .ui-datepicker-buttonpane > button.indigo-btn:focus { + outline: 0 none; + background-color: #606fc7; } + body .ui-button.blue-btn, body .ui-button.ui-info-button, body .ui-datepicker-buttonpane > button.blue-btn, body .ui-datepicker-buttonpane > button.ui-info-button { + background-color: #03A9F4; + color: #ffffff; } + body .ui-button.blue-btn:enabled:not(:focus):hover, body .ui-button.ui-info-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-info-button:enabled:not(:focus):hover { + background-color: #0277BD; } + body .ui-button.blue-btn:focus, body .ui-button.ui-info-button:focus, body .ui-datepicker-buttonpane > button.blue-btn:focus, body .ui-datepicker-buttonpane > button.ui-info-button:focus { + outline: 0 none; + background-color: #2ebcfc; } + body .ui-button.flat, body .ui-datepicker-buttonpane > button.flat { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-buttonset .ui-button:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #2b3135; } + body .ui-buttonset .ui-button.ui-state-active { + background-color: #5180ce; + color: #ffffff; } + body .ui-togglebutton:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #2b3135; } + body .ui-togglebutton.ui-state-active { + background-color: #5180ce; + color: #ffffff; } + body .ui-splitbutton { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); } + body .ui-splitbutton > .ui-button { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-splitbutton > .ui-button:active { + background-color: #556068; } + body .ui-splitbutton .ui-splitbutton-menubutton { + height: 2.25em; + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton .ui-menu { + min-width: 100%; } + body .ui-fluid .ui-splitbutton .ui-button:first-child { + width: calc(100% - 2em); } + body .ui-chkbox { + display: inline-block; + vertical-align: middle; + line-height: 1.25em; + width: 1.25em; + height: 1.25em; + cursor: default; } + body .ui-chkbox .ui-chkbox-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + font-size: 1.25em; + margin-left: -2px; + margin-top: -2px; } + body .ui-chkbox .ui-chkbox-box.ui-state-active { + border-color: #3e464c; + background-color: #3e464c; } + body .ui-chkbox .ui-chkbox-box.ui-state-focus { + border-color: #3e464c; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton { + position: relative; + margin: 0 .25em 0 0; + vertical-align: middle; } + body .ui-radiobutton .ui-radiobutton-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + -moz-transition: box-shadow 0.3s; + -o-transition: box-shadow 0.3s; + -webkit-transition: box-shadow 0.3s; + transition: box-shadow 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-focus { + border-color: #3e464c; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-active { + border-color: #3e464c; + background-color: transparent; } + body .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon { + display: block; + box-sizing: border-box; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-size: 1em; + transition: -webkit-transform ease .28s; + transition: transform ease .28s; + -webkit-transform: scale(0); + transform: scale(0); + margin: 0; } + body .ui-radiobutton .ui-radiobutton-box .fa-circle { + background-color: #3e464c; + -webkit-transform: scale(0.5); + transform: scale(0.5); } + body .ui-autocomplete-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-autocomplete-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-autocomplete-panel .ui-autocomplete-list { + padding: 0; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + font-size: 1em; + padding: 0.625em 0.875em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item .ui-autocomplete-query { + font-weight: 700; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item.ui-state-highlight { + color: #ffffff; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-group { + padding: 0.625em 0.875em; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only { + background-color: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + height: 1.5em; + width: 1.5em; + padding: 0; + right: 0; + bottom: 0; + margin-right: 0; + position: absolute; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .ui-button-text { + display: none; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .fa { + color: #757575; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-inputtext { + box-sizing: border-box; + padding: 2px 2px 1px 2px; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-focus { + padding-bottom: 0; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token { + float: none; + display: inline-block; + margin: 0 1px; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token .ui-autocomplete-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-dropdown { + top: .75em; } + body .ui-fluid .ui-autocomplete.ui-autocomplete-dd > .ui-inputtext { + width: 100%; } + body .ui-dropdown { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-dropdown .ui-dropdown-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: 0; + margin-right: 0; } + body .ui-dropdown .ui-dropdown-trigger .fa { + color: #757575; + margin-top: 0; + margin-left: 0; } + body .ui-dropdown .ui-dropdown-label.ui-inputtext { + font: 1em "Roboto", "Helvetica Neue", sans-serif; } + body .ui-dropdown.ui-state-focus { + border-bottom: 2px solid #3e464c; } + body .ui-dropdown.ui-state-focus .ui-dropdown-label { + padding-bottom: 0; } + body .ui-dropdown-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-list { + padding: 0; } + body .ui-dropdown-panel .ui-dropdown-item { + margin: 0; + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-item:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-dropdown-panel .ui-dropdown-item.ui-state-highlight { + background-color: #5180ce; + color: #ffffff; } + body .ui-dropdown-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-dropdown-panel .ui-dropdown-filter-container { + display: block; + border-bottom: 1px solid #bdbdbd; + background-color: #3e464c; + padding: 0.625em 1em; } + body .ui-dropdown-panel .ui-dropdown-filter-container input { + color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container input:focus { + border-bottom-color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container .fa { + top: .325em; + right: .75em; + color: #ffffff; } + body .ui-multiselect { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-multiselect .ui-multiselect-label-container { + padding-right: 1.5em; } + body .ui-multiselect .ui-multiselect-label-container .ui-multiselect-label { + padding: 0px 2px 0px 2px; } + body .ui-multiselect .ui-multiselect-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: .063em; } + body .ui-multiselect .ui-multiselect-trigger .fa { + color: #757575; + margin-top: auto; + margin-left: auto; } + body .ui-multiselect.ui-state-focus { + border-bottom: 2px solid #3e464c; } + body .ui-multiselect-panel.ui-widget { + padding: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + min-width: 12.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; + position: relative; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox { + float: none; + margin: 0 .5em 0 -.125em; + position: static; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-focus { + background-color: #777d81; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container { + width: 70%; + display: inline-block; + vertical-align: middle; + float: none; + margin-left: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .fa { + top: 0; + left: 0; + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext { + color: #ffffff; + padding-left: 1.5em; + width: 100%; + box-sizing: border-box; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext:focus { + border-bottom-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close { + position: absolute; + right: .5em; + top: .625em; + height: 1.5em; + width: 1.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close span { + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close:hover { + background-color: #777d81; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item { + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item.ui-state-highlight { + color: #ffffff; } + body .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; + padding: 0; + margin-right: .25em; + background-color: transparent; + color: #212121; + z-index: auto; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-n { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-s { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa { + top: 0px; + height: .5em; + color: #757575; } + body .ui-spinner .ui-spinner-button:enabled:hover, body .ui-spinner .ui-spinner-button:active { + background-color: transparent; } + body .ui-spinner .ui-spinner-up .fa { + top: .25em; } + body .ui-spinner .ui-spinner-down .fa { + top: .167em; } + body .ui-spinner .ui-spinner-input { + padding-right: 30px; } + body .ui-fluid .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; } + body .ui-fluid .ui-spinner .ui-spinner-button .fa { + left: auto; } + body .ui-inputswitch { + height: 14px; + width: 34px !important; + overflow: visible; + background-color: #9e9e9e; + border-color: #9e9e9e; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; } + body .ui-inputswitch .ui-inputswitch-handle { + top: -4px; + background-color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + width: 20px !important; + height: 20px !important; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; } + body .ui-inputswitch .ui-inputswitch-on { + visibility: hidden; } + body .ui-inputswitch .ui-inputswitch-off span, body .ui-inputswitch .ui-inputswitch-on span { + visibility: hidden; } + body .ui-inputswitch.ui-inputswitch-checked { + background-color: #86b0f5; + border-color: #86b0f5; } + body .ui-inputswitch.ui-inputswitch-checked .ui-inputswitch-handle { + background-color: #5180ce; + color: #ffffff; } + body .ui-slider .ui-slider-handle { + background-color: #5180ce; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 1.25em; + height: 1.25em; + transform: scale(0.7); + -moz-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -o-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + body .ui-slider .ui-slider-handle.ui-state-focus { + transform: scale(1); } + body .ui-slider .ui-slider-handle:focus { + outline: 0 none; } + body .ui-slider.ui-slider-horizontal { + height: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-horizontal .ui-slider-handle { + top: -.55em; } + body .ui-slider.ui-slider-vertical { + width: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-vertical .ui-slider-handle { + left: -.55em; } + body .ui-slider .ui-slider-range { + background-color: #5180ce; + color: #ffffff; } + body .ui-slider:not(.ui-state-disabled) .ui-slider-handle:hover { + transform: scale(1); } + body .ui-calendar .ui-datepicker-trigger { + bottom: 2px; + right: 0; + background-color: transparent; + color: #212121; + height: 1.5em; + width: 1.5em; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-calendar .ui-datepicker-trigger .fa { + color: #757575; } + body .ui-calendar .ui-datepicker-trigger:enabled:hover { + background-color: transparent; } + body .ui-fluid .ui-calendar.ui-calendar-w-btn .ui-inputtext { + width: 100%; } + body .ui-datepicker { + padding: 0; + width: 17.5em; } + body .ui-datepicker.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-datepicker .ui-datepicker-header { + padding: 0.625em 1em; + font-size: 1em; + background: #2b3135; + border-color: #2b3135; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + cursor: pointer; + top: .4em; + left: .2em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before { + content: "keyboard_arrow_left"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover { + background-color: #777d81; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next { + cursor: pointer; + top: .4em; + right: .2em; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before { + content: "keyboard_arrow_right"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover { + background-color: #777d81; } + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-month, + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-year { + font-size: 14px; } + body .ui-datepicker table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; + font-size: 14px; } + body .ui-datepicker thead tr { + color: #ffffff; + background: #3e464c; } + body .ui-datepicker tbody td { + padding: .25em .125em; + box-sizing: border-box; } + body .ui-datepicker tbody td.ui-datepicker-today a { + color: #ffffff; + background: #6c7a84; } + body .ui-datepicker tbody td.ui-datepicker-today a.ui-state-active { + color: #ffffff; + background-color: #5180ce; + color: #ffffff; } + body .ui-datepicker tbody td a { + padding: .25em; + margin: 0; + text-align: center; + color: #212121; + display: inline-block; + height: 2.250em; + width: 2.250em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + line-height: 1.8em; } + body .ui-datepicker tbody td a.ui-state-active { + color: #ffffff; + background-color: #5180ce; + color: #ffffff; } + body .ui-datepicker tbody td a:not(.ui-state-active):not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datepicker tbody td a span { + display: inline; + padding: 0; + text-align: center; } + body .ui-datepicker .ui-timepicker { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-datepicker .ui-timepicker > div a { + height: 1.5em; } + body .ui-datepicker .ui-timepicker > div a > span { + display: inline-block; + margin-bottom: .25em; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up:before { + content: "keyboard_arrow_up"; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down:before { + content: "keyboard_arrow_down"; } + body #ui-datepicker-div { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-rating { + min-height: 1.5em; } + body .ui-rating .fa-ban { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-ban:before { + content: "cancel"; } + body .ui-rating .fa-star { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star:before { + content: "star"; } + body .ui-rating .fa-star-o { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star-o:before { + content: "star_border"; } + body .ui-chips > ul.ui-inputtext { + padding: 2px 2px 1px 2px; } + body .ui-chips > ul.ui-inputtext.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-chips > ul.ui-inputtext.ui-state-focus { + padding-bottom: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token { + padding-bottom: 2px; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token input:disabled { + width: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-chips > ul.ui-inputtext .ui-chips-token .ui-chips-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-password-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-fileupload .ui-fileupload-buttonbar { + padding: 0.625em 1em; } + body .ui-fileupload .ui-fileupload-buttonbar .fa-arrowreturnthick-1-n:before { + content: "file_upload"; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button { + background-color: #5180ce; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button:enabled:hover { + background-color: #274d8d; } + body .ui-fileupload .ui-fileupload-content .ui-messages-error .fa { + color: #ffffff; } + body .ui-fileupload-choose:not(.ui-state-disabled):hover.ui-button, + body .ui-fileupload-choose.ui-state-focus.ui-button { + background-color: #3d71c8; } + body .ui-fileupload-choose:not(.ui-state-disabled):active.ui-button { + background-color: #3466b8; } + body .ui-editor-container .ui-editor-toolbar { + background-color: #e8e8e8; } + body .ui-editor-container .ql-picker.ql-expanded .ql-picker-label { + color: #444444; } + body .ui-inputgroup .ui-inputgroup-addon { + border-width: 0 0 1px 0; + border-color: #bdbdbd; + color: #757575; + padding: 2px 2px 1px 2px; + align-self: flex-end; } + body .ui-inputgroup .ui-inputgroup-addon > i { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-self: flex-end; } + body .ui-inputgroup .ui-inputtext { + align-self: flex-end; } + body .ui-inputgroup .md-inputfield { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + display: inherit; } + body .ui-inputgroup .md-inputfield label { + top: 5px; } + body .ui-inputgroup .ui-chkbox, body .ui-inputgroup .ui-radiobutton { + margin-bottom: .125em; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only { + width: 1.643em; + height: 1.643em; + padding: 0; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only .ui-button-icon-left { + margin-left: -.45em; } + body .ui-inputtext.ng-dirty.ng-invalid, + body p-dropdown.ng-dirty.ng-invalid > .ui-dropdown, + body p-autocomplete.ng-dirty.ng-invalid > .ui-autocomplete > .ui-inputtext, + body p-calendar.ng-dirty.ng-invalid > .ui-inputtext, + body p-inputmask.ng-dirty.ng-invalid > .ui-inputtext, + body p-checkbox.ng-dirty.ng-invalid .ui-chkbox-box, + body p-radiobutton.ng-dirty.ng-invalid .ui-radiobutton-box, + body p-inputswitch.ng-dirty.ng-invalid .ui-inputswitch, + body p-listbox.ng-dirty.ng-invalid .ui-inputtext, + body p-multiselect.ng-dirty.ng-invalid > .ui-multiselect, + body p-spinner.ng-dirty.ng-invalid > .ui-inputtext, + body p-selectbutton.ng-dirty.ng-invalid .ui-button, + body p-togglebutton.ng-dirty.ng-invalid .ui-button { + border-bottom-color: #e62a10; } + +@media (max-width: 640px) { + body .ui-buttonset > .ui-button { + display: block; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-buttonset > .ui-button:first-child { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } + body .ui-buttonset > .ui-button:last-child { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton > .ui-button { + display: inline-block; } + body .ui-splitbutton > .ui-button:first-child { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; } + body .ui-splitbutton > .ui-button:last-child { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } } +body .ui-panel { + padding: 0; } + body .ui-panel .ui-panel-titlebar { + border: 0 none; + border-bottom: 1px solid #3e464c; + padding: 0.625em 1em; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-panel .ui-panel-titlebar .ui-panel-title { + line-height: 1.5em; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon { + position: relative; + width: 1.5em; + height: 1.5em; + color: #ffffff; + margin: 0; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon:hover { + background-color: #777d81; } + body .ui-panel .ui-panel-content { + height: 100%; + box-sizing: border-box; + padding: 0.625em 1em; } + body .ui-panel .ui-panel-footer { + padding: 0.625em 1em; + border: 0 none; + border-top: 1px solid #bdbdbd; + margin: 0; } +body .ui-fieldset { + padding: 0.625em 1em; } + body .ui-fieldset .ui-fieldset-legend { + padding: 0.625em 1em; + padding-left: .125em; + padding-right: .5em; + color: #3e464c; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler { + padding: .5em; + height: 2em; + width: 2em; + background-color: #3e464c; + color: #ffffff; + font-size: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + margin-right: .5em; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler:hover { + background-color: #2b3135; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-legend-text { + color: #3e464c; } + body .ui-fieldset .ui-fieldset-legend.ui-state-focus { + background-color: transparent; } +body .ui-accordion .ui-accordion-header { + background-color: #3e464c; + padding: 0; + color: #ffffff; + font-size: 1em; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-accordion .ui-accordion-header > a { + padding: 0.625em 1em; + color: #ffffff; } + body .ui-accordion .ui-accordion-header > a .ui-accordion-toggle-icon, + body .ui-accordion .ui-accordion-header > a .ui-accordion-header-text { + vertical-align: middle; } + body .ui-accordion .ui-accordion-header:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #2b3135; } + body .ui-accordion .ui-accordion-header.ui-state-active { + background-color: #5180ce; + color: #ffffff; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-accordion .ui-accordion-header.ui-state-active > a { + color: #ffffff; } +body .ui-accordion .ui-accordion-content { + padding: 0.625em 1em; + line-height: 1.5em; } +body .ui-toolbar { + background-color: #2b3135; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + padding: .625em; } +body .ui-tabview { + padding: 0; } + body .ui-tabview .ui-tabview-nav { + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabview .ui-tabview-nav > li { + padding: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabview .ui-tabview-nav > li > a { + padding: 0.625em 1em; } + body .ui-tabview .ui-tabview-nav > li > a:focus { + outline: 0 none; } + body .ui-tabview .ui-tabview-nav > li > .fa-close { + margin: .325em 0 0 0; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + color: #757575; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-left-icon, body .ui-tabview .ui-tabview-nav > li .ui-tabview-right-icon { + color: #757575; + display: inline-block; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-title { + line-height: 1.5em; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li.ui-state-default a { + color: #757575; } + body .ui-tabview .ui-tabview-nav > li:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #ffffff; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active { + background-color: #ffffff; + border-color: #5180ce; + border-style: solid; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active a { + color: #3e464c; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active > .fa-close { + color: #5180ce; } + body .ui-tabview .ui-tabview-nav > li.ui-tabview-outline { + outline: 0 none; + border-color: #86b0f5; } + body .ui-tabview .ui-tabview-panel { + padding: 0.625em 1em; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav > li { + border-style: solid; + border-width: 0 0 2px 0; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav > li { + border-width: 2px 0 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + border-right: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 2px 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav { + padding: 0; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 0 0 2px; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li.ui-state-active > a { + padding-left: 0.875em; } + +@media (max-width: 640px) { + body .ui-toolbar .ui-toolbar-group-right { + margin-top: 1em; } } +body .ui-picklist .ui-picklist-caption { + font-size: 1em; + padding: 0.625em 1em; } +body .ui-picklist .ui-picklist-list { + padding: 0; } +body .ui-picklist .ui-picklist-filter-container .fa { + left: 0.3em; } +body .ui-picklist .ui-picklist-filter-container .ui-picklist-filter { + text-indent: 1.5em; } +body .ui-picklist li.ui-picklist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-picklist li.ui-picklist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-picklist li.ui-picklist-item.ui-state-highlight { + background-color: #5180ce; + color: #ffffff; } +body .ui-picklist .ui-picklist-buttons { + width: 3em; } + body .ui-picklist .ui-picklist-buttons .ui-button.ui-button-icon-only { + width: 2.5em; + margin-right: 0; + display: inline-block; + margin-bottom: .5em; } +body .ui-picklist .ui-picklist-buttons-cell { + text-align: center; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + margin: 0 auto; + display: block; + margin-bottom: .5em; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox { + margin-right: .5em; + vertical-align: top; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox, body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox * { + box-sizing: content-box; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-organizationchart-selectable-node:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-state-highlight .ui-node-toggler i { + color: #23457c; } +body .ui-organizationchart .ui-organizationchart-line-down { + background-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-left { + border-right: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-top { + border-top: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content { + border-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler { + bottom: -1.3em; + margin-left: -.75em; + color: #bdbdbd; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down:before { + content: "keyboard_arrow_down"; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up:before { + content: "keyboard_arrow_up"; } +body .ui-orderlist .ui-orderlist-caption { + font-size: 1em; + padding: 0.625em 1em; + box-sizing: border-box; } +body .ui-orderlist .ui-orderlist-list { + padding: 0; + box-sizing: border-box; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item.ui-state-highlight { + background-color: #5180ce; + color: #ffffff; } +body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 3.75em; } +body .ui-orderlist .ui-orderlist-controls { + width: 3.75em; + text-align: center; } + body .ui-orderlist .ui-orderlist-controls .ui-button.ui-button-icon-only { + width: 2.5em; + margin-bottom: .5em; + margin-right: 0; } +body .ui-paginator { + background-color: #2b3135; + padding: 0.625em 1em; } + body .ui-paginator > a { + box-sizing: border-box; + color: #ffffff; } + body .ui-paginator > a .fa { + display: none; } + body .ui-paginator > a:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #777d81; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-next { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-next:before { + content: "navigate_next"; } + body .ui-paginator .ui-paginator-last { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-last:before { + content: "last_page"; } + body .ui-paginator .ui-paginator-prev { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-prev:before { + content: "navigate_before"; } + body .ui-paginator .ui-paginator-first { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-first:before { + content: "first_page"; } + body .ui-paginator .ui-paginator-pages { + vertical-align: middle; + margin: 0 .375em 0 .375em; } + body .ui-paginator .ui-paginator-pages a { + padding: 0; + color: #ffffff; + min-width: 1.5em; + min-height: 1.5em; + line-height: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-pages a:not(.ui-state-active):hover { + background-color: #777d81; } + body .ui-paginator .ui-paginator-pages a.ui-state-active { + background-color: #5180ce; + color: #ffffff; } +body .ui-datagrid .ui-datagrid-header { + padding: 0.625em 1em; } +body .ui-datagrid .ui-panel .ui-panel-titlebar { + background-color: #ffffff; + color: #212121; + border-color: #bdbdbd; } +body .ui-datalist .ui-datalist-header { + padding: 0.625em 1em; } +body .ui-table .ui-table-caption, +body .ui-table .ui-table-summary { + padding: 0.625em 1em; + text-align: center; + font-weight: normal; } +body .ui-table .ui-table-caption { + border-bottom: 0 none; } +body .ui-table .ui-table-summary { + border-top: 0 none; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tbody > tr > td, +body .ui-table .ui-table-tfoot > tr > td { + padding: 0.625em 1em; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tfoot > tr > td { + font-weight: 400; + background-color: #ffffff; + border: 1px solid #cacaca; } +body .ui-table .ui-sortable-column:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-table .ui-sortable-column.ui-state-highlight { + background-color: #5180ce; + color: #ffffff; + border-top-color: #5180ce; } + body .ui-table .ui-sortable-column.ui-state-highlight .fa { + color: #ffffff; } +body .ui-table .ui-sortable-column .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } +body .ui-table .ui-table-tbody > tr { + background: #ffffff; } + body .ui-table .ui-table-tbody > tr > td { + background: inherit; + border: 1px solid #cacaca; } + body .ui-table .ui-table-tbody > tr.ui-state-highlight { + background-color: #5180ce; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr.ui-contextmenu-selected { + background-color: #5180ce; + color: #ffffff; } +body .ui-table .ui-table-tbody > tr:nth-child(odd) { + background-color: #f4f4f4; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-state-highlight { + background-color: #5180ce; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-contextmenu-selected { + background-color: #5180ce; + color: #ffffff; } +body .ui-table.ui-table-hoverable-rows .ui-table-tbody > tr:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable .ui-datatable-header, +body .ui-datatable .ui-datatable-footer { + padding: 0.625em 1em; } + body .ui-datatable .ui-datatable-header .ui-inputtext, + body .ui-datatable .ui-datatable-footer .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-header .ui-inputtext:focus, + body .ui-datatable .ui-datatable-footer .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-paginator { + padding: 0.625em 1em; } +body .ui-datatable .ui-datatable-thead > tr { + border-color: #cacaca; } + body .ui-datatable .ui-datatable-thead > tr th { + padding: .625em .875em; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-sortable-column:not(.ui-state-active):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datatable .ui-datatable-thead > tr th .ui-column-title { + display: inline-block; + vertical-align: middle; } + body .ui-datatable .ui-datatable-thead > tr th .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight { + background-color: #5180ce; + color: #ffffff; + border-top-color: #5180ce; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .fa, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .fa { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext.ui-state-focus, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext.ui-state-focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-selection-column .ui-chkbox-box { + box-sizing: content-box; } +body .ui-datatable tfoot th { + padding: .625em .875em; + border: 1px solid #bdbdbd; + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-datatable-even { + background-color: #f4f4f4; } + body .ui-datatable .ui-datatable-data tr.ui-datatable-even.ui-state-highlight { + background-color: #5180ce; + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr { + border: 1px solid #cacaca; } + body .ui-datatable .ui-datatable-data tr td { + padding: .625em .875em; } + body .ui-datatable .ui-datatable-data tr td .ui-row-toggler { + display: inherit; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td input.ui-cell-editor { + padding: 2px 2px 1px 2px; + font-size: 1em; } + body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-chkbox-box, body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-radiobutton-box { + box-sizing: content-box; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight { + background-color: #5180ce; + border-color:   #5180ce; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr .ui-cell-editor-input input { + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext, + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext.ui-state-error { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box .ui-radiobutton-icon { + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box { + border-color: #ffffff; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box .ui-chkbox-icon { + color: #757575; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-rowgroup-header td a { + height: 1.5em; + vertical-align: top; + display: inline-block; } +body .ui-datatable .ui-datatable-data.ui-datatable-hoverable-rows > tr.ui-widget-content:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer { + border: 0 none; + background-color: transparent; } + body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header .ui-datatable-data td, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer .ui-datatable-data td { + color: #212121; } +body .ui-datatable.ui-datatable-scrollable thead tr th { + color: #212121; + font-size: 16px; } +body .ui-datatable.ui-datatable-scrollable tfoot tr td { + color: #212121; + font-size: 16px; } +body .ui-datatable .ui-datatable-loading { + opacity: 0.3; + filter: alpha(opacity=30); } +body .ui-datatable .ui-datatable-loading-content { + top: 35%; } + body .ui-datatable .ui-datatable-loading-content .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-animation-delay: 0; + -webkit-animation-duration: 1000ms; + -webkit-animation-name: spin; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-delay: 0; + -moz-animation-duration: 1000ms; + -moz-animation-name: spin; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + animation-delay: 0; + animation-duration: 1000ms; + animation-name: spin; + animation-iteration-count: infinite; + animation-timing-function: linear; + font-size: 2em; } + body .ui-datatable .ui-datatable-loading-content .fa:before { + content: "refresh"; } +body .ui-carousel { + padding: 0; } + body .ui-carousel .ui-carousel-header { + padding: 0.625em 1em; + font-size: 1em; + overflow: visible; } + body .ui-carousel .ui-carousel-header .ui-carousel-header-title { + overflow: visible; } + body .ui-carousel .ui-carousel-header .fa { + color: #ffffff; } + body .ui-carousel .ui-carousel-header .ui-carousel-button { + margin: -1px 0 0 0; } + body .ui-carousel .ui-carousel-header .ui-carousel-page-links { + margin: -1px 0 0 0; } +body .ui-tree { + padding: 0.625em 1em/2; } + body .ui-tree .ui-treenode-children { + padding-left: 1.75em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin-right: .5em; } + body .ui-tree .ui-treenode-content .ui-chkbox .fa { + color: #757575; } + body .ui-tree .ui-treenode-content .ui-tree-toggler { + vertical-align: middle; + margin: 0 0 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-icon { + vertical-align: middle; + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-label { + margin: 0; + vertical-align: middle; } + body .ui-tree .ui-treenode-content.ui-treenode-selectable .ui-treenode-label:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal { + padding-left: 0; + padding-right: 0; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content { + background-color: #ffffff; + border: 1px solid #bdbdbd; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-tree-toggler { + vertical-align: top; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-treenode-icon { + vertical-align: top; + margin-right: .25em; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-treenode-selectable:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-state-highlight { + background-color: #5180ce; + color: #ffffff; } +body .ui-tree-draghelper { + border: 1px solid #3e464c; } +body .fc .fc-toolbar .ui-icon-circle-triangle-e { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-icon-circle-triangle-w { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-state-active { + background-color: #5180ce; } +body .fc .fc-event { + background-color: #777d81; + color: #ffffff; } +body .fc table { + box-sizing: border-box; } +body .ui-treetable .ui-treetable-header { + padding: 0.625em 1em; + font-size: 1em; } +body .ui-treetable thead tr { + border-bottom: 1px solid #bdbdbd; } + body .ui-treetable thead tr th { + background-color: #ffffff; + padding: .625em .875em; + border: 0 none; } + body .ui-treetable thead tr th .fa { + color: #757575; } + body .ui-treetable thead tr th:first-child { + border-left: 1px solid #bdbdbd; } + body .ui-treetable thead tr th:last-child { + border-right: 1px solid #bdbdbd; } + body .ui-treetable thead tr th .ui-sortable-column-icon { + vertical-align: middle; + margin: -.25em 0 0 0; } + body .ui-treetable thead tr th.ui-state-active { + background-color: #5180ce; + color: #ffffff; } + body .ui-treetable thead tr th.ui-state-active .fa { + color: #ffffff; } + body .ui-treetable thead tr th .ui-column-resizer { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1em; + color: #757575; } + body .ui-treetable thead tr th .ui-column-resizer:before { + content: "code"; } +body .ui-treetable tfoot td { + border: 0 none; + padding: .625em .875em; } +body .ui-treetable tbody .ui-treetable-row { + background-color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row td { + border: 0 none; + padding: .625em .875em; } + body .ui-treetable tbody .ui-treetable-row td .ui-treetable-toggler { + display: inline-block; + vertical-align: middle; + margin: 0 .167em; + float: none; } + body .ui-treetable tbody .ui-treetable-row td .ui-chkbox { + margin-right: .5em; } + body .ui-treetable tbody .ui-treetable-row td.ui-treetable-child-table-container { + padding: 0; } + body .ui-treetable tbody .ui-treetable-row.ui-treetable-row-selectable:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight { + background-color: #5180ce; + color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } +body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-header, body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-footer { + background-color: transparent; + border: 0 none; } +body .ui-treetable.ui-treetable-scrollable thead th { + background-color: #ffffff; + color: #212121; } + +@media (max-width: 40em) { + body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 100%; } } +@media (max-width: 640px) { + body .ui-picklist.ui-picklist-responsive .ui-picklist-list-wrapper { + margin-bottom: .5em; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons { + padding: .5em 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + display: inline-block; + margin-right: .25em; + margin-bottom: 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right:before { + content: "skip_previous"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left:before { + content: "skip_next"; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls { + text-align: center; + width: auto; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button { + margin-right: .25em; } } +body .ui-breadcrumb { + padding: 0.625em 1em; } + body .ui-breadcrumb ul li a { + color: #ffffff; + font-size: 1em; } +body .ui-steps { + position: relative; } + body .ui-steps .ui-steps-item { + background-color: transparent; } + body .ui-steps .ui-steps-item.ui-state-disabled { + opacity: 1; + filter: alpha(opacity=100); } + body .ui-steps .ui-steps-item .ui-menuitem-link { + display: inline-block; + text-align: left; + background-color: #ffffff; + overflow: hidden; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number { + display: inline-block; + background-color: #757575; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: .25em .75em; + font-size: 1em; + color: #ffffff; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: inline; + margin-left: .625em; + color: #757575; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-number { + background-color: #5180ce; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-title { + font-weight: 700; + color: #212121; } + body .ui-steps .ui-steps-item:last-child .ui-menuitem-link { + display: block; } + body .ui-steps:before { + content: ' '; + border: 1px solid #bdbdbd; + width: 90%; + top: 45%; + left: 0; + display: block; + position: absolute; } +body .ui-menu .ui-menuitem-link, +body .ui-menubar .ui-menuitem-link, +body .ui-tieredmenu .ui-menuitem-link, +body .ui-contextmenu .ui-menuitem-link, +body .ui-megamenu .ui-menuitem-link, +body .ui-slidemenu .ui-menuitem-link { + padding: .625em 1em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-menu .ui-menuitem-link:hover, + body .ui-menubar .ui-menuitem-link:hover, + body .ui-tieredmenu .ui-menuitem-link:hover, + body .ui-contextmenu .ui-menuitem-link:hover, + body .ui-megamenu .ui-menuitem-link:hover, + body .ui-slidemenu .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link:focus, + body .ui-menubar .ui-menuitem-link:focus, + body .ui-tieredmenu .ui-menuitem-link:focus, + body .ui-contextmenu .ui-menuitem-link:focus, + body .ui-megamenu .ui-menuitem-link:focus, + body .ui-slidemenu .ui-menuitem-link:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link .ui-menuitem-text, + body .ui-menubar .ui-menuitem-link .ui-menuitem-text, + body .ui-tieredmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-contextmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-megamenu .ui-menuitem-link .ui-menuitem-text, + body .ui-slidemenu .ui-menuitem-link .ui-menuitem-text { + vertical-align: middle; } +body .ui-menubar .ui-submenu-list, body .ui-contextmenu .ui-submenu-list, +body .ui-slidemenu .ui-submenu-list, body .ui-tieredmenu .ui-submenu-list { + padding: .5em 0; } + body .ui-menubar .ui-submenu-list .ui-menuitem, body .ui-contextmenu .ui-submenu-list .ui-menuitem, + body .ui-slidemenu .ui-submenu-list .ui-menuitem, body .ui-tieredmenu .ui-submenu-list .ui-menuitem { + margin: 0; } +body .ui-menu { + width: 100%; + padding: .5em 0; } + body .ui-menu .ui-menuitem { + margin: 0; } + body .ui-menu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menu.ui-shadow, body .ui-menu .ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-menu .ui-submenu-header { + border: 0 none; + margin: 0; + padding: .625em 1em; + border-radius: 0; } +body .ui-menubar { + padding: 0; } + body .ui-menubar .ui-menubar-root-list > .ui-menuitem > .ui-menuitem-link { + padding: .625em 1em; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } +body .ui-contextmenu { + padding: .5em 0; } + body .ui-contextmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-contextmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-slidemenu { + padding: .5em 0; } + body .ui-slidemenu .ui-menuitem { + margin: 0; } + body .ui-slidemenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-slidemenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-slidemenu .ui-slidemenu-backward { + margin-bottom: .4em; + padding: 0.625em 1em; + width: 100%; + background-color: #3e464c; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border: 0 none; } + body .ui-slidemenu .ui-slidemenu-backward:hover { + background-color: #272c30; } +body .ui-tieredmenu { + padding: .5em 0; } + body .ui-tieredmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-tieredmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-tabmenu { + padding: 0; } + body .ui-tabmenu .ui-tabmenu-nav { + padding: 0; + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem { + top: auto; + margin: 0 .25em 0 0; + padding: 0; + border-style: solid; + border-width: 0 0 2px 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a { + padding: 0.625em 1em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a:focus { + outline: 0 none; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon, body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-text { + float: none; + display: inline-block; + vertical-align: middle; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon { + font-weight: 1em; + margin-right: .25em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a .fa { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem:not(.ui-state-active):hover { + background-color: #ffffff; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active { + background-color: #ffffff; + border-color: #5180ce; + border-style: solid; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a { + color: #3e464c; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a .fa { + color: #3e464c; } +body .ui-megamenu { + padding: 0; } + body .ui-megamenu .ui-megamenu-submenu-header { + border-radius: 0; + padding: .5em; } + body .ui-megamenu .ui-submenu-list { + padding: 0; + border: 0 none; } + body .ui-megamenu .ui-submenu-list .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-panelmenu .ui-panelmenu-header { + background-color: #3e464c; + margin-bottom: 1px; } + body .ui-panelmenu .ui-panelmenu-header a { + padding: .625em 1em; + color: #ffffff; + font-size: 16px; + border-bottom: 1px solid #ffffff; } + body .ui-panelmenu .ui-panelmenu-header .fa { + color: #ffffff; + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header .ui-menuitem-text { + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active { + background-color: #5180ce; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + margin-bottom: 0; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active a, body .ui-panelmenu .ui-panelmenu-header.ui-state-active .fa { + color: #ffffff; } +body .ui-panelmenu .ui-panelmenu-content { + padding: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem { + margin: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link { + border: 0 none; + padding: .625em 1em; + width: 100%; + min-height: 2.750em; + box-sizing: border-box; + color: #212121; + line-height: 1.5em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + position: relative; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .ui-menuitem-text { + display: inline-block; + vertical-align: middle; + float: none; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .fa { + position: static; + display: inline-block; + vertical-align: middle; } +body .ui-panelmenu .ui-menu-parent .ui-menu-list { + margin-left: 28px; } + +@media (max-width: 640px) { + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: none; } } +body { + /* Messages */ } + body .ui-messages { + padding: 0.625em 1em; } + body .ui-messages ul { + display: inline-block; + margin-left: 0; } + body .ui-messages.ui-messages-info { + background-color: #2196F3; + border-color: #2196F3; + color: #ffffff; } + body .ui-messages.ui-messages-warn { + background-color: #ffc107; + border-color: #ffc107; + color: #ffffff; } + body .ui-messages.ui-messages-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-messages.ui-messages-fatal { + background-color: #212121; + border-color: #212121; + color: #ffffff; } + body .ui-messages.ui-messages-success { + background-color: #8BC34A; + border-color: #8BC34A; + color: #ffffff; } + body .ui-messages .ui-messages-close { + text-decoration: none; + color: #fff; + right: .25em; } + body .ui-messages .ui-messages-icon { + background: none; + color: #fff; + margin-top: -2px; } + body .ui-messages .ui-messages-icon.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-info-circle:before { + content: "info"; } + body .ui-messages .ui-messages-icon.fa-warning { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-warning:before { + content: "warning"; } + body .ui-messages .ui-messages-icon.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-close:before { + content: "error_outline"; } + body .ui-messages .ui-messages-icon.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-check:before { + content: "check_circle"; } + body .ui-growl { + top: 90px; } + body .ui-growl > .ui-growl-item-container { + opacity: 1; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-info { + background-color: #2196F3; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-warn { + background-color: #ffc107; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-error { + background-color: #e62a10; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-fatal { + background-color: #212121; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-success { + background-color: #8BC34A; } + body .ui-growl > .ui-growl-item-container.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + body .ui-growl .ui-growl-item .ui-growl-image { + background: none; + color: #ffffff; + font-size: 36px; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle:before { + content: "info"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle:before { + content: "warning"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close:before { + content: "error_outline"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check:before { + content: "check_circle"; } + body .ui-growl .ui-growl-item .ui-growl-message { + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 24px; + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close:before { + content: "close"; } + +body .ui-dialog.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-dialog .ui-dialog-titlebar { + background-color: #ffffff; + color: #212121; + padding: 0.625em 1em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-title { + font-size: 1.25em; + letter-spacing: .005em; + margin-top: .25em; + line-height: 2em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon { + border: 0 none; + padding: 0; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + height: 1.5em; + width: 1.5em; + text-align: center; + margin-top: .5em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:hover, body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa { + color: #757575; + display: inline-block; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-extlink:before { + content: "fullscreen"; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-newwin:before { + content: "fullscreen_exit"; } +body .ui-dialog .ui-dialog-content { + padding: 0.625em 1em; } +body .ui-dialog .ui-dialog-footer { + text-align: right; + border: 0 none; + border-top: 1px solid #bdbdbd; } + body .ui-dialog .ui-dialog-footer .ui-button { + background-color: #ffffff; + color: #212121; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: auto; } + body .ui-dialog .ui-dialog-footer .ui-button .fa { + color: #757575; } + body .ui-dialog .ui-dialog-footer .ui-button:hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-dialog .ui-confirm-dialog-severity { + margin: 0px .75em; } +body .ui-lightbox.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-lightbox .ui-lightbox-caption { + padding: 0.625em 1em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-caption-text { + margin: 0; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + padding: 0; + margin: 0; + width: 1.5em; + height: 1.5em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close:hover { + background-color: #777d81; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } +body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left { + top: 40%; } + body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right .fa, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left .fa { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 3em; + color: #777d81; } +body .ui-overlaypanel.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-overlaypanel .ui-overlaypanel-close { + background-color: #5180ce; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + right: -16px; + top: -16px; + width: 2em; + height: 2em; + line-height: 2em; + text-align: center; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-overlaypanel .ui-overlaypanel-close span { + color: #ffffff; + line-height: inherit; } + body .ui-overlaypanel .ui-overlaypanel-close:hover { + background-color: #274d8d; } +body .ui-tooltip { + opacity: 0.9; + filter: alpha(opacity=90); } + body .ui-tooltip .ui-tooltip-text { + background-color: #323232; } + body .ui-tooltip.ui-tooltip-top .ui-tooltip-arrow { + border-top-color: #323232; } + body .ui-tooltip.ui-tooltip-bottom .ui-tooltip-arrow { + border-bottom-color: #323232; } + body .ui-tooltip.ui-tooltip-left .ui-tooltip-arrow { + border-left-color: #323232; } + body .ui-tooltip.ui-tooltip-right .ui-tooltip-arrow { + border-right-color: #323232; } + +body .ui-draggable-dragging.ui-state-default { + padding: 0.625em 1em !important; + background-color: #3e464c; } +body .jqplot-target { + font-family: "Roboto","Helvetica Neue",sans-serif; } +body .ui-progressbar { + height: .5em; + background-color: #777d81; + overflow: hidden; + border: 0 none; } + body .ui-progressbar .ui-progressbar-value { + height: .5em; } + body .ui-progressbar .ui-progressbar-label { + color: #ffffff; + display: none !important; } +body .ui-galleria .ui-galleria-nav-prev { + left: 0; } +body .ui-galleria .ui-galleria-nav-next { + right: 0; } +body .ui-inplace .ui-inplace-display { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-inplace .ui-inplace-display:hover { + background-color: #e8e8e8; } +body .ui-terminal .ui-terminal-input { + font-size: 16px; } diff --git a/src/assets/theme/theme-dark-blue.scss b/src/assets/theme/theme-dark-blue.scss new file mode 100644 index 0000000..0af695d --- /dev/null +++ b/src/assets/theme/theme-dark-blue.scss @@ -0,0 +1,9 @@ +$primaryColor: #3e464c; +$primaryDarkColor: #2b3135; +$primaryLightColor: #777d81; +$accentColor: #5180ce; +$accentDarkColor: #274d8d; +$accentLightColor: #86b0f5; +$accentTextColor: #ffffff; + +@import '../sass/theme/_theme'; \ No newline at end of file diff --git a/src/assets/theme/theme-dark-green.css b/src/assets/theme/theme-dark-green.css new file mode 100644 index 0000000..320a5e8 --- /dev/null +++ b/src/assets/theme/theme-dark-green.css @@ -0,0 +1,6153 @@ +@charset "UTF-8"; +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +.fa-sort:before { + content: "sort"; } + +.fa-sort-asc:before { + content: "keyboard_arrow_up"; } + +.fa-sort-desc:before { + content: "keyboard_arrow_down"; } + +.fa-angle-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-up:before { + content: "play_arrow"; } + +.fa-angle-double-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-up:before { + content: "skip_next"; } + +.fa-angle-down { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .fa-angle-down:before { + content: "play_arrow"; } + +.fa-angle-double-down { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-down:before { + content: "skip_previous"; } + +.fa-angle-right:before { + content: "play_arrow"; } + +.fa-angle-double-right:before { + content: "fast_forward"; } + +.fa-angle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-angle-left:before { + content: "play_arrow"; } + +.fa-angle-double-left:before { + content: "fast_rewind"; } + +.fa-check:before { + content: "check"; } + +.fa-caret-up:before { + content: "keyboard_arrow_up"; } + +.fa-caret-down:before { + content: "keyboard_arrow_down"; } + +.fa-caret-right:before { + content: "keyboard_arrow_right"; } + +.fa-caret-left:before { + content: "keyboard_arrow_left"; } + +.fa-search:before { + content: "search"; } + +.fa-close:before { + content: "close"; } + +.fa-minus:before { + content: "remove"; } + +.fa-plus:before { + content: "add"; } + +.fa-check:before { + content: "check"; } + +.fa-info-circle:before { + content: "info"; } + +.fa-upload:before { + content: "file_upload"; } + +.fa-chevron-circle-left:before { + content: "keyboard_arrow_left"; } + +.fa-chevron-circle-right:before { + content: "keyboard_arrow_right"; } + +.fa-chevron-circle-down:before { + content: "keyboard_arrow_down"; } + +.fa-chevron-circle-up:before { + content: "keyboard_arrow_up"; } + +.fa-home:before { + content: "home"; } + +.fa-chevron-right:before { + content: "chevron_right"; } + +.fa-chevron-left:before { + content: "chevron_left"; } + +.fa-circle-o:before { + content: "radio_button_unchecked"; } + +.fa-dot-circle-o:before { + content: "radio_button_checked"; } + +.fa-arrow-circle-right:before { + content: "play_circle_outline"; } + +.fa-arrow-circle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-arrow-circle-left:before { + content: "play_circle_outline"; } + +.fa-calendar:before { + content: "date_range"; } + +.fa-arrow-down:before { + content: "arrow_downward"; } + +.fa-arrow-up:before { + content: "arrow_upward"; } + +.ui-icon-carat-2-n-s:before { + content: "sort"; } + +.ui-icon-triangle-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-triangle-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-triangle-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-triangle-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-carat-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-carat-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-carat-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-carat-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-arrow-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrow-1-n:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-n:before { + content: "skip_next"; } + +.ui-icon-arrow-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrow-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-s { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-s:before { + content: "skip_previous"; } + +.ui-icon-arrow-1-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-arrow-1-w:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-w:before { + content: "fast_rewind"; } + +.ui-icon-arrow-1-e:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-e:before { + content: "fast_forward"; } + +.ui-icon-arrowthick-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrowthick-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowthick-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowthick-1-n:before { + content: "play_arrow"; } + +.ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-circle-triangle-s:before { + content: "play_circle_outline"; } + +.ui-icon-radio-off:before { + content: "radio_button_unchecked"; } + +.ui-icon-radio-on:before { + content: "radio_button_checked"; } + +.ui-icon-folder-collapsed:before { + content: "folder"; } + +.ui-icon-document:before { + content: "content_paste"; } + +.ui-icon-video:before { + content: "movie"; } + +.ui-icon-music:before { + content: "music_note"; } + +.ui-icon-plus:before { + content: "add"; } + +.ui-icon-minus:before { + content: "remove"; } + +.ui-icon-plusthick:before { + content: "add"; } + +.ui-icon-minusthick:before { + content: "remove"; } + +.ui-icon-pencil:before { + content: "edit"; } + +.ui-icon-closethick:before { + content: "close"; } + +.ui-icon-circle-close:before { + content: "cancel"; } + +.ui-icon-gear:before { + content: "settings"; } + +.ui-icon-calendar:before { + content: "date_range"; } + +.ui-icon-trash:before { + content: "delete_forever"; } + +.ui-icon-notice:before { + content: "error_outline"; } + +.ui-icon-alert:before { + content: "warning"; } + +.ui-icon-circle-zoomin:before { + content: "zoom_in"; } + +.ui-icon-circle-zoomout:before { + content: "zoom_out"; } + +.ui-icon-circle-arrow-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-arrow-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-arrow-w:before { + content: "play_circle_outline"; } + +.ui-icon-3d-rotation:before { + content: "3d_rotation"; } + +.ui-icon-ac-unit:before { + content: "ac_unit"; } + +.ui-icon-access-alarm:before { + content: "access_alarm"; } + +.ui-icon-access-alarms:before { + content: "access_alarms"; } + +.ui-icon-access-time:before { + content: "access_time"; } + +.ui-icon-accessibility:before { + content: "accessibility"; } + +.ui-icon-accessible:before { + content: "accessible"; } + +.ui-icon-account-balance:before { + content: "account_balance"; } + +.ui-icon-account-balance-wallet:before { + content: "account_balance_wallet"; } + +.ui-icon-account-box:before { + content: "account_box"; } + +.ui-icon-account-circle:before { + content: "account_circle"; } + +.ui-icon-add:before { + content: "add"; } + +.ui-icon-add-a-photo:before { + content: "add_a_photo"; } + +.ui-icon-add-alarm:before { + content: "add_alarm"; } + +.ui-icon-add-alert:before { + content: "add_alert"; } + +.ui-icon-add-box:before { + content: "add_box"; } + +.ui-icon-add-circle:before { + content: "add_circle"; } + +.ui-icon-add-circle-outline:before { + content: "add_circle_outline"; } + +.ui-icon-add-location:before { + content: "add_location"; } + +.ui-icon-add-shopping-cart:before { + content: "add_shopping_cart"; } + +.ui-icon-add-to-photos:before { + content: "add_to_photos"; } + +.ui-icon-add-to-queue:before { + content: "add_to_queue"; } + +.ui-icon-adjust:before { + content: "adjust"; } + +.ui-icon-airline-seat-flat:before { + content: "airline_seat_flat"; } + +.ui-icon-airline-seat-flat-angled:before { + content: "airline_seat_flat_angled"; } + +.ui-icon-airline-seat-individual-suite:before { + content: "airline_seat_individual_suite"; } + +.ui-icon-airline-seat-legroom-extra:before { + content: "airline_seat_legroom_extra"; } + +.ui-icon-airline-seat-legroom-normal:before { + content: "airline_seat_legroom_normal"; } + +.ui-icon-airline-seat-legroom-reduced:before { + content: "airline_seat_legroom_reduced"; } + +.ui-icon-airline-seat-recline-extra:before { + content: "airline_seat_recline_extra"; } + +.ui-icon-airline-seat-recline-normal:before { + content: "airline_seat_recline_normal"; } + +.ui-icon-airplanemode-active:before { + content: "airplanemode_active"; } + +.ui-icon-airplanemode-inactive:before { + content: "airplanemode_inactive"; } + +.ui-icon-airplay:before { + content: "airplay"; } + +.ui-icon-airport-shuttle:before { + content: "airport_shuttle"; } + +.ui-icon-alarm:before { + content: "alarm"; } + +.ui-icon-alarm-add:before { + content: "alarm_add"; } + +.ui-icon-alarm-off:before { + content: "alarm_off"; } + +.ui-icon-alarm-on:before { + content: "alarm_on"; } + +.ui-icon-album:before { + content: "album"; } + +.ui-icon-all-inclusive:before { + content: "all_inclusive"; } + +.ui-icon-all-out:before { + content: "all_out"; } + +.ui-icon-android:before { + content: "android"; } + +.ui-icon-announcement:before { + content: "announcement"; } + +.ui-icon-apps:before { + content: "apps"; } + +.ui-icon-archive:before { + content: "archive"; } + +.ui-icon-arrow-back:before { + content: "arrow_back"; } + +.ui-icon-arrow-downward:before { + content: "arrow_downward"; } + +.ui-icon-arrow-drop-down:before { + content: "arrow_drop_down"; } + +.ui-icon-arrow-drop-down-circle:before { + content: "arrow_drop_down_circle"; } + +.ui-icon-arrow-drop-up:before { + content: "arrow_drop_up"; } + +.ui-icon-arrow-forward:before { + content: "arrow_forward"; } + +.ui-icon-arrow-upward:before { + content: "arrow_upward"; } + +.ui-icon-art-track:before { + content: "art_track"; } + +.ui-icon-aspect-ratio:before { + content: "aspect_ratio"; } + +.ui-icon-assessment:before { + content: "assessment"; } + +.ui-icon-assignment:before { + content: "assignment"; } + +.ui-icon-assignment-ind:before { + content: "assignment_ind"; } + +.ui-icon-assignment-late:before { + content: "assignment_late"; } + +.ui-icon-assignment-return:before { + content: "assignment_return"; } + +.ui-icon-assignment-returned:before { + content: "assignment_returned"; } + +.ui-icon-assignment-turned-in:before { + content: "assignment_turned_in"; } + +.ui-icon-assistant:before { + content: "assistant"; } + +.ui-icon-assistant-photo:before { + content: "assistant_photo"; } + +.ui-icon-attach-file:before { + content: "attach_file"; } + +.ui-icon-attach-money:before { + content: "attach_money"; } + +.ui-icon-attachment:before { + content: "attachment"; } + +.ui-icon-audiotrack:before { + content: "audiotrack"; } + +.ui-icon-autorenew:before { + content: "autorenew"; } + +.ui-icon-av-timer:before { + content: "av_timer"; } + +.ui-icon-backspace:before { + content: "backspace"; } + +.ui-icon-backup:before { + content: "backup"; } + +.ui-icon-battery-alert:before { + content: "battery_alert"; } + +.ui-icon-battery-charging-full:before { + content: "battery_charging_full"; } + +.ui-icon-battery-full:before { + content: "battery_full"; } + +.ui-icon-battery-std:before { + content: "battery_std"; } + +.ui-icon-battery-unknown:before { + content: "battery_unknown"; } + +.ui-icon-beach-access:before { + content: "beach_access"; } + +.ui-icon-beenhere:before { + content: "beenhere"; } + +.ui-icon-block:before { + content: "block"; } + +.ui-icon-bluetooth:before { + content: "bluetooth"; } + +.ui-icon-bluetooth-audio:before { + content: "bluetooth_audio"; } + +.ui-icon-bluetooth-connected:before { + content: "bluetooth_connected"; } + +.ui-icon-bluetooth-disabled:before { + content: "bluetooth_disabled"; } + +.ui-icon-bluetooth-searching:before { + content: "bluetooth_searching"; } + +.ui-icon-blur-circular:before { + content: "blur_circular"; } + +.ui-icon-blur-linear:before { + content: "blur_linear"; } + +.ui-icon-blur-off:before { + content: "blur_off"; } + +.ui-icon-blur-on:before { + content: "blur_on"; } + +.ui-icon-book:before { + content: "book"; } + +.ui-icon-bookmark:before { + content: "bookmark"; } + +.ui-icon-bookmark-border:before { + content: "bookmark_border"; } + +.ui-icon-border-all:before { + content: "border_all"; } + +.ui-icon-border-bottom:before { + content: "border_bottom"; } + +.ui-icon-border-clear:before { + content: "border_clear"; } + +.ui-icon-border-color:before { + content: "border_color"; } + +.ui-icon-border-horizontal:before { + content: "border_horizontal"; } + +.ui-icon-border-inner:before { + content: "border_inner"; } + +.ui-icon-border-left:before { + content: "border_left"; } + +.ui-icon-border-outer:before { + content: "border_outer"; } + +.ui-icon-border-right:before { + content: "border_right"; } + +.ui-icon-border-style:before { + content: "border_style"; } + +.ui-icon-border-top:before { + content: "border_top"; } + +.ui-icon-border-vertical:before { + content: "border_vertical"; } + +.ui-icon-branding-watermark:before { + content: "branding_watermark"; } + +.ui-icon-brightness-1:before { + content: "brightness_1"; } + +.ui-icon-brightness-2:before { + content: "brightness_2"; } + +.ui-icon-brightness-3:before { + content: "brightness_3"; } + +.ui-icon-brightness-4:before { + content: "brightness_4"; } + +.ui-icon-brightness-5:before { + content: "brightness_5"; } + +.ui-icon-brightness-6:before { + content: "brightness_6"; } + +.ui-icon-brightness-7:before { + content: "brightness_7"; } + +.ui-icon-brightness-auto:before { + content: "brightness_auto"; } + +.ui-icon-brightness-high:before { + content: "brightness_high"; } + +.ui-icon-brightness-low:before { + content: "brightness_low"; } + +.ui-icon-brightness-medium:before { + content: "brightness_medium"; } + +.ui-icon-broken-image:before { + content: "broken_image"; } + +.ui-icon-brush:before { + content: "brush"; } + +.ui-icon-bubble-chart:before { + content: "bubble_chart"; } + +.ui-icon-bug-report:before { + content: "bug_report"; } + +.ui-icon-build:before { + content: "build"; } + +.ui-icon-burst-mode:before { + content: "burst_mode"; } + +.ui-icon-business:before { + content: "business"; } + +.ui-icon-business-center:before { + content: "business_center"; } + +.ui-icon-cached:before { + content: "cached"; } + +.ui-icon-cake:before { + content: "cake"; } + +.ui-icon-call:before { + content: "call"; } + +.ui-icon-call-end:before { + content: "call_end"; } + +.ui-icon-call-made:before { + content: "call_made"; } + +.ui-icon-call-merge:before { + content: "call_merge"; } + +.ui-icon-call-missed:before { + content: "call_missed"; } + +.ui-icon-call-missed-outgoing:before { + content: "call_missed_outgoing"; } + +.ui-icon-call-received:before { + content: "call_received"; } + +.ui-icon-call-split:before { + content: "call_split"; } + +.ui-icon-call-to-action:before { + content: "call_to_action"; } + +.ui-icon-camera:before { + content: "camera"; } + +.ui-icon-camera-alt:before { + content: "camera_alt"; } + +.ui-icon-camera-enhance:before { + content: "camera_enhance"; } + +.ui-icon-camera-front:before { + content: "camera_front"; } + +.ui-icon-camera-rear:before { + content: "camera_rear"; } + +.ui-icon-camera-roll:before { + content: "camera_roll"; } + +.ui-icon-cancel:before { + content: "cancel"; } + +.ui-icon-card-giftcard:before { + content: "card_giftcard"; } + +.ui-icon-card-membership:before { + content: "card_membership"; } + +.ui-icon-card-travel:before { + content: "card_travel"; } + +.ui-icon-casino:before { + content: "casino"; } + +.ui-icon-cast:before { + content: "cast"; } + +.ui-icon-cast-connected:before { + content: "cast_connected"; } + +.ui-icon-center-focus-strong:before { + content: "center_focus_strong"; } + +.ui-icon-center-focus-weak:before { + content: "center_focus_weak"; } + +.ui-icon-change-history:before { + content: "change_history"; } + +.ui-icon-chat:before { + content: "chat"; } + +.ui-icon-chat-bubble:before { + content: "chat_bubble"; } + +.ui-icon-chat-bubble-outline:before { + content: "chat_bubble_outline"; } + +.ui-icon-check:before { + content: "check"; } + +.ui-icon-check-box:before { + content: "check_box"; } + +.ui-icon-check-box-outline-blank:before { + content: "check_box_outline_blank"; } + +.ui-icon-check-circle:before { + content: "check_circle"; } + +.ui-icon-chevron-left:before { + content: "chevron_left"; } + +.ui-icon-chevron-right:before { + content: "chevron_right"; } + +.ui-icon-child-care:before { + content: "child_care"; } + +.ui-icon-child-friendly:before { + content: "child_friendly"; } + +.ui-icon-chrome-reader-mode:before { + content: "chrome_reader_mode"; } + +.ui-icon-class:before { + content: "class"; } + +.ui-icon-clear:before { + content: "clear"; } + +.ui-icon-clear-all:before { + content: "clear_all"; } + +.ui-icon-close:before { + content: "close"; } + +.ui-icon-closed-caption:before { + content: "closed_caption"; } + +.ui-icon-cloud:before { + content: "cloud"; } + +.ui-icon-cloud-circle:before { + content: "cloud_circle"; } + +.ui-icon-cloud-done:before { + content: "cloud_done"; } + +.ui-icon-cloud-download:before { + content: "cloud_download"; } + +.ui-icon-cloud-off:before { + content: "cloud_off"; } + +.ui-icon-cloud-queue:before { + content: "cloud_queue"; } + +.ui-icon-cloud-upload:before { + content: "cloud_upload"; } + +.ui-icon-code:before { + content: "code"; } + +.ui-icon-collections:before { + content: "collections"; } + +.ui-icon-collections-bookmark:before { + content: "collections_bookmark"; } + +.ui-icon-color-lens:before { + content: "color_lens"; } + +.ui-icon-colorize:before { + content: "colorize"; } + +.ui-icon-comment:before { + content: "comment"; } + +.ui-icon-compare:before { + content: "compare"; } + +.ui-icon-compare-arrows:before { + content: "compare_arrows"; } + +.ui-icon-computer:before { + content: "computer"; } + +.ui-icon-confirmation-number:before { + content: "confirmation_number"; } + +.ui-icon-contact-mail:before { + content: "contact_mail"; } + +.ui-icon-contact-phone:before { + content: "contact_phone"; } + +.ui-icon-contacts:before { + content: "contacts"; } + +.ui-icon-content-copy:before { + content: "content_copy"; } + +.ui-icon-content-cut:before { + content: "content_cut"; } + +.ui-icon-content-paste:before { + content: "content_paste"; } + +.ui-icon-control-point:before { + content: "control_point"; } + +.ui-icon-control-point-duplicate:before { + content: "control_point_duplicate"; } + +.ui-icon-copyright:before { + content: "copyright"; } + +.ui-icon-create:before { + content: "create"; } + +.ui-icon-create-new-folder:before { + content: "create_new_folder"; } + +.ui-icon-credit-card:before { + content: "credit_card"; } + +.ui-icon-crop:before { + content: "crop"; } + +.ui-icon-crop-16-9:before { + content: "crop_16_9"; } + +.ui-icon-crop-3-2:before { + content: "crop_3_2"; } + +.ui-icon-crop-5-4:before { + content: "crop_5_4"; } + +.ui-icon-crop-7-5:before { + content: "crop_7_5"; } + +.ui-icon-crop-din:before { + content: "crop_din"; } + +.ui-icon-crop-free:before { + content: "crop_free"; } + +.ui-icon-crop-landscape:before { + content: "crop_landscape"; } + +.ui-icon-crop-original:before { + content: "crop_original"; } + +.ui-icon-crop-portrait:before { + content: "crop_portrait"; } + +.ui-icon-crop-rotate:before { + content: "crop_rotate"; } + +.ui-icon-crop-square:before { + content: "crop_square"; } + +.ui-icon-dashboard:before { + content: "dashboard"; } + +.ui-icon-data-usage:before { + content: "data_usage"; } + +.ui-icon-date-range:before { + content: "date_range"; } + +.ui-icon-dehaze:before { + content: "dehaze"; } + +.ui-icon-delete:before { + content: "delete"; } + +.ui-icon-delete-forever:before { + content: "delete_forever"; } + +.ui-icon-delete-sweep:before { + content: "delete_sweep"; } + +.ui-icon-description:before { + content: "description"; } + +.ui-icon-desktop-mac:before { + content: "desktop_mac"; } + +.ui-icon-desktop-windows:before { + content: "desktop_windows"; } + +.ui-icon-details:before { + content: "details"; } + +.ui-icon-developer-board:before { + content: "developer_board"; } + +.ui-icon-developer-mode:before { + content: "developer_mode"; } + +.ui-icon-device-hub:before { + content: "device_hub"; } + +.ui-icon-devices:before { + content: "devices"; } + +.ui-icon-devices-other:before { + content: "devices_other"; } + +.ui-icon-dialer-sip:before { + content: "dialer_sip"; } + +.ui-icon-dialpad:before { + content: "dialpad"; } + +.ui-icon-directions:before { + content: "directions"; } + +.ui-icon-directions-bike:before { + content: "directions_bike"; } + +.ui-icon-directions-boat:before { + content: "directions_boat"; } + +.ui-icon-directions-bus:before { + content: "directions_bus"; } + +.ui-icon-directions-car:before { + content: "directions_car"; } + +.ui-icon-directions-railway:before { + content: "directions_railway"; } + +.ui-icon-directions-run:before { + content: "directions_run"; } + +.ui-icon-directions-subway:before { + content: "directions_subway"; } + +.ui-icon-directions-transit:before { + content: "directions_transit"; } + +.ui-icon-directions-walk:before { + content: "directions_walk"; } + +.ui-icon-disc-full:before { + content: "disc_full"; } + +.ui-icon-dns:before { + content: "dns"; } + +.ui-icon-do-not-disturb:before { + content: "do_not_disturb"; } + +.ui-icon-do-not-disturb-alt:before { + content: "do_not_disturb_alt"; } + +.ui-icon-do-not-disturb-off:before { + content: "do_not_disturb_off"; } + +.ui-icon-do-not-disturb-on:before { + content: "do_not_disturb_on"; } + +.ui-icon-dock:before { + content: "dock"; } + +.ui-icon-domain:before { + content: "domain"; } + +.ui-icon-done:before { + content: "done"; } + +.ui-icon-done-all:before { + content: "done_all"; } + +.ui-icon-donut-large:before { + content: "donut_large"; } + +.ui-icon-donut-small:before { + content: "donut_small"; } + +.ui-icon-drafts:before { + content: "drafts"; } + +.ui-icon-drag-handle:before { + content: "drag_handle"; } + +.ui-icon-drive-eta:before { + content: "drive_eta"; } + +.ui-icon-dvr:before { + content: "dvr"; } + +.ui-icon-edit:before { + content: "edit"; } + +.ui-icon-edit-location:before { + content: "edit_location"; } + +.ui-icon-eject:before { + content: "eject"; } + +.ui-icon-email:before { + content: "email"; } + +.ui-icon-enhanced-encryption:before { + content: "enhanced_encryption"; } + +.ui-icon-equalizer:before { + content: "equalizer"; } + +.ui-icon-error:before { + content: "error"; } + +.ui-icon-error-outline:before { + content: "error_outline"; } + +.ui-icon-euro-symbol:before { + content: "euro_symbol"; } + +.ui-icon-ev-station:before { + content: "ev_station"; } + +.ui-icon-event:before { + content: "event"; } + +.ui-icon-event-available:before { + content: "event_available"; } + +.ui-icon-event-busy:before { + content: "event_busy"; } + +.ui-icon-event-note:before { + content: "event_note"; } + +.ui-icon-event-seat:before { + content: "event_seat"; } + +.ui-icon-exit-to-app:before { + content: "exit_to_app"; } + +.ui-icon-expand-less:before { + content: "expand_less"; } + +.ui-icon-expand-more:before { + content: "expand_more"; } + +.ui-icon-explicit:before { + content: "explicit"; } + +.ui-icon-explore:before { + content: "explore"; } + +.ui-icon-exposure:before { + content: "exposure"; } + +.ui-icon-exposure-neg-1:before { + content: "exposure_neg_1"; } + +.ui-icon-exposure-neg-2:before { + content: "exposure_neg_2"; } + +.ui-icon-exposure-plus-1:before { + content: "exposure_plus_1"; } + +.ui-icon-exposure-plus-2:before { + content: "exposure_plus_2"; } + +.ui-icon-exposure-zero:before { + content: "exposure_zero"; } + +.ui-icon-extension:before { + content: "extension"; } + +.ui-icon-face:before { + content: "face"; } + +.ui-icon-fast-forward:before { + content: "fast_forward"; } + +.ui-icon-fast-rewind:before { + content: "fast_rewind"; } + +.ui-icon-favorite:before { + content: "favorite"; } + +.ui-icon-favorite-border:before { + content: "favorite_border"; } + +.ui-icon-featured-play-list:before { + content: "featured_play_list"; } + +.ui-icon-featured-video:before { + content: "featured_video"; } + +.ui-icon-feedback:before { + content: "feedback"; } + +.ui-icon-fiber-dvr:before { + content: "fiber_dvr"; } + +.ui-icon-fiber-manual-record:before { + content: "fiber_manual_record"; } + +.ui-icon-fiber-new:before { + content: "fiber_new"; } + +.ui-icon-fiber-pin:before { + content: "fiber_pin"; } + +.ui-icon-fiber-smart-record:before { + content: "fiber_smart_record"; } + +.ui-icon-file-download:before { + content: "file_download"; } + +.ui-icon-file-upload:before { + content: "file_upload"; } + +.ui-icon-filter:before { + content: "filter"; } + +.ui-icon-filter-1:before { + content: "filter_1"; } + +.ui-icon-filter-2:before { + content: "filter_2"; } + +.ui-icon-filter-3:before { + content: "filter_3"; } + +.ui-icon-filter-4:before { + content: "filter_4"; } + +.ui-icon-filter-5:before { + content: "filter_5"; } + +.ui-icon-filter-6:before { + content: "filter_6"; } + +.ui-icon-filter-7:before { + content: "filter_7"; } + +.ui-icon-filter-8:before { + content: "filter_8"; } + +.ui-icon-filter-9:before { + content: "filter_9"; } + +.ui-icon-filter-9-plus:before { + content: "filter_9_plus"; } + +.ui-icon-filter-b-and-w:before { + content: "filter_b_and_w"; } + +.ui-icon-filter-center-focus:before { + content: "filter_center_focus"; } + +.ui-icon-filter-drama:before { + content: "filter_drama"; } + +.ui-icon-filter-frames:before { + content: "filter_frames"; } + +.ui-icon-filter-hdr:before { + content: "filter_hdr"; } + +.ui-icon-filter-list:before { + content: "filter_list"; } + +.ui-icon-filter-none:before { + content: "filter_none"; } + +.ui-icon-filter-tilt-shift:before { + content: "filter_tilt_shift"; } + +.ui-icon-filter-vintage:before { + content: "filter_vintage"; } + +.ui-icon-find-in-page:before { + content: "find_in_page"; } + +.ui-icon-find-replace:before { + content: "find_replace"; } + +.ui-icon-fingerprint:before { + content: "fingerprint"; } + +.ui-icon-first-page:before { + content: "first_page"; } + +.ui-icon-fitness-center:before { + content: "fitness_center"; } + +.ui-icon-flag:before { + content: "flag"; } + +.ui-icon-flare:before { + content: "flare"; } + +.ui-icon-flash-auto:before { + content: "flash_auto"; } + +.ui-icon-flash-off:before { + content: "flash_off"; } + +.ui-icon-flash-on:before { + content: "flash_on"; } + +.ui-icon-flight:before { + content: "flight"; } + +.ui-icon-flight-land:before { + content: "flight_land"; } + +.ui-icon-flight-takeoff:before { + content: "flight_takeoff"; } + +.ui-icon-flip:before { + content: "flip"; } + +.ui-icon-flip-to-back:before { + content: "flip_to_back"; } + +.ui-icon-flip-to-front:before { + content: "flip_to_front"; } + +.ui-icon-folder:before { + content: "folder"; } + +.ui-icon-folder-open:before { + content: "folder_open"; } + +.ui-icon-folder-shared:before { + content: "folder_shared"; } + +.ui-icon-folder-special:before { + content: "folder_special"; } + +.ui-icon-font-download:before { + content: "font_download"; } + +.ui-icon-format-align-center:before { + content: "format_align_center"; } + +.ui-icon-format-align-justify:before { + content: "format_align_justify"; } + +.ui-icon-format-align-left:before { + content: "format_align_left"; } + +.ui-icon-format-align-right:before { + content: "format_align_right"; } + +.ui-icon-format-bold:before { + content: "format_bold"; } + +.ui-icon-format-clear:before { + content: "format_clear"; } + +.ui-icon-format-color-fill:before { + content: "format_color_fill"; } + +.ui-icon-format-color-reset:before { + content: "format_color_reset"; } + +.ui-icon-format-color-text:before { + content: "format_color_text"; } + +.ui-icon-format-indent-decrease:before { + content: "format_indent_decrease"; } + +.ui-icon-format-indent-increase:before { + content: "format_indent_increase"; } + +.ui-icon-format-italic:before { + content: "format_italic"; } + +.ui-icon-format-line-spacing:before { + content: "format_line_spacing"; } + +.ui-icon-format-list-bulleted:before { + content: "format_list_bulleted"; } + +.ui-icon-format-list-numbered:before { + content: "format_list_numbered"; } + +.ui-icon-format-paint:before { + content: "format_paint"; } + +.ui-icon-format-quote:before { + content: "format_quote"; } + +.ui-icon-format-shapes:before { + content: "format_shapes"; } + +.ui-icon-format-size:before { + content: "format_size"; } + +.ui-icon-format-strikethrough:before { + content: "format_strikethrough"; } + +.ui-icon-format-textdirection-l-to-r:before { + content: "format_textdirection_l_to_r"; } + +.ui-icon-format-textdirection-r-to-l:before { + content: "format_textdirection_r_to_l"; } + +.ui-icon-format-underlined:before { + content: "format_underlined"; } + +.ui-icon-forum:before { + content: "forum"; } + +.ui-icon-forward:before { + content: "forward"; } + +.ui-icon-forward-10:before { + content: "forward_10"; } + +.ui-icon-forward-30:before { + content: "forward_30"; } + +.ui-icon-forward-5:before { + content: "forward_5"; } + +.ui-icon-free-breakfast:before { + content: "free_breakfast"; } + +.ui-icon-fullscreen:before { + content: "fullscreen"; } + +.ui-icon-fullscreen-exit:before { + content: "fullscreen_exit"; } + +.ui-icon-functions:before { + content: "functions"; } + +.ui-icon-g-translate:before { + content: "g_translate"; } + +.ui-icon-gamepad:before { + content: "gamepad"; } + +.ui-icon-games:before { + content: "games"; } + +.ui-icon-gavel:before { + content: "gavel"; } + +.ui-icon-gesture:before { + content: "gesture"; } + +.ui-icon-get-app:before { + content: "get_app"; } + +.ui-icon-gif:before { + content: "gif"; } + +.ui-icon-golf-course:before { + content: "golf_course"; } + +.ui-icon-gps-fixed:before { + content: "gps_fixed"; } + +.ui-icon-gps-not-fixed:before { + content: "gps_not_fixed"; } + +.ui-icon-gps-off:before { + content: "gps_off"; } + +.ui-icon-grade:before { + content: "grade"; } + +.ui-icon-gradient:before { + content: "gradient"; } + +.ui-icon-grain:before { + content: "grain"; } + +.ui-icon-graphic-eq:before { + content: "graphic_eq"; } + +.ui-icon-grid-off:before { + content: "grid_off"; } + +.ui-icon-grid-on:before { + content: "grid_on"; } + +.ui-icon-group:before { + content: "group"; } + +.ui-icon-group-add:before { + content: "group_add"; } + +.ui-icon-group-work:before { + content: "group_work"; } + +.ui-icon-hd:before { + content: "hd"; } + +.ui-icon-hdr-off:before { + content: "hdr_off"; } + +.ui-icon-hdr-on:before { + content: "hdr_on"; } + +.ui-icon-hdr-strong:before { + content: "hdr_strong"; } + +.ui-icon-hdr-weak:before { + content: "hdr_weak"; } + +.ui-icon-headset:before { + content: "headset"; } + +.ui-icon-headset-mic:before { + content: "headset_mic"; } + +.ui-icon-healing:before { + content: "healing"; } + +.ui-icon-hearing:before { + content: "hearing"; } + +.ui-icon-help:before { + content: "help"; } + +.ui-icon-help-outline:before { + content: "help_outline"; } + +.ui-icon-high-quality:before { + content: "high_quality"; } + +.ui-icon-highlight:before { + content: "highlight"; } + +.ui-icon-highlight-off:before { + content: "highlight_off"; } + +.ui-icon-history:before { + content: "history"; } + +.ui-icon-home:before { + content: "home"; } + +.ui-icon-hot-tub:before { + content: "hot_tub"; } + +.ui-icon-hotel:before { + content: "hotel"; } + +.ui-icon-hourglass-empty:before { + content: "hourglass_empty"; } + +.ui-icon-hourglass-full:before { + content: "hourglass_full"; } + +.ui-icon-http:before { + content: "http"; } + +.ui-icon-https:before { + content: "https"; } + +.ui-icon-image:before { + content: "image"; } + +.ui-icon-image-aspect-ratio:before { + content: "image_aspect_ratio"; } + +.ui-icon-import-contacts:before { + content: "import_contacts"; } + +.ui-icon-import-export:before { + content: "import_export"; } + +.ui-icon-important-devices:before { + content: "important_devices"; } + +.ui-icon-inbox:before { + content: "inbox"; } + +.ui-icon-indeterminate-check-box:before { + content: "indeterminate_check_box"; } + +.ui-icon-info:before { + content: "info"; } + +.ui-icon-info-outline:before { + content: "info_outline"; } + +.ui-icon-input:before { + content: "input"; } + +.ui-icon-insert-chart:before { + content: "insert_chart"; } + +.ui-icon-insert-comment:before { + content: "insert_comment"; } + +.ui-icon-insert-drive-file:before { + content: "insert_drive_file"; } + +.ui-icon-insert-emoticon:before { + content: "insert_emoticon"; } + +.ui-icon-insert-invitation:before { + content: "insert_invitation"; } + +.ui-icon-insert-link:before { + content: "insert_link"; } + +.ui-icon-insert-photo:before { + content: "insert_photo"; } + +.ui-icon-invert-colors:before { + content: "invert_colors"; } + +.ui-icon-invert-colors-off:before { + content: "invert_colors_off"; } + +.ui-icon-iso:before { + content: "iso"; } + +.ui-icon-keyboard:before { + content: "keyboard"; } + +.ui-icon-keyboard-arrow-down:before { + content: "keyboard_arrow_down"; } + +.ui-icon-keyboard-arrow-left:before { + content: "keyboard_arrow_left"; } + +.ui-icon-keyboard-arrow-right:before { + content: "keyboard_arrow_right"; } + +.ui-icon-keyboard-arrow-up:before { + content: "keyboard_arrow_up"; } + +.ui-icon-keyboard-backspace:before { + content: "keyboard_backspace"; } + +.ui-icon-keyboard-capslock:before { + content: "keyboard_capslock"; } + +.ui-icon-keyboard-hide:before { + content: "keyboard_hide"; } + +.ui-icon-keyboard-return:before { + content: "keyboard_return"; } + +.ui-icon-keyboard-tab:before { + content: "keyboard_tab"; } + +.ui-icon-keyboard-voice:before { + content: "keyboard_voice"; } + +.ui-icon-kitchen:before { + content: "kitchen"; } + +.ui-icon-label:before { + content: "label"; } + +.ui-icon-label-outline:before { + content: "label_outline"; } + +.ui-icon-landscape:before { + content: "landscape"; } + +.ui-icon-language:before { + content: "language"; } + +.ui-icon-laptop:before { + content: "laptop"; } + +.ui-icon-laptop-chromebook:before { + content: "laptop_chromebook"; } + +.ui-icon-laptop-mac:before { + content: "laptop_mac"; } + +.ui-icon-laptop-windows:before { + content: "laptop_windows"; } + +.ui-icon-last-page:before { + content: "last_page"; } + +.ui-icon-launch:before { + content: "launch"; } + +.ui-icon-layers:before { + content: "layers"; } + +.ui-icon-layers-clear:before { + content: "layers_clear"; } + +.ui-icon-leak-add:before { + content: "leak_add"; } + +.ui-icon-leak-remove:before { + content: "leak_remove"; } + +.ui-icon-lens:before { + content: "lens"; } + +.ui-icon-library-add:before { + content: "library_add"; } + +.ui-icon-library-books:before { + content: "library_books"; } + +.ui-icon-library-music:before { + content: "library_music"; } + +.ui-icon-lightbulb-outline:before { + content: "lightbulb_outline"; } + +.ui-icon-line-style:before { + content: "line_style"; } + +.ui-icon-line-weight:before { + content: "line_weight"; } + +.ui-icon-linear-scale:before { + content: "linear_scale"; } + +.ui-icon-link:before { + content: "link"; } + +.ui-icon-linked-camera:before { + content: "linked_camera"; } + +.ui-icon-list:before { + content: "list"; } + +.ui-icon-live-help:before { + content: "live_help"; } + +.ui-icon-live-tv:before { + content: "live_tv"; } + +.ui-icon-local-activity:before { + content: "local_activity"; } + +.ui-icon-local-airport:before { + content: "local_airport"; } + +.ui-icon-local-atm:before { + content: "local_atm"; } + +.ui-icon-local-bar:before { + content: "local_bar"; } + +.ui-icon-local-cafe:before { + content: "local_cafe"; } + +.ui-icon-local-car-wash:before { + content: "local_car_wash"; } + +.ui-icon-local-convenience-store:before { + content: "local_convenience_store"; } + +.ui-icon-local-dining:before { + content: "local_dining"; } + +.ui-icon-local-drink:before { + content: "local_drink"; } + +.ui-icon-local-florist:before { + content: "local_florist"; } + +.ui-icon-local-gas-station:before { + content: "local_gas_station"; } + +.ui-icon-local-grocery-store:before { + content: "local_grocery_store"; } + +.ui-icon-local-hospital:before { + content: "local_hospital"; } + +.ui-icon-local-hotel:before { + content: "local_hotel"; } + +.ui-icon-local-laundry-service:before { + content: "local_laundry_service"; } + +.ui-icon-local-library:before { + content: "local_library"; } + +.ui-icon-local-mall:before { + content: "local_mall"; } + +.ui-icon-local-movies:before { + content: "local_movies"; } + +.ui-icon-local-offer:before { + content: "local_offer"; } + +.ui-icon-local-parking:before { + content: "local_parking"; } + +.ui-icon-local-pharmacy:before { + content: "local_pharmacy"; } + +.ui-icon-local-phone:before { + content: "local_phone"; } + +.ui-icon-local-pizza:before { + content: "local_pizza"; } + +.ui-icon-local-play:before { + content: "local_play"; } + +.ui-icon-local-post-office:before { + content: "local_post_office"; } + +.ui-icon-local-printshop:before { + content: "local_printshop"; } + +.ui-icon-local-see:before { + content: "local_see"; } + +.ui-icon-local-shipping:before { + content: "local_shipping"; } + +.ui-icon-local-taxi:before { + content: "local_taxi"; } + +.ui-icon-location-city:before { + content: "location_city"; } + +.ui-icon-location-disabled:before { + content: "location_disabled"; } + +.ui-icon-location-off:before { + content: "location_off"; } + +.ui-icon-location-on:before { + content: "location_on"; } + +.ui-icon-location-searching:before { + content: "location_searching"; } + +.ui-icon-lock:before { + content: "lock"; } + +.ui-icon-lock-open:before { + content: "lock_open"; } + +.ui-icon-lock-outline:before { + content: "lock_outline"; } + +.ui-icon-looks:before { + content: "looks"; } + +.ui-icon-looks-3:before { + content: "looks_3"; } + +.ui-icon-looks-4:before { + content: "looks_4"; } + +.ui-icon-looks-5:before { + content: "looks_5"; } + +.ui-icon-looks-6:before { + content: "looks_6"; } + +.ui-icon-looks-one:before { + content: "looks_one"; } + +.ui-icon-looks-two:before { + content: "looks_two"; } + +.ui-icon-loop:before { + content: "loop"; } + +.ui-icon-loupe:before { + content: "loupe"; } + +.ui-icon-low-priority:before { + content: "low_priority"; } + +.ui-icon-loyalty:before { + content: "loyalty"; } + +.ui-icon-mail:before { + content: "mail"; } + +.ui-icon-mail-outline:before { + content: "mail_outline"; } + +.ui-icon-map:before { + content: "map"; } + +.ui-icon-markunread:before { + content: "markunread"; } + +.ui-icon-markunread-mailbox:before { + content: "markunread_mailbox"; } + +.ui-icon-memory:before { + content: "memory"; } + +.ui-icon-menu:before { + content: "menu"; } + +.ui-icon-merge-type:before { + content: "merge_type"; } + +.ui-icon-message:before { + content: "message"; } + +.ui-icon-mic:before { + content: "mic"; } + +.ui-icon-mic-none:before { + content: "mic_none"; } + +.ui-icon-mic-off:before { + content: "mic_off"; } + +.ui-icon-mms:before { + content: "mms"; } + +.ui-icon-mode-comment:before { + content: "mode_comment"; } + +.ui-icon-mode-edit:before { + content: "mode_edit"; } + +.ui-icon-monetization-on:before { + content: "monetization_on"; } + +.ui-icon-money-off:before { + content: "money_off"; } + +.ui-icon-monochrome-photos:before { + content: "monochrome_photos"; } + +.ui-icon-mood:before { + content: "mood"; } + +.ui-icon-mood-bad:before { + content: "mood_bad"; } + +.ui-icon-more:before { + content: "more"; } + +.ui-icon-more-horiz:before { + content: "more_horiz"; } + +.ui-icon-more-vert:before { + content: "more_vert"; } + +.ui-icon-motorcycle:before { + content: "motorcycle"; } + +.ui-icon-mouse:before { + content: "mouse"; } + +.ui-icon-move-to-inbox:before { + content: "move_to_inbox"; } + +.ui-icon-movie:before { + content: "movie"; } + +.ui-icon-movie-creation:before { + content: "movie_creation"; } + +.ui-icon-movie-filter:before { + content: "movie_filter"; } + +.ui-icon-multiline-chart:before { + content: "multiline_chart"; } + +.ui-icon-music-note:before { + content: "music_note"; } + +.ui-icon-music-video:before { + content: "music_video"; } + +.ui-icon-my-location:before { + content: "my_location"; } + +.ui-icon-nature:before { + content: "nature"; } + +.ui-icon-nature-people:before { + content: "nature_people"; } + +.ui-icon-navigate-before:before { + content: "navigate_before"; } + +.ui-icon-navigate-next:before { + content: "navigate_next"; } + +.ui-icon-navigation:before { + content: "navigation"; } + +.ui-icon-near-me:before { + content: "near_me"; } + +.ui-icon-network-cell:before { + content: "network_cell"; } + +.ui-icon-network-check:before { + content: "network_check"; } + +.ui-icon-network-locked:before { + content: "network_locked"; } + +.ui-icon-network-wifi:before { + content: "network_wifi"; } + +.ui-icon-new-releases:before { + content: "new_releases"; } + +.ui-icon-next-week:before { + content: "next_week"; } + +.ui-icon-nfc:before { + content: "nfc"; } + +.ui-icon-no-encryption:before { + content: "no_encryption"; } + +.ui-icon-no-sim:before { + content: "no_sim"; } + +.ui-icon-not-interested:before { + content: "not_interested"; } + +.ui-icon-note:before { + content: "note"; } + +.ui-icon-note-add:before { + content: "note_add"; } + +.ui-icon-notifications:before { + content: "notifications"; } + +.ui-icon-notifications-active:before { + content: "notifications_active"; } + +.ui-icon-notifications-none:before { + content: "notifications_none"; } + +.ui-icon-notifications-off:before { + content: "notifications_off"; } + +.ui-icon-notifications-paused:before { + content: "notifications_paused"; } + +.ui-icon-offline-pin:before { + content: "offline_pin"; } + +.ui-icon-ondemand-video:before { + content: "ondemand_video"; } + +.ui-icon-opacity:before { + content: "opacity"; } + +.ui-icon-open-in-browser:before { + content: "open_in_browser"; } + +.ui-icon-open-in-new:before { + content: "open_in_new"; } + +.ui-icon-open-with:before { + content: "open_with"; } + +.ui-icon-pages:before { + content: "pages"; } + +.ui-icon-pageview:before { + content: "pageview"; } + +.ui-icon-palette:before { + content: "palette"; } + +.ui-icon-pan-tool:before { + content: "pan_tool"; } + +.ui-icon-panorama:before { + content: "panorama"; } + +.ui-icon-panorama-fish-eye:before { + content: "panorama_fish_eye"; } + +.ui-icon-panorama-horizontal:before { + content: "panorama_horizontal"; } + +.ui-icon-panorama-vertical:before { + content: "panorama_vertical"; } + +.ui-icon-panorama-wide-angle:before { + content: "panorama_wide_angle"; } + +.ui-icon-party-mode:before { + content: "party_mode"; } + +.ui-icon-pause:before { + content: "pause"; } + +.ui-icon-pause-circle-filled:before { + content: "pause_circle_filled"; } + +.ui-icon-pause-circle-outline:before { + content: "pause_circle_outline"; } + +.ui-icon-payment:before { + content: "payment"; } + +.ui-icon-people:before { + content: "people"; } + +.ui-icon-people-outline:before { + content: "people_outline"; } + +.ui-icon-perm-camera-mic:before { + content: "perm_camera_mic"; } + +.ui-icon-perm-contact-calendar:before { + content: "perm_contact_calendar"; } + +.ui-icon-perm-data-setting:before { + content: "perm_data_setting"; } + +.ui-icon-perm-device-information:before { + content: "perm_device_information"; } + +.ui-icon-perm-identity:before { + content: "perm_identity"; } + +.ui-icon-perm-media:before { + content: "perm_media"; } + +.ui-icon-perm-phone-msg:before { + content: "perm_phone_msg"; } + +.ui-icon-perm-scan-wifi:before { + content: "perm_scan_wifi"; } + +.ui-icon-person:before { + content: "person"; } + +.ui-icon-person-add:before { + content: "person_add"; } + +.ui-icon-person-outline:before { + content: "person_outline"; } + +.ui-icon-person-pin:before { + content: "person_pin"; } + +.ui-icon-person-pin-circle:before { + content: "person_pin_circle"; } + +.ui-icon-personal-video:before { + content: "personal_video"; } + +.ui-icon-pets:before { + content: "pets"; } + +.ui-icon-phone:before { + content: "phone"; } + +.ui-icon-phone-android:before { + content: "phone_android"; } + +.ui-icon-phone-bluetooth-speaker:before { + content: "phone_bluetooth_speaker"; } + +.ui-icon-phone-forwarded:before { + content: "phone_forwarded"; } + +.ui-icon-phone-in-talk:before { + content: "phone_in_talk"; } + +.ui-icon-phone-iphone:before { + content: "phone_iphone"; } + +.ui-icon-phone-locked:before { + content: "phone_locked"; } + +.ui-icon-phone-missed:before { + content: "phone_missed"; } + +.ui-icon-phone-paused:before { + content: "phone_paused"; } + +.ui-icon-phonelink:before { + content: "phonelink"; } + +.ui-icon-phonelink-erase:before { + content: "phonelink_erase"; } + +.ui-icon-phonelink-lock:before { + content: "phonelink_lock"; } + +.ui-icon-phonelink-off:before { + content: "phonelink_off"; } + +.ui-icon-phonelink-ring:before { + content: "phonelink_ring"; } + +.ui-icon-phonelink-setup:before { + content: "phonelink_setup"; } + +.ui-icon-photo:before { + content: "photo"; } + +.ui-icon-photo-album:before { + content: "photo_album"; } + +.ui-icon-photo-camera:before { + content: "photo_camera"; } + +.ui-icon-photo-filter:before { + content: "photo_filter"; } + +.ui-icon-photo-library:before { + content: "photo_library"; } + +.ui-icon-photo-size-select-actual:before { + content: "photo_size_select_actual"; } + +.ui-icon-photo-size-select-large:before { + content: "photo_size_select_large"; } + +.ui-icon-photo-size-select-small:before { + content: "photo_size_select_small"; } + +.ui-icon-picture-as-pdf:before { + content: "picture_as_pdf"; } + +.ui-icon-picture-in-picture:before { + content: "picture_in_picture"; } + +.ui-icon-picture-in-picture-alt:before { + content: "picture_in_picture_alt"; } + +.ui-icon-pie-chart:before { + content: "pie_chart"; } + +.ui-icon-pie-chart-outlined:before { + content: "pie_chart_outlined"; } + +.ui-icon-pin-drop:before { + content: "pin_drop"; } + +.ui-icon-place:before { + content: "place"; } + +.ui-icon-play-arrow:before { + content: "play_arrow"; } + +.ui-icon-play-circle-filled:before { + content: "play_circle_filled"; } + +.ui-icon-play-circle-outline:before { + content: "play_circle_outline"; } + +.ui-icon-play-for-work:before { + content: "play_for_work"; } + +.ui-icon-playlist-add:before { + content: "playlist_add"; } + +.ui-icon-playlist-add-check:before { + content: "playlist_add_check"; } + +.ui-icon-playlist-play:before { + content: "playlist_play"; } + +.ui-icon-plus-one:before { + content: "plus_one"; } + +.ui-icon-poll:before { + content: "poll"; } + +.ui-icon-polymer:before { + content: "polymer"; } + +.ui-icon-pool:before { + content: "pool"; } + +.ui-icon-portable-wifi-off:before { + content: "portable_wifi_off"; } + +.ui-icon-portrait:before { + content: "portrait"; } + +.ui-icon-power:before { + content: "power"; } + +.ui-icon-power-input:before { + content: "power_input"; } + +.ui-icon-power-settings-new:before { + content: "power_settings_new"; } + +.ui-icon-pregnant-woman:before { + content: "pregnant_woman"; } + +.ui-icon-present-to-all:before { + content: "present_to_all"; } + +.ui-icon-print:before { + content: "print"; } + +.ui-icon-priority-high:before { + content: "priority_high"; } + +.ui-icon-public:before { + content: "public"; } + +.ui-icon-publish:before { + content: "publish"; } + +.ui-icon-query-builder:before { + content: "query_builder"; } + +.ui-icon-question-answer:before { + content: "question_answer"; } + +.ui-icon-queue:before { + content: "queue"; } + +.ui-icon-queue-music:before { + content: "queue_music"; } + +.ui-icon-queue-play-next:before { + content: "queue_play_next"; } + +.ui-icon-radio:before { + content: "radio"; } + +.ui-icon-radio-button-checked:before { + content: "radio_button_checked"; } + +.ui-icon-radio-button-unchecked:before { + content: "radio_button_unchecked"; } + +.ui-icon-rate-review:before { + content: "rate_review"; } + +.ui-icon-receipt:before { + content: "receipt"; } + +.ui-icon-recent-actors:before { + content: "recent_actors"; } + +.ui-icon-record-voice-over:before { + content: "record_voice_over"; } + +.ui-icon-redeem:before { + content: "redeem"; } + +.ui-icon-redo:before { + content: "redo"; } + +.ui-icon-refresh:before { + content: "refresh"; } + +.ui-icon-remove:before { + content: "remove"; } + +.ui-icon-remove-circle:before { + content: "remove_circle"; } + +.ui-icon-remove-circle-outline:before { + content: "remove_circle_outline"; } + +.ui-icon-remove-from-queue:before { + content: "remove_from_queue"; } + +.ui-icon-remove-red-eye:before { + content: "remove_red_eye"; } + +.ui-icon-remove-shopping-cart:before { + content: "remove_shopping_cart"; } + +.ui-icon-reorder:before { + content: "reorder"; } + +.ui-icon-repeat:before { + content: "repeat"; } + +.ui-icon-repeat-one:before { + content: "repeat_one"; } + +.ui-icon-replay:before { + content: "replay"; } + +.ui-icon-replay-10:before { + content: "replay_10"; } + +.ui-icon-replay-30:before { + content: "replay_30"; } + +.ui-icon-replay-5:before { + content: "replay_5"; } + +.ui-icon-reply:before { + content: "reply"; } + +.ui-icon-reply-all:before { + content: "reply_all"; } + +.ui-icon-report:before { + content: "report"; } + +.ui-icon-report-problem:before { + content: "report_problem"; } + +.ui-icon-restaurant:before { + content: "restaurant"; } + +.ui-icon-restaurant-menu:before { + content: "restaurant_menu"; } + +.ui-icon-restore:before { + content: "restore"; } + +.ui-icon-restore-page:before { + content: "restore_page"; } + +.ui-icon-ring-volume:before { + content: "ring_volume"; } + +.ui-icon-room:before { + content: "room"; } + +.ui-icon-room-service:before { + content: "room_service"; } + +.ui-icon-rotate-90-degrees-ccw:before { + content: "rotate_90_degrees_ccw"; } + +.ui-icon-rotate-left:before { + content: "rotate_left"; } + +.ui-icon-rotate-right:before { + content: "rotate_right"; } + +.ui-icon-rounded-corner:before { + content: "rounded_corner"; } + +.ui-icon-router:before { + content: "router"; } + +.ui-icon-rowing:before { + content: "rowing"; } + +.ui-icon-rss-feed:before { + content: "rss_feed"; } + +.ui-icon-rv-hookup:before { + content: "rv_hookup"; } + +.ui-icon-satellite:before { + content: "satellite"; } + +.ui-icon-save:before { + content: "save"; } + +.ui-icon-scanner:before { + content: "scanner"; } + +.ui-icon-schedule:before { + content: "schedule"; } + +.ui-icon-school:before { + content: "school"; } + +.ui-icon-screen-lock-landscape:before { + content: "screen_lock_landscape"; } + +.ui-icon-screen-lock-portrait:before { + content: "screen_lock_portrait"; } + +.ui-icon-screen-lock-rotation:before { + content: "screen_lock_rotation"; } + +.ui-icon-screen-rotation:before { + content: "screen_rotation"; } + +.ui-icon-screen-share:before { + content: "screen_share"; } + +.ui-icon-sd-card:before { + content: "sd_card"; } + +.ui-icon-sd-storage:before { + content: "sd_storage"; } + +.ui-icon-search:before { + content: "search"; } + +.ui-icon-security:before { + content: "security"; } + +.ui-icon-select-all:before { + content: "select_all"; } + +.ui-icon-send:before { + content: "send"; } + +.ui-icon-sentiment-dissatisfied:before { + content: "sentiment_dissatisfied"; } + +.ui-icon-sentiment-neutral:before { + content: "sentiment_neutral"; } + +.ui-icon-sentiment-satisfied:before { + content: "sentiment_satisfied"; } + +.ui-icon-sentiment-very-dissatisfied:before { + content: "sentiment_very_dissatisfied"; } + +.ui-icon-sentiment-very-satisfied:before { + content: "sentiment_very_satisfied"; } + +.ui-icon-settings:before { + content: "settings"; } + +.ui-icon-settings-applications:before { + content: "settings_applications"; } + +.ui-icon-settings-backup-restore:before { + content: "settings_backup_restore"; } + +.ui-icon-settings-bluetooth:before { + content: "settings_bluetooth"; } + +.ui-icon-settings-brightness:before { + content: "settings_brightness"; } + +.ui-icon-settings-cell:before { + content: "settings_cell"; } + +.ui-icon-settings-ethernet:before { + content: "settings_ethernet"; } + +.ui-icon-settings-input-antenna:before { + content: "settings_input_antenna"; } + +.ui-icon-settings-input-component:before { + content: "settings_input_component"; } + +.ui-icon-settings-input-composite:before { + content: "settings_input_composite"; } + +.ui-icon-settings-input-hdmi:before { + content: "settings_input_hdmi"; } + +.ui-icon-settings-input-svideo:before { + content: "settings_input_svideo"; } + +.ui-icon-settings-overscan:before { + content: "settings_overscan"; } + +.ui-icon-settings-phone:before { + content: "settings_phone"; } + +.ui-icon-settings-power:before { + content: "settings_power"; } + +.ui-icon-settings-remote:before { + content: "settings_remote"; } + +.ui-icon-settings-system-daydream:before { + content: "settings_system_daydream"; } + +.ui-icon-settings-voice:before { + content: "settings_voice"; } + +.ui-icon-share:before { + content: "share"; } + +.ui-icon-shop:before { + content: "shop"; } + +.ui-icon-shop-two:before { + content: "shop_two"; } + +.ui-icon-shopping-basket:before { + content: "shopping_basket"; } + +.ui-icon-shopping-cart:before { + content: "shopping_cart"; } + +.ui-icon-short-text:before { + content: "short_text"; } + +.ui-icon-show-chart:before { + content: "show_chart"; } + +.ui-icon-shuffle:before { + content: "shuffle"; } + +.ui-icon-signal-cellular-4-bar:before { + content: "signal_cellular_4_bar"; } + +.ui-icon-signal-cellular-connected-no-internet-4-bar:before { + content: "signal_cellular_connected_no_internet_4_bar"; } + +.ui-icon-signal-cellular-no-sim:before { + content: "signal_cellular_no_sim"; } + +.ui-icon-signal-cellular-null:before { + content: "signal_cellular_null"; } + +.ui-icon-signal-cellular-off:before { + content: "signal_cellular_off"; } + +.ui-icon-signal-wifi-4-bar:before { + content: "signal_wifi_4_bar"; } + +.ui-icon-signal-wifi-4-bar-lock:before { + content: "signal_wifi_4_bar_lock"; } + +.ui-icon-signal-wifi-off:before { + content: "signal_wifi_off"; } + +.ui-icon-sim-card:before { + content: "sim_card"; } + +.ui-icon-sim-card-alert:before { + content: "sim_card_alert"; } + +.ui-icon-skip-next:before { + content: "skip_next"; } + +.ui-icon-skip-previous:before { + content: "skip_previous"; } + +.ui-icon-slideshow:before { + content: "slideshow"; } + +.ui-icon-slow-motion-video:before { + content: "slow_motion_video"; } + +.ui-icon-smartphone:before { + content: "smartphone"; } + +.ui-icon-smoke-free:before { + content: "smoke_free"; } + +.ui-icon-smoking-rooms:before { + content: "smoking_rooms"; } + +.ui-icon-sms:before { + content: "sms"; } + +.ui-icon-sms-failed:before { + content: "sms_failed"; } + +.ui-icon-snooze:before { + content: "snooze"; } + +.ui-icon-sort:before { + content: "sort"; } + +.ui-icon-sort-by-alpha:before { + content: "sort_by_alpha"; } + +.ui-icon-spa:before { + content: "spa"; } + +.ui-icon-space-bar:before { + content: "space_bar"; } + +.ui-icon-speaker:before { + content: "speaker"; } + +.ui-icon-speaker-group:before { + content: "speaker_group"; } + +.ui-icon-speaker-notes:before { + content: "speaker_notes"; } + +.ui-icon-speaker-notes-off:before { + content: "speaker_notes_off"; } + +.ui-icon-speaker-phone:before { + content: "speaker_phone"; } + +.ui-icon-spellcheck:before { + content: "spellcheck"; } + +.ui-icon-star:before { + content: "star"; } + +.ui-icon-star-border:before { + content: "star_border"; } + +.ui-icon-star-half:before { + content: "star_half"; } + +.ui-icon-stars:before { + content: "stars"; } + +.ui-icon-stay-current-landscape:before { + content: "stay_current_landscape"; } + +.ui-icon-stay-current-portrait:before { + content: "stay_current_portrait"; } + +.ui-icon-stay-primary-landscape:before { + content: "stay_primary_landscape"; } + +.ui-icon-stay-primary-portrait:before { + content: "stay_primary_portrait"; } + +.ui-icon-stop:before { + content: "stop"; } + +.ui-icon-stop-screen-share:before { + content: "stop_screen_share"; } + +.ui-icon-storage:before { + content: "storage"; } + +.ui-icon-store:before { + content: "store"; } + +.ui-icon-store-mall-directory:before { + content: "store_mall_directory"; } + +.ui-icon-straighten:before { + content: "straighten"; } + +.ui-icon-streetview:before { + content: "streetview"; } + +.ui-icon-strikethrough-s:before { + content: "strikethrough_s"; } + +.ui-icon-style:before { + content: "style"; } + +.ui-icon-subdirectory-arrow-left:before { + content: "subdirectory_arrow_left"; } + +.ui-icon-subdirectory-arrow-right:before { + content: "subdirectory_arrow_right"; } + +.ui-icon-subject:before { + content: "subject"; } + +.ui-icon-subscriptions:before { + content: "subscriptions"; } + +.ui-icon-subtitles:before { + content: "subtitles"; } + +.ui-icon-subway:before { + content: "subway"; } + +.ui-icon-supervisor-account:before { + content: "supervisor_account"; } + +.ui-icon-surround-sound:before { + content: "surround_sound"; } + +.ui-icon-swap-calls:before { + content: "swap_calls"; } + +.ui-icon-swap-horiz:before { + content: "swap_horiz"; } + +.ui-icon-swap-vert:before { + content: "swap_vert"; } + +.ui-icon-swap-vertical-circle:before { + content: "swap_vertical_circle"; } + +.ui-icon-switch-camera:before { + content: "switch_camera"; } + +.ui-icon-switch-video:before { + content: "switch_video"; } + +.ui-icon-sync:before { + content: "sync"; } + +.ui-icon-sync-disabled:before { + content: "sync_disabled"; } + +.ui-icon-sync-problem:before { + content: "sync_problem"; } + +.ui-icon-system-update:before { + content: "system_update"; } + +.ui-icon-system-update-alt:before { + content: "system_update_alt"; } + +.ui-icon-tab:before { + content: "tab"; } + +.ui-icon-tab-unselected:before { + content: "tab_unselected"; } + +.ui-icon-tablet:before { + content: "tablet"; } + +.ui-icon-tablet-android:before { + content: "tablet_android"; } + +.ui-icon-tablet-mac:before { + content: "tablet_mac"; } + +.ui-icon-tag-faces:before { + content: "tag_faces"; } + +.ui-icon-tap-and-play:before { + content: "tap_and_play"; } + +.ui-icon-terrain:before { + content: "terrain"; } + +.ui-icon-text-fields:before { + content: "text_fields"; } + +.ui-icon-text-format:before { + content: "text_format"; } + +.ui-icon-textsms:before { + content: "textsms"; } + +.ui-icon-texture:before { + content: "texture"; } + +.ui-icon-theaters:before { + content: "theaters"; } + +.ui-icon-thumb-down:before { + content: "thumb_down"; } + +.ui-icon-thumb-up:before { + content: "thumb_up"; } + +.ui-icon-thumbs-up-down:before { + content: "thumbs_up_down"; } + +.ui-icon-time-to-leave:before { + content: "time_to_leave"; } + +.ui-icon-timelapse:before { + content: "timelapse"; } + +.ui-icon-timeline:before { + content: "timeline"; } + +.ui-icon-timer:before { + content: "timer"; } + +.ui-icon-timer-10:before { + content: "timer_10"; } + +.ui-icon-timer-3:before { + content: "timer_3"; } + +.ui-icon-timer-off:before { + content: "timer_off"; } + +.ui-icon-title:before { + content: "title"; } + +.ui-icon-toc:before { + content: "toc"; } + +.ui-icon-today:before { + content: "today"; } + +.ui-icon-toll:before { + content: "toll"; } + +.ui-icon-tonality:before { + content: "tonality"; } + +.ui-icon-touch-app:before { + content: "touch_app"; } + +.ui-icon-toys:before { + content: "toys"; } + +.ui-icon-track-changes:before { + content: "track_changes"; } + +.ui-icon-traffic:before { + content: "traffic"; } + +.ui-icon-train:before { + content: "train"; } + +.ui-icon-tram:before { + content: "tram"; } + +.ui-icon-transfer-within-a-station:before { + content: "transfer_within_a_station"; } + +.ui-icon-transform:before { + content: "transform"; } + +.ui-icon-translate:before { + content: "translate"; } + +.ui-icon-trending-down:before { + content: "trending_down"; } + +.ui-icon-trending-flat:before { + content: "trending_flat"; } + +.ui-icon-trending-up:before { + content: "trending_up"; } + +.ui-icon-tune:before { + content: "tune"; } + +.ui-icon-turned-in:before { + content: "turned_in"; } + +.ui-icon-turned-in-not:before { + content: "turned_in_not"; } + +.ui-icon-tv:before { + content: "tv"; } + +.ui-icon-unarchive:before { + content: "unarchive"; } + +.ui-icon-undo:before { + content: "undo"; } + +.ui-icon-unfold-less:before { + content: "unfold_less"; } + +.ui-icon-unfold-more:before { + content: "unfold_more"; } + +.ui-icon-update:before { + content: "update"; } + +.ui-icon-usb:before { + content: "usb"; } + +.ui-icon-verified-user:before { + content: "verified_user"; } + +.ui-icon-vertical-align-bottom:before { + content: "vertical_align_bottom"; } + +.ui-icon-vertical-align-center:before { + content: "vertical_align_center"; } + +.ui-icon-vertical-align-top:before { + content: "vertical_align_top"; } + +.ui-icon-vibration:before { + content: "vibration"; } + +.ui-icon-video-call:before { + content: "video_call"; } + +.ui-icon-video-label:before { + content: "video_label"; } + +.ui-icon-video-library:before { + content: "video_library"; } + +.ui-icon-videocam:before { + content: "videocam"; } + +.ui-icon-videocam-off:before { + content: "videocam_off"; } + +.ui-icon-videogame-asset:before { + content: "videogame_asset"; } + +.ui-icon-view-agenda:before { + content: "view_agenda"; } + +.ui-icon-view-array:before { + content: "view_array"; } + +.ui-icon-view-carousel:before { + content: "view_carousel"; } + +.ui-icon-view-column:before { + content: "view_column"; } + +.ui-icon-view-comfy:before { + content: "view_comfy"; } + +.ui-icon-view-compact:before { + content: "view_compact"; } + +.ui-icon-view-day:before { + content: "view_day"; } + +.ui-icon-view-headline:before { + content: "view_headline"; } + +.ui-icon-view-list:before { + content: "view_list"; } + +.ui-icon-view-module:before { + content: "view_module"; } + +.ui-icon-view-quilt:before { + content: "view_quilt"; } + +.ui-icon-view-stream:before { + content: "view_stream"; } + +.ui-icon-view-week:before { + content: "view_week"; } + +.ui-icon-vignette:before { + content: "vignette"; } + +.ui-icon-visibility:before { + content: "visibility"; } + +.ui-icon-visibility-off:before { + content: "visibility_off"; } + +.ui-icon-voice-chat:before { + content: "voice_chat"; } + +.ui-icon-voicemail:before { + content: "voicemail"; } + +.ui-icon-volume-down:before { + content: "volume_down"; } + +.ui-icon-volume-mute:before { + content: "volume_mute"; } + +.ui-icon-volume-off:before { + content: "volume_off"; } + +.ui-icon-volume-up:before { + content: "volume_up"; } + +.ui-icon-vpn-key:before { + content: "vpn_key"; } + +.ui-icon-vpn-lock:before { + content: "vpn_lock"; } + +.ui-icon-wallpaper:before { + content: "wallpaper"; } + +.ui-icon-warning:before { + content: "warning"; } + +.ui-icon-watch:before { + content: "watch"; } + +.ui-icon-watch-later:before { + content: "watch_later"; } + +.ui-icon-wb-auto:before { + content: "wb_auto"; } + +.ui-icon-wb-cloudy:before { + content: "wb_cloudy"; } + +.ui-icon-wb-incandescent:before { + content: "wb_incandescent"; } + +.ui-icon-wb-iridescent:before { + content: "wb_iridescent"; } + +.ui-icon-wb-sunny:before { + content: "wb_sunny"; } + +.ui-icon-wc:before { + content: "wc"; } + +.ui-icon-web:before { + content: "web"; } + +.ui-icon-web-asset:before { + content: "web_asset"; } + +.ui-icon-weekend:before { + content: "weekend"; } + +.ui-icon-whatshot:before { + content: "whatshot"; } + +.ui-icon-widgets:before { + content: "widgets"; } + +.ui-icon-wifi:before { + content: "wifi"; } + +.ui-icon-wifi-lock:before { + content: "wifi_lock"; } + +.ui-icon-wifi-tethering:before { + content: "wifi_tethering"; } + +.ui-icon-work:before { + content: "work"; } + +.ui-icon-wrap-text:before { + content: "wrap_text"; } + +.ui-icon-youtube-searched-for:before { + content: "youtube_searched_for"; } + +.ui-icon-zoom-in:before { + content: "zoom_in"; } + +.ui-icon-zoom-out:before { + content: "zoom_out"; } + +.ui-icon-zoom-out-map:before { + content: "zoom_out_map"; } + +.material-icons, .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + +body .ui-widget, +body .ui-widget .ui-widget { + font-family: "Roboto","Helvetica Neue",sans-serif; + text-decoration: none; } +body .ui-widget-content { + background-color: #ffffff; + font-size: 1em; + border: 1px solid #bdbdbd; } + body .ui-widget-content .fa { + color: #757575; } +body .ui-widget-header { + background-color: #2f4050; + color: #ffffff; + font-size: 1em; + border: 1px solid #2f4050; } + body .ui-widget-header .fa { + color: #ffffff; } +body .ui-state-active, body .ui-state-highlight { + background-color: #1ab394; + color: #ffffff; } + body .ui-state-active .fa, body .ui-state-highlight .fa { + color: #ffffff; } +body .ui-widget:disabled, +body .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; + cursor: auto !important; } +body .ui-corner-all { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } +body .ui-corner-top { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } +body .ui-corner-bottom { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-corner-left { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; } +body .ui-corner-right { + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-widget-overlay { + background-color: #58575c; + opacity: .8; } + +body { + /* InputGroup */ + /* Validation */ } + body .ui-inputtext { + background: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + font-size: 1em; + border-color: #bdbdbd; + border-style: solid; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + border-radius: 0px; } + body .ui-inputtext:focus, body .ui-inputtext.ui-state-focus { + border-width: 0 0 2px 0; + border-color: #2f4050; + padding-bottom: 0px; } + body .ui-inputtext:disabled { + border-bottom: 1px dotted; } + body .ui-inputtext.ui-widget-content { + border-width: 1px; } + body .ui-inputtext.ui-state-error { + border-color: #e62a10; } + body .md-inputfield { + display: block; + position: relative; } + body .md-inputfield label { + color: #999; + font-weight: normal; + position: absolute; + pointer-events: none; + left: 5px; + top: 1px; + transition: 0.3s ease all; + -moz-transition: 0.3s ease all; + -webkit-transition: 0.3s ease all; } + body .md-inputfield input:focus ~ label, + body .md-inputfield input.ui-state-filled ~ label, + body .md-inputfield .ui-inputwrapper-focus ~ label, + body .md-inputfield .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #2f4050; } + body .md-inputfield .input:-webkit-autofill ~ label { + top: -20px; + font-size: 12px; + color: #2f4050; } + body .md-inputfield input.ng-dirty.ng-invalid ~ label { + color: #e62a10; } + body .md-inputfield .ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .md-inputfield.md-inputfield-fill input { + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 4px; } + body .md-inputfield.md-inputfield-fill label { + top: 2px; } + body .md-inputfield.md-inputfield-fill input:focus ~ label, + body .md-inputfield.md-inputfield-fill input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #2f4050; } + body .md-inputfield.md-inputfield-box { + background-color: #f7f7f7; + height: 44px; } + body .md-inputfield.md-inputfield-box > *:not(label) { + bottom: 0px; + position: absolute; + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 24px; } + body .md-inputfield.md-inputfield-box > label { + top: 23px; } + body .md-inputfield.md-inputfield-box input:focus ~ label, + body .md-inputfield.md-inputfield-box input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-filled ~ label { + top: 1px; } + body .md-inputfield.md-inputfield-box .input:-webkit-autofill ~ label { + top: 1px; } + body .ui-material-message.ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .ui-material-message.ui-message.ui-messages-error label { + top: 4px; } + body .ui-listbox { + min-width: 12.5em; + background-color: #ffffff; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-listbox.ui-inputtext { + padding: 0; } + body .ui-listbox .ui-listbox-list { + padding: 0; } + body .ui-listbox .ui-listbox-item { + overflow: hidden; + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + color: #212121; + position: relative; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-listbox .ui-listbox-item.ui-state-highlight { + background-color: #1ab394; + color: #ffffff; } + body .ui-listbox:not(.ui-state-disabled) .ui-listbox-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-listbox .ui-listbox-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; } + body .ui-listbox .ui-listbox-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext { + color: #ffffff; + padding: 2px 2px 1px 2px; + padding-left: 1.5em; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext:focus { + padding-bottom: 0; + border-bottom-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .fa { + top: 0; + left: 0; } + body .ui-button, body .ui-datepicker-buttonpane > button { + overflow: hidden; + background-color: #2f4050; + color: #ffffff; + font-size: 1em; + height: 2.25em; + padding: 0 1em; + border: 0 none; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button:enabled:not(:focus):hover { + background-color: #0e2031; } + body .ui-button:focus, body .ui-datepicker-buttonpane > button:focus { + outline: 0 none; + background-color: #425a70; } + body .ui-button .ui-button-text, body .ui-datepicker-buttonpane > button .ui-button-text { + padding: 0; + line-height: 2.25em; } + body .ui-button .fa, body .ui-datepicker-buttonpane > button .fa { + color: #ffffff; } + body .ui-button.ui-button-icon-only, body .ui-datepicker-buttonpane > button.ui-button-icon-only { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 2.5em; + height: 2.5em; } + body .ui-button.ui-button-icon-only .fa, body .ui-datepicker-buttonpane > button.ui-button-icon-only .fa { + margin-left: -.5em; } + body .ui-button.ui-button-text-icon-left, body .ui-datepicker-buttonpane > button.ui-button-text-icon-left { + padding-left: 2.5em; } + body .ui-button.ui-button-text-icon-right, body .ui-datepicker-buttonpane > button.ui-button-text-icon-right { + padding-right: 2.5em; } + body .ui-button.secondary, body .ui-button.ui-secondary-button, body .ui-datepicker-buttonpane > button.secondary, body .ui-datepicker-buttonpane > button.ui-secondary-button { + background-color: #1ab394; + color: #ffffff; } + body .ui-button.secondary:enabled:not(:focus):hover, body .ui-button.ui-secondary-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.secondary:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-secondary-button:enabled:not(:focus):hover { + background-color: #197865; } + body .ui-button.secondary:focus, body .ui-button.ui-secondary-button:focus, body .ui-datepicker-buttonpane > button.secondary:focus, body .ui-datepicker-buttonpane > button.ui-secondary-button:focus { + outline: 0 none; + background-color: #21dfb8; } + body .ui-button.blue-grey-btn, body .ui-datepicker-buttonpane > button.blue-grey-btn { + background-color: #607D8B; } + body .ui-button.blue-grey-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-grey-btn:enabled:not(:focus):hover { + background-color: #37474F; } + body .ui-button.blue-grey-btn:focus, body .ui-datepicker-buttonpane > button.blue-grey-btn:focus { + outline: 0 none; + background-color: #7b96a3; } + body .ui-button.cyan-btn, body .ui-datepicker-buttonpane > button.cyan-btn { + background-color: #00BCD4; } + body .ui-button.cyan-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.cyan-btn:enabled:not(:focus):hover { + background-color: #00838F; } + body .ui-button.cyan-btn:focus, body .ui-datepicker-buttonpane > button.cyan-btn:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button.teal-btn, body .ui-datepicker-buttonpane > button.teal-btn { + background-color: #009688; } + body .ui-button.teal-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.teal-btn:enabled:not(:focus):hover { + background-color: #00695C; } + body .ui-button.teal-btn:focus, body .ui-datepicker-buttonpane > button.teal-btn:focus { + outline: 0 none; + background-color: #00c9b6; } + body .ui-button.red-btn, body .ui-button.ui-danger-button, body .ui-datepicker-buttonpane > button.red-btn, body .ui-datepicker-buttonpane > button.ui-danger-button { + background-color: #F44336; } + body .ui-button.red-btn:enabled:not(:focus):hover, body .ui-button.ui-danger-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.red-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-danger-button:enabled:not(:focus):hover { + background-color: #C62828; } + body .ui-button.red-btn:focus, body .ui-button.ui-danger-button:focus, body .ui-datepicker-buttonpane > button.red-btn:focus, body .ui-datepicker-buttonpane > button.ui-danger-button:focus { + outline: 0 none; + background-color: #f77066; } + body .ui-button.green-btn, body .ui-button.ui-success-button, body .ui-datepicker-buttonpane > button.green-btn, body .ui-datepicker-buttonpane > button.ui-success-button { + background-color: #4CAF50; } + body .ui-button.green-btn:enabled:not(:focus):hover, body .ui-button.ui-success-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.green-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-success-button:enabled:not(:focus):hover { + background-color: #2E7D32; } + body .ui-button.green-btn:focus, body .ui-button.ui-success-button:focus, body .ui-datepicker-buttonpane > button.green-btn:focus, body .ui-datepicker-buttonpane > button.ui-success-button:focus { + outline: 0 none; + background-color: #6ec071; } + body .ui-button.deep-orange-btn, body .ui-datepicker-buttonpane > button.deep-orange-btn { + background-color: #FF5722; } + body .ui-button.deep-orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.deep-orange-btn:enabled:not(:focus):hover { + background-color: #D84315; } + body .ui-button.deep-orange-btn:focus, body .ui-datepicker-buttonpane > button.deep-orange-btn:focus { + outline: 0 none; + background-color: #ff7e55; } + body .ui-button.purple-btn, body .ui-datepicker-buttonpane > button.purple-btn { + background-color: #673AB7; } + body .ui-button.purple-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.purple-btn:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button.purple-btn:focus, body .ui-datepicker-buttonpane > button.purple-btn:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button.pink-btn, body .ui-datepicker-buttonpane > button.pink-btn { + background-color: #E91E63; } + body .ui-button.pink-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.pink-btn:enabled:not(:focus):hover { + background-color: #AD1457; } + body .ui-button.pink-btn:focus, body .ui-datepicker-buttonpane > button.pink-btn:focus { + outline: 0 none; + background-color: #ee4c83; } + body .ui-button.amber-btn, body .ui-button.ui-warning-button, body .ui-datepicker-buttonpane > button.amber-btn, body .ui-datepicker-buttonpane > button.ui-warning-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.amber-btn:enabled:not(:focus):hover, body .ui-button.ui-warning-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.amber-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-warning-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.amber-btn:focus, body .ui-button.ui-warning-button:focus, body .ui-datepicker-buttonpane > button.amber-btn:focus, body .ui-datepicker-buttonpane > button.ui-warning-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.orange-btn, body .ui-datepicker-buttonpane > button.orange-btn { + background-color: #FF9800; } + body .ui-button.orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.orange-btn:enabled:not(:focus):hover { + background-color: #EF6C00; } + body .ui-button.orange-btn:focus, body .ui-datepicker-buttonpane > button.orange-btn:focus { + outline: 0 none; + background-color: #ffad33; } + body .ui-button.brown-btn, body .ui-datepicker-buttonpane > button.brown-btn { + background-color: #795548; } + body .ui-button.brown-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.brown-btn:enabled:not(:focus):hover { + background-color: #4E342E; } + body .ui-button.brown-btn:focus, body .ui-datepicker-buttonpane > button.brown-btn:focus { + outline: 0 none; + background-color: #996b5b; } + body .ui-button.indigo-btn, body .ui-datepicker-buttonpane > button.indigo-btn { + background-color: #3F51B5; } + body .ui-button.indigo-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.indigo-btn:enabled:not(:focus):hover { + background-color: #283593; } + body .ui-button.indigo-btn:focus, body .ui-datepicker-buttonpane > button.indigo-btn:focus { + outline: 0 none; + background-color: #606fc7; } + body .ui-button.blue-btn, body .ui-button.ui-info-button, body .ui-datepicker-buttonpane > button.blue-btn, body .ui-datepicker-buttonpane > button.ui-info-button { + background-color: #03A9F4; + color: #ffffff; } + body .ui-button.blue-btn:enabled:not(:focus):hover, body .ui-button.ui-info-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-info-button:enabled:not(:focus):hover { + background-color: #0277BD; } + body .ui-button.blue-btn:focus, body .ui-button.ui-info-button:focus, body .ui-datepicker-buttonpane > button.blue-btn:focus, body .ui-datepicker-buttonpane > button.ui-info-button:focus { + outline: 0 none; + background-color: #2ebcfc; } + body .ui-button.flat, body .ui-datepicker-buttonpane > button.flat { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-buttonset .ui-button:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #0e2031; } + body .ui-buttonset .ui-button.ui-state-active { + background-color: #1ab394; + color: #ffffff; } + body .ui-togglebutton:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #0e2031; } + body .ui-togglebutton.ui-state-active { + background-color: #1ab394; + color: #ffffff; } + body .ui-splitbutton { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); } + body .ui-splitbutton > .ui-button { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-splitbutton > .ui-button:active { + background-color: #425a70; } + body .ui-splitbutton .ui-splitbutton-menubutton { + height: 2.25em; + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton .ui-menu { + min-width: 100%; } + body .ui-fluid .ui-splitbutton .ui-button:first-child { + width: calc(100% - 2em); } + body .ui-chkbox { + display: inline-block; + vertical-align: middle; + line-height: 1.25em; + width: 1.25em; + height: 1.25em; + cursor: default; } + body .ui-chkbox .ui-chkbox-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + font-size: 1.25em; + margin-left: -2px; + margin-top: -2px; } + body .ui-chkbox .ui-chkbox-box.ui-state-active { + border-color: #2f4050; + background-color: #2f4050; } + body .ui-chkbox .ui-chkbox-box.ui-state-focus { + border-color: #2f4050; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton { + position: relative; + margin: 0 .25em 0 0; + vertical-align: middle; } + body .ui-radiobutton .ui-radiobutton-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + -moz-transition: box-shadow 0.3s; + -o-transition: box-shadow 0.3s; + -webkit-transition: box-shadow 0.3s; + transition: box-shadow 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-focus { + border-color: #2f4050; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-active { + border-color: #2f4050; + background-color: transparent; } + body .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon { + display: block; + box-sizing: border-box; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-size: 1em; + transition: -webkit-transform ease .28s; + transition: transform ease .28s; + -webkit-transform: scale(0); + transform: scale(0); + margin: 0; } + body .ui-radiobutton .ui-radiobutton-box .fa-circle { + background-color: #2f4050; + -webkit-transform: scale(0.5); + transform: scale(0.5); } + body .ui-autocomplete-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-autocomplete-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-autocomplete-panel .ui-autocomplete-list { + padding: 0; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + font-size: 1em; + padding: 0.625em 0.875em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item .ui-autocomplete-query { + font-weight: 700; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item.ui-state-highlight { + color: #ffffff; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-group { + padding: 0.625em 0.875em; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only { + background-color: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + height: 1.5em; + width: 1.5em; + padding: 0; + right: 0; + bottom: 0; + margin-right: 0; + position: absolute; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .ui-button-text { + display: none; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .fa { + color: #757575; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-inputtext { + box-sizing: border-box; + padding: 2px 2px 1px 2px; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-focus { + padding-bottom: 0; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token { + float: none; + display: inline-block; + margin: 0 1px; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token .ui-autocomplete-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-dropdown { + top: .75em; } + body .ui-fluid .ui-autocomplete.ui-autocomplete-dd > .ui-inputtext { + width: 100%; } + body .ui-dropdown { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-dropdown .ui-dropdown-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: 0; + margin-right: 0; } + body .ui-dropdown .ui-dropdown-trigger .fa { + color: #757575; + margin-top: 0; + margin-left: 0; } + body .ui-dropdown .ui-dropdown-label.ui-inputtext { + font: 1em "Roboto", "Helvetica Neue", sans-serif; } + body .ui-dropdown.ui-state-focus { + border-bottom: 2px solid #2f4050; } + body .ui-dropdown.ui-state-focus .ui-dropdown-label { + padding-bottom: 0; } + body .ui-dropdown-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-list { + padding: 0; } + body .ui-dropdown-panel .ui-dropdown-item { + margin: 0; + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-item:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-dropdown-panel .ui-dropdown-item.ui-state-highlight { + background-color: #1ab394; + color: #ffffff; } + body .ui-dropdown-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-dropdown-panel .ui-dropdown-filter-container { + display: block; + border-bottom: 1px solid #bdbdbd; + background-color: #2f4050; + padding: 0.625em 1em; } + body .ui-dropdown-panel .ui-dropdown-filter-container input { + color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container input:focus { + border-bottom-color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container .fa { + top: .325em; + right: .75em; + color: #ffffff; } + body .ui-multiselect { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-multiselect .ui-multiselect-label-container { + padding-right: 1.5em; } + body .ui-multiselect .ui-multiselect-label-container .ui-multiselect-label { + padding: 0px 2px 0px 2px; } + body .ui-multiselect .ui-multiselect-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: .063em; } + body .ui-multiselect .ui-multiselect-trigger .fa { + color: #757575; + margin-top: auto; + margin-left: auto; } + body .ui-multiselect.ui-state-focus { + border-bottom: 2px solid #2f4050; } + body .ui-multiselect-panel.ui-widget { + padding: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + min-width: 12.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; + position: relative; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox { + float: none; + margin: 0 .5em 0 -.125em; + position: static; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-focus { + background-color: #5b6976; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container { + width: 70%; + display: inline-block; + vertical-align: middle; + float: none; + margin-left: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .fa { + top: 0; + left: 0; + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext { + color: #ffffff; + padding-left: 1.5em; + width: 100%; + box-sizing: border-box; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext:focus { + border-bottom-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close { + position: absolute; + right: .5em; + top: .625em; + height: 1.5em; + width: 1.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close span { + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close:hover { + background-color: #5b6976; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item { + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item.ui-state-highlight { + color: #ffffff; } + body .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; + padding: 0; + margin-right: .25em; + background-color: transparent; + color: #212121; + z-index: auto; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-n { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-s { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa { + top: 0px; + height: .5em; + color: #757575; } + body .ui-spinner .ui-spinner-button:enabled:hover, body .ui-spinner .ui-spinner-button:active { + background-color: transparent; } + body .ui-spinner .ui-spinner-up .fa { + top: .25em; } + body .ui-spinner .ui-spinner-down .fa { + top: .167em; } + body .ui-spinner .ui-spinner-input { + padding-right: 30px; } + body .ui-fluid .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; } + body .ui-fluid .ui-spinner .ui-spinner-button .fa { + left: auto; } + body .ui-inputswitch { + height: 14px; + width: 34px !important; + overflow: visible; + background-color: #9e9e9e; + border-color: #9e9e9e; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; } + body .ui-inputswitch .ui-inputswitch-handle { + top: -4px; + background-color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + width: 20px !important; + height: 20px !important; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; } + body .ui-inputswitch .ui-inputswitch-on { + visibility: hidden; } + body .ui-inputswitch .ui-inputswitch-off span, body .ui-inputswitch .ui-inputswitch-on span { + visibility: hidden; } + body .ui-inputswitch.ui-inputswitch-checked { + background-color: #6be7ce; + border-color: #6be7ce; } + body .ui-inputswitch.ui-inputswitch-checked .ui-inputswitch-handle { + background-color: #1ab394; + color: #ffffff; } + body .ui-slider .ui-slider-handle { + background-color: #1ab394; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 1.25em; + height: 1.25em; + transform: scale(0.7); + -moz-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -o-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + body .ui-slider .ui-slider-handle.ui-state-focus { + transform: scale(1); } + body .ui-slider .ui-slider-handle:focus { + outline: 0 none; } + body .ui-slider.ui-slider-horizontal { + height: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-horizontal .ui-slider-handle { + top: -.55em; } + body .ui-slider.ui-slider-vertical { + width: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-vertical .ui-slider-handle { + left: -.55em; } + body .ui-slider .ui-slider-range { + background-color: #1ab394; + color: #ffffff; } + body .ui-slider:not(.ui-state-disabled) .ui-slider-handle:hover { + transform: scale(1); } + body .ui-calendar .ui-datepicker-trigger { + bottom: 2px; + right: 0; + background-color: transparent; + color: #212121; + height: 1.5em; + width: 1.5em; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-calendar .ui-datepicker-trigger .fa { + color: #757575; } + body .ui-calendar .ui-datepicker-trigger:enabled:hover { + background-color: transparent; } + body .ui-fluid .ui-calendar.ui-calendar-w-btn .ui-inputtext { + width: 100%; } + body .ui-datepicker { + padding: 0; + width: 17.5em; } + body .ui-datepicker.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-datepicker .ui-datepicker-header { + padding: 0.625em 1em; + font-size: 1em; + background: #0e2031; + border-color: #0e2031; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + cursor: pointer; + top: .4em; + left: .2em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before { + content: "keyboard_arrow_left"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover { + background-color: #5b6976; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next { + cursor: pointer; + top: .4em; + right: .2em; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before { + content: "keyboard_arrow_right"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover { + background-color: #5b6976; } + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-month, + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-year { + font-size: 14px; } + body .ui-datepicker table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; + font-size: 14px; } + body .ui-datepicker thead tr { + color: #ffffff; + background: #2f4050; } + body .ui-datepicker tbody td { + padding: .25em .125em; + box-sizing: border-box; } + body .ui-datepicker tbody td.ui-datepicker-today a { + color: #ffffff; + background: #557390; } + body .ui-datepicker tbody td.ui-datepicker-today a.ui-state-active { + color: #ffffff; + background-color: #1ab394; + color: #ffffff; } + body .ui-datepicker tbody td a { + padding: .25em; + margin: 0; + text-align: center; + color: #212121; + display: inline-block; + height: 2.250em; + width: 2.250em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + line-height: 1.8em; } + body .ui-datepicker tbody td a.ui-state-active { + color: #ffffff; + background-color: #1ab394; + color: #ffffff; } + body .ui-datepicker tbody td a:not(.ui-state-active):not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datepicker tbody td a span { + display: inline; + padding: 0; + text-align: center; } + body .ui-datepicker .ui-timepicker { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-datepicker .ui-timepicker > div a { + height: 1.5em; } + body .ui-datepicker .ui-timepicker > div a > span { + display: inline-block; + margin-bottom: .25em; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up:before { + content: "keyboard_arrow_up"; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down:before { + content: "keyboard_arrow_down"; } + body #ui-datepicker-div { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-rating { + min-height: 1.5em; } + body .ui-rating .fa-ban { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-ban:before { + content: "cancel"; } + body .ui-rating .fa-star { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star:before { + content: "star"; } + body .ui-rating .fa-star-o { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star-o:before { + content: "star_border"; } + body .ui-chips > ul.ui-inputtext { + padding: 2px 2px 1px 2px; } + body .ui-chips > ul.ui-inputtext.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-chips > ul.ui-inputtext.ui-state-focus { + padding-bottom: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token { + padding-bottom: 2px; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token input:disabled { + width: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-chips > ul.ui-inputtext .ui-chips-token .ui-chips-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-password-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-fileupload .ui-fileupload-buttonbar { + padding: 0.625em 1em; } + body .ui-fileupload .ui-fileupload-buttonbar .fa-arrowreturnthick-1-n:before { + content: "file_upload"; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button { + background-color: #1ab394; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button:enabled:hover { + background-color: #197865; } + body .ui-fileupload .ui-fileupload-content .ui-messages-error .fa { + color: #ffffff; } + body .ui-fileupload-choose:not(.ui-state-disabled):hover.ui-button, + body .ui-fileupload-choose.ui-state-focus.ui-button { + background-color: #179d82; } + body .ui-fileupload-choose:not(.ui-state-disabled):active.ui-button { + background-color: #14866f; } + body .ui-editor-container .ui-editor-toolbar { + background-color: #e8e8e8; } + body .ui-editor-container .ql-picker.ql-expanded .ql-picker-label { + color: #444444; } + body .ui-inputgroup .ui-inputgroup-addon { + border-width: 0 0 1px 0; + border-color: #bdbdbd; + color: #757575; + padding: 2px 2px 1px 2px; + align-self: flex-end; } + body .ui-inputgroup .ui-inputgroup-addon > i { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-self: flex-end; } + body .ui-inputgroup .ui-inputtext { + align-self: flex-end; } + body .ui-inputgroup .md-inputfield { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + display: inherit; } + body .ui-inputgroup .md-inputfield label { + top: 5px; } + body .ui-inputgroup .ui-chkbox, body .ui-inputgroup .ui-radiobutton { + margin-bottom: .125em; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only { + width: 1.643em; + height: 1.643em; + padding: 0; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only .ui-button-icon-left { + margin-left: -.45em; } + body .ui-inputtext.ng-dirty.ng-invalid, + body p-dropdown.ng-dirty.ng-invalid > .ui-dropdown, + body p-autocomplete.ng-dirty.ng-invalid > .ui-autocomplete > .ui-inputtext, + body p-calendar.ng-dirty.ng-invalid > .ui-inputtext, + body p-inputmask.ng-dirty.ng-invalid > .ui-inputtext, + body p-checkbox.ng-dirty.ng-invalid .ui-chkbox-box, + body p-radiobutton.ng-dirty.ng-invalid .ui-radiobutton-box, + body p-inputswitch.ng-dirty.ng-invalid .ui-inputswitch, + body p-listbox.ng-dirty.ng-invalid .ui-inputtext, + body p-multiselect.ng-dirty.ng-invalid > .ui-multiselect, + body p-spinner.ng-dirty.ng-invalid > .ui-inputtext, + body p-selectbutton.ng-dirty.ng-invalid .ui-button, + body p-togglebutton.ng-dirty.ng-invalid .ui-button { + border-bottom-color: #e62a10; } + +@media (max-width: 640px) { + body .ui-buttonset > .ui-button { + display: block; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-buttonset > .ui-button:first-child { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } + body .ui-buttonset > .ui-button:last-child { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton > .ui-button { + display: inline-block; } + body .ui-splitbutton > .ui-button:first-child { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; } + body .ui-splitbutton > .ui-button:last-child { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } } +body .ui-panel { + padding: 0; } + body .ui-panel .ui-panel-titlebar { + border: 0 none; + border-bottom: 1px solid #2f4050; + padding: 0.625em 1em; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-panel .ui-panel-titlebar .ui-panel-title { + line-height: 1.5em; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon { + position: relative; + width: 1.5em; + height: 1.5em; + color: #ffffff; + margin: 0; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon:hover { + background-color: #5b6976; } + body .ui-panel .ui-panel-content { + height: 100%; + box-sizing: border-box; + padding: 0.625em 1em; } + body .ui-panel .ui-panel-footer { + padding: 0.625em 1em; + border: 0 none; + border-top: 1px solid #bdbdbd; + margin: 0; } +body .ui-fieldset { + padding: 0.625em 1em; } + body .ui-fieldset .ui-fieldset-legend { + padding: 0.625em 1em; + padding-left: .125em; + padding-right: .5em; + color: #2f4050; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler { + padding: .5em; + height: 2em; + width: 2em; + background-color: #2f4050; + color: #ffffff; + font-size: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + margin-right: .5em; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler:hover { + background-color: #0e2031; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-legend-text { + color: #2f4050; } + body .ui-fieldset .ui-fieldset-legend.ui-state-focus { + background-color: transparent; } +body .ui-accordion .ui-accordion-header { + background-color: #2f4050; + padding: 0; + color: #ffffff; + font-size: 1em; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-accordion .ui-accordion-header > a { + padding: 0.625em 1em; + color: #ffffff; } + body .ui-accordion .ui-accordion-header > a .ui-accordion-toggle-icon, + body .ui-accordion .ui-accordion-header > a .ui-accordion-header-text { + vertical-align: middle; } + body .ui-accordion .ui-accordion-header:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #0e2031; } + body .ui-accordion .ui-accordion-header.ui-state-active { + background-color: #1ab394; + color: #ffffff; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-accordion .ui-accordion-header.ui-state-active > a { + color: #ffffff; } +body .ui-accordion .ui-accordion-content { + padding: 0.625em 1em; + line-height: 1.5em; } +body .ui-toolbar { + background-color: #0e2031; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + padding: .625em; } +body .ui-tabview { + padding: 0; } + body .ui-tabview .ui-tabview-nav { + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabview .ui-tabview-nav > li { + padding: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabview .ui-tabview-nav > li > a { + padding: 0.625em 1em; } + body .ui-tabview .ui-tabview-nav > li > a:focus { + outline: 0 none; } + body .ui-tabview .ui-tabview-nav > li > .fa-close { + margin: .325em 0 0 0; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + color: #757575; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-left-icon, body .ui-tabview .ui-tabview-nav > li .ui-tabview-right-icon { + color: #757575; + display: inline-block; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-title { + line-height: 1.5em; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li.ui-state-default a { + color: #757575; } + body .ui-tabview .ui-tabview-nav > li:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #ffffff; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active { + background-color: #ffffff; + border-color: #1ab394; + border-style: solid; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active a { + color: #2f4050; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active > .fa-close { + color: #1ab394; } + body .ui-tabview .ui-tabview-nav > li.ui-tabview-outline { + outline: 0 none; + border-color: #6be7ce; } + body .ui-tabview .ui-tabview-panel { + padding: 0.625em 1em; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav > li { + border-style: solid; + border-width: 0 0 2px 0; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav > li { + border-width: 2px 0 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + border-right: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 2px 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav { + padding: 0; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 0 0 2px; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li.ui-state-active > a { + padding-left: 0.875em; } + +@media (max-width: 640px) { + body .ui-toolbar .ui-toolbar-group-right { + margin-top: 1em; } } +body .ui-picklist .ui-picklist-caption { + font-size: 1em; + padding: 0.625em 1em; } +body .ui-picklist .ui-picklist-list { + padding: 0; } +body .ui-picklist .ui-picklist-filter-container .fa { + left: 0.3em; } +body .ui-picklist .ui-picklist-filter-container .ui-picklist-filter { + text-indent: 1.5em; } +body .ui-picklist li.ui-picklist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-picklist li.ui-picklist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-picklist li.ui-picklist-item.ui-state-highlight { + background-color: #1ab394; + color: #ffffff; } +body .ui-picklist .ui-picklist-buttons { + width: 3em; } + body .ui-picklist .ui-picklist-buttons .ui-button.ui-button-icon-only { + width: 2.5em; + margin-right: 0; + display: inline-block; + margin-bottom: .5em; } +body .ui-picklist .ui-picklist-buttons-cell { + text-align: center; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + margin: 0 auto; + display: block; + margin-bottom: .5em; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox { + margin-right: .5em; + vertical-align: top; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox, body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox * { + box-sizing: content-box; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-organizationchart-selectable-node:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-state-highlight .ui-node-toggler i { + color: #0a4438; } +body .ui-organizationchart .ui-organizationchart-line-down { + background-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-left { + border-right: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-top { + border-top: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content { + border-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler { + bottom: -1.3em; + margin-left: -.75em; + color: #bdbdbd; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down:before { + content: "keyboard_arrow_down"; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up:before { + content: "keyboard_arrow_up"; } +body .ui-orderlist .ui-orderlist-caption { + font-size: 1em; + padding: 0.625em 1em; + box-sizing: border-box; } +body .ui-orderlist .ui-orderlist-list { + padding: 0; + box-sizing: border-box; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item.ui-state-highlight { + background-color: #1ab394; + color: #ffffff; } +body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 3.75em; } +body .ui-orderlist .ui-orderlist-controls { + width: 3.75em; + text-align: center; } + body .ui-orderlist .ui-orderlist-controls .ui-button.ui-button-icon-only { + width: 2.5em; + margin-bottom: .5em; + margin-right: 0; } +body .ui-paginator { + background-color: #0e2031; + padding: 0.625em 1em; } + body .ui-paginator > a { + box-sizing: border-box; + color: #ffffff; } + body .ui-paginator > a .fa { + display: none; } + body .ui-paginator > a:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #5b6976; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-next { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-next:before { + content: "navigate_next"; } + body .ui-paginator .ui-paginator-last { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-last:before { + content: "last_page"; } + body .ui-paginator .ui-paginator-prev { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-prev:before { + content: "navigate_before"; } + body .ui-paginator .ui-paginator-first { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-first:before { + content: "first_page"; } + body .ui-paginator .ui-paginator-pages { + vertical-align: middle; + margin: 0 .375em 0 .375em; } + body .ui-paginator .ui-paginator-pages a { + padding: 0; + color: #ffffff; + min-width: 1.5em; + min-height: 1.5em; + line-height: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-pages a:not(.ui-state-active):hover { + background-color: #5b6976; } + body .ui-paginator .ui-paginator-pages a.ui-state-active { + background-color: #1ab394; + color: #ffffff; } +body .ui-datagrid .ui-datagrid-header { + padding: 0.625em 1em; } +body .ui-datagrid .ui-panel .ui-panel-titlebar { + background-color: #ffffff; + color: #212121; + border-color: #bdbdbd; } +body .ui-datalist .ui-datalist-header { + padding: 0.625em 1em; } +body .ui-table .ui-table-caption, +body .ui-table .ui-table-summary { + padding: 0.625em 1em; + text-align: center; + font-weight: normal; } +body .ui-table .ui-table-caption { + border-bottom: 0 none; } +body .ui-table .ui-table-summary { + border-top: 0 none; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tbody > tr > td, +body .ui-table .ui-table-tfoot > tr > td { + padding: 0.625em 1em; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tfoot > tr > td { + font-weight: 400; + background-color: #ffffff; + border: 1px solid #cacaca; } +body .ui-table .ui-sortable-column:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-table .ui-sortable-column.ui-state-highlight { + background-color: #1ab394; + color: #ffffff; + border-top-color: #1ab394; } + body .ui-table .ui-sortable-column.ui-state-highlight .fa { + color: #ffffff; } +body .ui-table .ui-sortable-column .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } +body .ui-table .ui-table-tbody > tr { + background: #ffffff; } + body .ui-table .ui-table-tbody > tr > td { + background: inherit; + border: 1px solid #cacaca; } + body .ui-table .ui-table-tbody > tr.ui-state-highlight { + background-color: #1ab394; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr.ui-contextmenu-selected { + background-color: #1ab394; + color: #ffffff; } +body .ui-table .ui-table-tbody > tr:nth-child(odd) { + background-color: #f4f4f4; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-state-highlight { + background-color: #1ab394; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-contextmenu-selected { + background-color: #1ab394; + color: #ffffff; } +body .ui-table.ui-table-hoverable-rows .ui-table-tbody > tr:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable .ui-datatable-header, +body .ui-datatable .ui-datatable-footer { + padding: 0.625em 1em; } + body .ui-datatable .ui-datatable-header .ui-inputtext, + body .ui-datatable .ui-datatable-footer .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-header .ui-inputtext:focus, + body .ui-datatable .ui-datatable-footer .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-paginator { + padding: 0.625em 1em; } +body .ui-datatable .ui-datatable-thead > tr { + border-color: #cacaca; } + body .ui-datatable .ui-datatable-thead > tr th { + padding: .625em .875em; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-sortable-column:not(.ui-state-active):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datatable .ui-datatable-thead > tr th .ui-column-title { + display: inline-block; + vertical-align: middle; } + body .ui-datatable .ui-datatable-thead > tr th .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight { + background-color: #1ab394; + color: #ffffff; + border-top-color: #1ab394; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .fa, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .fa { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext.ui-state-focus, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext.ui-state-focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-selection-column .ui-chkbox-box { + box-sizing: content-box; } +body .ui-datatable tfoot th { + padding: .625em .875em; + border: 1px solid #bdbdbd; + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-datatable-even { + background-color: #f4f4f4; } + body .ui-datatable .ui-datatable-data tr.ui-datatable-even.ui-state-highlight { + background-color: #1ab394; + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr { + border: 1px solid #cacaca; } + body .ui-datatable .ui-datatable-data tr td { + padding: .625em .875em; } + body .ui-datatable .ui-datatable-data tr td .ui-row-toggler { + display: inherit; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td input.ui-cell-editor { + padding: 2px 2px 1px 2px; + font-size: 1em; } + body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-chkbox-box, body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-radiobutton-box { + box-sizing: content-box; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight { + background-color: #1ab394; + border-color:   #1ab394; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr .ui-cell-editor-input input { + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext, + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext.ui-state-error { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box .ui-radiobutton-icon { + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box { + border-color: #ffffff; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box .ui-chkbox-icon { + color: #757575; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-rowgroup-header td a { + height: 1.5em; + vertical-align: top; + display: inline-block; } +body .ui-datatable .ui-datatable-data.ui-datatable-hoverable-rows > tr.ui-widget-content:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer { + border: 0 none; + background-color: transparent; } + body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header .ui-datatable-data td, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer .ui-datatable-data td { + color: #212121; } +body .ui-datatable.ui-datatable-scrollable thead tr th { + color: #212121; + font-size: 16px; } +body .ui-datatable.ui-datatable-scrollable tfoot tr td { + color: #212121; + font-size: 16px; } +body .ui-datatable .ui-datatable-loading { + opacity: 0.3; + filter: alpha(opacity=30); } +body .ui-datatable .ui-datatable-loading-content { + top: 35%; } + body .ui-datatable .ui-datatable-loading-content .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-animation-delay: 0; + -webkit-animation-duration: 1000ms; + -webkit-animation-name: spin; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-delay: 0; + -moz-animation-duration: 1000ms; + -moz-animation-name: spin; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + animation-delay: 0; + animation-duration: 1000ms; + animation-name: spin; + animation-iteration-count: infinite; + animation-timing-function: linear; + font-size: 2em; } + body .ui-datatable .ui-datatable-loading-content .fa:before { + content: "refresh"; } +body .ui-carousel { + padding: 0; } + body .ui-carousel .ui-carousel-header { + padding: 0.625em 1em; + font-size: 1em; + overflow: visible; } + body .ui-carousel .ui-carousel-header .ui-carousel-header-title { + overflow: visible; } + body .ui-carousel .ui-carousel-header .fa { + color: #ffffff; } + body .ui-carousel .ui-carousel-header .ui-carousel-button { + margin: -1px 0 0 0; } + body .ui-carousel .ui-carousel-header .ui-carousel-page-links { + margin: -1px 0 0 0; } +body .ui-tree { + padding: 0.625em 1em/2; } + body .ui-tree .ui-treenode-children { + padding-left: 1.75em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin-right: .5em; } + body .ui-tree .ui-treenode-content .ui-chkbox .fa { + color: #757575; } + body .ui-tree .ui-treenode-content .ui-tree-toggler { + vertical-align: middle; + margin: 0 0 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-icon { + vertical-align: middle; + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-label { + margin: 0; + vertical-align: middle; } + body .ui-tree .ui-treenode-content.ui-treenode-selectable .ui-treenode-label:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal { + padding-left: 0; + padding-right: 0; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content { + background-color: #ffffff; + border: 1px solid #bdbdbd; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-tree-toggler { + vertical-align: top; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-treenode-icon { + vertical-align: top; + margin-right: .25em; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-treenode-selectable:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-state-highlight { + background-color: #1ab394; + color: #ffffff; } +body .ui-tree-draghelper { + border: 1px solid #2f4050; } +body .fc .fc-toolbar .ui-icon-circle-triangle-e { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-icon-circle-triangle-w { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-state-active { + background-color: #1ab394; } +body .fc .fc-event { + background-color: #5b6976; + color: #ffffff; } +body .fc table { + box-sizing: border-box; } +body .ui-treetable .ui-treetable-header { + padding: 0.625em 1em; + font-size: 1em; } +body .ui-treetable thead tr { + border-bottom: 1px solid #bdbdbd; } + body .ui-treetable thead tr th { + background-color: #ffffff; + padding: .625em .875em; + border: 0 none; } + body .ui-treetable thead tr th .fa { + color: #757575; } + body .ui-treetable thead tr th:first-child { + border-left: 1px solid #bdbdbd; } + body .ui-treetable thead tr th:last-child { + border-right: 1px solid #bdbdbd; } + body .ui-treetable thead tr th .ui-sortable-column-icon { + vertical-align: middle; + margin: -.25em 0 0 0; } + body .ui-treetable thead tr th.ui-state-active { + background-color: #1ab394; + color: #ffffff; } + body .ui-treetable thead tr th.ui-state-active .fa { + color: #ffffff; } + body .ui-treetable thead tr th .ui-column-resizer { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1em; + color: #757575; } + body .ui-treetable thead tr th .ui-column-resizer:before { + content: "code"; } +body .ui-treetable tfoot td { + border: 0 none; + padding: .625em .875em; } +body .ui-treetable tbody .ui-treetable-row { + background-color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row td { + border: 0 none; + padding: .625em .875em; } + body .ui-treetable tbody .ui-treetable-row td .ui-treetable-toggler { + display: inline-block; + vertical-align: middle; + margin: 0 .167em; + float: none; } + body .ui-treetable tbody .ui-treetable-row td .ui-chkbox { + margin-right: .5em; } + body .ui-treetable tbody .ui-treetable-row td.ui-treetable-child-table-container { + padding: 0; } + body .ui-treetable tbody .ui-treetable-row.ui-treetable-row-selectable:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight { + background-color: #1ab394; + color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } +body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-header, body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-footer { + background-color: transparent; + border: 0 none; } +body .ui-treetable.ui-treetable-scrollable thead th { + background-color: #ffffff; + color: #212121; } + +@media (max-width: 40em) { + body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 100%; } } +@media (max-width: 640px) { + body .ui-picklist.ui-picklist-responsive .ui-picklist-list-wrapper { + margin-bottom: .5em; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons { + padding: .5em 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + display: inline-block; + margin-right: .25em; + margin-bottom: 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right:before { + content: "skip_previous"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left:before { + content: "skip_next"; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls { + text-align: center; + width: auto; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button { + margin-right: .25em; } } +body .ui-breadcrumb { + padding: 0.625em 1em; } + body .ui-breadcrumb ul li a { + color: #ffffff; + font-size: 1em; } +body .ui-steps { + position: relative; } + body .ui-steps .ui-steps-item { + background-color: transparent; } + body .ui-steps .ui-steps-item.ui-state-disabled { + opacity: 1; + filter: alpha(opacity=100); } + body .ui-steps .ui-steps-item .ui-menuitem-link { + display: inline-block; + text-align: left; + background-color: #ffffff; + overflow: hidden; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number { + display: inline-block; + background-color: #757575; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: .25em .75em; + font-size: 1em; + color: #ffffff; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: inline; + margin-left: .625em; + color: #757575; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-number { + background-color: #1ab394; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-title { + font-weight: 700; + color: #212121; } + body .ui-steps .ui-steps-item:last-child .ui-menuitem-link { + display: block; } + body .ui-steps:before { + content: ' '; + border: 1px solid #bdbdbd; + width: 90%; + top: 45%; + left: 0; + display: block; + position: absolute; } +body .ui-menu .ui-menuitem-link, +body .ui-menubar .ui-menuitem-link, +body .ui-tieredmenu .ui-menuitem-link, +body .ui-contextmenu .ui-menuitem-link, +body .ui-megamenu .ui-menuitem-link, +body .ui-slidemenu .ui-menuitem-link { + padding: .625em 1em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-menu .ui-menuitem-link:hover, + body .ui-menubar .ui-menuitem-link:hover, + body .ui-tieredmenu .ui-menuitem-link:hover, + body .ui-contextmenu .ui-menuitem-link:hover, + body .ui-megamenu .ui-menuitem-link:hover, + body .ui-slidemenu .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link:focus, + body .ui-menubar .ui-menuitem-link:focus, + body .ui-tieredmenu .ui-menuitem-link:focus, + body .ui-contextmenu .ui-menuitem-link:focus, + body .ui-megamenu .ui-menuitem-link:focus, + body .ui-slidemenu .ui-menuitem-link:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link .ui-menuitem-text, + body .ui-menubar .ui-menuitem-link .ui-menuitem-text, + body .ui-tieredmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-contextmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-megamenu .ui-menuitem-link .ui-menuitem-text, + body .ui-slidemenu .ui-menuitem-link .ui-menuitem-text { + vertical-align: middle; } +body .ui-menubar .ui-submenu-list, body .ui-contextmenu .ui-submenu-list, +body .ui-slidemenu .ui-submenu-list, body .ui-tieredmenu .ui-submenu-list { + padding: .5em 0; } + body .ui-menubar .ui-submenu-list .ui-menuitem, body .ui-contextmenu .ui-submenu-list .ui-menuitem, + body .ui-slidemenu .ui-submenu-list .ui-menuitem, body .ui-tieredmenu .ui-submenu-list .ui-menuitem { + margin: 0; } +body .ui-menu { + width: 100%; + padding: .5em 0; } + body .ui-menu .ui-menuitem { + margin: 0; } + body .ui-menu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menu.ui-shadow, body .ui-menu .ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-menu .ui-submenu-header { + border: 0 none; + margin: 0; + padding: .625em 1em; + border-radius: 0; } +body .ui-menubar { + padding: 0; } + body .ui-menubar .ui-menubar-root-list > .ui-menuitem > .ui-menuitem-link { + padding: .625em 1em; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } +body .ui-contextmenu { + padding: .5em 0; } + body .ui-contextmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-contextmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-slidemenu { + padding: .5em 0; } + body .ui-slidemenu .ui-menuitem { + margin: 0; } + body .ui-slidemenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-slidemenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-slidemenu .ui-slidemenu-backward { + margin-bottom: .4em; + padding: 0.625em 1em; + width: 100%; + background-color: #2f4050; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border: 0 none; } + body .ui-slidemenu .ui-slidemenu-backward:hover { + background-color: #1c2630; } +body .ui-tieredmenu { + padding: .5em 0; } + body .ui-tieredmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-tieredmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-tabmenu { + padding: 0; } + body .ui-tabmenu .ui-tabmenu-nav { + padding: 0; + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem { + top: auto; + margin: 0 .25em 0 0; + padding: 0; + border-style: solid; + border-width: 0 0 2px 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a { + padding: 0.625em 1em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a:focus { + outline: 0 none; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon, body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-text { + float: none; + display: inline-block; + vertical-align: middle; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon { + font-weight: 1em; + margin-right: .25em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a .fa { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem:not(.ui-state-active):hover { + background-color: #ffffff; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active { + background-color: #ffffff; + border-color: #1ab394; + border-style: solid; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a { + color: #2f4050; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a .fa { + color: #2f4050; } +body .ui-megamenu { + padding: 0; } + body .ui-megamenu .ui-megamenu-submenu-header { + border-radius: 0; + padding: .5em; } + body .ui-megamenu .ui-submenu-list { + padding: 0; + border: 0 none; } + body .ui-megamenu .ui-submenu-list .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-panelmenu .ui-panelmenu-header { + background-color: #2f4050; + margin-bottom: 1px; } + body .ui-panelmenu .ui-panelmenu-header a { + padding: .625em 1em; + color: #ffffff; + font-size: 16px; + border-bottom: 1px solid #ffffff; } + body .ui-panelmenu .ui-panelmenu-header .fa { + color: #ffffff; + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header .ui-menuitem-text { + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active { + background-color: #1ab394; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + margin-bottom: 0; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active a, body .ui-panelmenu .ui-panelmenu-header.ui-state-active .fa { + color: #ffffff; } +body .ui-panelmenu .ui-panelmenu-content { + padding: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem { + margin: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link { + border: 0 none; + padding: .625em 1em; + width: 100%; + min-height: 2.750em; + box-sizing: border-box; + color: #212121; + line-height: 1.5em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + position: relative; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .ui-menuitem-text { + display: inline-block; + vertical-align: middle; + float: none; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .fa { + position: static; + display: inline-block; + vertical-align: middle; } +body .ui-panelmenu .ui-menu-parent .ui-menu-list { + margin-left: 28px; } + +@media (max-width: 640px) { + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: none; } } +body { + /* Messages */ } + body .ui-messages { + padding: 0.625em 1em; } + body .ui-messages ul { + display: inline-block; + margin-left: 0; } + body .ui-messages.ui-messages-info { + background-color: #2196F3; + border-color: #2196F3; + color: #ffffff; } + body .ui-messages.ui-messages-warn { + background-color: #ffc107; + border-color: #ffc107; + color: #ffffff; } + body .ui-messages.ui-messages-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-messages.ui-messages-fatal { + background-color: #212121; + border-color: #212121; + color: #ffffff; } + body .ui-messages.ui-messages-success { + background-color: #8BC34A; + border-color: #8BC34A; + color: #ffffff; } + body .ui-messages .ui-messages-close { + text-decoration: none; + color: #fff; + right: .25em; } + body .ui-messages .ui-messages-icon { + background: none; + color: #fff; + margin-top: -2px; } + body .ui-messages .ui-messages-icon.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-info-circle:before { + content: "info"; } + body .ui-messages .ui-messages-icon.fa-warning { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-warning:before { + content: "warning"; } + body .ui-messages .ui-messages-icon.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-close:before { + content: "error_outline"; } + body .ui-messages .ui-messages-icon.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-check:before { + content: "check_circle"; } + body .ui-growl { + top: 90px; } + body .ui-growl > .ui-growl-item-container { + opacity: 1; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-info { + background-color: #2196F3; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-warn { + background-color: #ffc107; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-error { + background-color: #e62a10; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-fatal { + background-color: #212121; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-success { + background-color: #8BC34A; } + body .ui-growl > .ui-growl-item-container.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + body .ui-growl .ui-growl-item .ui-growl-image { + background: none; + color: #ffffff; + font-size: 36px; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle:before { + content: "info"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle:before { + content: "warning"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close:before { + content: "error_outline"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check:before { + content: "check_circle"; } + body .ui-growl .ui-growl-item .ui-growl-message { + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 24px; + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close:before { + content: "close"; } + +body .ui-dialog.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-dialog .ui-dialog-titlebar { + background-color: #ffffff; + color: #212121; + padding: 0.625em 1em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-title { + font-size: 1.25em; + letter-spacing: .005em; + margin-top: .25em; + line-height: 2em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon { + border: 0 none; + padding: 0; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + height: 1.5em; + width: 1.5em; + text-align: center; + margin-top: .5em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:hover, body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa { + color: #757575; + display: inline-block; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-extlink:before { + content: "fullscreen"; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-newwin:before { + content: "fullscreen_exit"; } +body .ui-dialog .ui-dialog-content { + padding: 0.625em 1em; } +body .ui-dialog .ui-dialog-footer { + text-align: right; + border: 0 none; + border-top: 1px solid #bdbdbd; } + body .ui-dialog .ui-dialog-footer .ui-button { + background-color: #ffffff; + color: #212121; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: auto; } + body .ui-dialog .ui-dialog-footer .ui-button .fa { + color: #757575; } + body .ui-dialog .ui-dialog-footer .ui-button:hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-dialog .ui-confirm-dialog-severity { + margin: 0px .75em; } +body .ui-lightbox.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-lightbox .ui-lightbox-caption { + padding: 0.625em 1em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-caption-text { + margin: 0; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + padding: 0; + margin: 0; + width: 1.5em; + height: 1.5em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close:hover { + background-color: #5b6976; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } +body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left { + top: 40%; } + body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right .fa, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left .fa { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 3em; + color: #5b6976; } +body .ui-overlaypanel.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-overlaypanel .ui-overlaypanel-close { + background-color: #1ab394; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + right: -16px; + top: -16px; + width: 2em; + height: 2em; + line-height: 2em; + text-align: center; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-overlaypanel .ui-overlaypanel-close span { + color: #ffffff; + line-height: inherit; } + body .ui-overlaypanel .ui-overlaypanel-close:hover { + background-color: #197865; } +body .ui-tooltip { + opacity: 0.9; + filter: alpha(opacity=90); } + body .ui-tooltip .ui-tooltip-text { + background-color: #323232; } + body .ui-tooltip.ui-tooltip-top .ui-tooltip-arrow { + border-top-color: #323232; } + body .ui-tooltip.ui-tooltip-bottom .ui-tooltip-arrow { + border-bottom-color: #323232; } + body .ui-tooltip.ui-tooltip-left .ui-tooltip-arrow { + border-left-color: #323232; } + body .ui-tooltip.ui-tooltip-right .ui-tooltip-arrow { + border-right-color: #323232; } + +body .ui-draggable-dragging.ui-state-default { + padding: 0.625em 1em !important; + background-color: #2f4050; } +body .jqplot-target { + font-family: "Roboto","Helvetica Neue",sans-serif; } +body .ui-progressbar { + height: .5em; + background-color: #5b6976; + overflow: hidden; + border: 0 none; } + body .ui-progressbar .ui-progressbar-value { + height: .5em; } + body .ui-progressbar .ui-progressbar-label { + color: #ffffff; + display: none !important; } +body .ui-galleria .ui-galleria-nav-prev { + left: 0; } +body .ui-galleria .ui-galleria-nav-next { + right: 0; } +body .ui-inplace .ui-inplace-display { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-inplace .ui-inplace-display:hover { + background-color: #e8e8e8; } +body .ui-terminal .ui-terminal-input { + font-size: 16px; } diff --git a/src/assets/theme/theme-dark-green.scss b/src/assets/theme/theme-dark-green.scss new file mode 100644 index 0000000..ae5e047 --- /dev/null +++ b/src/assets/theme/theme-dark-green.scss @@ -0,0 +1,9 @@ +$primaryColor: #2f4050; +$primaryDarkColor: #0e2031; +$primaryLightColor: #5b6976; +$accentColor: #1ab394; +$accentDarkColor: #197865; +$accentLightColor: #6be7ce; +$accentTextColor: #ffffff; + +@import '../sass/theme/_theme'; \ No newline at end of file diff --git a/src/assets/theme/theme-green.css b/src/assets/theme/theme-green.css new file mode 100644 index 0000000..8a78407 --- /dev/null +++ b/src/assets/theme/theme-green.css @@ -0,0 +1,6153 @@ +@charset "UTF-8"; +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +.fa-sort:before { + content: "sort"; } + +.fa-sort-asc:before { + content: "keyboard_arrow_up"; } + +.fa-sort-desc:before { + content: "keyboard_arrow_down"; } + +.fa-angle-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-up:before { + content: "play_arrow"; } + +.fa-angle-double-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-up:before { + content: "skip_next"; } + +.fa-angle-down { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .fa-angle-down:before { + content: "play_arrow"; } + +.fa-angle-double-down { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-down:before { + content: "skip_previous"; } + +.fa-angle-right:before { + content: "play_arrow"; } + +.fa-angle-double-right:before { + content: "fast_forward"; } + +.fa-angle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-angle-left:before { + content: "play_arrow"; } + +.fa-angle-double-left:before { + content: "fast_rewind"; } + +.fa-check:before { + content: "check"; } + +.fa-caret-up:before { + content: "keyboard_arrow_up"; } + +.fa-caret-down:before { + content: "keyboard_arrow_down"; } + +.fa-caret-right:before { + content: "keyboard_arrow_right"; } + +.fa-caret-left:before { + content: "keyboard_arrow_left"; } + +.fa-search:before { + content: "search"; } + +.fa-close:before { + content: "close"; } + +.fa-minus:before { + content: "remove"; } + +.fa-plus:before { + content: "add"; } + +.fa-check:before { + content: "check"; } + +.fa-info-circle:before { + content: "info"; } + +.fa-upload:before { + content: "file_upload"; } + +.fa-chevron-circle-left:before { + content: "keyboard_arrow_left"; } + +.fa-chevron-circle-right:before { + content: "keyboard_arrow_right"; } + +.fa-chevron-circle-down:before { + content: "keyboard_arrow_down"; } + +.fa-chevron-circle-up:before { + content: "keyboard_arrow_up"; } + +.fa-home:before { + content: "home"; } + +.fa-chevron-right:before { + content: "chevron_right"; } + +.fa-chevron-left:before { + content: "chevron_left"; } + +.fa-circle-o:before { + content: "radio_button_unchecked"; } + +.fa-dot-circle-o:before { + content: "radio_button_checked"; } + +.fa-arrow-circle-right:before { + content: "play_circle_outline"; } + +.fa-arrow-circle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-arrow-circle-left:before { + content: "play_circle_outline"; } + +.fa-calendar:before { + content: "date_range"; } + +.fa-arrow-down:before { + content: "arrow_downward"; } + +.fa-arrow-up:before { + content: "arrow_upward"; } + +.ui-icon-carat-2-n-s:before { + content: "sort"; } + +.ui-icon-triangle-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-triangle-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-triangle-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-triangle-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-carat-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-carat-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-carat-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-carat-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-arrow-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrow-1-n:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-n:before { + content: "skip_next"; } + +.ui-icon-arrow-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrow-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-s { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-s:before { + content: "skip_previous"; } + +.ui-icon-arrow-1-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-arrow-1-w:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-w:before { + content: "fast_rewind"; } + +.ui-icon-arrow-1-e:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-e:before { + content: "fast_forward"; } + +.ui-icon-arrowthick-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrowthick-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowthick-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowthick-1-n:before { + content: "play_arrow"; } + +.ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-circle-triangle-s:before { + content: "play_circle_outline"; } + +.ui-icon-radio-off:before { + content: "radio_button_unchecked"; } + +.ui-icon-radio-on:before { + content: "radio_button_checked"; } + +.ui-icon-folder-collapsed:before { + content: "folder"; } + +.ui-icon-document:before { + content: "content_paste"; } + +.ui-icon-video:before { + content: "movie"; } + +.ui-icon-music:before { + content: "music_note"; } + +.ui-icon-plus:before { + content: "add"; } + +.ui-icon-minus:before { + content: "remove"; } + +.ui-icon-plusthick:before { + content: "add"; } + +.ui-icon-minusthick:before { + content: "remove"; } + +.ui-icon-pencil:before { + content: "edit"; } + +.ui-icon-closethick:before { + content: "close"; } + +.ui-icon-circle-close:before { + content: "cancel"; } + +.ui-icon-gear:before { + content: "settings"; } + +.ui-icon-calendar:before { + content: "date_range"; } + +.ui-icon-trash:before { + content: "delete_forever"; } + +.ui-icon-notice:before { + content: "error_outline"; } + +.ui-icon-alert:before { + content: "warning"; } + +.ui-icon-circle-zoomin:before { + content: "zoom_in"; } + +.ui-icon-circle-zoomout:before { + content: "zoom_out"; } + +.ui-icon-circle-arrow-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-arrow-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-arrow-w:before { + content: "play_circle_outline"; } + +.ui-icon-3d-rotation:before { + content: "3d_rotation"; } + +.ui-icon-ac-unit:before { + content: "ac_unit"; } + +.ui-icon-access-alarm:before { + content: "access_alarm"; } + +.ui-icon-access-alarms:before { + content: "access_alarms"; } + +.ui-icon-access-time:before { + content: "access_time"; } + +.ui-icon-accessibility:before { + content: "accessibility"; } + +.ui-icon-accessible:before { + content: "accessible"; } + +.ui-icon-account-balance:before { + content: "account_balance"; } + +.ui-icon-account-balance-wallet:before { + content: "account_balance_wallet"; } + +.ui-icon-account-box:before { + content: "account_box"; } + +.ui-icon-account-circle:before { + content: "account_circle"; } + +.ui-icon-add:before { + content: "add"; } + +.ui-icon-add-a-photo:before { + content: "add_a_photo"; } + +.ui-icon-add-alarm:before { + content: "add_alarm"; } + +.ui-icon-add-alert:before { + content: "add_alert"; } + +.ui-icon-add-box:before { + content: "add_box"; } + +.ui-icon-add-circle:before { + content: "add_circle"; } + +.ui-icon-add-circle-outline:before { + content: "add_circle_outline"; } + +.ui-icon-add-location:before { + content: "add_location"; } + +.ui-icon-add-shopping-cart:before { + content: "add_shopping_cart"; } + +.ui-icon-add-to-photos:before { + content: "add_to_photos"; } + +.ui-icon-add-to-queue:before { + content: "add_to_queue"; } + +.ui-icon-adjust:before { + content: "adjust"; } + +.ui-icon-airline-seat-flat:before { + content: "airline_seat_flat"; } + +.ui-icon-airline-seat-flat-angled:before { + content: "airline_seat_flat_angled"; } + +.ui-icon-airline-seat-individual-suite:before { + content: "airline_seat_individual_suite"; } + +.ui-icon-airline-seat-legroom-extra:before { + content: "airline_seat_legroom_extra"; } + +.ui-icon-airline-seat-legroom-normal:before { + content: "airline_seat_legroom_normal"; } + +.ui-icon-airline-seat-legroom-reduced:before { + content: "airline_seat_legroom_reduced"; } + +.ui-icon-airline-seat-recline-extra:before { + content: "airline_seat_recline_extra"; } + +.ui-icon-airline-seat-recline-normal:before { + content: "airline_seat_recline_normal"; } + +.ui-icon-airplanemode-active:before { + content: "airplanemode_active"; } + +.ui-icon-airplanemode-inactive:before { + content: "airplanemode_inactive"; } + +.ui-icon-airplay:before { + content: "airplay"; } + +.ui-icon-airport-shuttle:before { + content: "airport_shuttle"; } + +.ui-icon-alarm:before { + content: "alarm"; } + +.ui-icon-alarm-add:before { + content: "alarm_add"; } + +.ui-icon-alarm-off:before { + content: "alarm_off"; } + +.ui-icon-alarm-on:before { + content: "alarm_on"; } + +.ui-icon-album:before { + content: "album"; } + +.ui-icon-all-inclusive:before { + content: "all_inclusive"; } + +.ui-icon-all-out:before { + content: "all_out"; } + +.ui-icon-android:before { + content: "android"; } + +.ui-icon-announcement:before { + content: "announcement"; } + +.ui-icon-apps:before { + content: "apps"; } + +.ui-icon-archive:before { + content: "archive"; } + +.ui-icon-arrow-back:before { + content: "arrow_back"; } + +.ui-icon-arrow-downward:before { + content: "arrow_downward"; } + +.ui-icon-arrow-drop-down:before { + content: "arrow_drop_down"; } + +.ui-icon-arrow-drop-down-circle:before { + content: "arrow_drop_down_circle"; } + +.ui-icon-arrow-drop-up:before { + content: "arrow_drop_up"; } + +.ui-icon-arrow-forward:before { + content: "arrow_forward"; } + +.ui-icon-arrow-upward:before { + content: "arrow_upward"; } + +.ui-icon-art-track:before { + content: "art_track"; } + +.ui-icon-aspect-ratio:before { + content: "aspect_ratio"; } + +.ui-icon-assessment:before { + content: "assessment"; } + +.ui-icon-assignment:before { + content: "assignment"; } + +.ui-icon-assignment-ind:before { + content: "assignment_ind"; } + +.ui-icon-assignment-late:before { + content: "assignment_late"; } + +.ui-icon-assignment-return:before { + content: "assignment_return"; } + +.ui-icon-assignment-returned:before { + content: "assignment_returned"; } + +.ui-icon-assignment-turned-in:before { + content: "assignment_turned_in"; } + +.ui-icon-assistant:before { + content: "assistant"; } + +.ui-icon-assistant-photo:before { + content: "assistant_photo"; } + +.ui-icon-attach-file:before { + content: "attach_file"; } + +.ui-icon-attach-money:before { + content: "attach_money"; } + +.ui-icon-attachment:before { + content: "attachment"; } + +.ui-icon-audiotrack:before { + content: "audiotrack"; } + +.ui-icon-autorenew:before { + content: "autorenew"; } + +.ui-icon-av-timer:before { + content: "av_timer"; } + +.ui-icon-backspace:before { + content: "backspace"; } + +.ui-icon-backup:before { + content: "backup"; } + +.ui-icon-battery-alert:before { + content: "battery_alert"; } + +.ui-icon-battery-charging-full:before { + content: "battery_charging_full"; } + +.ui-icon-battery-full:before { + content: "battery_full"; } + +.ui-icon-battery-std:before { + content: "battery_std"; } + +.ui-icon-battery-unknown:before { + content: "battery_unknown"; } + +.ui-icon-beach-access:before { + content: "beach_access"; } + +.ui-icon-beenhere:before { + content: "beenhere"; } + +.ui-icon-block:before { + content: "block"; } + +.ui-icon-bluetooth:before { + content: "bluetooth"; } + +.ui-icon-bluetooth-audio:before { + content: "bluetooth_audio"; } + +.ui-icon-bluetooth-connected:before { + content: "bluetooth_connected"; } + +.ui-icon-bluetooth-disabled:before { + content: "bluetooth_disabled"; } + +.ui-icon-bluetooth-searching:before { + content: "bluetooth_searching"; } + +.ui-icon-blur-circular:before { + content: "blur_circular"; } + +.ui-icon-blur-linear:before { + content: "blur_linear"; } + +.ui-icon-blur-off:before { + content: "blur_off"; } + +.ui-icon-blur-on:before { + content: "blur_on"; } + +.ui-icon-book:before { + content: "book"; } + +.ui-icon-bookmark:before { + content: "bookmark"; } + +.ui-icon-bookmark-border:before { + content: "bookmark_border"; } + +.ui-icon-border-all:before { + content: "border_all"; } + +.ui-icon-border-bottom:before { + content: "border_bottom"; } + +.ui-icon-border-clear:before { + content: "border_clear"; } + +.ui-icon-border-color:before { + content: "border_color"; } + +.ui-icon-border-horizontal:before { + content: "border_horizontal"; } + +.ui-icon-border-inner:before { + content: "border_inner"; } + +.ui-icon-border-left:before { + content: "border_left"; } + +.ui-icon-border-outer:before { + content: "border_outer"; } + +.ui-icon-border-right:before { + content: "border_right"; } + +.ui-icon-border-style:before { + content: "border_style"; } + +.ui-icon-border-top:before { + content: "border_top"; } + +.ui-icon-border-vertical:before { + content: "border_vertical"; } + +.ui-icon-branding-watermark:before { + content: "branding_watermark"; } + +.ui-icon-brightness-1:before { + content: "brightness_1"; } + +.ui-icon-brightness-2:before { + content: "brightness_2"; } + +.ui-icon-brightness-3:before { + content: "brightness_3"; } + +.ui-icon-brightness-4:before { + content: "brightness_4"; } + +.ui-icon-brightness-5:before { + content: "brightness_5"; } + +.ui-icon-brightness-6:before { + content: "brightness_6"; } + +.ui-icon-brightness-7:before { + content: "brightness_7"; } + +.ui-icon-brightness-auto:before { + content: "brightness_auto"; } + +.ui-icon-brightness-high:before { + content: "brightness_high"; } + +.ui-icon-brightness-low:before { + content: "brightness_low"; } + +.ui-icon-brightness-medium:before { + content: "brightness_medium"; } + +.ui-icon-broken-image:before { + content: "broken_image"; } + +.ui-icon-brush:before { + content: "brush"; } + +.ui-icon-bubble-chart:before { + content: "bubble_chart"; } + +.ui-icon-bug-report:before { + content: "bug_report"; } + +.ui-icon-build:before { + content: "build"; } + +.ui-icon-burst-mode:before { + content: "burst_mode"; } + +.ui-icon-business:before { + content: "business"; } + +.ui-icon-business-center:before { + content: "business_center"; } + +.ui-icon-cached:before { + content: "cached"; } + +.ui-icon-cake:before { + content: "cake"; } + +.ui-icon-call:before { + content: "call"; } + +.ui-icon-call-end:before { + content: "call_end"; } + +.ui-icon-call-made:before { + content: "call_made"; } + +.ui-icon-call-merge:before { + content: "call_merge"; } + +.ui-icon-call-missed:before { + content: "call_missed"; } + +.ui-icon-call-missed-outgoing:before { + content: "call_missed_outgoing"; } + +.ui-icon-call-received:before { + content: "call_received"; } + +.ui-icon-call-split:before { + content: "call_split"; } + +.ui-icon-call-to-action:before { + content: "call_to_action"; } + +.ui-icon-camera:before { + content: "camera"; } + +.ui-icon-camera-alt:before { + content: "camera_alt"; } + +.ui-icon-camera-enhance:before { + content: "camera_enhance"; } + +.ui-icon-camera-front:before { + content: "camera_front"; } + +.ui-icon-camera-rear:before { + content: "camera_rear"; } + +.ui-icon-camera-roll:before { + content: "camera_roll"; } + +.ui-icon-cancel:before { + content: "cancel"; } + +.ui-icon-card-giftcard:before { + content: "card_giftcard"; } + +.ui-icon-card-membership:before { + content: "card_membership"; } + +.ui-icon-card-travel:before { + content: "card_travel"; } + +.ui-icon-casino:before { + content: "casino"; } + +.ui-icon-cast:before { + content: "cast"; } + +.ui-icon-cast-connected:before { + content: "cast_connected"; } + +.ui-icon-center-focus-strong:before { + content: "center_focus_strong"; } + +.ui-icon-center-focus-weak:before { + content: "center_focus_weak"; } + +.ui-icon-change-history:before { + content: "change_history"; } + +.ui-icon-chat:before { + content: "chat"; } + +.ui-icon-chat-bubble:before { + content: "chat_bubble"; } + +.ui-icon-chat-bubble-outline:before { + content: "chat_bubble_outline"; } + +.ui-icon-check:before { + content: "check"; } + +.ui-icon-check-box:before { + content: "check_box"; } + +.ui-icon-check-box-outline-blank:before { + content: "check_box_outline_blank"; } + +.ui-icon-check-circle:before { + content: "check_circle"; } + +.ui-icon-chevron-left:before { + content: "chevron_left"; } + +.ui-icon-chevron-right:before { + content: "chevron_right"; } + +.ui-icon-child-care:before { + content: "child_care"; } + +.ui-icon-child-friendly:before { + content: "child_friendly"; } + +.ui-icon-chrome-reader-mode:before { + content: "chrome_reader_mode"; } + +.ui-icon-class:before { + content: "class"; } + +.ui-icon-clear:before { + content: "clear"; } + +.ui-icon-clear-all:before { + content: "clear_all"; } + +.ui-icon-close:before { + content: "close"; } + +.ui-icon-closed-caption:before { + content: "closed_caption"; } + +.ui-icon-cloud:before { + content: "cloud"; } + +.ui-icon-cloud-circle:before { + content: "cloud_circle"; } + +.ui-icon-cloud-done:before { + content: "cloud_done"; } + +.ui-icon-cloud-download:before { + content: "cloud_download"; } + +.ui-icon-cloud-off:before { + content: "cloud_off"; } + +.ui-icon-cloud-queue:before { + content: "cloud_queue"; } + +.ui-icon-cloud-upload:before { + content: "cloud_upload"; } + +.ui-icon-code:before { + content: "code"; } + +.ui-icon-collections:before { + content: "collections"; } + +.ui-icon-collections-bookmark:before { + content: "collections_bookmark"; } + +.ui-icon-color-lens:before { + content: "color_lens"; } + +.ui-icon-colorize:before { + content: "colorize"; } + +.ui-icon-comment:before { + content: "comment"; } + +.ui-icon-compare:before { + content: "compare"; } + +.ui-icon-compare-arrows:before { + content: "compare_arrows"; } + +.ui-icon-computer:before { + content: "computer"; } + +.ui-icon-confirmation-number:before { + content: "confirmation_number"; } + +.ui-icon-contact-mail:before { + content: "contact_mail"; } + +.ui-icon-contact-phone:before { + content: "contact_phone"; } + +.ui-icon-contacts:before { + content: "contacts"; } + +.ui-icon-content-copy:before { + content: "content_copy"; } + +.ui-icon-content-cut:before { + content: "content_cut"; } + +.ui-icon-content-paste:before { + content: "content_paste"; } + +.ui-icon-control-point:before { + content: "control_point"; } + +.ui-icon-control-point-duplicate:before { + content: "control_point_duplicate"; } + +.ui-icon-copyright:before { + content: "copyright"; } + +.ui-icon-create:before { + content: "create"; } + +.ui-icon-create-new-folder:before { + content: "create_new_folder"; } + +.ui-icon-credit-card:before { + content: "credit_card"; } + +.ui-icon-crop:before { + content: "crop"; } + +.ui-icon-crop-16-9:before { + content: "crop_16_9"; } + +.ui-icon-crop-3-2:before { + content: "crop_3_2"; } + +.ui-icon-crop-5-4:before { + content: "crop_5_4"; } + +.ui-icon-crop-7-5:before { + content: "crop_7_5"; } + +.ui-icon-crop-din:before { + content: "crop_din"; } + +.ui-icon-crop-free:before { + content: "crop_free"; } + +.ui-icon-crop-landscape:before { + content: "crop_landscape"; } + +.ui-icon-crop-original:before { + content: "crop_original"; } + +.ui-icon-crop-portrait:before { + content: "crop_portrait"; } + +.ui-icon-crop-rotate:before { + content: "crop_rotate"; } + +.ui-icon-crop-square:before { + content: "crop_square"; } + +.ui-icon-dashboard:before { + content: "dashboard"; } + +.ui-icon-data-usage:before { + content: "data_usage"; } + +.ui-icon-date-range:before { + content: "date_range"; } + +.ui-icon-dehaze:before { + content: "dehaze"; } + +.ui-icon-delete:before { + content: "delete"; } + +.ui-icon-delete-forever:before { + content: "delete_forever"; } + +.ui-icon-delete-sweep:before { + content: "delete_sweep"; } + +.ui-icon-description:before { + content: "description"; } + +.ui-icon-desktop-mac:before { + content: "desktop_mac"; } + +.ui-icon-desktop-windows:before { + content: "desktop_windows"; } + +.ui-icon-details:before { + content: "details"; } + +.ui-icon-developer-board:before { + content: "developer_board"; } + +.ui-icon-developer-mode:before { + content: "developer_mode"; } + +.ui-icon-device-hub:before { + content: "device_hub"; } + +.ui-icon-devices:before { + content: "devices"; } + +.ui-icon-devices-other:before { + content: "devices_other"; } + +.ui-icon-dialer-sip:before { + content: "dialer_sip"; } + +.ui-icon-dialpad:before { + content: "dialpad"; } + +.ui-icon-directions:before { + content: "directions"; } + +.ui-icon-directions-bike:before { + content: "directions_bike"; } + +.ui-icon-directions-boat:before { + content: "directions_boat"; } + +.ui-icon-directions-bus:before { + content: "directions_bus"; } + +.ui-icon-directions-car:before { + content: "directions_car"; } + +.ui-icon-directions-railway:before { + content: "directions_railway"; } + +.ui-icon-directions-run:before { + content: "directions_run"; } + +.ui-icon-directions-subway:before { + content: "directions_subway"; } + +.ui-icon-directions-transit:before { + content: "directions_transit"; } + +.ui-icon-directions-walk:before { + content: "directions_walk"; } + +.ui-icon-disc-full:before { + content: "disc_full"; } + +.ui-icon-dns:before { + content: "dns"; } + +.ui-icon-do-not-disturb:before { + content: "do_not_disturb"; } + +.ui-icon-do-not-disturb-alt:before { + content: "do_not_disturb_alt"; } + +.ui-icon-do-not-disturb-off:before { + content: "do_not_disturb_off"; } + +.ui-icon-do-not-disturb-on:before { + content: "do_not_disturb_on"; } + +.ui-icon-dock:before { + content: "dock"; } + +.ui-icon-domain:before { + content: "domain"; } + +.ui-icon-done:before { + content: "done"; } + +.ui-icon-done-all:before { + content: "done_all"; } + +.ui-icon-donut-large:before { + content: "donut_large"; } + +.ui-icon-donut-small:before { + content: "donut_small"; } + +.ui-icon-drafts:before { + content: "drafts"; } + +.ui-icon-drag-handle:before { + content: "drag_handle"; } + +.ui-icon-drive-eta:before { + content: "drive_eta"; } + +.ui-icon-dvr:before { + content: "dvr"; } + +.ui-icon-edit:before { + content: "edit"; } + +.ui-icon-edit-location:before { + content: "edit_location"; } + +.ui-icon-eject:before { + content: "eject"; } + +.ui-icon-email:before { + content: "email"; } + +.ui-icon-enhanced-encryption:before { + content: "enhanced_encryption"; } + +.ui-icon-equalizer:before { + content: "equalizer"; } + +.ui-icon-error:before { + content: "error"; } + +.ui-icon-error-outline:before { + content: "error_outline"; } + +.ui-icon-euro-symbol:before { + content: "euro_symbol"; } + +.ui-icon-ev-station:before { + content: "ev_station"; } + +.ui-icon-event:before { + content: "event"; } + +.ui-icon-event-available:before { + content: "event_available"; } + +.ui-icon-event-busy:before { + content: "event_busy"; } + +.ui-icon-event-note:before { + content: "event_note"; } + +.ui-icon-event-seat:before { + content: "event_seat"; } + +.ui-icon-exit-to-app:before { + content: "exit_to_app"; } + +.ui-icon-expand-less:before { + content: "expand_less"; } + +.ui-icon-expand-more:before { + content: "expand_more"; } + +.ui-icon-explicit:before { + content: "explicit"; } + +.ui-icon-explore:before { + content: "explore"; } + +.ui-icon-exposure:before { + content: "exposure"; } + +.ui-icon-exposure-neg-1:before { + content: "exposure_neg_1"; } + +.ui-icon-exposure-neg-2:before { + content: "exposure_neg_2"; } + +.ui-icon-exposure-plus-1:before { + content: "exposure_plus_1"; } + +.ui-icon-exposure-plus-2:before { + content: "exposure_plus_2"; } + +.ui-icon-exposure-zero:before { + content: "exposure_zero"; } + +.ui-icon-extension:before { + content: "extension"; } + +.ui-icon-face:before { + content: "face"; } + +.ui-icon-fast-forward:before { + content: "fast_forward"; } + +.ui-icon-fast-rewind:before { + content: "fast_rewind"; } + +.ui-icon-favorite:before { + content: "favorite"; } + +.ui-icon-favorite-border:before { + content: "favorite_border"; } + +.ui-icon-featured-play-list:before { + content: "featured_play_list"; } + +.ui-icon-featured-video:before { + content: "featured_video"; } + +.ui-icon-feedback:before { + content: "feedback"; } + +.ui-icon-fiber-dvr:before { + content: "fiber_dvr"; } + +.ui-icon-fiber-manual-record:before { + content: "fiber_manual_record"; } + +.ui-icon-fiber-new:before { + content: "fiber_new"; } + +.ui-icon-fiber-pin:before { + content: "fiber_pin"; } + +.ui-icon-fiber-smart-record:before { + content: "fiber_smart_record"; } + +.ui-icon-file-download:before { + content: "file_download"; } + +.ui-icon-file-upload:before { + content: "file_upload"; } + +.ui-icon-filter:before { + content: "filter"; } + +.ui-icon-filter-1:before { + content: "filter_1"; } + +.ui-icon-filter-2:before { + content: "filter_2"; } + +.ui-icon-filter-3:before { + content: "filter_3"; } + +.ui-icon-filter-4:before { + content: "filter_4"; } + +.ui-icon-filter-5:before { + content: "filter_5"; } + +.ui-icon-filter-6:before { + content: "filter_6"; } + +.ui-icon-filter-7:before { + content: "filter_7"; } + +.ui-icon-filter-8:before { + content: "filter_8"; } + +.ui-icon-filter-9:before { + content: "filter_9"; } + +.ui-icon-filter-9-plus:before { + content: "filter_9_plus"; } + +.ui-icon-filter-b-and-w:before { + content: "filter_b_and_w"; } + +.ui-icon-filter-center-focus:before { + content: "filter_center_focus"; } + +.ui-icon-filter-drama:before { + content: "filter_drama"; } + +.ui-icon-filter-frames:before { + content: "filter_frames"; } + +.ui-icon-filter-hdr:before { + content: "filter_hdr"; } + +.ui-icon-filter-list:before { + content: "filter_list"; } + +.ui-icon-filter-none:before { + content: "filter_none"; } + +.ui-icon-filter-tilt-shift:before { + content: "filter_tilt_shift"; } + +.ui-icon-filter-vintage:before { + content: "filter_vintage"; } + +.ui-icon-find-in-page:before { + content: "find_in_page"; } + +.ui-icon-find-replace:before { + content: "find_replace"; } + +.ui-icon-fingerprint:before { + content: "fingerprint"; } + +.ui-icon-first-page:before { + content: "first_page"; } + +.ui-icon-fitness-center:before { + content: "fitness_center"; } + +.ui-icon-flag:before { + content: "flag"; } + +.ui-icon-flare:before { + content: "flare"; } + +.ui-icon-flash-auto:before { + content: "flash_auto"; } + +.ui-icon-flash-off:before { + content: "flash_off"; } + +.ui-icon-flash-on:before { + content: "flash_on"; } + +.ui-icon-flight:before { + content: "flight"; } + +.ui-icon-flight-land:before { + content: "flight_land"; } + +.ui-icon-flight-takeoff:before { + content: "flight_takeoff"; } + +.ui-icon-flip:before { + content: "flip"; } + +.ui-icon-flip-to-back:before { + content: "flip_to_back"; } + +.ui-icon-flip-to-front:before { + content: "flip_to_front"; } + +.ui-icon-folder:before { + content: "folder"; } + +.ui-icon-folder-open:before { + content: "folder_open"; } + +.ui-icon-folder-shared:before { + content: "folder_shared"; } + +.ui-icon-folder-special:before { + content: "folder_special"; } + +.ui-icon-font-download:before { + content: "font_download"; } + +.ui-icon-format-align-center:before { + content: "format_align_center"; } + +.ui-icon-format-align-justify:before { + content: "format_align_justify"; } + +.ui-icon-format-align-left:before { + content: "format_align_left"; } + +.ui-icon-format-align-right:before { + content: "format_align_right"; } + +.ui-icon-format-bold:before { + content: "format_bold"; } + +.ui-icon-format-clear:before { + content: "format_clear"; } + +.ui-icon-format-color-fill:before { + content: "format_color_fill"; } + +.ui-icon-format-color-reset:before { + content: "format_color_reset"; } + +.ui-icon-format-color-text:before { + content: "format_color_text"; } + +.ui-icon-format-indent-decrease:before { + content: "format_indent_decrease"; } + +.ui-icon-format-indent-increase:before { + content: "format_indent_increase"; } + +.ui-icon-format-italic:before { + content: "format_italic"; } + +.ui-icon-format-line-spacing:before { + content: "format_line_spacing"; } + +.ui-icon-format-list-bulleted:before { + content: "format_list_bulleted"; } + +.ui-icon-format-list-numbered:before { + content: "format_list_numbered"; } + +.ui-icon-format-paint:before { + content: "format_paint"; } + +.ui-icon-format-quote:before { + content: "format_quote"; } + +.ui-icon-format-shapes:before { + content: "format_shapes"; } + +.ui-icon-format-size:before { + content: "format_size"; } + +.ui-icon-format-strikethrough:before { + content: "format_strikethrough"; } + +.ui-icon-format-textdirection-l-to-r:before { + content: "format_textdirection_l_to_r"; } + +.ui-icon-format-textdirection-r-to-l:before { + content: "format_textdirection_r_to_l"; } + +.ui-icon-format-underlined:before { + content: "format_underlined"; } + +.ui-icon-forum:before { + content: "forum"; } + +.ui-icon-forward:before { + content: "forward"; } + +.ui-icon-forward-10:before { + content: "forward_10"; } + +.ui-icon-forward-30:before { + content: "forward_30"; } + +.ui-icon-forward-5:before { + content: "forward_5"; } + +.ui-icon-free-breakfast:before { + content: "free_breakfast"; } + +.ui-icon-fullscreen:before { + content: "fullscreen"; } + +.ui-icon-fullscreen-exit:before { + content: "fullscreen_exit"; } + +.ui-icon-functions:before { + content: "functions"; } + +.ui-icon-g-translate:before { + content: "g_translate"; } + +.ui-icon-gamepad:before { + content: "gamepad"; } + +.ui-icon-games:before { + content: "games"; } + +.ui-icon-gavel:before { + content: "gavel"; } + +.ui-icon-gesture:before { + content: "gesture"; } + +.ui-icon-get-app:before { + content: "get_app"; } + +.ui-icon-gif:before { + content: "gif"; } + +.ui-icon-golf-course:before { + content: "golf_course"; } + +.ui-icon-gps-fixed:before { + content: "gps_fixed"; } + +.ui-icon-gps-not-fixed:before { + content: "gps_not_fixed"; } + +.ui-icon-gps-off:before { + content: "gps_off"; } + +.ui-icon-grade:before { + content: "grade"; } + +.ui-icon-gradient:before { + content: "gradient"; } + +.ui-icon-grain:before { + content: "grain"; } + +.ui-icon-graphic-eq:before { + content: "graphic_eq"; } + +.ui-icon-grid-off:before { + content: "grid_off"; } + +.ui-icon-grid-on:before { + content: "grid_on"; } + +.ui-icon-group:before { + content: "group"; } + +.ui-icon-group-add:before { + content: "group_add"; } + +.ui-icon-group-work:before { + content: "group_work"; } + +.ui-icon-hd:before { + content: "hd"; } + +.ui-icon-hdr-off:before { + content: "hdr_off"; } + +.ui-icon-hdr-on:before { + content: "hdr_on"; } + +.ui-icon-hdr-strong:before { + content: "hdr_strong"; } + +.ui-icon-hdr-weak:before { + content: "hdr_weak"; } + +.ui-icon-headset:before { + content: "headset"; } + +.ui-icon-headset-mic:before { + content: "headset_mic"; } + +.ui-icon-healing:before { + content: "healing"; } + +.ui-icon-hearing:before { + content: "hearing"; } + +.ui-icon-help:before { + content: "help"; } + +.ui-icon-help-outline:before { + content: "help_outline"; } + +.ui-icon-high-quality:before { + content: "high_quality"; } + +.ui-icon-highlight:before { + content: "highlight"; } + +.ui-icon-highlight-off:before { + content: "highlight_off"; } + +.ui-icon-history:before { + content: "history"; } + +.ui-icon-home:before { + content: "home"; } + +.ui-icon-hot-tub:before { + content: "hot_tub"; } + +.ui-icon-hotel:before { + content: "hotel"; } + +.ui-icon-hourglass-empty:before { + content: "hourglass_empty"; } + +.ui-icon-hourglass-full:before { + content: "hourglass_full"; } + +.ui-icon-http:before { + content: "http"; } + +.ui-icon-https:before { + content: "https"; } + +.ui-icon-image:before { + content: "image"; } + +.ui-icon-image-aspect-ratio:before { + content: "image_aspect_ratio"; } + +.ui-icon-import-contacts:before { + content: "import_contacts"; } + +.ui-icon-import-export:before { + content: "import_export"; } + +.ui-icon-important-devices:before { + content: "important_devices"; } + +.ui-icon-inbox:before { + content: "inbox"; } + +.ui-icon-indeterminate-check-box:before { + content: "indeterminate_check_box"; } + +.ui-icon-info:before { + content: "info"; } + +.ui-icon-info-outline:before { + content: "info_outline"; } + +.ui-icon-input:before { + content: "input"; } + +.ui-icon-insert-chart:before { + content: "insert_chart"; } + +.ui-icon-insert-comment:before { + content: "insert_comment"; } + +.ui-icon-insert-drive-file:before { + content: "insert_drive_file"; } + +.ui-icon-insert-emoticon:before { + content: "insert_emoticon"; } + +.ui-icon-insert-invitation:before { + content: "insert_invitation"; } + +.ui-icon-insert-link:before { + content: "insert_link"; } + +.ui-icon-insert-photo:before { + content: "insert_photo"; } + +.ui-icon-invert-colors:before { + content: "invert_colors"; } + +.ui-icon-invert-colors-off:before { + content: "invert_colors_off"; } + +.ui-icon-iso:before { + content: "iso"; } + +.ui-icon-keyboard:before { + content: "keyboard"; } + +.ui-icon-keyboard-arrow-down:before { + content: "keyboard_arrow_down"; } + +.ui-icon-keyboard-arrow-left:before { + content: "keyboard_arrow_left"; } + +.ui-icon-keyboard-arrow-right:before { + content: "keyboard_arrow_right"; } + +.ui-icon-keyboard-arrow-up:before { + content: "keyboard_arrow_up"; } + +.ui-icon-keyboard-backspace:before { + content: "keyboard_backspace"; } + +.ui-icon-keyboard-capslock:before { + content: "keyboard_capslock"; } + +.ui-icon-keyboard-hide:before { + content: "keyboard_hide"; } + +.ui-icon-keyboard-return:before { + content: "keyboard_return"; } + +.ui-icon-keyboard-tab:before { + content: "keyboard_tab"; } + +.ui-icon-keyboard-voice:before { + content: "keyboard_voice"; } + +.ui-icon-kitchen:before { + content: "kitchen"; } + +.ui-icon-label:before { + content: "label"; } + +.ui-icon-label-outline:before { + content: "label_outline"; } + +.ui-icon-landscape:before { + content: "landscape"; } + +.ui-icon-language:before { + content: "language"; } + +.ui-icon-laptop:before { + content: "laptop"; } + +.ui-icon-laptop-chromebook:before { + content: "laptop_chromebook"; } + +.ui-icon-laptop-mac:before { + content: "laptop_mac"; } + +.ui-icon-laptop-windows:before { + content: "laptop_windows"; } + +.ui-icon-last-page:before { + content: "last_page"; } + +.ui-icon-launch:before { + content: "launch"; } + +.ui-icon-layers:before { + content: "layers"; } + +.ui-icon-layers-clear:before { + content: "layers_clear"; } + +.ui-icon-leak-add:before { + content: "leak_add"; } + +.ui-icon-leak-remove:before { + content: "leak_remove"; } + +.ui-icon-lens:before { + content: "lens"; } + +.ui-icon-library-add:before { + content: "library_add"; } + +.ui-icon-library-books:before { + content: "library_books"; } + +.ui-icon-library-music:before { + content: "library_music"; } + +.ui-icon-lightbulb-outline:before { + content: "lightbulb_outline"; } + +.ui-icon-line-style:before { + content: "line_style"; } + +.ui-icon-line-weight:before { + content: "line_weight"; } + +.ui-icon-linear-scale:before { + content: "linear_scale"; } + +.ui-icon-link:before { + content: "link"; } + +.ui-icon-linked-camera:before { + content: "linked_camera"; } + +.ui-icon-list:before { + content: "list"; } + +.ui-icon-live-help:before { + content: "live_help"; } + +.ui-icon-live-tv:before { + content: "live_tv"; } + +.ui-icon-local-activity:before { + content: "local_activity"; } + +.ui-icon-local-airport:before { + content: "local_airport"; } + +.ui-icon-local-atm:before { + content: "local_atm"; } + +.ui-icon-local-bar:before { + content: "local_bar"; } + +.ui-icon-local-cafe:before { + content: "local_cafe"; } + +.ui-icon-local-car-wash:before { + content: "local_car_wash"; } + +.ui-icon-local-convenience-store:before { + content: "local_convenience_store"; } + +.ui-icon-local-dining:before { + content: "local_dining"; } + +.ui-icon-local-drink:before { + content: "local_drink"; } + +.ui-icon-local-florist:before { + content: "local_florist"; } + +.ui-icon-local-gas-station:before { + content: "local_gas_station"; } + +.ui-icon-local-grocery-store:before { + content: "local_grocery_store"; } + +.ui-icon-local-hospital:before { + content: "local_hospital"; } + +.ui-icon-local-hotel:before { + content: "local_hotel"; } + +.ui-icon-local-laundry-service:before { + content: "local_laundry_service"; } + +.ui-icon-local-library:before { + content: "local_library"; } + +.ui-icon-local-mall:before { + content: "local_mall"; } + +.ui-icon-local-movies:before { + content: "local_movies"; } + +.ui-icon-local-offer:before { + content: "local_offer"; } + +.ui-icon-local-parking:before { + content: "local_parking"; } + +.ui-icon-local-pharmacy:before { + content: "local_pharmacy"; } + +.ui-icon-local-phone:before { + content: "local_phone"; } + +.ui-icon-local-pizza:before { + content: "local_pizza"; } + +.ui-icon-local-play:before { + content: "local_play"; } + +.ui-icon-local-post-office:before { + content: "local_post_office"; } + +.ui-icon-local-printshop:before { + content: "local_printshop"; } + +.ui-icon-local-see:before { + content: "local_see"; } + +.ui-icon-local-shipping:before { + content: "local_shipping"; } + +.ui-icon-local-taxi:before { + content: "local_taxi"; } + +.ui-icon-location-city:before { + content: "location_city"; } + +.ui-icon-location-disabled:before { + content: "location_disabled"; } + +.ui-icon-location-off:before { + content: "location_off"; } + +.ui-icon-location-on:before { + content: "location_on"; } + +.ui-icon-location-searching:before { + content: "location_searching"; } + +.ui-icon-lock:before { + content: "lock"; } + +.ui-icon-lock-open:before { + content: "lock_open"; } + +.ui-icon-lock-outline:before { + content: "lock_outline"; } + +.ui-icon-looks:before { + content: "looks"; } + +.ui-icon-looks-3:before { + content: "looks_3"; } + +.ui-icon-looks-4:before { + content: "looks_4"; } + +.ui-icon-looks-5:before { + content: "looks_5"; } + +.ui-icon-looks-6:before { + content: "looks_6"; } + +.ui-icon-looks-one:before { + content: "looks_one"; } + +.ui-icon-looks-two:before { + content: "looks_two"; } + +.ui-icon-loop:before { + content: "loop"; } + +.ui-icon-loupe:before { + content: "loupe"; } + +.ui-icon-low-priority:before { + content: "low_priority"; } + +.ui-icon-loyalty:before { + content: "loyalty"; } + +.ui-icon-mail:before { + content: "mail"; } + +.ui-icon-mail-outline:before { + content: "mail_outline"; } + +.ui-icon-map:before { + content: "map"; } + +.ui-icon-markunread:before { + content: "markunread"; } + +.ui-icon-markunread-mailbox:before { + content: "markunread_mailbox"; } + +.ui-icon-memory:before { + content: "memory"; } + +.ui-icon-menu:before { + content: "menu"; } + +.ui-icon-merge-type:before { + content: "merge_type"; } + +.ui-icon-message:before { + content: "message"; } + +.ui-icon-mic:before { + content: "mic"; } + +.ui-icon-mic-none:before { + content: "mic_none"; } + +.ui-icon-mic-off:before { + content: "mic_off"; } + +.ui-icon-mms:before { + content: "mms"; } + +.ui-icon-mode-comment:before { + content: "mode_comment"; } + +.ui-icon-mode-edit:before { + content: "mode_edit"; } + +.ui-icon-monetization-on:before { + content: "monetization_on"; } + +.ui-icon-money-off:before { + content: "money_off"; } + +.ui-icon-monochrome-photos:before { + content: "monochrome_photos"; } + +.ui-icon-mood:before { + content: "mood"; } + +.ui-icon-mood-bad:before { + content: "mood_bad"; } + +.ui-icon-more:before { + content: "more"; } + +.ui-icon-more-horiz:before { + content: "more_horiz"; } + +.ui-icon-more-vert:before { + content: "more_vert"; } + +.ui-icon-motorcycle:before { + content: "motorcycle"; } + +.ui-icon-mouse:before { + content: "mouse"; } + +.ui-icon-move-to-inbox:before { + content: "move_to_inbox"; } + +.ui-icon-movie:before { + content: "movie"; } + +.ui-icon-movie-creation:before { + content: "movie_creation"; } + +.ui-icon-movie-filter:before { + content: "movie_filter"; } + +.ui-icon-multiline-chart:before { + content: "multiline_chart"; } + +.ui-icon-music-note:before { + content: "music_note"; } + +.ui-icon-music-video:before { + content: "music_video"; } + +.ui-icon-my-location:before { + content: "my_location"; } + +.ui-icon-nature:before { + content: "nature"; } + +.ui-icon-nature-people:before { + content: "nature_people"; } + +.ui-icon-navigate-before:before { + content: "navigate_before"; } + +.ui-icon-navigate-next:before { + content: "navigate_next"; } + +.ui-icon-navigation:before { + content: "navigation"; } + +.ui-icon-near-me:before { + content: "near_me"; } + +.ui-icon-network-cell:before { + content: "network_cell"; } + +.ui-icon-network-check:before { + content: "network_check"; } + +.ui-icon-network-locked:before { + content: "network_locked"; } + +.ui-icon-network-wifi:before { + content: "network_wifi"; } + +.ui-icon-new-releases:before { + content: "new_releases"; } + +.ui-icon-next-week:before { + content: "next_week"; } + +.ui-icon-nfc:before { + content: "nfc"; } + +.ui-icon-no-encryption:before { + content: "no_encryption"; } + +.ui-icon-no-sim:before { + content: "no_sim"; } + +.ui-icon-not-interested:before { + content: "not_interested"; } + +.ui-icon-note:before { + content: "note"; } + +.ui-icon-note-add:before { + content: "note_add"; } + +.ui-icon-notifications:before { + content: "notifications"; } + +.ui-icon-notifications-active:before { + content: "notifications_active"; } + +.ui-icon-notifications-none:before { + content: "notifications_none"; } + +.ui-icon-notifications-off:before { + content: "notifications_off"; } + +.ui-icon-notifications-paused:before { + content: "notifications_paused"; } + +.ui-icon-offline-pin:before { + content: "offline_pin"; } + +.ui-icon-ondemand-video:before { + content: "ondemand_video"; } + +.ui-icon-opacity:before { + content: "opacity"; } + +.ui-icon-open-in-browser:before { + content: "open_in_browser"; } + +.ui-icon-open-in-new:before { + content: "open_in_new"; } + +.ui-icon-open-with:before { + content: "open_with"; } + +.ui-icon-pages:before { + content: "pages"; } + +.ui-icon-pageview:before { + content: "pageview"; } + +.ui-icon-palette:before { + content: "palette"; } + +.ui-icon-pan-tool:before { + content: "pan_tool"; } + +.ui-icon-panorama:before { + content: "panorama"; } + +.ui-icon-panorama-fish-eye:before { + content: "panorama_fish_eye"; } + +.ui-icon-panorama-horizontal:before { + content: "panorama_horizontal"; } + +.ui-icon-panorama-vertical:before { + content: "panorama_vertical"; } + +.ui-icon-panorama-wide-angle:before { + content: "panorama_wide_angle"; } + +.ui-icon-party-mode:before { + content: "party_mode"; } + +.ui-icon-pause:before { + content: "pause"; } + +.ui-icon-pause-circle-filled:before { + content: "pause_circle_filled"; } + +.ui-icon-pause-circle-outline:before { + content: "pause_circle_outline"; } + +.ui-icon-payment:before { + content: "payment"; } + +.ui-icon-people:before { + content: "people"; } + +.ui-icon-people-outline:before { + content: "people_outline"; } + +.ui-icon-perm-camera-mic:before { + content: "perm_camera_mic"; } + +.ui-icon-perm-contact-calendar:before { + content: "perm_contact_calendar"; } + +.ui-icon-perm-data-setting:before { + content: "perm_data_setting"; } + +.ui-icon-perm-device-information:before { + content: "perm_device_information"; } + +.ui-icon-perm-identity:before { + content: "perm_identity"; } + +.ui-icon-perm-media:before { + content: "perm_media"; } + +.ui-icon-perm-phone-msg:before { + content: "perm_phone_msg"; } + +.ui-icon-perm-scan-wifi:before { + content: "perm_scan_wifi"; } + +.ui-icon-person:before { + content: "person"; } + +.ui-icon-person-add:before { + content: "person_add"; } + +.ui-icon-person-outline:before { + content: "person_outline"; } + +.ui-icon-person-pin:before { + content: "person_pin"; } + +.ui-icon-person-pin-circle:before { + content: "person_pin_circle"; } + +.ui-icon-personal-video:before { + content: "personal_video"; } + +.ui-icon-pets:before { + content: "pets"; } + +.ui-icon-phone:before { + content: "phone"; } + +.ui-icon-phone-android:before { + content: "phone_android"; } + +.ui-icon-phone-bluetooth-speaker:before { + content: "phone_bluetooth_speaker"; } + +.ui-icon-phone-forwarded:before { + content: "phone_forwarded"; } + +.ui-icon-phone-in-talk:before { + content: "phone_in_talk"; } + +.ui-icon-phone-iphone:before { + content: "phone_iphone"; } + +.ui-icon-phone-locked:before { + content: "phone_locked"; } + +.ui-icon-phone-missed:before { + content: "phone_missed"; } + +.ui-icon-phone-paused:before { + content: "phone_paused"; } + +.ui-icon-phonelink:before { + content: "phonelink"; } + +.ui-icon-phonelink-erase:before { + content: "phonelink_erase"; } + +.ui-icon-phonelink-lock:before { + content: "phonelink_lock"; } + +.ui-icon-phonelink-off:before { + content: "phonelink_off"; } + +.ui-icon-phonelink-ring:before { + content: "phonelink_ring"; } + +.ui-icon-phonelink-setup:before { + content: "phonelink_setup"; } + +.ui-icon-photo:before { + content: "photo"; } + +.ui-icon-photo-album:before { + content: "photo_album"; } + +.ui-icon-photo-camera:before { + content: "photo_camera"; } + +.ui-icon-photo-filter:before { + content: "photo_filter"; } + +.ui-icon-photo-library:before { + content: "photo_library"; } + +.ui-icon-photo-size-select-actual:before { + content: "photo_size_select_actual"; } + +.ui-icon-photo-size-select-large:before { + content: "photo_size_select_large"; } + +.ui-icon-photo-size-select-small:before { + content: "photo_size_select_small"; } + +.ui-icon-picture-as-pdf:before { + content: "picture_as_pdf"; } + +.ui-icon-picture-in-picture:before { + content: "picture_in_picture"; } + +.ui-icon-picture-in-picture-alt:before { + content: "picture_in_picture_alt"; } + +.ui-icon-pie-chart:before { + content: "pie_chart"; } + +.ui-icon-pie-chart-outlined:before { + content: "pie_chart_outlined"; } + +.ui-icon-pin-drop:before { + content: "pin_drop"; } + +.ui-icon-place:before { + content: "place"; } + +.ui-icon-play-arrow:before { + content: "play_arrow"; } + +.ui-icon-play-circle-filled:before { + content: "play_circle_filled"; } + +.ui-icon-play-circle-outline:before { + content: "play_circle_outline"; } + +.ui-icon-play-for-work:before { + content: "play_for_work"; } + +.ui-icon-playlist-add:before { + content: "playlist_add"; } + +.ui-icon-playlist-add-check:before { + content: "playlist_add_check"; } + +.ui-icon-playlist-play:before { + content: "playlist_play"; } + +.ui-icon-plus-one:before { + content: "plus_one"; } + +.ui-icon-poll:before { + content: "poll"; } + +.ui-icon-polymer:before { + content: "polymer"; } + +.ui-icon-pool:before { + content: "pool"; } + +.ui-icon-portable-wifi-off:before { + content: "portable_wifi_off"; } + +.ui-icon-portrait:before { + content: "portrait"; } + +.ui-icon-power:before { + content: "power"; } + +.ui-icon-power-input:before { + content: "power_input"; } + +.ui-icon-power-settings-new:before { + content: "power_settings_new"; } + +.ui-icon-pregnant-woman:before { + content: "pregnant_woman"; } + +.ui-icon-present-to-all:before { + content: "present_to_all"; } + +.ui-icon-print:before { + content: "print"; } + +.ui-icon-priority-high:before { + content: "priority_high"; } + +.ui-icon-public:before { + content: "public"; } + +.ui-icon-publish:before { + content: "publish"; } + +.ui-icon-query-builder:before { + content: "query_builder"; } + +.ui-icon-question-answer:before { + content: "question_answer"; } + +.ui-icon-queue:before { + content: "queue"; } + +.ui-icon-queue-music:before { + content: "queue_music"; } + +.ui-icon-queue-play-next:before { + content: "queue_play_next"; } + +.ui-icon-radio:before { + content: "radio"; } + +.ui-icon-radio-button-checked:before { + content: "radio_button_checked"; } + +.ui-icon-radio-button-unchecked:before { + content: "radio_button_unchecked"; } + +.ui-icon-rate-review:before { + content: "rate_review"; } + +.ui-icon-receipt:before { + content: "receipt"; } + +.ui-icon-recent-actors:before { + content: "recent_actors"; } + +.ui-icon-record-voice-over:before { + content: "record_voice_over"; } + +.ui-icon-redeem:before { + content: "redeem"; } + +.ui-icon-redo:before { + content: "redo"; } + +.ui-icon-refresh:before { + content: "refresh"; } + +.ui-icon-remove:before { + content: "remove"; } + +.ui-icon-remove-circle:before { + content: "remove_circle"; } + +.ui-icon-remove-circle-outline:before { + content: "remove_circle_outline"; } + +.ui-icon-remove-from-queue:before { + content: "remove_from_queue"; } + +.ui-icon-remove-red-eye:before { + content: "remove_red_eye"; } + +.ui-icon-remove-shopping-cart:before { + content: "remove_shopping_cart"; } + +.ui-icon-reorder:before { + content: "reorder"; } + +.ui-icon-repeat:before { + content: "repeat"; } + +.ui-icon-repeat-one:before { + content: "repeat_one"; } + +.ui-icon-replay:before { + content: "replay"; } + +.ui-icon-replay-10:before { + content: "replay_10"; } + +.ui-icon-replay-30:before { + content: "replay_30"; } + +.ui-icon-replay-5:before { + content: "replay_5"; } + +.ui-icon-reply:before { + content: "reply"; } + +.ui-icon-reply-all:before { + content: "reply_all"; } + +.ui-icon-report:before { + content: "report"; } + +.ui-icon-report-problem:before { + content: "report_problem"; } + +.ui-icon-restaurant:before { + content: "restaurant"; } + +.ui-icon-restaurant-menu:before { + content: "restaurant_menu"; } + +.ui-icon-restore:before { + content: "restore"; } + +.ui-icon-restore-page:before { + content: "restore_page"; } + +.ui-icon-ring-volume:before { + content: "ring_volume"; } + +.ui-icon-room:before { + content: "room"; } + +.ui-icon-room-service:before { + content: "room_service"; } + +.ui-icon-rotate-90-degrees-ccw:before { + content: "rotate_90_degrees_ccw"; } + +.ui-icon-rotate-left:before { + content: "rotate_left"; } + +.ui-icon-rotate-right:before { + content: "rotate_right"; } + +.ui-icon-rounded-corner:before { + content: "rounded_corner"; } + +.ui-icon-router:before { + content: "router"; } + +.ui-icon-rowing:before { + content: "rowing"; } + +.ui-icon-rss-feed:before { + content: "rss_feed"; } + +.ui-icon-rv-hookup:before { + content: "rv_hookup"; } + +.ui-icon-satellite:before { + content: "satellite"; } + +.ui-icon-save:before { + content: "save"; } + +.ui-icon-scanner:before { + content: "scanner"; } + +.ui-icon-schedule:before { + content: "schedule"; } + +.ui-icon-school:before { + content: "school"; } + +.ui-icon-screen-lock-landscape:before { + content: "screen_lock_landscape"; } + +.ui-icon-screen-lock-portrait:before { + content: "screen_lock_portrait"; } + +.ui-icon-screen-lock-rotation:before { + content: "screen_lock_rotation"; } + +.ui-icon-screen-rotation:before { + content: "screen_rotation"; } + +.ui-icon-screen-share:before { + content: "screen_share"; } + +.ui-icon-sd-card:before { + content: "sd_card"; } + +.ui-icon-sd-storage:before { + content: "sd_storage"; } + +.ui-icon-search:before { + content: "search"; } + +.ui-icon-security:before { + content: "security"; } + +.ui-icon-select-all:before { + content: "select_all"; } + +.ui-icon-send:before { + content: "send"; } + +.ui-icon-sentiment-dissatisfied:before { + content: "sentiment_dissatisfied"; } + +.ui-icon-sentiment-neutral:before { + content: "sentiment_neutral"; } + +.ui-icon-sentiment-satisfied:before { + content: "sentiment_satisfied"; } + +.ui-icon-sentiment-very-dissatisfied:before { + content: "sentiment_very_dissatisfied"; } + +.ui-icon-sentiment-very-satisfied:before { + content: "sentiment_very_satisfied"; } + +.ui-icon-settings:before { + content: "settings"; } + +.ui-icon-settings-applications:before { + content: "settings_applications"; } + +.ui-icon-settings-backup-restore:before { + content: "settings_backup_restore"; } + +.ui-icon-settings-bluetooth:before { + content: "settings_bluetooth"; } + +.ui-icon-settings-brightness:before { + content: "settings_brightness"; } + +.ui-icon-settings-cell:before { + content: "settings_cell"; } + +.ui-icon-settings-ethernet:before { + content: "settings_ethernet"; } + +.ui-icon-settings-input-antenna:before { + content: "settings_input_antenna"; } + +.ui-icon-settings-input-component:before { + content: "settings_input_component"; } + +.ui-icon-settings-input-composite:before { + content: "settings_input_composite"; } + +.ui-icon-settings-input-hdmi:before { + content: "settings_input_hdmi"; } + +.ui-icon-settings-input-svideo:before { + content: "settings_input_svideo"; } + +.ui-icon-settings-overscan:before { + content: "settings_overscan"; } + +.ui-icon-settings-phone:before { + content: "settings_phone"; } + +.ui-icon-settings-power:before { + content: "settings_power"; } + +.ui-icon-settings-remote:before { + content: "settings_remote"; } + +.ui-icon-settings-system-daydream:before { + content: "settings_system_daydream"; } + +.ui-icon-settings-voice:before { + content: "settings_voice"; } + +.ui-icon-share:before { + content: "share"; } + +.ui-icon-shop:before { + content: "shop"; } + +.ui-icon-shop-two:before { + content: "shop_two"; } + +.ui-icon-shopping-basket:before { + content: "shopping_basket"; } + +.ui-icon-shopping-cart:before { + content: "shopping_cart"; } + +.ui-icon-short-text:before { + content: "short_text"; } + +.ui-icon-show-chart:before { + content: "show_chart"; } + +.ui-icon-shuffle:before { + content: "shuffle"; } + +.ui-icon-signal-cellular-4-bar:before { + content: "signal_cellular_4_bar"; } + +.ui-icon-signal-cellular-connected-no-internet-4-bar:before { + content: "signal_cellular_connected_no_internet_4_bar"; } + +.ui-icon-signal-cellular-no-sim:before { + content: "signal_cellular_no_sim"; } + +.ui-icon-signal-cellular-null:before { + content: "signal_cellular_null"; } + +.ui-icon-signal-cellular-off:before { + content: "signal_cellular_off"; } + +.ui-icon-signal-wifi-4-bar:before { + content: "signal_wifi_4_bar"; } + +.ui-icon-signal-wifi-4-bar-lock:before { + content: "signal_wifi_4_bar_lock"; } + +.ui-icon-signal-wifi-off:before { + content: "signal_wifi_off"; } + +.ui-icon-sim-card:before { + content: "sim_card"; } + +.ui-icon-sim-card-alert:before { + content: "sim_card_alert"; } + +.ui-icon-skip-next:before { + content: "skip_next"; } + +.ui-icon-skip-previous:before { + content: "skip_previous"; } + +.ui-icon-slideshow:before { + content: "slideshow"; } + +.ui-icon-slow-motion-video:before { + content: "slow_motion_video"; } + +.ui-icon-smartphone:before { + content: "smartphone"; } + +.ui-icon-smoke-free:before { + content: "smoke_free"; } + +.ui-icon-smoking-rooms:before { + content: "smoking_rooms"; } + +.ui-icon-sms:before { + content: "sms"; } + +.ui-icon-sms-failed:before { + content: "sms_failed"; } + +.ui-icon-snooze:before { + content: "snooze"; } + +.ui-icon-sort:before { + content: "sort"; } + +.ui-icon-sort-by-alpha:before { + content: "sort_by_alpha"; } + +.ui-icon-spa:before { + content: "spa"; } + +.ui-icon-space-bar:before { + content: "space_bar"; } + +.ui-icon-speaker:before { + content: "speaker"; } + +.ui-icon-speaker-group:before { + content: "speaker_group"; } + +.ui-icon-speaker-notes:before { + content: "speaker_notes"; } + +.ui-icon-speaker-notes-off:before { + content: "speaker_notes_off"; } + +.ui-icon-speaker-phone:before { + content: "speaker_phone"; } + +.ui-icon-spellcheck:before { + content: "spellcheck"; } + +.ui-icon-star:before { + content: "star"; } + +.ui-icon-star-border:before { + content: "star_border"; } + +.ui-icon-star-half:before { + content: "star_half"; } + +.ui-icon-stars:before { + content: "stars"; } + +.ui-icon-stay-current-landscape:before { + content: "stay_current_landscape"; } + +.ui-icon-stay-current-portrait:before { + content: "stay_current_portrait"; } + +.ui-icon-stay-primary-landscape:before { + content: "stay_primary_landscape"; } + +.ui-icon-stay-primary-portrait:before { + content: "stay_primary_portrait"; } + +.ui-icon-stop:before { + content: "stop"; } + +.ui-icon-stop-screen-share:before { + content: "stop_screen_share"; } + +.ui-icon-storage:before { + content: "storage"; } + +.ui-icon-store:before { + content: "store"; } + +.ui-icon-store-mall-directory:before { + content: "store_mall_directory"; } + +.ui-icon-straighten:before { + content: "straighten"; } + +.ui-icon-streetview:before { + content: "streetview"; } + +.ui-icon-strikethrough-s:before { + content: "strikethrough_s"; } + +.ui-icon-style:before { + content: "style"; } + +.ui-icon-subdirectory-arrow-left:before { + content: "subdirectory_arrow_left"; } + +.ui-icon-subdirectory-arrow-right:before { + content: "subdirectory_arrow_right"; } + +.ui-icon-subject:before { + content: "subject"; } + +.ui-icon-subscriptions:before { + content: "subscriptions"; } + +.ui-icon-subtitles:before { + content: "subtitles"; } + +.ui-icon-subway:before { + content: "subway"; } + +.ui-icon-supervisor-account:before { + content: "supervisor_account"; } + +.ui-icon-surround-sound:before { + content: "surround_sound"; } + +.ui-icon-swap-calls:before { + content: "swap_calls"; } + +.ui-icon-swap-horiz:before { + content: "swap_horiz"; } + +.ui-icon-swap-vert:before { + content: "swap_vert"; } + +.ui-icon-swap-vertical-circle:before { + content: "swap_vertical_circle"; } + +.ui-icon-switch-camera:before { + content: "switch_camera"; } + +.ui-icon-switch-video:before { + content: "switch_video"; } + +.ui-icon-sync:before { + content: "sync"; } + +.ui-icon-sync-disabled:before { + content: "sync_disabled"; } + +.ui-icon-sync-problem:before { + content: "sync_problem"; } + +.ui-icon-system-update:before { + content: "system_update"; } + +.ui-icon-system-update-alt:before { + content: "system_update_alt"; } + +.ui-icon-tab:before { + content: "tab"; } + +.ui-icon-tab-unselected:before { + content: "tab_unselected"; } + +.ui-icon-tablet:before { + content: "tablet"; } + +.ui-icon-tablet-android:before { + content: "tablet_android"; } + +.ui-icon-tablet-mac:before { + content: "tablet_mac"; } + +.ui-icon-tag-faces:before { + content: "tag_faces"; } + +.ui-icon-tap-and-play:before { + content: "tap_and_play"; } + +.ui-icon-terrain:before { + content: "terrain"; } + +.ui-icon-text-fields:before { + content: "text_fields"; } + +.ui-icon-text-format:before { + content: "text_format"; } + +.ui-icon-textsms:before { + content: "textsms"; } + +.ui-icon-texture:before { + content: "texture"; } + +.ui-icon-theaters:before { + content: "theaters"; } + +.ui-icon-thumb-down:before { + content: "thumb_down"; } + +.ui-icon-thumb-up:before { + content: "thumb_up"; } + +.ui-icon-thumbs-up-down:before { + content: "thumbs_up_down"; } + +.ui-icon-time-to-leave:before { + content: "time_to_leave"; } + +.ui-icon-timelapse:before { + content: "timelapse"; } + +.ui-icon-timeline:before { + content: "timeline"; } + +.ui-icon-timer:before { + content: "timer"; } + +.ui-icon-timer-10:before { + content: "timer_10"; } + +.ui-icon-timer-3:before { + content: "timer_3"; } + +.ui-icon-timer-off:before { + content: "timer_off"; } + +.ui-icon-title:before { + content: "title"; } + +.ui-icon-toc:before { + content: "toc"; } + +.ui-icon-today:before { + content: "today"; } + +.ui-icon-toll:before { + content: "toll"; } + +.ui-icon-tonality:before { + content: "tonality"; } + +.ui-icon-touch-app:before { + content: "touch_app"; } + +.ui-icon-toys:before { + content: "toys"; } + +.ui-icon-track-changes:before { + content: "track_changes"; } + +.ui-icon-traffic:before { + content: "traffic"; } + +.ui-icon-train:before { + content: "train"; } + +.ui-icon-tram:before { + content: "tram"; } + +.ui-icon-transfer-within-a-station:before { + content: "transfer_within_a_station"; } + +.ui-icon-transform:before { + content: "transform"; } + +.ui-icon-translate:before { + content: "translate"; } + +.ui-icon-trending-down:before { + content: "trending_down"; } + +.ui-icon-trending-flat:before { + content: "trending_flat"; } + +.ui-icon-trending-up:before { + content: "trending_up"; } + +.ui-icon-tune:before { + content: "tune"; } + +.ui-icon-turned-in:before { + content: "turned_in"; } + +.ui-icon-turned-in-not:before { + content: "turned_in_not"; } + +.ui-icon-tv:before { + content: "tv"; } + +.ui-icon-unarchive:before { + content: "unarchive"; } + +.ui-icon-undo:before { + content: "undo"; } + +.ui-icon-unfold-less:before { + content: "unfold_less"; } + +.ui-icon-unfold-more:before { + content: "unfold_more"; } + +.ui-icon-update:before { + content: "update"; } + +.ui-icon-usb:before { + content: "usb"; } + +.ui-icon-verified-user:before { + content: "verified_user"; } + +.ui-icon-vertical-align-bottom:before { + content: "vertical_align_bottom"; } + +.ui-icon-vertical-align-center:before { + content: "vertical_align_center"; } + +.ui-icon-vertical-align-top:before { + content: "vertical_align_top"; } + +.ui-icon-vibration:before { + content: "vibration"; } + +.ui-icon-video-call:before { + content: "video_call"; } + +.ui-icon-video-label:before { + content: "video_label"; } + +.ui-icon-video-library:before { + content: "video_library"; } + +.ui-icon-videocam:before { + content: "videocam"; } + +.ui-icon-videocam-off:before { + content: "videocam_off"; } + +.ui-icon-videogame-asset:before { + content: "videogame_asset"; } + +.ui-icon-view-agenda:before { + content: "view_agenda"; } + +.ui-icon-view-array:before { + content: "view_array"; } + +.ui-icon-view-carousel:before { + content: "view_carousel"; } + +.ui-icon-view-column:before { + content: "view_column"; } + +.ui-icon-view-comfy:before { + content: "view_comfy"; } + +.ui-icon-view-compact:before { + content: "view_compact"; } + +.ui-icon-view-day:before { + content: "view_day"; } + +.ui-icon-view-headline:before { + content: "view_headline"; } + +.ui-icon-view-list:before { + content: "view_list"; } + +.ui-icon-view-module:before { + content: "view_module"; } + +.ui-icon-view-quilt:before { + content: "view_quilt"; } + +.ui-icon-view-stream:before { + content: "view_stream"; } + +.ui-icon-view-week:before { + content: "view_week"; } + +.ui-icon-vignette:before { + content: "vignette"; } + +.ui-icon-visibility:before { + content: "visibility"; } + +.ui-icon-visibility-off:before { + content: "visibility_off"; } + +.ui-icon-voice-chat:before { + content: "voice_chat"; } + +.ui-icon-voicemail:before { + content: "voicemail"; } + +.ui-icon-volume-down:before { + content: "volume_down"; } + +.ui-icon-volume-mute:before { + content: "volume_mute"; } + +.ui-icon-volume-off:before { + content: "volume_off"; } + +.ui-icon-volume-up:before { + content: "volume_up"; } + +.ui-icon-vpn-key:before { + content: "vpn_key"; } + +.ui-icon-vpn-lock:before { + content: "vpn_lock"; } + +.ui-icon-wallpaper:before { + content: "wallpaper"; } + +.ui-icon-warning:before { + content: "warning"; } + +.ui-icon-watch:before { + content: "watch"; } + +.ui-icon-watch-later:before { + content: "watch_later"; } + +.ui-icon-wb-auto:before { + content: "wb_auto"; } + +.ui-icon-wb-cloudy:before { + content: "wb_cloudy"; } + +.ui-icon-wb-incandescent:before { + content: "wb_incandescent"; } + +.ui-icon-wb-iridescent:before { + content: "wb_iridescent"; } + +.ui-icon-wb-sunny:before { + content: "wb_sunny"; } + +.ui-icon-wc:before { + content: "wc"; } + +.ui-icon-web:before { + content: "web"; } + +.ui-icon-web-asset:before { + content: "web_asset"; } + +.ui-icon-weekend:before { + content: "weekend"; } + +.ui-icon-whatshot:before { + content: "whatshot"; } + +.ui-icon-widgets:before { + content: "widgets"; } + +.ui-icon-wifi:before { + content: "wifi"; } + +.ui-icon-wifi-lock:before { + content: "wifi_lock"; } + +.ui-icon-wifi-tethering:before { + content: "wifi_tethering"; } + +.ui-icon-work:before { + content: "work"; } + +.ui-icon-wrap-text:before { + content: "wrap_text"; } + +.ui-icon-youtube-searched-for:before { + content: "youtube_searched_for"; } + +.ui-icon-zoom-in:before { + content: "zoom_in"; } + +.ui-icon-zoom-out:before { + content: "zoom_out"; } + +.ui-icon-zoom-out-map:before { + content: "zoom_out_map"; } + +.material-icons, .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + +body .ui-widget, +body .ui-widget .ui-widget { + font-family: "Roboto","Helvetica Neue",sans-serif; + text-decoration: none; } +body .ui-widget-content { + background-color: #ffffff; + font-size: 1em; + border: 1px solid #bdbdbd; } + body .ui-widget-content .fa { + color: #757575; } +body .ui-widget-header { + background-color: #4CAF50; + color: #ffffff; + font-size: 1em; + border: 1px solid #4CAF50; } + body .ui-widget-header .fa { + color: #ffffff; } +body .ui-state-active, body .ui-state-highlight { + background-color: #ffeb3b; + color: #212121; } + body .ui-state-active .fa, body .ui-state-highlight .fa { + color: #ffffff; } +body .ui-widget:disabled, +body .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; + cursor: auto !important; } +body .ui-corner-all { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } +body .ui-corner-top { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } +body .ui-corner-bottom { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-corner-left { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; } +body .ui-corner-right { + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-widget-overlay { + background-color: #58575c; + opacity: .8; } + +body { + /* InputGroup */ + /* Validation */ } + body .ui-inputtext { + background: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + font-size: 1em; + border-color: #bdbdbd; + border-style: solid; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + border-radius: 0px; } + body .ui-inputtext:focus, body .ui-inputtext.ui-state-focus { + border-width: 0 0 2px 0; + border-color: #4CAF50; + padding-bottom: 0px; } + body .ui-inputtext:disabled { + border-bottom: 1px dotted; } + body .ui-inputtext.ui-widget-content { + border-width: 1px; } + body .ui-inputtext.ui-state-error { + border-color: #e62a10; } + body .md-inputfield { + display: block; + position: relative; } + body .md-inputfield label { + color: #999; + font-weight: normal; + position: absolute; + pointer-events: none; + left: 5px; + top: 1px; + transition: 0.3s ease all; + -moz-transition: 0.3s ease all; + -webkit-transition: 0.3s ease all; } + body .md-inputfield input:focus ~ label, + body .md-inputfield input.ui-state-filled ~ label, + body .md-inputfield .ui-inputwrapper-focus ~ label, + body .md-inputfield .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #4CAF50; } + body .md-inputfield .input:-webkit-autofill ~ label { + top: -20px; + font-size: 12px; + color: #4CAF50; } + body .md-inputfield input.ng-dirty.ng-invalid ~ label { + color: #e62a10; } + body .md-inputfield .ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .md-inputfield.md-inputfield-fill input { + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 4px; } + body .md-inputfield.md-inputfield-fill label { + top: 2px; } + body .md-inputfield.md-inputfield-fill input:focus ~ label, + body .md-inputfield.md-inputfield-fill input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #4CAF50; } + body .md-inputfield.md-inputfield-box { + background-color: #f7f7f7; + height: 44px; } + body .md-inputfield.md-inputfield-box > *:not(label) { + bottom: 0px; + position: absolute; + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 24px; } + body .md-inputfield.md-inputfield-box > label { + top: 23px; } + body .md-inputfield.md-inputfield-box input:focus ~ label, + body .md-inputfield.md-inputfield-box input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-filled ~ label { + top: 1px; } + body .md-inputfield.md-inputfield-box .input:-webkit-autofill ~ label { + top: 1px; } + body .ui-material-message.ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .ui-material-message.ui-message.ui-messages-error label { + top: 4px; } + body .ui-listbox { + min-width: 12.5em; + background-color: #ffffff; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-listbox.ui-inputtext { + padding: 0; } + body .ui-listbox .ui-listbox-list { + padding: 0; } + body .ui-listbox .ui-listbox-item { + overflow: hidden; + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + color: #212121; + position: relative; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-listbox .ui-listbox-item.ui-state-highlight { + background-color: #ffeb3b; + color: #212121; } + body .ui-listbox:not(.ui-state-disabled) .ui-listbox-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-listbox .ui-listbox-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; } + body .ui-listbox .ui-listbox-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext { + color: #ffffff; + padding: 2px 2px 1px 2px; + padding-left: 1.5em; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext:focus { + padding-bottom: 0; + border-bottom-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .fa { + top: 0; + left: 0; } + body .ui-button, body .ui-datepicker-buttonpane > button { + overflow: hidden; + background-color: #4CAF50; + color: #ffffff; + font-size: 1em; + height: 2.25em; + padding: 0 1em; + border: 0 none; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button:enabled:not(:focus):hover { + background-color: #2E7D32; } + body .ui-button:focus, body .ui-datepicker-buttonpane > button:focus { + outline: 0 none; + background-color: #6ec071; } + body .ui-button .ui-button-text, body .ui-datepicker-buttonpane > button .ui-button-text { + padding: 0; + line-height: 2.25em; } + body .ui-button .fa, body .ui-datepicker-buttonpane > button .fa { + color: #ffffff; } + body .ui-button.ui-button-icon-only, body .ui-datepicker-buttonpane > button.ui-button-icon-only { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 2.5em; + height: 2.5em; } + body .ui-button.ui-button-icon-only .fa, body .ui-datepicker-buttonpane > button.ui-button-icon-only .fa { + margin-left: -.5em; } + body .ui-button.ui-button-text-icon-left, body .ui-datepicker-buttonpane > button.ui-button-text-icon-left { + padding-left: 2.5em; } + body .ui-button.ui-button-text-icon-right, body .ui-datepicker-buttonpane > button.ui-button-text-icon-right { + padding-right: 2.5em; } + body .ui-button.secondary, body .ui-button.ui-secondary-button, body .ui-datepicker-buttonpane > button.secondary, body .ui-datepicker-buttonpane > button.ui-secondary-button { + background-color: #ffeb3b; + color: #212121; } + body .ui-button.secondary:enabled:not(:focus):hover, body .ui-button.ui-secondary-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.secondary:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-secondary-button:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button.secondary:focus, body .ui-button.ui-secondary-button:focus, body .ui-datepicker-buttonpane > button.secondary:focus, body .ui-datepicker-buttonpane > button.ui-secondary-button:focus { + outline: 0 none; + background-color: #fff06e; } + body .ui-button.blue-grey-btn, body .ui-datepicker-buttonpane > button.blue-grey-btn { + background-color: #607D8B; } + body .ui-button.blue-grey-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-grey-btn:enabled:not(:focus):hover { + background-color: #37474F; } + body .ui-button.blue-grey-btn:focus, body .ui-datepicker-buttonpane > button.blue-grey-btn:focus { + outline: 0 none; + background-color: #7b96a3; } + body .ui-button.cyan-btn, body .ui-datepicker-buttonpane > button.cyan-btn { + background-color: #00BCD4; } + body .ui-button.cyan-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.cyan-btn:enabled:not(:focus):hover { + background-color: #00838F; } + body .ui-button.cyan-btn:focus, body .ui-datepicker-buttonpane > button.cyan-btn:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button.teal-btn, body .ui-datepicker-buttonpane > button.teal-btn { + background-color: #009688; } + body .ui-button.teal-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.teal-btn:enabled:not(:focus):hover { + background-color: #00695C; } + body .ui-button.teal-btn:focus, body .ui-datepicker-buttonpane > button.teal-btn:focus { + outline: 0 none; + background-color: #00c9b6; } + body .ui-button.red-btn, body .ui-button.ui-danger-button, body .ui-datepicker-buttonpane > button.red-btn, body .ui-datepicker-buttonpane > button.ui-danger-button { + background-color: #F44336; } + body .ui-button.red-btn:enabled:not(:focus):hover, body .ui-button.ui-danger-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.red-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-danger-button:enabled:not(:focus):hover { + background-color: #C62828; } + body .ui-button.red-btn:focus, body .ui-button.ui-danger-button:focus, body .ui-datepicker-buttonpane > button.red-btn:focus, body .ui-datepicker-buttonpane > button.ui-danger-button:focus { + outline: 0 none; + background-color: #f77066; } + body .ui-button.green-btn, body .ui-button.ui-success-button, body .ui-datepicker-buttonpane > button.green-btn, body .ui-datepicker-buttonpane > button.ui-success-button { + background-color: #4CAF50; } + body .ui-button.green-btn:enabled:not(:focus):hover, body .ui-button.ui-success-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.green-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-success-button:enabled:not(:focus):hover { + background-color: #2E7D32; } + body .ui-button.green-btn:focus, body .ui-button.ui-success-button:focus, body .ui-datepicker-buttonpane > button.green-btn:focus, body .ui-datepicker-buttonpane > button.ui-success-button:focus { + outline: 0 none; + background-color: #6ec071; } + body .ui-button.deep-orange-btn, body .ui-datepicker-buttonpane > button.deep-orange-btn { + background-color: #FF5722; } + body .ui-button.deep-orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.deep-orange-btn:enabled:not(:focus):hover { + background-color: #D84315; } + body .ui-button.deep-orange-btn:focus, body .ui-datepicker-buttonpane > button.deep-orange-btn:focus { + outline: 0 none; + background-color: #ff7e55; } + body .ui-button.purple-btn, body .ui-datepicker-buttonpane > button.purple-btn { + background-color: #673AB7; } + body .ui-button.purple-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.purple-btn:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button.purple-btn:focus, body .ui-datepicker-buttonpane > button.purple-btn:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button.pink-btn, body .ui-datepicker-buttonpane > button.pink-btn { + background-color: #E91E63; } + body .ui-button.pink-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.pink-btn:enabled:not(:focus):hover { + background-color: #AD1457; } + body .ui-button.pink-btn:focus, body .ui-datepicker-buttonpane > button.pink-btn:focus { + outline: 0 none; + background-color: #ee4c83; } + body .ui-button.amber-btn, body .ui-button.ui-warning-button, body .ui-datepicker-buttonpane > button.amber-btn, body .ui-datepicker-buttonpane > button.ui-warning-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.amber-btn:enabled:not(:focus):hover, body .ui-button.ui-warning-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.amber-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-warning-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.amber-btn:focus, body .ui-button.ui-warning-button:focus, body .ui-datepicker-buttonpane > button.amber-btn:focus, body .ui-datepicker-buttonpane > button.ui-warning-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.orange-btn, body .ui-datepicker-buttonpane > button.orange-btn { + background-color: #FF9800; } + body .ui-button.orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.orange-btn:enabled:not(:focus):hover { + background-color: #EF6C00; } + body .ui-button.orange-btn:focus, body .ui-datepicker-buttonpane > button.orange-btn:focus { + outline: 0 none; + background-color: #ffad33; } + body .ui-button.brown-btn, body .ui-datepicker-buttonpane > button.brown-btn { + background-color: #795548; } + body .ui-button.brown-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.brown-btn:enabled:not(:focus):hover { + background-color: #4E342E; } + body .ui-button.brown-btn:focus, body .ui-datepicker-buttonpane > button.brown-btn:focus { + outline: 0 none; + background-color: #996b5b; } + body .ui-button.indigo-btn, body .ui-datepicker-buttonpane > button.indigo-btn { + background-color: #3F51B5; } + body .ui-button.indigo-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.indigo-btn:enabled:not(:focus):hover { + background-color: #283593; } + body .ui-button.indigo-btn:focus, body .ui-datepicker-buttonpane > button.indigo-btn:focus { + outline: 0 none; + background-color: #606fc7; } + body .ui-button.blue-btn, body .ui-button.ui-info-button, body .ui-datepicker-buttonpane > button.blue-btn, body .ui-datepicker-buttonpane > button.ui-info-button { + background-color: #03A9F4; + color: #ffffff; } + body .ui-button.blue-btn:enabled:not(:focus):hover, body .ui-button.ui-info-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-info-button:enabled:not(:focus):hover { + background-color: #0277BD; } + body .ui-button.blue-btn:focus, body .ui-button.ui-info-button:focus, body .ui-datepicker-buttonpane > button.blue-btn:focus, body .ui-datepicker-buttonpane > button.ui-info-button:focus { + outline: 0 none; + background-color: #2ebcfc; } + body .ui-button.flat, body .ui-datepicker-buttonpane > button.flat { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-buttonset .ui-button:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #2E7D32; } + body .ui-buttonset .ui-button.ui-state-active { + background-color: #ffeb3b; + color: #212121; } + body .ui-togglebutton:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #2E7D32; } + body .ui-togglebutton.ui-state-active { + background-color: #ffeb3b; + color: #212121; } + body .ui-splitbutton { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); } + body .ui-splitbutton > .ui-button { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-splitbutton > .ui-button:active { + background-color: #6ec071; } + body .ui-splitbutton .ui-splitbutton-menubutton { + height: 2.25em; + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton .ui-menu { + min-width: 100%; } + body .ui-fluid .ui-splitbutton .ui-button:first-child { + width: calc(100% - 2em); } + body .ui-chkbox { + display: inline-block; + vertical-align: middle; + line-height: 1.25em; + width: 1.25em; + height: 1.25em; + cursor: default; } + body .ui-chkbox .ui-chkbox-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + font-size: 1.25em; + margin-left: -2px; + margin-top: -2px; } + body .ui-chkbox .ui-chkbox-box.ui-state-active { + border-color: #4CAF50; + background-color: #4CAF50; } + body .ui-chkbox .ui-chkbox-box.ui-state-focus { + border-color: #4CAF50; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton { + position: relative; + margin: 0 .25em 0 0; + vertical-align: middle; } + body .ui-radiobutton .ui-radiobutton-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + -moz-transition: box-shadow 0.3s; + -o-transition: box-shadow 0.3s; + -webkit-transition: box-shadow 0.3s; + transition: box-shadow 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-focus { + border-color: #4CAF50; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-active { + border-color: #4CAF50; + background-color: transparent; } + body .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon { + display: block; + box-sizing: border-box; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-size: 1em; + transition: -webkit-transform ease .28s; + transition: transform ease .28s; + -webkit-transform: scale(0); + transform: scale(0); + margin: 0; } + body .ui-radiobutton .ui-radiobutton-box .fa-circle { + background-color: #4CAF50; + -webkit-transform: scale(0.5); + transform: scale(0.5); } + body .ui-autocomplete-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-autocomplete-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-autocomplete-panel .ui-autocomplete-list { + padding: 0; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + font-size: 1em; + padding: 0.625em 0.875em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item .ui-autocomplete-query { + font-weight: 700; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item.ui-state-highlight { + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-group { + padding: 0.625em 0.875em; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only { + background-color: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + height: 1.5em; + width: 1.5em; + padding: 0; + right: 0; + bottom: 0; + margin-right: 0; + position: absolute; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .ui-button-text { + display: none; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .fa { + color: #757575; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-inputtext { + box-sizing: border-box; + padding: 2px 2px 1px 2px; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-focus { + padding-bottom: 0; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token { + float: none; + display: inline-block; + margin: 0 1px; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token .ui-autocomplete-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-dropdown { + top: .75em; } + body .ui-fluid .ui-autocomplete.ui-autocomplete-dd > .ui-inputtext { + width: 100%; } + body .ui-dropdown { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-dropdown .ui-dropdown-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: 0; + margin-right: 0; } + body .ui-dropdown .ui-dropdown-trigger .fa { + color: #757575; + margin-top: 0; + margin-left: 0; } + body .ui-dropdown .ui-dropdown-label.ui-inputtext { + font: 1em "Roboto", "Helvetica Neue", sans-serif; } + body .ui-dropdown.ui-state-focus { + border-bottom: 2px solid #4CAF50; } + body .ui-dropdown.ui-state-focus .ui-dropdown-label { + padding-bottom: 0; } + body .ui-dropdown-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-list { + padding: 0; } + body .ui-dropdown-panel .ui-dropdown-item { + margin: 0; + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-item:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-dropdown-panel .ui-dropdown-item.ui-state-highlight { + background-color: #ffeb3b; + color: #212121; } + body .ui-dropdown-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-dropdown-panel .ui-dropdown-filter-container { + display: block; + border-bottom: 1px solid #bdbdbd; + background-color: #4CAF50; + padding: 0.625em 1em; } + body .ui-dropdown-panel .ui-dropdown-filter-container input { + color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container input:focus { + border-bottom-color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container .fa { + top: .325em; + right: .75em; + color: #ffffff; } + body .ui-multiselect { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-multiselect .ui-multiselect-label-container { + padding-right: 1.5em; } + body .ui-multiselect .ui-multiselect-label-container .ui-multiselect-label { + padding: 0px 2px 0px 2px; } + body .ui-multiselect .ui-multiselect-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: .063em; } + body .ui-multiselect .ui-multiselect-trigger .fa { + color: #757575; + margin-top: auto; + margin-left: auto; } + body .ui-multiselect.ui-state-focus { + border-bottom: 2px solid #4CAF50; } + body .ui-multiselect-panel.ui-widget { + padding: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + min-width: 12.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; + position: relative; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox { + float: none; + margin: 0 .5em 0 -.125em; + position: static; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-focus { + background-color: #A5D6A7; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container { + width: 70%; + display: inline-block; + vertical-align: middle; + float: none; + margin-left: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .fa { + top: 0; + left: 0; + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext { + color: #ffffff; + padding-left: 1.5em; + width: 100%; + box-sizing: border-box; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext:focus { + border-bottom-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close { + position: absolute; + right: .5em; + top: .625em; + height: 1.5em; + width: 1.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close span { + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close:hover { + background-color: #A5D6A7; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item { + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item.ui-state-highlight { + color: #212121; } + body .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; + padding: 0; + margin-right: .25em; + background-color: transparent; + color: #212121; + z-index: auto; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-n { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-s { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa { + top: 0px; + height: .5em; + color: #757575; } + body .ui-spinner .ui-spinner-button:enabled:hover, body .ui-spinner .ui-spinner-button:active { + background-color: transparent; } + body .ui-spinner .ui-spinner-up .fa { + top: .25em; } + body .ui-spinner .ui-spinner-down .fa { + top: .167em; } + body .ui-spinner .ui-spinner-input { + padding-right: 30px; } + body .ui-fluid .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; } + body .ui-fluid .ui-spinner .ui-spinner-button .fa { + left: auto; } + body .ui-inputswitch { + height: 14px; + width: 34px !important; + overflow: visible; + background-color: #9e9e9e; + border-color: #9e9e9e; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; } + body .ui-inputswitch .ui-inputswitch-handle { + top: -4px; + background-color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + width: 20px !important; + height: 20px !important; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; } + body .ui-inputswitch .ui-inputswitch-on { + visibility: hidden; } + body .ui-inputswitch .ui-inputswitch-off span, body .ui-inputswitch .ui-inputswitch-on span { + visibility: hidden; } + body .ui-inputswitch.ui-inputswitch-checked { + background-color: #f9a825; + border-color: #f9a825; } + body .ui-inputswitch.ui-inputswitch-checked .ui-inputswitch-handle { + background-color: #ffeb3b; + color: #212121; } + body .ui-slider .ui-slider-handle { + background-color: #ffeb3b; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 1.25em; + height: 1.25em; + transform: scale(0.7); + -moz-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -o-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + body .ui-slider .ui-slider-handle.ui-state-focus { + transform: scale(1); } + body .ui-slider .ui-slider-handle:focus { + outline: 0 none; } + body .ui-slider.ui-slider-horizontal { + height: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-horizontal .ui-slider-handle { + top: -.55em; } + body .ui-slider.ui-slider-vertical { + width: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-vertical .ui-slider-handle { + left: -.55em; } + body .ui-slider .ui-slider-range { + background-color: #ffeb3b; + color: #212121; } + body .ui-slider:not(.ui-state-disabled) .ui-slider-handle:hover { + transform: scale(1); } + body .ui-calendar .ui-datepicker-trigger { + bottom: 2px; + right: 0; + background-color: transparent; + color: #212121; + height: 1.5em; + width: 1.5em; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-calendar .ui-datepicker-trigger .fa { + color: #757575; } + body .ui-calendar .ui-datepicker-trigger:enabled:hover { + background-color: transparent; } + body .ui-fluid .ui-calendar.ui-calendar-w-btn .ui-inputtext { + width: 100%; } + body .ui-datepicker { + padding: 0; + width: 17.5em; } + body .ui-datepicker.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-datepicker .ui-datepicker-header { + padding: 0.625em 1em; + font-size: 1em; + background: #2E7D32; + border-color: #2E7D32; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + cursor: pointer; + top: .4em; + left: .2em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before { + content: "keyboard_arrow_left"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover { + background-color: #A5D6A7; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next { + cursor: pointer; + top: .4em; + right: .2em; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before { + content: "keyboard_arrow_right"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover { + background-color: #A5D6A7; } + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-month, + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-year { + font-size: 14px; } + body .ui-datepicker table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; + font-size: 14px; } + body .ui-datepicker thead tr { + color: #ffffff; + background: #4CAF50; } + body .ui-datepicker tbody td { + padding: .25em .125em; + box-sizing: border-box; } + body .ui-datepicker tbody td.ui-datepicker-today a { + color: #ffffff; + background: #92cf94; } + body .ui-datepicker tbody td.ui-datepicker-today a.ui-state-active { + color: #ffffff; + background-color: #ffeb3b; + color: #212121; } + body .ui-datepicker tbody td a { + padding: .25em; + margin: 0; + text-align: center; + color: #212121; + display: inline-block; + height: 2.250em; + width: 2.250em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + line-height: 1.8em; } + body .ui-datepicker tbody td a.ui-state-active { + color: #ffffff; + background-color: #ffeb3b; + color: #212121; } + body .ui-datepicker tbody td a:not(.ui-state-active):not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datepicker tbody td a span { + display: inline; + padding: 0; + text-align: center; } + body .ui-datepicker .ui-timepicker { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-datepicker .ui-timepicker > div a { + height: 1.5em; } + body .ui-datepicker .ui-timepicker > div a > span { + display: inline-block; + margin-bottom: .25em; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up:before { + content: "keyboard_arrow_up"; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down:before { + content: "keyboard_arrow_down"; } + body #ui-datepicker-div { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-rating { + min-height: 1.5em; } + body .ui-rating .fa-ban { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-ban:before { + content: "cancel"; } + body .ui-rating .fa-star { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star:before { + content: "star"; } + body .ui-rating .fa-star-o { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star-o:before { + content: "star_border"; } + body .ui-chips > ul.ui-inputtext { + padding: 2px 2px 1px 2px; } + body .ui-chips > ul.ui-inputtext.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-chips > ul.ui-inputtext.ui-state-focus { + padding-bottom: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token { + padding-bottom: 2px; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token input:disabled { + width: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-chips > ul.ui-inputtext .ui-chips-token .ui-chips-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-password-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-fileupload .ui-fileupload-buttonbar { + padding: 0.625em 1em; } + body .ui-fileupload .ui-fileupload-buttonbar .fa-arrowreturnthick-1-n:before { + content: "file_upload"; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button { + background-color: #ffeb3b; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button:enabled:hover { + background-color: #4527A0; } + body .ui-fileupload .ui-fileupload-content .ui-messages-error .fa { + color: #ffffff; } + body .ui-fileupload-choose:not(.ui-state-disabled):hover.ui-button, + body .ui-fileupload-choose.ui-state-focus.ui-button { + background-color: #ffe822; } + body .ui-fileupload-choose:not(.ui-state-disabled):active.ui-button { + background-color: #ffe608; } + body .ui-editor-container .ui-editor-toolbar { + background-color: #e8e8e8; } + body .ui-editor-container .ql-picker.ql-expanded .ql-picker-label { + color: #444444; } + body .ui-inputgroup .ui-inputgroup-addon { + border-width: 0 0 1px 0; + border-color: #bdbdbd; + color: #757575; + padding: 2px 2px 1px 2px; + align-self: flex-end; } + body .ui-inputgroup .ui-inputgroup-addon > i { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-self: flex-end; } + body .ui-inputgroup .ui-inputtext { + align-self: flex-end; } + body .ui-inputgroup .md-inputfield { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + display: inherit; } + body .ui-inputgroup .md-inputfield label { + top: 5px; } + body .ui-inputgroup .ui-chkbox, body .ui-inputgroup .ui-radiobutton { + margin-bottom: .125em; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only { + width: 1.643em; + height: 1.643em; + padding: 0; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only .ui-button-icon-left { + margin-left: -.45em; } + body .ui-inputtext.ng-dirty.ng-invalid, + body p-dropdown.ng-dirty.ng-invalid > .ui-dropdown, + body p-autocomplete.ng-dirty.ng-invalid > .ui-autocomplete > .ui-inputtext, + body p-calendar.ng-dirty.ng-invalid > .ui-inputtext, + body p-inputmask.ng-dirty.ng-invalid > .ui-inputtext, + body p-checkbox.ng-dirty.ng-invalid .ui-chkbox-box, + body p-radiobutton.ng-dirty.ng-invalid .ui-radiobutton-box, + body p-inputswitch.ng-dirty.ng-invalid .ui-inputswitch, + body p-listbox.ng-dirty.ng-invalid .ui-inputtext, + body p-multiselect.ng-dirty.ng-invalid > .ui-multiselect, + body p-spinner.ng-dirty.ng-invalid > .ui-inputtext, + body p-selectbutton.ng-dirty.ng-invalid .ui-button, + body p-togglebutton.ng-dirty.ng-invalid .ui-button { + border-bottom-color: #e62a10; } + +@media (max-width: 640px) { + body .ui-buttonset > .ui-button { + display: block; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-buttonset > .ui-button:first-child { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } + body .ui-buttonset > .ui-button:last-child { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton > .ui-button { + display: inline-block; } + body .ui-splitbutton > .ui-button:first-child { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; } + body .ui-splitbutton > .ui-button:last-child { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } } +body .ui-panel { + padding: 0; } + body .ui-panel .ui-panel-titlebar { + border: 0 none; + border-bottom: 1px solid #4CAF50; + padding: 0.625em 1em; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-panel .ui-panel-titlebar .ui-panel-title { + line-height: 1.5em; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon { + position: relative; + width: 1.5em; + height: 1.5em; + color: #ffffff; + margin: 0; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon:hover { + background-color: #A5D6A7; } + body .ui-panel .ui-panel-content { + height: 100%; + box-sizing: border-box; + padding: 0.625em 1em; } + body .ui-panel .ui-panel-footer { + padding: 0.625em 1em; + border: 0 none; + border-top: 1px solid #bdbdbd; + margin: 0; } +body .ui-fieldset { + padding: 0.625em 1em; } + body .ui-fieldset .ui-fieldset-legend { + padding: 0.625em 1em; + padding-left: .125em; + padding-right: .5em; + color: #4CAF50; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler { + padding: .5em; + height: 2em; + width: 2em; + background-color: #4CAF50; + color: #ffffff; + font-size: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + margin-right: .5em; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler:hover { + background-color: #2E7D32; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-legend-text { + color: #4CAF50; } + body .ui-fieldset .ui-fieldset-legend.ui-state-focus { + background-color: transparent; } +body .ui-accordion .ui-accordion-header { + background-color: #4CAF50; + padding: 0; + color: #ffffff; + font-size: 1em; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-accordion .ui-accordion-header > a { + padding: 0.625em 1em; + color: #ffffff; } + body .ui-accordion .ui-accordion-header > a .ui-accordion-toggle-icon, + body .ui-accordion .ui-accordion-header > a .ui-accordion-header-text { + vertical-align: middle; } + body .ui-accordion .ui-accordion-header:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #2E7D32; } + body .ui-accordion .ui-accordion-header.ui-state-active { + background-color: #ffeb3b; + color: #212121; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-accordion .ui-accordion-header.ui-state-active > a { + color: #212121; } +body .ui-accordion .ui-accordion-content { + padding: 0.625em 1em; + line-height: 1.5em; } +body .ui-toolbar { + background-color: #2E7D32; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + padding: .625em; } +body .ui-tabview { + padding: 0; } + body .ui-tabview .ui-tabview-nav { + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabview .ui-tabview-nav > li { + padding: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabview .ui-tabview-nav > li > a { + padding: 0.625em 1em; } + body .ui-tabview .ui-tabview-nav > li > a:focus { + outline: 0 none; } + body .ui-tabview .ui-tabview-nav > li > .fa-close { + margin: .325em 0 0 0; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + color: #757575; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-left-icon, body .ui-tabview .ui-tabview-nav > li .ui-tabview-right-icon { + color: #757575; + display: inline-block; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-title { + line-height: 1.5em; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li.ui-state-default a { + color: #757575; } + body .ui-tabview .ui-tabview-nav > li:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #ffffff; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active { + background-color: #ffffff; + border-color: #ffeb3b; + border-style: solid; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active a { + color: #4CAF50; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active > .fa-close { + color: #ffeb3b; } + body .ui-tabview .ui-tabview-nav > li.ui-tabview-outline { + outline: 0 none; + border-color: #f9a825; } + body .ui-tabview .ui-tabview-panel { + padding: 0.625em 1em; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav > li { + border-style: solid; + border-width: 0 0 2px 0; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav > li { + border-width: 2px 0 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + border-right: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 2px 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav { + padding: 0; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 0 0 2px; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li.ui-state-active > a { + padding-left: 0.875em; } + +@media (max-width: 640px) { + body .ui-toolbar .ui-toolbar-group-right { + margin-top: 1em; } } +body .ui-picklist .ui-picklist-caption { + font-size: 1em; + padding: 0.625em 1em; } +body .ui-picklist .ui-picklist-list { + padding: 0; } +body .ui-picklist .ui-picklist-filter-container .fa { + left: 0.3em; } +body .ui-picklist .ui-picklist-filter-container .ui-picklist-filter { + text-indent: 1.5em; } +body .ui-picklist li.ui-picklist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-picklist li.ui-picklist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-picklist li.ui-picklist-item.ui-state-highlight { + background-color: #ffeb3b; + color: #212121; } +body .ui-picklist .ui-picklist-buttons { + width: 3em; } + body .ui-picklist .ui-picklist-buttons .ui-button.ui-button-icon-only { + width: 2.5em; + margin-right: 0; + display: inline-block; + margin-bottom: .5em; } +body .ui-picklist .ui-picklist-buttons-cell { + text-align: center; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + margin: 0 auto; + display: block; + margin-bottom: .5em; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox { + margin-right: .5em; + vertical-align: top; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox, body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox * { + box-sizing: content-box; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-organizationchart-selectable-node:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-state-highlight .ui-node-toggler i { + color: #bba700; } +body .ui-organizationchart .ui-organizationchart-line-down { + background-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-left { + border-right: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-top { + border-top: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content { + border-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler { + bottom: -1.3em; + margin-left: -.75em; + color: #bdbdbd; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down:before { + content: "keyboard_arrow_down"; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up:before { + content: "keyboard_arrow_up"; } +body .ui-orderlist .ui-orderlist-caption { + font-size: 1em; + padding: 0.625em 1em; + box-sizing: border-box; } +body .ui-orderlist .ui-orderlist-list { + padding: 0; + box-sizing: border-box; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item.ui-state-highlight { + background-color: #ffeb3b; + color: #212121; } +body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 3.75em; } +body .ui-orderlist .ui-orderlist-controls { + width: 3.75em; + text-align: center; } + body .ui-orderlist .ui-orderlist-controls .ui-button.ui-button-icon-only { + width: 2.5em; + margin-bottom: .5em; + margin-right: 0; } +body .ui-paginator { + background-color: #2E7D32; + padding: 0.625em 1em; } + body .ui-paginator > a { + box-sizing: border-box; + color: #ffffff; } + body .ui-paginator > a .fa { + display: none; } + body .ui-paginator > a:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #A5D6A7; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-next { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-next:before { + content: "navigate_next"; } + body .ui-paginator .ui-paginator-last { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-last:before { + content: "last_page"; } + body .ui-paginator .ui-paginator-prev { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-prev:before { + content: "navigate_before"; } + body .ui-paginator .ui-paginator-first { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-first:before { + content: "first_page"; } + body .ui-paginator .ui-paginator-pages { + vertical-align: middle; + margin: 0 .375em 0 .375em; } + body .ui-paginator .ui-paginator-pages a { + padding: 0; + color: #ffffff; + min-width: 1.5em; + min-height: 1.5em; + line-height: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-pages a:not(.ui-state-active):hover { + background-color: #A5D6A7; } + body .ui-paginator .ui-paginator-pages a.ui-state-active { + background-color: #ffeb3b; + color: #212121; } +body .ui-datagrid .ui-datagrid-header { + padding: 0.625em 1em; } +body .ui-datagrid .ui-panel .ui-panel-titlebar { + background-color: #ffffff; + color: #212121; + border-color: #bdbdbd; } +body .ui-datalist .ui-datalist-header { + padding: 0.625em 1em; } +body .ui-table .ui-table-caption, +body .ui-table .ui-table-summary { + padding: 0.625em 1em; + text-align: center; + font-weight: normal; } +body .ui-table .ui-table-caption { + border-bottom: 0 none; } +body .ui-table .ui-table-summary { + border-top: 0 none; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tbody > tr > td, +body .ui-table .ui-table-tfoot > tr > td { + padding: 0.625em 1em; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tfoot > tr > td { + font-weight: 400; + background-color: #ffffff; + border: 1px solid #cacaca; } +body .ui-table .ui-sortable-column:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-table .ui-sortable-column.ui-state-highlight { + background-color: #ffeb3b; + color: #212121; + border-top-color: #ffeb3b; } + body .ui-table .ui-sortable-column.ui-state-highlight .fa { + color: #212121; } +body .ui-table .ui-sortable-column .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } +body .ui-table .ui-table-tbody > tr { + background: #ffffff; } + body .ui-table .ui-table-tbody > tr > td { + background: inherit; + border: 1px solid #cacaca; } + body .ui-table .ui-table-tbody > tr.ui-state-highlight { + background-color: #ffeb3b; + color: #212121; } + body .ui-table .ui-table-tbody > tr.ui-contextmenu-selected { + background-color: #ffeb3b; + color: #212121; } +body .ui-table .ui-table-tbody > tr:nth-child(odd) { + background-color: #f4f4f4; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-state-highlight { + background-color: #ffeb3b; + color: #212121; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-contextmenu-selected { + background-color: #ffeb3b; + color: #212121; } +body .ui-table.ui-table-hoverable-rows .ui-table-tbody > tr:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable .ui-datatable-header, +body .ui-datatable .ui-datatable-footer { + padding: 0.625em 1em; } + body .ui-datatable .ui-datatable-header .ui-inputtext, + body .ui-datatable .ui-datatable-footer .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-header .ui-inputtext:focus, + body .ui-datatable .ui-datatable-footer .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-paginator { + padding: 0.625em 1em; } +body .ui-datatable .ui-datatable-thead > tr { + border-color: #cacaca; } + body .ui-datatable .ui-datatable-thead > tr th { + padding: .625em .875em; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-sortable-column:not(.ui-state-active):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datatable .ui-datatable-thead > tr th .ui-column-title { + display: inline-block; + vertical-align: middle; } + body .ui-datatable .ui-datatable-thead > tr th .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight { + background-color: #ffeb3b; + color: #212121; + border-top-color: #ffeb3b; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .fa, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .fa { + color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext { + color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext.ui-state-focus, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext.ui-state-focus { + border-color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-selection-column .ui-chkbox-box { + box-sizing: content-box; } +body .ui-datatable tfoot th { + padding: .625em .875em; + border: 1px solid #bdbdbd; + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-datatable-even { + background-color: #f4f4f4; } + body .ui-datatable .ui-datatable-data tr.ui-datatable-even.ui-state-highlight { + background-color: #ffeb3b; + color: #212121; } +body .ui-datatable .ui-datatable-data tr { + border: 1px solid #cacaca; } + body .ui-datatable .ui-datatable-data tr td { + padding: .625em .875em; } + body .ui-datatable .ui-datatable-data tr td .ui-row-toggler { + display: inherit; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td input.ui-cell-editor { + padding: 2px 2px 1px 2px; + font-size: 1em; } + body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-chkbox-box, body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-radiobutton-box { + box-sizing: content-box; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight { + background-color: #ffeb3b; + border-color:   #ffeb3b; + color: #212121; } + body .ui-datatable .ui-datatable-data tr .ui-cell-editor-input input { + color: #212121; } +body .ui-datatable .ui-datatable-data tr.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext, + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext.ui-state-error { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box .ui-radiobutton-icon { + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box { + border-color: #ffffff; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box .ui-chkbox-icon { + color: #757575; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-rowgroup-header td a { + height: 1.5em; + vertical-align: top; + display: inline-block; } +body .ui-datatable .ui-datatable-data.ui-datatable-hoverable-rows > tr.ui-widget-content:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer { + border: 0 none; + background-color: transparent; } + body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header .ui-datatable-data td, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer .ui-datatable-data td { + color: #212121; } +body .ui-datatable.ui-datatable-scrollable thead tr th { + color: #212121; + font-size: 16px; } +body .ui-datatable.ui-datatable-scrollable tfoot tr td { + color: #212121; + font-size: 16px; } +body .ui-datatable .ui-datatable-loading { + opacity: 0.3; + filter: alpha(opacity=30); } +body .ui-datatable .ui-datatable-loading-content { + top: 35%; } + body .ui-datatable .ui-datatable-loading-content .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-animation-delay: 0; + -webkit-animation-duration: 1000ms; + -webkit-animation-name: spin; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-delay: 0; + -moz-animation-duration: 1000ms; + -moz-animation-name: spin; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + animation-delay: 0; + animation-duration: 1000ms; + animation-name: spin; + animation-iteration-count: infinite; + animation-timing-function: linear; + font-size: 2em; } + body .ui-datatable .ui-datatable-loading-content .fa:before { + content: "refresh"; } +body .ui-carousel { + padding: 0; } + body .ui-carousel .ui-carousel-header { + padding: 0.625em 1em; + font-size: 1em; + overflow: visible; } + body .ui-carousel .ui-carousel-header .ui-carousel-header-title { + overflow: visible; } + body .ui-carousel .ui-carousel-header .fa { + color: #ffffff; } + body .ui-carousel .ui-carousel-header .ui-carousel-button { + margin: -1px 0 0 0; } + body .ui-carousel .ui-carousel-header .ui-carousel-page-links { + margin: -1px 0 0 0; } +body .ui-tree { + padding: 0.625em 1em/2; } + body .ui-tree .ui-treenode-children { + padding-left: 1.75em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin-right: .5em; } + body .ui-tree .ui-treenode-content .ui-chkbox .fa { + color: #757575; } + body .ui-tree .ui-treenode-content .ui-tree-toggler { + vertical-align: middle; + margin: 0 0 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-icon { + vertical-align: middle; + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-label { + margin: 0; + vertical-align: middle; } + body .ui-tree .ui-treenode-content.ui-treenode-selectable .ui-treenode-label:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal { + padding-left: 0; + padding-right: 0; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content { + background-color: #ffffff; + border: 1px solid #bdbdbd; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-tree-toggler { + vertical-align: top; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-treenode-icon { + vertical-align: top; + margin-right: .25em; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-treenode-selectable:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-state-highlight { + background-color: #ffeb3b; + color: #212121; } +body .ui-tree-draghelper { + border: 1px solid #4CAF50; } +body .fc .fc-toolbar .ui-icon-circle-triangle-e { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-icon-circle-triangle-w { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-state-active { + background-color: #ffeb3b; } +body .fc .fc-event { + background-color: #A5D6A7; + color: #ffffff; } +body .fc table { + box-sizing: border-box; } +body .ui-treetable .ui-treetable-header { + padding: 0.625em 1em; + font-size: 1em; } +body .ui-treetable thead tr { + border-bottom: 1px solid #bdbdbd; } + body .ui-treetable thead tr th { + background-color: #ffffff; + padding: .625em .875em; + border: 0 none; } + body .ui-treetable thead tr th .fa { + color: #757575; } + body .ui-treetable thead tr th:first-child { + border-left: 1px solid #bdbdbd; } + body .ui-treetable thead tr th:last-child { + border-right: 1px solid #bdbdbd; } + body .ui-treetable thead tr th .ui-sortable-column-icon { + vertical-align: middle; + margin: -.25em 0 0 0; } + body .ui-treetable thead tr th.ui-state-active { + background-color: #ffeb3b; + color: #212121; } + body .ui-treetable thead tr th.ui-state-active .fa { + color: #212121; } + body .ui-treetable thead tr th .ui-column-resizer { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1em; + color: #757575; } + body .ui-treetable thead tr th .ui-column-resizer:before { + content: "code"; } +body .ui-treetable tfoot td { + border: 0 none; + padding: .625em .875em; } +body .ui-treetable tbody .ui-treetable-row { + background-color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row td { + border: 0 none; + padding: .625em .875em; } + body .ui-treetable tbody .ui-treetable-row td .ui-treetable-toggler { + display: inline-block; + vertical-align: middle; + margin: 0 .167em; + float: none; } + body .ui-treetable tbody .ui-treetable-row td .ui-chkbox { + margin-right: .5em; } + body .ui-treetable tbody .ui-treetable-row td.ui-treetable-child-table-container { + padding: 0; } + body .ui-treetable tbody .ui-treetable-row.ui-treetable-row-selectable:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight { + background-color: #ffeb3b; + color: #212121; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight .ui-chkbox .ui-chkbox-box { + border-color: #212121; } +body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-header, body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-footer { + background-color: transparent; + border: 0 none; } +body .ui-treetable.ui-treetable-scrollable thead th { + background-color: #ffffff; + color: #212121; } + +@media (max-width: 40em) { + body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 100%; } } +@media (max-width: 640px) { + body .ui-picklist.ui-picklist-responsive .ui-picklist-list-wrapper { + margin-bottom: .5em; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons { + padding: .5em 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + display: inline-block; + margin-right: .25em; + margin-bottom: 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right:before { + content: "skip_previous"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left:before { + content: "skip_next"; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls { + text-align: center; + width: auto; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button { + margin-right: .25em; } } +body .ui-breadcrumb { + padding: 0.625em 1em; } + body .ui-breadcrumb ul li a { + color: #ffffff; + font-size: 1em; } +body .ui-steps { + position: relative; } + body .ui-steps .ui-steps-item { + background-color: transparent; } + body .ui-steps .ui-steps-item.ui-state-disabled { + opacity: 1; + filter: alpha(opacity=100); } + body .ui-steps .ui-steps-item .ui-menuitem-link { + display: inline-block; + text-align: left; + background-color: #ffffff; + overflow: hidden; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number { + display: inline-block; + background-color: #757575; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: .25em .75em; + font-size: 1em; + color: #ffffff; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: inline; + margin-left: .625em; + color: #757575; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-number { + background-color: #ffeb3b; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-title { + font-weight: 700; + color: #212121; } + body .ui-steps .ui-steps-item:last-child .ui-menuitem-link { + display: block; } + body .ui-steps:before { + content: ' '; + border: 1px solid #bdbdbd; + width: 90%; + top: 45%; + left: 0; + display: block; + position: absolute; } +body .ui-menu .ui-menuitem-link, +body .ui-menubar .ui-menuitem-link, +body .ui-tieredmenu .ui-menuitem-link, +body .ui-contextmenu .ui-menuitem-link, +body .ui-megamenu .ui-menuitem-link, +body .ui-slidemenu .ui-menuitem-link { + padding: .625em 1em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-menu .ui-menuitem-link:hover, + body .ui-menubar .ui-menuitem-link:hover, + body .ui-tieredmenu .ui-menuitem-link:hover, + body .ui-contextmenu .ui-menuitem-link:hover, + body .ui-megamenu .ui-menuitem-link:hover, + body .ui-slidemenu .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link:focus, + body .ui-menubar .ui-menuitem-link:focus, + body .ui-tieredmenu .ui-menuitem-link:focus, + body .ui-contextmenu .ui-menuitem-link:focus, + body .ui-megamenu .ui-menuitem-link:focus, + body .ui-slidemenu .ui-menuitem-link:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link .ui-menuitem-text, + body .ui-menubar .ui-menuitem-link .ui-menuitem-text, + body .ui-tieredmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-contextmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-megamenu .ui-menuitem-link .ui-menuitem-text, + body .ui-slidemenu .ui-menuitem-link .ui-menuitem-text { + vertical-align: middle; } +body .ui-menubar .ui-submenu-list, body .ui-contextmenu .ui-submenu-list, +body .ui-slidemenu .ui-submenu-list, body .ui-tieredmenu .ui-submenu-list { + padding: .5em 0; } + body .ui-menubar .ui-submenu-list .ui-menuitem, body .ui-contextmenu .ui-submenu-list .ui-menuitem, + body .ui-slidemenu .ui-submenu-list .ui-menuitem, body .ui-tieredmenu .ui-submenu-list .ui-menuitem { + margin: 0; } +body .ui-menu { + width: 100%; + padding: .5em 0; } + body .ui-menu .ui-menuitem { + margin: 0; } + body .ui-menu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menu.ui-shadow, body .ui-menu .ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-menu .ui-submenu-header { + border: 0 none; + margin: 0; + padding: .625em 1em; + border-radius: 0; } +body .ui-menubar { + padding: 0; } + body .ui-menubar .ui-menubar-root-list > .ui-menuitem > .ui-menuitem-link { + padding: .625em 1em; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } +body .ui-contextmenu { + padding: .5em 0; } + body .ui-contextmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-contextmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-slidemenu { + padding: .5em 0; } + body .ui-slidemenu .ui-menuitem { + margin: 0; } + body .ui-slidemenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-slidemenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-slidemenu .ui-slidemenu-backward { + margin-bottom: .4em; + padding: 0.625em 1em; + width: 100%; + background-color: #4CAF50; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border: 0 none; } + body .ui-slidemenu .ui-slidemenu-backward:hover { + background-color: #3d8b40; } +body .ui-tieredmenu { + padding: .5em 0; } + body .ui-tieredmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-tieredmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-tabmenu { + padding: 0; } + body .ui-tabmenu .ui-tabmenu-nav { + padding: 0; + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem { + top: auto; + margin: 0 .25em 0 0; + padding: 0; + border-style: solid; + border-width: 0 0 2px 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a { + padding: 0.625em 1em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a:focus { + outline: 0 none; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon, body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-text { + float: none; + display: inline-block; + vertical-align: middle; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon { + font-weight: 1em; + margin-right: .25em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a .fa { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem:not(.ui-state-active):hover { + background-color: #ffffff; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active { + background-color: #ffffff; + border-color: #ffeb3b; + border-style: solid; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a { + color: #4CAF50; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a .fa { + color: #4CAF50; } +body .ui-megamenu { + padding: 0; } + body .ui-megamenu .ui-megamenu-submenu-header { + border-radius: 0; + padding: .5em; } + body .ui-megamenu .ui-submenu-list { + padding: 0; + border: 0 none; } + body .ui-megamenu .ui-submenu-list .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-panelmenu .ui-panelmenu-header { + background-color: #4CAF50; + margin-bottom: 1px; } + body .ui-panelmenu .ui-panelmenu-header a { + padding: .625em 1em; + color: #ffffff; + font-size: 16px; + border-bottom: 1px solid #ffffff; } + body .ui-panelmenu .ui-panelmenu-header .fa { + color: #ffffff; + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header .ui-menuitem-text { + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active { + background-color: #ffeb3b; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + margin-bottom: 0; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active a, body .ui-panelmenu .ui-panelmenu-header.ui-state-active .fa { + color: #212121; } +body .ui-panelmenu .ui-panelmenu-content { + padding: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem { + margin: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link { + border: 0 none; + padding: .625em 1em; + width: 100%; + min-height: 2.750em; + box-sizing: border-box; + color: #212121; + line-height: 1.5em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + position: relative; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .ui-menuitem-text { + display: inline-block; + vertical-align: middle; + float: none; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .fa { + position: static; + display: inline-block; + vertical-align: middle; } +body .ui-panelmenu .ui-menu-parent .ui-menu-list { + margin-left: 28px; } + +@media (max-width: 640px) { + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: none; } } +body { + /* Messages */ } + body .ui-messages { + padding: 0.625em 1em; } + body .ui-messages ul { + display: inline-block; + margin-left: 0; } + body .ui-messages.ui-messages-info { + background-color: #2196F3; + border-color: #2196F3; + color: #ffffff; } + body .ui-messages.ui-messages-warn { + background-color: #ffc107; + border-color: #ffc107; + color: #ffffff; } + body .ui-messages.ui-messages-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-messages.ui-messages-fatal { + background-color: #212121; + border-color: #212121; + color: #ffffff; } + body .ui-messages.ui-messages-success { + background-color: #8BC34A; + border-color: #8BC34A; + color: #ffffff; } + body .ui-messages .ui-messages-close { + text-decoration: none; + color: #fff; + right: .25em; } + body .ui-messages .ui-messages-icon { + background: none; + color: #fff; + margin-top: -2px; } + body .ui-messages .ui-messages-icon.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-info-circle:before { + content: "info"; } + body .ui-messages .ui-messages-icon.fa-warning { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-warning:before { + content: "warning"; } + body .ui-messages .ui-messages-icon.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-close:before { + content: "error_outline"; } + body .ui-messages .ui-messages-icon.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-check:before { + content: "check_circle"; } + body .ui-growl { + top: 90px; } + body .ui-growl > .ui-growl-item-container { + opacity: 1; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-info { + background-color: #2196F3; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-warn { + background-color: #ffc107; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-error { + background-color: #e62a10; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-fatal { + background-color: #212121; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-success { + background-color: #8BC34A; } + body .ui-growl > .ui-growl-item-container.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + body .ui-growl .ui-growl-item .ui-growl-image { + background: none; + color: #ffffff; + font-size: 36px; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle:before { + content: "info"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle:before { + content: "warning"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close:before { + content: "error_outline"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check:before { + content: "check_circle"; } + body .ui-growl .ui-growl-item .ui-growl-message { + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 24px; + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close:before { + content: "close"; } + +body .ui-dialog.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-dialog .ui-dialog-titlebar { + background-color: #ffffff; + color: #212121; + padding: 0.625em 1em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-title { + font-size: 1.25em; + letter-spacing: .005em; + margin-top: .25em; + line-height: 2em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon { + border: 0 none; + padding: 0; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + height: 1.5em; + width: 1.5em; + text-align: center; + margin-top: .5em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:hover, body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa { + color: #757575; + display: inline-block; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-extlink:before { + content: "fullscreen"; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-newwin:before { + content: "fullscreen_exit"; } +body .ui-dialog .ui-dialog-content { + padding: 0.625em 1em; } +body .ui-dialog .ui-dialog-footer { + text-align: right; + border: 0 none; + border-top: 1px solid #bdbdbd; } + body .ui-dialog .ui-dialog-footer .ui-button { + background-color: #ffffff; + color: #212121; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: auto; } + body .ui-dialog .ui-dialog-footer .ui-button .fa { + color: #757575; } + body .ui-dialog .ui-dialog-footer .ui-button:hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-dialog .ui-confirm-dialog-severity { + margin: 0px .75em; } +body .ui-lightbox.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-lightbox .ui-lightbox-caption { + padding: 0.625em 1em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-caption-text { + margin: 0; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + padding: 0; + margin: 0; + width: 1.5em; + height: 1.5em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close:hover { + background-color: #A5D6A7; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } +body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left { + top: 40%; } + body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right .fa, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left .fa { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 3em; + color: #A5D6A7; } +body .ui-overlaypanel.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-overlaypanel .ui-overlaypanel-close { + background-color: #ffeb3b; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + right: -16px; + top: -16px; + width: 2em; + height: 2em; + line-height: 2em; + text-align: center; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-overlaypanel .ui-overlaypanel-close span { + color: #212121; + line-height: inherit; } + body .ui-overlaypanel .ui-overlaypanel-close:hover { + background-color: #4527A0; } +body .ui-tooltip { + opacity: 0.9; + filter: alpha(opacity=90); } + body .ui-tooltip .ui-tooltip-text { + background-color: #323232; } + body .ui-tooltip.ui-tooltip-top .ui-tooltip-arrow { + border-top-color: #323232; } + body .ui-tooltip.ui-tooltip-bottom .ui-tooltip-arrow { + border-bottom-color: #323232; } + body .ui-tooltip.ui-tooltip-left .ui-tooltip-arrow { + border-left-color: #323232; } + body .ui-tooltip.ui-tooltip-right .ui-tooltip-arrow { + border-right-color: #323232; } + +body .ui-draggable-dragging.ui-state-default { + padding: 0.625em 1em !important; + background-color: #4CAF50; } +body .jqplot-target { + font-family: "Roboto","Helvetica Neue",sans-serif; } +body .ui-progressbar { + height: .5em; + background-color: #A5D6A7; + overflow: hidden; + border: 0 none; } + body .ui-progressbar .ui-progressbar-value { + height: .5em; } + body .ui-progressbar .ui-progressbar-label { + color: #ffffff; + display: none !important; } +body .ui-galleria .ui-galleria-nav-prev { + left: 0; } +body .ui-galleria .ui-galleria-nav-next { + right: 0; } +body .ui-inplace .ui-inplace-display { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-inplace .ui-inplace-display:hover { + background-color: #e8e8e8; } +body .ui-terminal .ui-terminal-input { + font-size: 16px; } diff --git a/src/assets/theme/theme-green.scss b/src/assets/theme/theme-green.scss new file mode 100644 index 0000000..12c25b1 --- /dev/null +++ b/src/assets/theme/theme-green.scss @@ -0,0 +1,9 @@ +$primaryColor: #4CAF50; +$primaryDarkColor: #2E7D32; +$primaryLightColor: #A5D6A7; +$accentColor: #ffeb3b; +$accentDarkColor: #4527A0; +$accentLightColor: #f9a825; +$accentTextColor: #212121; + +@import '../sass/theme/_theme'; \ No newline at end of file diff --git a/src/assets/theme/theme-grey.css b/src/assets/theme/theme-grey.css new file mode 100644 index 0000000..f52eda4 --- /dev/null +++ b/src/assets/theme/theme-grey.css @@ -0,0 +1,6153 @@ +@charset "UTF-8"; +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +.fa-sort:before { + content: "sort"; } + +.fa-sort-asc:before { + content: "keyboard_arrow_up"; } + +.fa-sort-desc:before { + content: "keyboard_arrow_down"; } + +.fa-angle-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-up:before { + content: "play_arrow"; } + +.fa-angle-double-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-up:before { + content: "skip_next"; } + +.fa-angle-down { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .fa-angle-down:before { + content: "play_arrow"; } + +.fa-angle-double-down { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-down:before { + content: "skip_previous"; } + +.fa-angle-right:before { + content: "play_arrow"; } + +.fa-angle-double-right:before { + content: "fast_forward"; } + +.fa-angle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-angle-left:before { + content: "play_arrow"; } + +.fa-angle-double-left:before { + content: "fast_rewind"; } + +.fa-check:before { + content: "check"; } + +.fa-caret-up:before { + content: "keyboard_arrow_up"; } + +.fa-caret-down:before { + content: "keyboard_arrow_down"; } + +.fa-caret-right:before { + content: "keyboard_arrow_right"; } + +.fa-caret-left:before { + content: "keyboard_arrow_left"; } + +.fa-search:before { + content: "search"; } + +.fa-close:before { + content: "close"; } + +.fa-minus:before { + content: "remove"; } + +.fa-plus:before { + content: "add"; } + +.fa-check:before { + content: "check"; } + +.fa-info-circle:before { + content: "info"; } + +.fa-upload:before { + content: "file_upload"; } + +.fa-chevron-circle-left:before { + content: "keyboard_arrow_left"; } + +.fa-chevron-circle-right:before { + content: "keyboard_arrow_right"; } + +.fa-chevron-circle-down:before { + content: "keyboard_arrow_down"; } + +.fa-chevron-circle-up:before { + content: "keyboard_arrow_up"; } + +.fa-home:before { + content: "home"; } + +.fa-chevron-right:before { + content: "chevron_right"; } + +.fa-chevron-left:before { + content: "chevron_left"; } + +.fa-circle-o:before { + content: "radio_button_unchecked"; } + +.fa-dot-circle-o:before { + content: "radio_button_checked"; } + +.fa-arrow-circle-right:before { + content: "play_circle_outline"; } + +.fa-arrow-circle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-arrow-circle-left:before { + content: "play_circle_outline"; } + +.fa-calendar:before { + content: "date_range"; } + +.fa-arrow-down:before { + content: "arrow_downward"; } + +.fa-arrow-up:before { + content: "arrow_upward"; } + +.ui-icon-carat-2-n-s:before { + content: "sort"; } + +.ui-icon-triangle-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-triangle-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-triangle-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-triangle-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-carat-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-carat-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-carat-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-carat-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-arrow-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrow-1-n:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-n:before { + content: "skip_next"; } + +.ui-icon-arrow-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrow-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-s { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-s:before { + content: "skip_previous"; } + +.ui-icon-arrow-1-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-arrow-1-w:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-w:before { + content: "fast_rewind"; } + +.ui-icon-arrow-1-e:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-e:before { + content: "fast_forward"; } + +.ui-icon-arrowthick-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrowthick-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowthick-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowthick-1-n:before { + content: "play_arrow"; } + +.ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-circle-triangle-s:before { + content: "play_circle_outline"; } + +.ui-icon-radio-off:before { + content: "radio_button_unchecked"; } + +.ui-icon-radio-on:before { + content: "radio_button_checked"; } + +.ui-icon-folder-collapsed:before { + content: "folder"; } + +.ui-icon-document:before { + content: "content_paste"; } + +.ui-icon-video:before { + content: "movie"; } + +.ui-icon-music:before { + content: "music_note"; } + +.ui-icon-plus:before { + content: "add"; } + +.ui-icon-minus:before { + content: "remove"; } + +.ui-icon-plusthick:before { + content: "add"; } + +.ui-icon-minusthick:before { + content: "remove"; } + +.ui-icon-pencil:before { + content: "edit"; } + +.ui-icon-closethick:before { + content: "close"; } + +.ui-icon-circle-close:before { + content: "cancel"; } + +.ui-icon-gear:before { + content: "settings"; } + +.ui-icon-calendar:before { + content: "date_range"; } + +.ui-icon-trash:before { + content: "delete_forever"; } + +.ui-icon-notice:before { + content: "error_outline"; } + +.ui-icon-alert:before { + content: "warning"; } + +.ui-icon-circle-zoomin:before { + content: "zoom_in"; } + +.ui-icon-circle-zoomout:before { + content: "zoom_out"; } + +.ui-icon-circle-arrow-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-arrow-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-arrow-w:before { + content: "play_circle_outline"; } + +.ui-icon-3d-rotation:before { + content: "3d_rotation"; } + +.ui-icon-ac-unit:before { + content: "ac_unit"; } + +.ui-icon-access-alarm:before { + content: "access_alarm"; } + +.ui-icon-access-alarms:before { + content: "access_alarms"; } + +.ui-icon-access-time:before { + content: "access_time"; } + +.ui-icon-accessibility:before { + content: "accessibility"; } + +.ui-icon-accessible:before { + content: "accessible"; } + +.ui-icon-account-balance:before { + content: "account_balance"; } + +.ui-icon-account-balance-wallet:before { + content: "account_balance_wallet"; } + +.ui-icon-account-box:before { + content: "account_box"; } + +.ui-icon-account-circle:before { + content: "account_circle"; } + +.ui-icon-add:before { + content: "add"; } + +.ui-icon-add-a-photo:before { + content: "add_a_photo"; } + +.ui-icon-add-alarm:before { + content: "add_alarm"; } + +.ui-icon-add-alert:before { + content: "add_alert"; } + +.ui-icon-add-box:before { + content: "add_box"; } + +.ui-icon-add-circle:before { + content: "add_circle"; } + +.ui-icon-add-circle-outline:before { + content: "add_circle_outline"; } + +.ui-icon-add-location:before { + content: "add_location"; } + +.ui-icon-add-shopping-cart:before { + content: "add_shopping_cart"; } + +.ui-icon-add-to-photos:before { + content: "add_to_photos"; } + +.ui-icon-add-to-queue:before { + content: "add_to_queue"; } + +.ui-icon-adjust:before { + content: "adjust"; } + +.ui-icon-airline-seat-flat:before { + content: "airline_seat_flat"; } + +.ui-icon-airline-seat-flat-angled:before { + content: "airline_seat_flat_angled"; } + +.ui-icon-airline-seat-individual-suite:before { + content: "airline_seat_individual_suite"; } + +.ui-icon-airline-seat-legroom-extra:before { + content: "airline_seat_legroom_extra"; } + +.ui-icon-airline-seat-legroom-normal:before { + content: "airline_seat_legroom_normal"; } + +.ui-icon-airline-seat-legroom-reduced:before { + content: "airline_seat_legroom_reduced"; } + +.ui-icon-airline-seat-recline-extra:before { + content: "airline_seat_recline_extra"; } + +.ui-icon-airline-seat-recline-normal:before { + content: "airline_seat_recline_normal"; } + +.ui-icon-airplanemode-active:before { + content: "airplanemode_active"; } + +.ui-icon-airplanemode-inactive:before { + content: "airplanemode_inactive"; } + +.ui-icon-airplay:before { + content: "airplay"; } + +.ui-icon-airport-shuttle:before { + content: "airport_shuttle"; } + +.ui-icon-alarm:before { + content: "alarm"; } + +.ui-icon-alarm-add:before { + content: "alarm_add"; } + +.ui-icon-alarm-off:before { + content: "alarm_off"; } + +.ui-icon-alarm-on:before { + content: "alarm_on"; } + +.ui-icon-album:before { + content: "album"; } + +.ui-icon-all-inclusive:before { + content: "all_inclusive"; } + +.ui-icon-all-out:before { + content: "all_out"; } + +.ui-icon-android:before { + content: "android"; } + +.ui-icon-announcement:before { + content: "announcement"; } + +.ui-icon-apps:before { + content: "apps"; } + +.ui-icon-archive:before { + content: "archive"; } + +.ui-icon-arrow-back:before { + content: "arrow_back"; } + +.ui-icon-arrow-downward:before { + content: "arrow_downward"; } + +.ui-icon-arrow-drop-down:before { + content: "arrow_drop_down"; } + +.ui-icon-arrow-drop-down-circle:before { + content: "arrow_drop_down_circle"; } + +.ui-icon-arrow-drop-up:before { + content: "arrow_drop_up"; } + +.ui-icon-arrow-forward:before { + content: "arrow_forward"; } + +.ui-icon-arrow-upward:before { + content: "arrow_upward"; } + +.ui-icon-art-track:before { + content: "art_track"; } + +.ui-icon-aspect-ratio:before { + content: "aspect_ratio"; } + +.ui-icon-assessment:before { + content: "assessment"; } + +.ui-icon-assignment:before { + content: "assignment"; } + +.ui-icon-assignment-ind:before { + content: "assignment_ind"; } + +.ui-icon-assignment-late:before { + content: "assignment_late"; } + +.ui-icon-assignment-return:before { + content: "assignment_return"; } + +.ui-icon-assignment-returned:before { + content: "assignment_returned"; } + +.ui-icon-assignment-turned-in:before { + content: "assignment_turned_in"; } + +.ui-icon-assistant:before { + content: "assistant"; } + +.ui-icon-assistant-photo:before { + content: "assistant_photo"; } + +.ui-icon-attach-file:before { + content: "attach_file"; } + +.ui-icon-attach-money:before { + content: "attach_money"; } + +.ui-icon-attachment:before { + content: "attachment"; } + +.ui-icon-audiotrack:before { + content: "audiotrack"; } + +.ui-icon-autorenew:before { + content: "autorenew"; } + +.ui-icon-av-timer:before { + content: "av_timer"; } + +.ui-icon-backspace:before { + content: "backspace"; } + +.ui-icon-backup:before { + content: "backup"; } + +.ui-icon-battery-alert:before { + content: "battery_alert"; } + +.ui-icon-battery-charging-full:before { + content: "battery_charging_full"; } + +.ui-icon-battery-full:before { + content: "battery_full"; } + +.ui-icon-battery-std:before { + content: "battery_std"; } + +.ui-icon-battery-unknown:before { + content: "battery_unknown"; } + +.ui-icon-beach-access:before { + content: "beach_access"; } + +.ui-icon-beenhere:before { + content: "beenhere"; } + +.ui-icon-block:before { + content: "block"; } + +.ui-icon-bluetooth:before { + content: "bluetooth"; } + +.ui-icon-bluetooth-audio:before { + content: "bluetooth_audio"; } + +.ui-icon-bluetooth-connected:before { + content: "bluetooth_connected"; } + +.ui-icon-bluetooth-disabled:before { + content: "bluetooth_disabled"; } + +.ui-icon-bluetooth-searching:before { + content: "bluetooth_searching"; } + +.ui-icon-blur-circular:before { + content: "blur_circular"; } + +.ui-icon-blur-linear:before { + content: "blur_linear"; } + +.ui-icon-blur-off:before { + content: "blur_off"; } + +.ui-icon-blur-on:before { + content: "blur_on"; } + +.ui-icon-book:before { + content: "book"; } + +.ui-icon-bookmark:before { + content: "bookmark"; } + +.ui-icon-bookmark-border:before { + content: "bookmark_border"; } + +.ui-icon-border-all:before { + content: "border_all"; } + +.ui-icon-border-bottom:before { + content: "border_bottom"; } + +.ui-icon-border-clear:before { + content: "border_clear"; } + +.ui-icon-border-color:before { + content: "border_color"; } + +.ui-icon-border-horizontal:before { + content: "border_horizontal"; } + +.ui-icon-border-inner:before { + content: "border_inner"; } + +.ui-icon-border-left:before { + content: "border_left"; } + +.ui-icon-border-outer:before { + content: "border_outer"; } + +.ui-icon-border-right:before { + content: "border_right"; } + +.ui-icon-border-style:before { + content: "border_style"; } + +.ui-icon-border-top:before { + content: "border_top"; } + +.ui-icon-border-vertical:before { + content: "border_vertical"; } + +.ui-icon-branding-watermark:before { + content: "branding_watermark"; } + +.ui-icon-brightness-1:before { + content: "brightness_1"; } + +.ui-icon-brightness-2:before { + content: "brightness_2"; } + +.ui-icon-brightness-3:before { + content: "brightness_3"; } + +.ui-icon-brightness-4:before { + content: "brightness_4"; } + +.ui-icon-brightness-5:before { + content: "brightness_5"; } + +.ui-icon-brightness-6:before { + content: "brightness_6"; } + +.ui-icon-brightness-7:before { + content: "brightness_7"; } + +.ui-icon-brightness-auto:before { + content: "brightness_auto"; } + +.ui-icon-brightness-high:before { + content: "brightness_high"; } + +.ui-icon-brightness-low:before { + content: "brightness_low"; } + +.ui-icon-brightness-medium:before { + content: "brightness_medium"; } + +.ui-icon-broken-image:before { + content: "broken_image"; } + +.ui-icon-brush:before { + content: "brush"; } + +.ui-icon-bubble-chart:before { + content: "bubble_chart"; } + +.ui-icon-bug-report:before { + content: "bug_report"; } + +.ui-icon-build:before { + content: "build"; } + +.ui-icon-burst-mode:before { + content: "burst_mode"; } + +.ui-icon-business:before { + content: "business"; } + +.ui-icon-business-center:before { + content: "business_center"; } + +.ui-icon-cached:before { + content: "cached"; } + +.ui-icon-cake:before { + content: "cake"; } + +.ui-icon-call:before { + content: "call"; } + +.ui-icon-call-end:before { + content: "call_end"; } + +.ui-icon-call-made:before { + content: "call_made"; } + +.ui-icon-call-merge:before { + content: "call_merge"; } + +.ui-icon-call-missed:before { + content: "call_missed"; } + +.ui-icon-call-missed-outgoing:before { + content: "call_missed_outgoing"; } + +.ui-icon-call-received:before { + content: "call_received"; } + +.ui-icon-call-split:before { + content: "call_split"; } + +.ui-icon-call-to-action:before { + content: "call_to_action"; } + +.ui-icon-camera:before { + content: "camera"; } + +.ui-icon-camera-alt:before { + content: "camera_alt"; } + +.ui-icon-camera-enhance:before { + content: "camera_enhance"; } + +.ui-icon-camera-front:before { + content: "camera_front"; } + +.ui-icon-camera-rear:before { + content: "camera_rear"; } + +.ui-icon-camera-roll:before { + content: "camera_roll"; } + +.ui-icon-cancel:before { + content: "cancel"; } + +.ui-icon-card-giftcard:before { + content: "card_giftcard"; } + +.ui-icon-card-membership:before { + content: "card_membership"; } + +.ui-icon-card-travel:before { + content: "card_travel"; } + +.ui-icon-casino:before { + content: "casino"; } + +.ui-icon-cast:before { + content: "cast"; } + +.ui-icon-cast-connected:before { + content: "cast_connected"; } + +.ui-icon-center-focus-strong:before { + content: "center_focus_strong"; } + +.ui-icon-center-focus-weak:before { + content: "center_focus_weak"; } + +.ui-icon-change-history:before { + content: "change_history"; } + +.ui-icon-chat:before { + content: "chat"; } + +.ui-icon-chat-bubble:before { + content: "chat_bubble"; } + +.ui-icon-chat-bubble-outline:before { + content: "chat_bubble_outline"; } + +.ui-icon-check:before { + content: "check"; } + +.ui-icon-check-box:before { + content: "check_box"; } + +.ui-icon-check-box-outline-blank:before { + content: "check_box_outline_blank"; } + +.ui-icon-check-circle:before { + content: "check_circle"; } + +.ui-icon-chevron-left:before { + content: "chevron_left"; } + +.ui-icon-chevron-right:before { + content: "chevron_right"; } + +.ui-icon-child-care:before { + content: "child_care"; } + +.ui-icon-child-friendly:before { + content: "child_friendly"; } + +.ui-icon-chrome-reader-mode:before { + content: "chrome_reader_mode"; } + +.ui-icon-class:before { + content: "class"; } + +.ui-icon-clear:before { + content: "clear"; } + +.ui-icon-clear-all:before { + content: "clear_all"; } + +.ui-icon-close:before { + content: "close"; } + +.ui-icon-closed-caption:before { + content: "closed_caption"; } + +.ui-icon-cloud:before { + content: "cloud"; } + +.ui-icon-cloud-circle:before { + content: "cloud_circle"; } + +.ui-icon-cloud-done:before { + content: "cloud_done"; } + +.ui-icon-cloud-download:before { + content: "cloud_download"; } + +.ui-icon-cloud-off:before { + content: "cloud_off"; } + +.ui-icon-cloud-queue:before { + content: "cloud_queue"; } + +.ui-icon-cloud-upload:before { + content: "cloud_upload"; } + +.ui-icon-code:before { + content: "code"; } + +.ui-icon-collections:before { + content: "collections"; } + +.ui-icon-collections-bookmark:before { + content: "collections_bookmark"; } + +.ui-icon-color-lens:before { + content: "color_lens"; } + +.ui-icon-colorize:before { + content: "colorize"; } + +.ui-icon-comment:before { + content: "comment"; } + +.ui-icon-compare:before { + content: "compare"; } + +.ui-icon-compare-arrows:before { + content: "compare_arrows"; } + +.ui-icon-computer:before { + content: "computer"; } + +.ui-icon-confirmation-number:before { + content: "confirmation_number"; } + +.ui-icon-contact-mail:before { + content: "contact_mail"; } + +.ui-icon-contact-phone:before { + content: "contact_phone"; } + +.ui-icon-contacts:before { + content: "contacts"; } + +.ui-icon-content-copy:before { + content: "content_copy"; } + +.ui-icon-content-cut:before { + content: "content_cut"; } + +.ui-icon-content-paste:before { + content: "content_paste"; } + +.ui-icon-control-point:before { + content: "control_point"; } + +.ui-icon-control-point-duplicate:before { + content: "control_point_duplicate"; } + +.ui-icon-copyright:before { + content: "copyright"; } + +.ui-icon-create:before { + content: "create"; } + +.ui-icon-create-new-folder:before { + content: "create_new_folder"; } + +.ui-icon-credit-card:before { + content: "credit_card"; } + +.ui-icon-crop:before { + content: "crop"; } + +.ui-icon-crop-16-9:before { + content: "crop_16_9"; } + +.ui-icon-crop-3-2:before { + content: "crop_3_2"; } + +.ui-icon-crop-5-4:before { + content: "crop_5_4"; } + +.ui-icon-crop-7-5:before { + content: "crop_7_5"; } + +.ui-icon-crop-din:before { + content: "crop_din"; } + +.ui-icon-crop-free:before { + content: "crop_free"; } + +.ui-icon-crop-landscape:before { + content: "crop_landscape"; } + +.ui-icon-crop-original:before { + content: "crop_original"; } + +.ui-icon-crop-portrait:before { + content: "crop_portrait"; } + +.ui-icon-crop-rotate:before { + content: "crop_rotate"; } + +.ui-icon-crop-square:before { + content: "crop_square"; } + +.ui-icon-dashboard:before { + content: "dashboard"; } + +.ui-icon-data-usage:before { + content: "data_usage"; } + +.ui-icon-date-range:before { + content: "date_range"; } + +.ui-icon-dehaze:before { + content: "dehaze"; } + +.ui-icon-delete:before { + content: "delete"; } + +.ui-icon-delete-forever:before { + content: "delete_forever"; } + +.ui-icon-delete-sweep:before { + content: "delete_sweep"; } + +.ui-icon-description:before { + content: "description"; } + +.ui-icon-desktop-mac:before { + content: "desktop_mac"; } + +.ui-icon-desktop-windows:before { + content: "desktop_windows"; } + +.ui-icon-details:before { + content: "details"; } + +.ui-icon-developer-board:before { + content: "developer_board"; } + +.ui-icon-developer-mode:before { + content: "developer_mode"; } + +.ui-icon-device-hub:before { + content: "device_hub"; } + +.ui-icon-devices:before { + content: "devices"; } + +.ui-icon-devices-other:before { + content: "devices_other"; } + +.ui-icon-dialer-sip:before { + content: "dialer_sip"; } + +.ui-icon-dialpad:before { + content: "dialpad"; } + +.ui-icon-directions:before { + content: "directions"; } + +.ui-icon-directions-bike:before { + content: "directions_bike"; } + +.ui-icon-directions-boat:before { + content: "directions_boat"; } + +.ui-icon-directions-bus:before { + content: "directions_bus"; } + +.ui-icon-directions-car:before { + content: "directions_car"; } + +.ui-icon-directions-railway:before { + content: "directions_railway"; } + +.ui-icon-directions-run:before { + content: "directions_run"; } + +.ui-icon-directions-subway:before { + content: "directions_subway"; } + +.ui-icon-directions-transit:before { + content: "directions_transit"; } + +.ui-icon-directions-walk:before { + content: "directions_walk"; } + +.ui-icon-disc-full:before { + content: "disc_full"; } + +.ui-icon-dns:before { + content: "dns"; } + +.ui-icon-do-not-disturb:before { + content: "do_not_disturb"; } + +.ui-icon-do-not-disturb-alt:before { + content: "do_not_disturb_alt"; } + +.ui-icon-do-not-disturb-off:before { + content: "do_not_disturb_off"; } + +.ui-icon-do-not-disturb-on:before { + content: "do_not_disturb_on"; } + +.ui-icon-dock:before { + content: "dock"; } + +.ui-icon-domain:before { + content: "domain"; } + +.ui-icon-done:before { + content: "done"; } + +.ui-icon-done-all:before { + content: "done_all"; } + +.ui-icon-donut-large:before { + content: "donut_large"; } + +.ui-icon-donut-small:before { + content: "donut_small"; } + +.ui-icon-drafts:before { + content: "drafts"; } + +.ui-icon-drag-handle:before { + content: "drag_handle"; } + +.ui-icon-drive-eta:before { + content: "drive_eta"; } + +.ui-icon-dvr:before { + content: "dvr"; } + +.ui-icon-edit:before { + content: "edit"; } + +.ui-icon-edit-location:before { + content: "edit_location"; } + +.ui-icon-eject:before { + content: "eject"; } + +.ui-icon-email:before { + content: "email"; } + +.ui-icon-enhanced-encryption:before { + content: "enhanced_encryption"; } + +.ui-icon-equalizer:before { + content: "equalizer"; } + +.ui-icon-error:before { + content: "error"; } + +.ui-icon-error-outline:before { + content: "error_outline"; } + +.ui-icon-euro-symbol:before { + content: "euro_symbol"; } + +.ui-icon-ev-station:before { + content: "ev_station"; } + +.ui-icon-event:before { + content: "event"; } + +.ui-icon-event-available:before { + content: "event_available"; } + +.ui-icon-event-busy:before { + content: "event_busy"; } + +.ui-icon-event-note:before { + content: "event_note"; } + +.ui-icon-event-seat:before { + content: "event_seat"; } + +.ui-icon-exit-to-app:before { + content: "exit_to_app"; } + +.ui-icon-expand-less:before { + content: "expand_less"; } + +.ui-icon-expand-more:before { + content: "expand_more"; } + +.ui-icon-explicit:before { + content: "explicit"; } + +.ui-icon-explore:before { + content: "explore"; } + +.ui-icon-exposure:before { + content: "exposure"; } + +.ui-icon-exposure-neg-1:before { + content: "exposure_neg_1"; } + +.ui-icon-exposure-neg-2:before { + content: "exposure_neg_2"; } + +.ui-icon-exposure-plus-1:before { + content: "exposure_plus_1"; } + +.ui-icon-exposure-plus-2:before { + content: "exposure_plus_2"; } + +.ui-icon-exposure-zero:before { + content: "exposure_zero"; } + +.ui-icon-extension:before { + content: "extension"; } + +.ui-icon-face:before { + content: "face"; } + +.ui-icon-fast-forward:before { + content: "fast_forward"; } + +.ui-icon-fast-rewind:before { + content: "fast_rewind"; } + +.ui-icon-favorite:before { + content: "favorite"; } + +.ui-icon-favorite-border:before { + content: "favorite_border"; } + +.ui-icon-featured-play-list:before { + content: "featured_play_list"; } + +.ui-icon-featured-video:before { + content: "featured_video"; } + +.ui-icon-feedback:before { + content: "feedback"; } + +.ui-icon-fiber-dvr:before { + content: "fiber_dvr"; } + +.ui-icon-fiber-manual-record:before { + content: "fiber_manual_record"; } + +.ui-icon-fiber-new:before { + content: "fiber_new"; } + +.ui-icon-fiber-pin:before { + content: "fiber_pin"; } + +.ui-icon-fiber-smart-record:before { + content: "fiber_smart_record"; } + +.ui-icon-file-download:before { + content: "file_download"; } + +.ui-icon-file-upload:before { + content: "file_upload"; } + +.ui-icon-filter:before { + content: "filter"; } + +.ui-icon-filter-1:before { + content: "filter_1"; } + +.ui-icon-filter-2:before { + content: "filter_2"; } + +.ui-icon-filter-3:before { + content: "filter_3"; } + +.ui-icon-filter-4:before { + content: "filter_4"; } + +.ui-icon-filter-5:before { + content: "filter_5"; } + +.ui-icon-filter-6:before { + content: "filter_6"; } + +.ui-icon-filter-7:before { + content: "filter_7"; } + +.ui-icon-filter-8:before { + content: "filter_8"; } + +.ui-icon-filter-9:before { + content: "filter_9"; } + +.ui-icon-filter-9-plus:before { + content: "filter_9_plus"; } + +.ui-icon-filter-b-and-w:before { + content: "filter_b_and_w"; } + +.ui-icon-filter-center-focus:before { + content: "filter_center_focus"; } + +.ui-icon-filter-drama:before { + content: "filter_drama"; } + +.ui-icon-filter-frames:before { + content: "filter_frames"; } + +.ui-icon-filter-hdr:before { + content: "filter_hdr"; } + +.ui-icon-filter-list:before { + content: "filter_list"; } + +.ui-icon-filter-none:before { + content: "filter_none"; } + +.ui-icon-filter-tilt-shift:before { + content: "filter_tilt_shift"; } + +.ui-icon-filter-vintage:before { + content: "filter_vintage"; } + +.ui-icon-find-in-page:before { + content: "find_in_page"; } + +.ui-icon-find-replace:before { + content: "find_replace"; } + +.ui-icon-fingerprint:before { + content: "fingerprint"; } + +.ui-icon-first-page:before { + content: "first_page"; } + +.ui-icon-fitness-center:before { + content: "fitness_center"; } + +.ui-icon-flag:before { + content: "flag"; } + +.ui-icon-flare:before { + content: "flare"; } + +.ui-icon-flash-auto:before { + content: "flash_auto"; } + +.ui-icon-flash-off:before { + content: "flash_off"; } + +.ui-icon-flash-on:before { + content: "flash_on"; } + +.ui-icon-flight:before { + content: "flight"; } + +.ui-icon-flight-land:before { + content: "flight_land"; } + +.ui-icon-flight-takeoff:before { + content: "flight_takeoff"; } + +.ui-icon-flip:before { + content: "flip"; } + +.ui-icon-flip-to-back:before { + content: "flip_to_back"; } + +.ui-icon-flip-to-front:before { + content: "flip_to_front"; } + +.ui-icon-folder:before { + content: "folder"; } + +.ui-icon-folder-open:before { + content: "folder_open"; } + +.ui-icon-folder-shared:before { + content: "folder_shared"; } + +.ui-icon-folder-special:before { + content: "folder_special"; } + +.ui-icon-font-download:before { + content: "font_download"; } + +.ui-icon-format-align-center:before { + content: "format_align_center"; } + +.ui-icon-format-align-justify:before { + content: "format_align_justify"; } + +.ui-icon-format-align-left:before { + content: "format_align_left"; } + +.ui-icon-format-align-right:before { + content: "format_align_right"; } + +.ui-icon-format-bold:before { + content: "format_bold"; } + +.ui-icon-format-clear:before { + content: "format_clear"; } + +.ui-icon-format-color-fill:before { + content: "format_color_fill"; } + +.ui-icon-format-color-reset:before { + content: "format_color_reset"; } + +.ui-icon-format-color-text:before { + content: "format_color_text"; } + +.ui-icon-format-indent-decrease:before { + content: "format_indent_decrease"; } + +.ui-icon-format-indent-increase:before { + content: "format_indent_increase"; } + +.ui-icon-format-italic:before { + content: "format_italic"; } + +.ui-icon-format-line-spacing:before { + content: "format_line_spacing"; } + +.ui-icon-format-list-bulleted:before { + content: "format_list_bulleted"; } + +.ui-icon-format-list-numbered:before { + content: "format_list_numbered"; } + +.ui-icon-format-paint:before { + content: "format_paint"; } + +.ui-icon-format-quote:before { + content: "format_quote"; } + +.ui-icon-format-shapes:before { + content: "format_shapes"; } + +.ui-icon-format-size:before { + content: "format_size"; } + +.ui-icon-format-strikethrough:before { + content: "format_strikethrough"; } + +.ui-icon-format-textdirection-l-to-r:before { + content: "format_textdirection_l_to_r"; } + +.ui-icon-format-textdirection-r-to-l:before { + content: "format_textdirection_r_to_l"; } + +.ui-icon-format-underlined:before { + content: "format_underlined"; } + +.ui-icon-forum:before { + content: "forum"; } + +.ui-icon-forward:before { + content: "forward"; } + +.ui-icon-forward-10:before { + content: "forward_10"; } + +.ui-icon-forward-30:before { + content: "forward_30"; } + +.ui-icon-forward-5:before { + content: "forward_5"; } + +.ui-icon-free-breakfast:before { + content: "free_breakfast"; } + +.ui-icon-fullscreen:before { + content: "fullscreen"; } + +.ui-icon-fullscreen-exit:before { + content: "fullscreen_exit"; } + +.ui-icon-functions:before { + content: "functions"; } + +.ui-icon-g-translate:before { + content: "g_translate"; } + +.ui-icon-gamepad:before { + content: "gamepad"; } + +.ui-icon-games:before { + content: "games"; } + +.ui-icon-gavel:before { + content: "gavel"; } + +.ui-icon-gesture:before { + content: "gesture"; } + +.ui-icon-get-app:before { + content: "get_app"; } + +.ui-icon-gif:before { + content: "gif"; } + +.ui-icon-golf-course:before { + content: "golf_course"; } + +.ui-icon-gps-fixed:before { + content: "gps_fixed"; } + +.ui-icon-gps-not-fixed:before { + content: "gps_not_fixed"; } + +.ui-icon-gps-off:before { + content: "gps_off"; } + +.ui-icon-grade:before { + content: "grade"; } + +.ui-icon-gradient:before { + content: "gradient"; } + +.ui-icon-grain:before { + content: "grain"; } + +.ui-icon-graphic-eq:before { + content: "graphic_eq"; } + +.ui-icon-grid-off:before { + content: "grid_off"; } + +.ui-icon-grid-on:before { + content: "grid_on"; } + +.ui-icon-group:before { + content: "group"; } + +.ui-icon-group-add:before { + content: "group_add"; } + +.ui-icon-group-work:before { + content: "group_work"; } + +.ui-icon-hd:before { + content: "hd"; } + +.ui-icon-hdr-off:before { + content: "hdr_off"; } + +.ui-icon-hdr-on:before { + content: "hdr_on"; } + +.ui-icon-hdr-strong:before { + content: "hdr_strong"; } + +.ui-icon-hdr-weak:before { + content: "hdr_weak"; } + +.ui-icon-headset:before { + content: "headset"; } + +.ui-icon-headset-mic:before { + content: "headset_mic"; } + +.ui-icon-healing:before { + content: "healing"; } + +.ui-icon-hearing:before { + content: "hearing"; } + +.ui-icon-help:before { + content: "help"; } + +.ui-icon-help-outline:before { + content: "help_outline"; } + +.ui-icon-high-quality:before { + content: "high_quality"; } + +.ui-icon-highlight:before { + content: "highlight"; } + +.ui-icon-highlight-off:before { + content: "highlight_off"; } + +.ui-icon-history:before { + content: "history"; } + +.ui-icon-home:before { + content: "home"; } + +.ui-icon-hot-tub:before { + content: "hot_tub"; } + +.ui-icon-hotel:before { + content: "hotel"; } + +.ui-icon-hourglass-empty:before { + content: "hourglass_empty"; } + +.ui-icon-hourglass-full:before { + content: "hourglass_full"; } + +.ui-icon-http:before { + content: "http"; } + +.ui-icon-https:before { + content: "https"; } + +.ui-icon-image:before { + content: "image"; } + +.ui-icon-image-aspect-ratio:before { + content: "image_aspect_ratio"; } + +.ui-icon-import-contacts:before { + content: "import_contacts"; } + +.ui-icon-import-export:before { + content: "import_export"; } + +.ui-icon-important-devices:before { + content: "important_devices"; } + +.ui-icon-inbox:before { + content: "inbox"; } + +.ui-icon-indeterminate-check-box:before { + content: "indeterminate_check_box"; } + +.ui-icon-info:before { + content: "info"; } + +.ui-icon-info-outline:before { + content: "info_outline"; } + +.ui-icon-input:before { + content: "input"; } + +.ui-icon-insert-chart:before { + content: "insert_chart"; } + +.ui-icon-insert-comment:before { + content: "insert_comment"; } + +.ui-icon-insert-drive-file:before { + content: "insert_drive_file"; } + +.ui-icon-insert-emoticon:before { + content: "insert_emoticon"; } + +.ui-icon-insert-invitation:before { + content: "insert_invitation"; } + +.ui-icon-insert-link:before { + content: "insert_link"; } + +.ui-icon-insert-photo:before { + content: "insert_photo"; } + +.ui-icon-invert-colors:before { + content: "invert_colors"; } + +.ui-icon-invert-colors-off:before { + content: "invert_colors_off"; } + +.ui-icon-iso:before { + content: "iso"; } + +.ui-icon-keyboard:before { + content: "keyboard"; } + +.ui-icon-keyboard-arrow-down:before { + content: "keyboard_arrow_down"; } + +.ui-icon-keyboard-arrow-left:before { + content: "keyboard_arrow_left"; } + +.ui-icon-keyboard-arrow-right:before { + content: "keyboard_arrow_right"; } + +.ui-icon-keyboard-arrow-up:before { + content: "keyboard_arrow_up"; } + +.ui-icon-keyboard-backspace:before { + content: "keyboard_backspace"; } + +.ui-icon-keyboard-capslock:before { + content: "keyboard_capslock"; } + +.ui-icon-keyboard-hide:before { + content: "keyboard_hide"; } + +.ui-icon-keyboard-return:before { + content: "keyboard_return"; } + +.ui-icon-keyboard-tab:before { + content: "keyboard_tab"; } + +.ui-icon-keyboard-voice:before { + content: "keyboard_voice"; } + +.ui-icon-kitchen:before { + content: "kitchen"; } + +.ui-icon-label:before { + content: "label"; } + +.ui-icon-label-outline:before { + content: "label_outline"; } + +.ui-icon-landscape:before { + content: "landscape"; } + +.ui-icon-language:before { + content: "language"; } + +.ui-icon-laptop:before { + content: "laptop"; } + +.ui-icon-laptop-chromebook:before { + content: "laptop_chromebook"; } + +.ui-icon-laptop-mac:before { + content: "laptop_mac"; } + +.ui-icon-laptop-windows:before { + content: "laptop_windows"; } + +.ui-icon-last-page:before { + content: "last_page"; } + +.ui-icon-launch:before { + content: "launch"; } + +.ui-icon-layers:before { + content: "layers"; } + +.ui-icon-layers-clear:before { + content: "layers_clear"; } + +.ui-icon-leak-add:before { + content: "leak_add"; } + +.ui-icon-leak-remove:before { + content: "leak_remove"; } + +.ui-icon-lens:before { + content: "lens"; } + +.ui-icon-library-add:before { + content: "library_add"; } + +.ui-icon-library-books:before { + content: "library_books"; } + +.ui-icon-library-music:before { + content: "library_music"; } + +.ui-icon-lightbulb-outline:before { + content: "lightbulb_outline"; } + +.ui-icon-line-style:before { + content: "line_style"; } + +.ui-icon-line-weight:before { + content: "line_weight"; } + +.ui-icon-linear-scale:before { + content: "linear_scale"; } + +.ui-icon-link:before { + content: "link"; } + +.ui-icon-linked-camera:before { + content: "linked_camera"; } + +.ui-icon-list:before { + content: "list"; } + +.ui-icon-live-help:before { + content: "live_help"; } + +.ui-icon-live-tv:before { + content: "live_tv"; } + +.ui-icon-local-activity:before { + content: "local_activity"; } + +.ui-icon-local-airport:before { + content: "local_airport"; } + +.ui-icon-local-atm:before { + content: "local_atm"; } + +.ui-icon-local-bar:before { + content: "local_bar"; } + +.ui-icon-local-cafe:before { + content: "local_cafe"; } + +.ui-icon-local-car-wash:before { + content: "local_car_wash"; } + +.ui-icon-local-convenience-store:before { + content: "local_convenience_store"; } + +.ui-icon-local-dining:before { + content: "local_dining"; } + +.ui-icon-local-drink:before { + content: "local_drink"; } + +.ui-icon-local-florist:before { + content: "local_florist"; } + +.ui-icon-local-gas-station:before { + content: "local_gas_station"; } + +.ui-icon-local-grocery-store:before { + content: "local_grocery_store"; } + +.ui-icon-local-hospital:before { + content: "local_hospital"; } + +.ui-icon-local-hotel:before { + content: "local_hotel"; } + +.ui-icon-local-laundry-service:before { + content: "local_laundry_service"; } + +.ui-icon-local-library:before { + content: "local_library"; } + +.ui-icon-local-mall:before { + content: "local_mall"; } + +.ui-icon-local-movies:before { + content: "local_movies"; } + +.ui-icon-local-offer:before { + content: "local_offer"; } + +.ui-icon-local-parking:before { + content: "local_parking"; } + +.ui-icon-local-pharmacy:before { + content: "local_pharmacy"; } + +.ui-icon-local-phone:before { + content: "local_phone"; } + +.ui-icon-local-pizza:before { + content: "local_pizza"; } + +.ui-icon-local-play:before { + content: "local_play"; } + +.ui-icon-local-post-office:before { + content: "local_post_office"; } + +.ui-icon-local-printshop:before { + content: "local_printshop"; } + +.ui-icon-local-see:before { + content: "local_see"; } + +.ui-icon-local-shipping:before { + content: "local_shipping"; } + +.ui-icon-local-taxi:before { + content: "local_taxi"; } + +.ui-icon-location-city:before { + content: "location_city"; } + +.ui-icon-location-disabled:before { + content: "location_disabled"; } + +.ui-icon-location-off:before { + content: "location_off"; } + +.ui-icon-location-on:before { + content: "location_on"; } + +.ui-icon-location-searching:before { + content: "location_searching"; } + +.ui-icon-lock:before { + content: "lock"; } + +.ui-icon-lock-open:before { + content: "lock_open"; } + +.ui-icon-lock-outline:before { + content: "lock_outline"; } + +.ui-icon-looks:before { + content: "looks"; } + +.ui-icon-looks-3:before { + content: "looks_3"; } + +.ui-icon-looks-4:before { + content: "looks_4"; } + +.ui-icon-looks-5:before { + content: "looks_5"; } + +.ui-icon-looks-6:before { + content: "looks_6"; } + +.ui-icon-looks-one:before { + content: "looks_one"; } + +.ui-icon-looks-two:before { + content: "looks_two"; } + +.ui-icon-loop:before { + content: "loop"; } + +.ui-icon-loupe:before { + content: "loupe"; } + +.ui-icon-low-priority:before { + content: "low_priority"; } + +.ui-icon-loyalty:before { + content: "loyalty"; } + +.ui-icon-mail:before { + content: "mail"; } + +.ui-icon-mail-outline:before { + content: "mail_outline"; } + +.ui-icon-map:before { + content: "map"; } + +.ui-icon-markunread:before { + content: "markunread"; } + +.ui-icon-markunread-mailbox:before { + content: "markunread_mailbox"; } + +.ui-icon-memory:before { + content: "memory"; } + +.ui-icon-menu:before { + content: "menu"; } + +.ui-icon-merge-type:before { + content: "merge_type"; } + +.ui-icon-message:before { + content: "message"; } + +.ui-icon-mic:before { + content: "mic"; } + +.ui-icon-mic-none:before { + content: "mic_none"; } + +.ui-icon-mic-off:before { + content: "mic_off"; } + +.ui-icon-mms:before { + content: "mms"; } + +.ui-icon-mode-comment:before { + content: "mode_comment"; } + +.ui-icon-mode-edit:before { + content: "mode_edit"; } + +.ui-icon-monetization-on:before { + content: "monetization_on"; } + +.ui-icon-money-off:before { + content: "money_off"; } + +.ui-icon-monochrome-photos:before { + content: "monochrome_photos"; } + +.ui-icon-mood:before { + content: "mood"; } + +.ui-icon-mood-bad:before { + content: "mood_bad"; } + +.ui-icon-more:before { + content: "more"; } + +.ui-icon-more-horiz:before { + content: "more_horiz"; } + +.ui-icon-more-vert:before { + content: "more_vert"; } + +.ui-icon-motorcycle:before { + content: "motorcycle"; } + +.ui-icon-mouse:before { + content: "mouse"; } + +.ui-icon-move-to-inbox:before { + content: "move_to_inbox"; } + +.ui-icon-movie:before { + content: "movie"; } + +.ui-icon-movie-creation:before { + content: "movie_creation"; } + +.ui-icon-movie-filter:before { + content: "movie_filter"; } + +.ui-icon-multiline-chart:before { + content: "multiline_chart"; } + +.ui-icon-music-note:before { + content: "music_note"; } + +.ui-icon-music-video:before { + content: "music_video"; } + +.ui-icon-my-location:before { + content: "my_location"; } + +.ui-icon-nature:before { + content: "nature"; } + +.ui-icon-nature-people:before { + content: "nature_people"; } + +.ui-icon-navigate-before:before { + content: "navigate_before"; } + +.ui-icon-navigate-next:before { + content: "navigate_next"; } + +.ui-icon-navigation:before { + content: "navigation"; } + +.ui-icon-near-me:before { + content: "near_me"; } + +.ui-icon-network-cell:before { + content: "network_cell"; } + +.ui-icon-network-check:before { + content: "network_check"; } + +.ui-icon-network-locked:before { + content: "network_locked"; } + +.ui-icon-network-wifi:before { + content: "network_wifi"; } + +.ui-icon-new-releases:before { + content: "new_releases"; } + +.ui-icon-next-week:before { + content: "next_week"; } + +.ui-icon-nfc:before { + content: "nfc"; } + +.ui-icon-no-encryption:before { + content: "no_encryption"; } + +.ui-icon-no-sim:before { + content: "no_sim"; } + +.ui-icon-not-interested:before { + content: "not_interested"; } + +.ui-icon-note:before { + content: "note"; } + +.ui-icon-note-add:before { + content: "note_add"; } + +.ui-icon-notifications:before { + content: "notifications"; } + +.ui-icon-notifications-active:before { + content: "notifications_active"; } + +.ui-icon-notifications-none:before { + content: "notifications_none"; } + +.ui-icon-notifications-off:before { + content: "notifications_off"; } + +.ui-icon-notifications-paused:before { + content: "notifications_paused"; } + +.ui-icon-offline-pin:before { + content: "offline_pin"; } + +.ui-icon-ondemand-video:before { + content: "ondemand_video"; } + +.ui-icon-opacity:before { + content: "opacity"; } + +.ui-icon-open-in-browser:before { + content: "open_in_browser"; } + +.ui-icon-open-in-new:before { + content: "open_in_new"; } + +.ui-icon-open-with:before { + content: "open_with"; } + +.ui-icon-pages:before { + content: "pages"; } + +.ui-icon-pageview:before { + content: "pageview"; } + +.ui-icon-palette:before { + content: "palette"; } + +.ui-icon-pan-tool:before { + content: "pan_tool"; } + +.ui-icon-panorama:before { + content: "panorama"; } + +.ui-icon-panorama-fish-eye:before { + content: "panorama_fish_eye"; } + +.ui-icon-panorama-horizontal:before { + content: "panorama_horizontal"; } + +.ui-icon-panorama-vertical:before { + content: "panorama_vertical"; } + +.ui-icon-panorama-wide-angle:before { + content: "panorama_wide_angle"; } + +.ui-icon-party-mode:before { + content: "party_mode"; } + +.ui-icon-pause:before { + content: "pause"; } + +.ui-icon-pause-circle-filled:before { + content: "pause_circle_filled"; } + +.ui-icon-pause-circle-outline:before { + content: "pause_circle_outline"; } + +.ui-icon-payment:before { + content: "payment"; } + +.ui-icon-people:before { + content: "people"; } + +.ui-icon-people-outline:before { + content: "people_outline"; } + +.ui-icon-perm-camera-mic:before { + content: "perm_camera_mic"; } + +.ui-icon-perm-contact-calendar:before { + content: "perm_contact_calendar"; } + +.ui-icon-perm-data-setting:before { + content: "perm_data_setting"; } + +.ui-icon-perm-device-information:before { + content: "perm_device_information"; } + +.ui-icon-perm-identity:before { + content: "perm_identity"; } + +.ui-icon-perm-media:before { + content: "perm_media"; } + +.ui-icon-perm-phone-msg:before { + content: "perm_phone_msg"; } + +.ui-icon-perm-scan-wifi:before { + content: "perm_scan_wifi"; } + +.ui-icon-person:before { + content: "person"; } + +.ui-icon-person-add:before { + content: "person_add"; } + +.ui-icon-person-outline:before { + content: "person_outline"; } + +.ui-icon-person-pin:before { + content: "person_pin"; } + +.ui-icon-person-pin-circle:before { + content: "person_pin_circle"; } + +.ui-icon-personal-video:before { + content: "personal_video"; } + +.ui-icon-pets:before { + content: "pets"; } + +.ui-icon-phone:before { + content: "phone"; } + +.ui-icon-phone-android:before { + content: "phone_android"; } + +.ui-icon-phone-bluetooth-speaker:before { + content: "phone_bluetooth_speaker"; } + +.ui-icon-phone-forwarded:before { + content: "phone_forwarded"; } + +.ui-icon-phone-in-talk:before { + content: "phone_in_talk"; } + +.ui-icon-phone-iphone:before { + content: "phone_iphone"; } + +.ui-icon-phone-locked:before { + content: "phone_locked"; } + +.ui-icon-phone-missed:before { + content: "phone_missed"; } + +.ui-icon-phone-paused:before { + content: "phone_paused"; } + +.ui-icon-phonelink:before { + content: "phonelink"; } + +.ui-icon-phonelink-erase:before { + content: "phonelink_erase"; } + +.ui-icon-phonelink-lock:before { + content: "phonelink_lock"; } + +.ui-icon-phonelink-off:before { + content: "phonelink_off"; } + +.ui-icon-phonelink-ring:before { + content: "phonelink_ring"; } + +.ui-icon-phonelink-setup:before { + content: "phonelink_setup"; } + +.ui-icon-photo:before { + content: "photo"; } + +.ui-icon-photo-album:before { + content: "photo_album"; } + +.ui-icon-photo-camera:before { + content: "photo_camera"; } + +.ui-icon-photo-filter:before { + content: "photo_filter"; } + +.ui-icon-photo-library:before { + content: "photo_library"; } + +.ui-icon-photo-size-select-actual:before { + content: "photo_size_select_actual"; } + +.ui-icon-photo-size-select-large:before { + content: "photo_size_select_large"; } + +.ui-icon-photo-size-select-small:before { + content: "photo_size_select_small"; } + +.ui-icon-picture-as-pdf:before { + content: "picture_as_pdf"; } + +.ui-icon-picture-in-picture:before { + content: "picture_in_picture"; } + +.ui-icon-picture-in-picture-alt:before { + content: "picture_in_picture_alt"; } + +.ui-icon-pie-chart:before { + content: "pie_chart"; } + +.ui-icon-pie-chart-outlined:before { + content: "pie_chart_outlined"; } + +.ui-icon-pin-drop:before { + content: "pin_drop"; } + +.ui-icon-place:before { + content: "place"; } + +.ui-icon-play-arrow:before { + content: "play_arrow"; } + +.ui-icon-play-circle-filled:before { + content: "play_circle_filled"; } + +.ui-icon-play-circle-outline:before { + content: "play_circle_outline"; } + +.ui-icon-play-for-work:before { + content: "play_for_work"; } + +.ui-icon-playlist-add:before { + content: "playlist_add"; } + +.ui-icon-playlist-add-check:before { + content: "playlist_add_check"; } + +.ui-icon-playlist-play:before { + content: "playlist_play"; } + +.ui-icon-plus-one:before { + content: "plus_one"; } + +.ui-icon-poll:before { + content: "poll"; } + +.ui-icon-polymer:before { + content: "polymer"; } + +.ui-icon-pool:before { + content: "pool"; } + +.ui-icon-portable-wifi-off:before { + content: "portable_wifi_off"; } + +.ui-icon-portrait:before { + content: "portrait"; } + +.ui-icon-power:before { + content: "power"; } + +.ui-icon-power-input:before { + content: "power_input"; } + +.ui-icon-power-settings-new:before { + content: "power_settings_new"; } + +.ui-icon-pregnant-woman:before { + content: "pregnant_woman"; } + +.ui-icon-present-to-all:before { + content: "present_to_all"; } + +.ui-icon-print:before { + content: "print"; } + +.ui-icon-priority-high:before { + content: "priority_high"; } + +.ui-icon-public:before { + content: "public"; } + +.ui-icon-publish:before { + content: "publish"; } + +.ui-icon-query-builder:before { + content: "query_builder"; } + +.ui-icon-question-answer:before { + content: "question_answer"; } + +.ui-icon-queue:before { + content: "queue"; } + +.ui-icon-queue-music:before { + content: "queue_music"; } + +.ui-icon-queue-play-next:before { + content: "queue_play_next"; } + +.ui-icon-radio:before { + content: "radio"; } + +.ui-icon-radio-button-checked:before { + content: "radio_button_checked"; } + +.ui-icon-radio-button-unchecked:before { + content: "radio_button_unchecked"; } + +.ui-icon-rate-review:before { + content: "rate_review"; } + +.ui-icon-receipt:before { + content: "receipt"; } + +.ui-icon-recent-actors:before { + content: "recent_actors"; } + +.ui-icon-record-voice-over:before { + content: "record_voice_over"; } + +.ui-icon-redeem:before { + content: "redeem"; } + +.ui-icon-redo:before { + content: "redo"; } + +.ui-icon-refresh:before { + content: "refresh"; } + +.ui-icon-remove:before { + content: "remove"; } + +.ui-icon-remove-circle:before { + content: "remove_circle"; } + +.ui-icon-remove-circle-outline:before { + content: "remove_circle_outline"; } + +.ui-icon-remove-from-queue:before { + content: "remove_from_queue"; } + +.ui-icon-remove-red-eye:before { + content: "remove_red_eye"; } + +.ui-icon-remove-shopping-cart:before { + content: "remove_shopping_cart"; } + +.ui-icon-reorder:before { + content: "reorder"; } + +.ui-icon-repeat:before { + content: "repeat"; } + +.ui-icon-repeat-one:before { + content: "repeat_one"; } + +.ui-icon-replay:before { + content: "replay"; } + +.ui-icon-replay-10:before { + content: "replay_10"; } + +.ui-icon-replay-30:before { + content: "replay_30"; } + +.ui-icon-replay-5:before { + content: "replay_5"; } + +.ui-icon-reply:before { + content: "reply"; } + +.ui-icon-reply-all:before { + content: "reply_all"; } + +.ui-icon-report:before { + content: "report"; } + +.ui-icon-report-problem:before { + content: "report_problem"; } + +.ui-icon-restaurant:before { + content: "restaurant"; } + +.ui-icon-restaurant-menu:before { + content: "restaurant_menu"; } + +.ui-icon-restore:before { + content: "restore"; } + +.ui-icon-restore-page:before { + content: "restore_page"; } + +.ui-icon-ring-volume:before { + content: "ring_volume"; } + +.ui-icon-room:before { + content: "room"; } + +.ui-icon-room-service:before { + content: "room_service"; } + +.ui-icon-rotate-90-degrees-ccw:before { + content: "rotate_90_degrees_ccw"; } + +.ui-icon-rotate-left:before { + content: "rotate_left"; } + +.ui-icon-rotate-right:before { + content: "rotate_right"; } + +.ui-icon-rounded-corner:before { + content: "rounded_corner"; } + +.ui-icon-router:before { + content: "router"; } + +.ui-icon-rowing:before { + content: "rowing"; } + +.ui-icon-rss-feed:before { + content: "rss_feed"; } + +.ui-icon-rv-hookup:before { + content: "rv_hookup"; } + +.ui-icon-satellite:before { + content: "satellite"; } + +.ui-icon-save:before { + content: "save"; } + +.ui-icon-scanner:before { + content: "scanner"; } + +.ui-icon-schedule:before { + content: "schedule"; } + +.ui-icon-school:before { + content: "school"; } + +.ui-icon-screen-lock-landscape:before { + content: "screen_lock_landscape"; } + +.ui-icon-screen-lock-portrait:before { + content: "screen_lock_portrait"; } + +.ui-icon-screen-lock-rotation:before { + content: "screen_lock_rotation"; } + +.ui-icon-screen-rotation:before { + content: "screen_rotation"; } + +.ui-icon-screen-share:before { + content: "screen_share"; } + +.ui-icon-sd-card:before { + content: "sd_card"; } + +.ui-icon-sd-storage:before { + content: "sd_storage"; } + +.ui-icon-search:before { + content: "search"; } + +.ui-icon-security:before { + content: "security"; } + +.ui-icon-select-all:before { + content: "select_all"; } + +.ui-icon-send:before { + content: "send"; } + +.ui-icon-sentiment-dissatisfied:before { + content: "sentiment_dissatisfied"; } + +.ui-icon-sentiment-neutral:before { + content: "sentiment_neutral"; } + +.ui-icon-sentiment-satisfied:before { + content: "sentiment_satisfied"; } + +.ui-icon-sentiment-very-dissatisfied:before { + content: "sentiment_very_dissatisfied"; } + +.ui-icon-sentiment-very-satisfied:before { + content: "sentiment_very_satisfied"; } + +.ui-icon-settings:before { + content: "settings"; } + +.ui-icon-settings-applications:before { + content: "settings_applications"; } + +.ui-icon-settings-backup-restore:before { + content: "settings_backup_restore"; } + +.ui-icon-settings-bluetooth:before { + content: "settings_bluetooth"; } + +.ui-icon-settings-brightness:before { + content: "settings_brightness"; } + +.ui-icon-settings-cell:before { + content: "settings_cell"; } + +.ui-icon-settings-ethernet:before { + content: "settings_ethernet"; } + +.ui-icon-settings-input-antenna:before { + content: "settings_input_antenna"; } + +.ui-icon-settings-input-component:before { + content: "settings_input_component"; } + +.ui-icon-settings-input-composite:before { + content: "settings_input_composite"; } + +.ui-icon-settings-input-hdmi:before { + content: "settings_input_hdmi"; } + +.ui-icon-settings-input-svideo:before { + content: "settings_input_svideo"; } + +.ui-icon-settings-overscan:before { + content: "settings_overscan"; } + +.ui-icon-settings-phone:before { + content: "settings_phone"; } + +.ui-icon-settings-power:before { + content: "settings_power"; } + +.ui-icon-settings-remote:before { + content: "settings_remote"; } + +.ui-icon-settings-system-daydream:before { + content: "settings_system_daydream"; } + +.ui-icon-settings-voice:before { + content: "settings_voice"; } + +.ui-icon-share:before { + content: "share"; } + +.ui-icon-shop:before { + content: "shop"; } + +.ui-icon-shop-two:before { + content: "shop_two"; } + +.ui-icon-shopping-basket:before { + content: "shopping_basket"; } + +.ui-icon-shopping-cart:before { + content: "shopping_cart"; } + +.ui-icon-short-text:before { + content: "short_text"; } + +.ui-icon-show-chart:before { + content: "show_chart"; } + +.ui-icon-shuffle:before { + content: "shuffle"; } + +.ui-icon-signal-cellular-4-bar:before { + content: "signal_cellular_4_bar"; } + +.ui-icon-signal-cellular-connected-no-internet-4-bar:before { + content: "signal_cellular_connected_no_internet_4_bar"; } + +.ui-icon-signal-cellular-no-sim:before { + content: "signal_cellular_no_sim"; } + +.ui-icon-signal-cellular-null:before { + content: "signal_cellular_null"; } + +.ui-icon-signal-cellular-off:before { + content: "signal_cellular_off"; } + +.ui-icon-signal-wifi-4-bar:before { + content: "signal_wifi_4_bar"; } + +.ui-icon-signal-wifi-4-bar-lock:before { + content: "signal_wifi_4_bar_lock"; } + +.ui-icon-signal-wifi-off:before { + content: "signal_wifi_off"; } + +.ui-icon-sim-card:before { + content: "sim_card"; } + +.ui-icon-sim-card-alert:before { + content: "sim_card_alert"; } + +.ui-icon-skip-next:before { + content: "skip_next"; } + +.ui-icon-skip-previous:before { + content: "skip_previous"; } + +.ui-icon-slideshow:before { + content: "slideshow"; } + +.ui-icon-slow-motion-video:before { + content: "slow_motion_video"; } + +.ui-icon-smartphone:before { + content: "smartphone"; } + +.ui-icon-smoke-free:before { + content: "smoke_free"; } + +.ui-icon-smoking-rooms:before { + content: "smoking_rooms"; } + +.ui-icon-sms:before { + content: "sms"; } + +.ui-icon-sms-failed:before { + content: "sms_failed"; } + +.ui-icon-snooze:before { + content: "snooze"; } + +.ui-icon-sort:before { + content: "sort"; } + +.ui-icon-sort-by-alpha:before { + content: "sort_by_alpha"; } + +.ui-icon-spa:before { + content: "spa"; } + +.ui-icon-space-bar:before { + content: "space_bar"; } + +.ui-icon-speaker:before { + content: "speaker"; } + +.ui-icon-speaker-group:before { + content: "speaker_group"; } + +.ui-icon-speaker-notes:before { + content: "speaker_notes"; } + +.ui-icon-speaker-notes-off:before { + content: "speaker_notes_off"; } + +.ui-icon-speaker-phone:before { + content: "speaker_phone"; } + +.ui-icon-spellcheck:before { + content: "spellcheck"; } + +.ui-icon-star:before { + content: "star"; } + +.ui-icon-star-border:before { + content: "star_border"; } + +.ui-icon-star-half:before { + content: "star_half"; } + +.ui-icon-stars:before { + content: "stars"; } + +.ui-icon-stay-current-landscape:before { + content: "stay_current_landscape"; } + +.ui-icon-stay-current-portrait:before { + content: "stay_current_portrait"; } + +.ui-icon-stay-primary-landscape:before { + content: "stay_primary_landscape"; } + +.ui-icon-stay-primary-portrait:before { + content: "stay_primary_portrait"; } + +.ui-icon-stop:before { + content: "stop"; } + +.ui-icon-stop-screen-share:before { + content: "stop_screen_share"; } + +.ui-icon-storage:before { + content: "storage"; } + +.ui-icon-store:before { + content: "store"; } + +.ui-icon-store-mall-directory:before { + content: "store_mall_directory"; } + +.ui-icon-straighten:before { + content: "straighten"; } + +.ui-icon-streetview:before { + content: "streetview"; } + +.ui-icon-strikethrough-s:before { + content: "strikethrough_s"; } + +.ui-icon-style:before { + content: "style"; } + +.ui-icon-subdirectory-arrow-left:before { + content: "subdirectory_arrow_left"; } + +.ui-icon-subdirectory-arrow-right:before { + content: "subdirectory_arrow_right"; } + +.ui-icon-subject:before { + content: "subject"; } + +.ui-icon-subscriptions:before { + content: "subscriptions"; } + +.ui-icon-subtitles:before { + content: "subtitles"; } + +.ui-icon-subway:before { + content: "subway"; } + +.ui-icon-supervisor-account:before { + content: "supervisor_account"; } + +.ui-icon-surround-sound:before { + content: "surround_sound"; } + +.ui-icon-swap-calls:before { + content: "swap_calls"; } + +.ui-icon-swap-horiz:before { + content: "swap_horiz"; } + +.ui-icon-swap-vert:before { + content: "swap_vert"; } + +.ui-icon-swap-vertical-circle:before { + content: "swap_vertical_circle"; } + +.ui-icon-switch-camera:before { + content: "switch_camera"; } + +.ui-icon-switch-video:before { + content: "switch_video"; } + +.ui-icon-sync:before { + content: "sync"; } + +.ui-icon-sync-disabled:before { + content: "sync_disabled"; } + +.ui-icon-sync-problem:before { + content: "sync_problem"; } + +.ui-icon-system-update:before { + content: "system_update"; } + +.ui-icon-system-update-alt:before { + content: "system_update_alt"; } + +.ui-icon-tab:before { + content: "tab"; } + +.ui-icon-tab-unselected:before { + content: "tab_unselected"; } + +.ui-icon-tablet:before { + content: "tablet"; } + +.ui-icon-tablet-android:before { + content: "tablet_android"; } + +.ui-icon-tablet-mac:before { + content: "tablet_mac"; } + +.ui-icon-tag-faces:before { + content: "tag_faces"; } + +.ui-icon-tap-and-play:before { + content: "tap_and_play"; } + +.ui-icon-terrain:before { + content: "terrain"; } + +.ui-icon-text-fields:before { + content: "text_fields"; } + +.ui-icon-text-format:before { + content: "text_format"; } + +.ui-icon-textsms:before { + content: "textsms"; } + +.ui-icon-texture:before { + content: "texture"; } + +.ui-icon-theaters:before { + content: "theaters"; } + +.ui-icon-thumb-down:before { + content: "thumb_down"; } + +.ui-icon-thumb-up:before { + content: "thumb_up"; } + +.ui-icon-thumbs-up-down:before { + content: "thumbs_up_down"; } + +.ui-icon-time-to-leave:before { + content: "time_to_leave"; } + +.ui-icon-timelapse:before { + content: "timelapse"; } + +.ui-icon-timeline:before { + content: "timeline"; } + +.ui-icon-timer:before { + content: "timer"; } + +.ui-icon-timer-10:before { + content: "timer_10"; } + +.ui-icon-timer-3:before { + content: "timer_3"; } + +.ui-icon-timer-off:before { + content: "timer_off"; } + +.ui-icon-title:before { + content: "title"; } + +.ui-icon-toc:before { + content: "toc"; } + +.ui-icon-today:before { + content: "today"; } + +.ui-icon-toll:before { + content: "toll"; } + +.ui-icon-tonality:before { + content: "tonality"; } + +.ui-icon-touch-app:before { + content: "touch_app"; } + +.ui-icon-toys:before { + content: "toys"; } + +.ui-icon-track-changes:before { + content: "track_changes"; } + +.ui-icon-traffic:before { + content: "traffic"; } + +.ui-icon-train:before { + content: "train"; } + +.ui-icon-tram:before { + content: "tram"; } + +.ui-icon-transfer-within-a-station:before { + content: "transfer_within_a_station"; } + +.ui-icon-transform:before { + content: "transform"; } + +.ui-icon-translate:before { + content: "translate"; } + +.ui-icon-trending-down:before { + content: "trending_down"; } + +.ui-icon-trending-flat:before { + content: "trending_flat"; } + +.ui-icon-trending-up:before { + content: "trending_up"; } + +.ui-icon-tune:before { + content: "tune"; } + +.ui-icon-turned-in:before { + content: "turned_in"; } + +.ui-icon-turned-in-not:before { + content: "turned_in_not"; } + +.ui-icon-tv:before { + content: "tv"; } + +.ui-icon-unarchive:before { + content: "unarchive"; } + +.ui-icon-undo:before { + content: "undo"; } + +.ui-icon-unfold-less:before { + content: "unfold_less"; } + +.ui-icon-unfold-more:before { + content: "unfold_more"; } + +.ui-icon-update:before { + content: "update"; } + +.ui-icon-usb:before { + content: "usb"; } + +.ui-icon-verified-user:before { + content: "verified_user"; } + +.ui-icon-vertical-align-bottom:before { + content: "vertical_align_bottom"; } + +.ui-icon-vertical-align-center:before { + content: "vertical_align_center"; } + +.ui-icon-vertical-align-top:before { + content: "vertical_align_top"; } + +.ui-icon-vibration:before { + content: "vibration"; } + +.ui-icon-video-call:before { + content: "video_call"; } + +.ui-icon-video-label:before { + content: "video_label"; } + +.ui-icon-video-library:before { + content: "video_library"; } + +.ui-icon-videocam:before { + content: "videocam"; } + +.ui-icon-videocam-off:before { + content: "videocam_off"; } + +.ui-icon-videogame-asset:before { + content: "videogame_asset"; } + +.ui-icon-view-agenda:before { + content: "view_agenda"; } + +.ui-icon-view-array:before { + content: "view_array"; } + +.ui-icon-view-carousel:before { + content: "view_carousel"; } + +.ui-icon-view-column:before { + content: "view_column"; } + +.ui-icon-view-comfy:before { + content: "view_comfy"; } + +.ui-icon-view-compact:before { + content: "view_compact"; } + +.ui-icon-view-day:before { + content: "view_day"; } + +.ui-icon-view-headline:before { + content: "view_headline"; } + +.ui-icon-view-list:before { + content: "view_list"; } + +.ui-icon-view-module:before { + content: "view_module"; } + +.ui-icon-view-quilt:before { + content: "view_quilt"; } + +.ui-icon-view-stream:before { + content: "view_stream"; } + +.ui-icon-view-week:before { + content: "view_week"; } + +.ui-icon-vignette:before { + content: "vignette"; } + +.ui-icon-visibility:before { + content: "visibility"; } + +.ui-icon-visibility-off:before { + content: "visibility_off"; } + +.ui-icon-voice-chat:before { + content: "voice_chat"; } + +.ui-icon-voicemail:before { + content: "voicemail"; } + +.ui-icon-volume-down:before { + content: "volume_down"; } + +.ui-icon-volume-mute:before { + content: "volume_mute"; } + +.ui-icon-volume-off:before { + content: "volume_off"; } + +.ui-icon-volume-up:before { + content: "volume_up"; } + +.ui-icon-vpn-key:before { + content: "vpn_key"; } + +.ui-icon-vpn-lock:before { + content: "vpn_lock"; } + +.ui-icon-wallpaper:before { + content: "wallpaper"; } + +.ui-icon-warning:before { + content: "warning"; } + +.ui-icon-watch:before { + content: "watch"; } + +.ui-icon-watch-later:before { + content: "watch_later"; } + +.ui-icon-wb-auto:before { + content: "wb_auto"; } + +.ui-icon-wb-cloudy:before { + content: "wb_cloudy"; } + +.ui-icon-wb-incandescent:before { + content: "wb_incandescent"; } + +.ui-icon-wb-iridescent:before { + content: "wb_iridescent"; } + +.ui-icon-wb-sunny:before { + content: "wb_sunny"; } + +.ui-icon-wc:before { + content: "wc"; } + +.ui-icon-web:before { + content: "web"; } + +.ui-icon-web-asset:before { + content: "web_asset"; } + +.ui-icon-weekend:before { + content: "weekend"; } + +.ui-icon-whatshot:before { + content: "whatshot"; } + +.ui-icon-widgets:before { + content: "widgets"; } + +.ui-icon-wifi:before { + content: "wifi"; } + +.ui-icon-wifi-lock:before { + content: "wifi_lock"; } + +.ui-icon-wifi-tethering:before { + content: "wifi_tethering"; } + +.ui-icon-work:before { + content: "work"; } + +.ui-icon-wrap-text:before { + content: "wrap_text"; } + +.ui-icon-youtube-searched-for:before { + content: "youtube_searched_for"; } + +.ui-icon-zoom-in:before { + content: "zoom_in"; } + +.ui-icon-zoom-out:before { + content: "zoom_out"; } + +.ui-icon-zoom-out-map:before { + content: "zoom_out_map"; } + +.material-icons, .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + +body .ui-widget, +body .ui-widget .ui-widget { + font-family: "Roboto","Helvetica Neue",sans-serif; + text-decoration: none; } +body .ui-widget-content { + background-color: #ffffff; + font-size: 1em; + border: 1px solid #bdbdbd; } + body .ui-widget-content .fa { + color: #757575; } +body .ui-widget-header { + background-color: #757575; + color: #ffffff; + font-size: 1em; + border: 1px solid #757575; } + body .ui-widget-header .fa { + color: #ffffff; } +body .ui-state-active, body .ui-state-highlight { + background-color: #FF5722; + color: #ffffff; } + body .ui-state-active .fa, body .ui-state-highlight .fa { + color: #ffffff; } +body .ui-widget:disabled, +body .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; + cursor: auto !important; } +body .ui-corner-all { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } +body .ui-corner-top { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } +body .ui-corner-bottom { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-corner-left { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; } +body .ui-corner-right { + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-widget-overlay { + background-color: #58575c; + opacity: .8; } + +body { + /* InputGroup */ + /* Validation */ } + body .ui-inputtext { + background: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + font-size: 1em; + border-color: #bdbdbd; + border-style: solid; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + border-radius: 0px; } + body .ui-inputtext:focus, body .ui-inputtext.ui-state-focus { + border-width: 0 0 2px 0; + border-color: #757575; + padding-bottom: 0px; } + body .ui-inputtext:disabled { + border-bottom: 1px dotted; } + body .ui-inputtext.ui-widget-content { + border-width: 1px; } + body .ui-inputtext.ui-state-error { + border-color: #e62a10; } + body .md-inputfield { + display: block; + position: relative; } + body .md-inputfield label { + color: #999; + font-weight: normal; + position: absolute; + pointer-events: none; + left: 5px; + top: 1px; + transition: 0.3s ease all; + -moz-transition: 0.3s ease all; + -webkit-transition: 0.3s ease all; } + body .md-inputfield input:focus ~ label, + body .md-inputfield input.ui-state-filled ~ label, + body .md-inputfield .ui-inputwrapper-focus ~ label, + body .md-inputfield .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #757575; } + body .md-inputfield .input:-webkit-autofill ~ label { + top: -20px; + font-size: 12px; + color: #757575; } + body .md-inputfield input.ng-dirty.ng-invalid ~ label { + color: #e62a10; } + body .md-inputfield .ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .md-inputfield.md-inputfield-fill input { + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 4px; } + body .md-inputfield.md-inputfield-fill label { + top: 2px; } + body .md-inputfield.md-inputfield-fill input:focus ~ label, + body .md-inputfield.md-inputfield-fill input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #757575; } + body .md-inputfield.md-inputfield-box { + background-color: #f7f7f7; + height: 44px; } + body .md-inputfield.md-inputfield-box > *:not(label) { + bottom: 0px; + position: absolute; + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 24px; } + body .md-inputfield.md-inputfield-box > label { + top: 23px; } + body .md-inputfield.md-inputfield-box input:focus ~ label, + body .md-inputfield.md-inputfield-box input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-filled ~ label { + top: 1px; } + body .md-inputfield.md-inputfield-box .input:-webkit-autofill ~ label { + top: 1px; } + body .ui-material-message.ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .ui-material-message.ui-message.ui-messages-error label { + top: 4px; } + body .ui-listbox { + min-width: 12.5em; + background-color: #ffffff; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-listbox.ui-inputtext { + padding: 0; } + body .ui-listbox .ui-listbox-list { + padding: 0; } + body .ui-listbox .ui-listbox-item { + overflow: hidden; + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + color: #212121; + position: relative; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-listbox .ui-listbox-item.ui-state-highlight { + background-color: #FF5722; + color: #ffffff; } + body .ui-listbox:not(.ui-state-disabled) .ui-listbox-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-listbox .ui-listbox-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; } + body .ui-listbox .ui-listbox-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext { + color: #ffffff; + padding: 2px 2px 1px 2px; + padding-left: 1.5em; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext:focus { + padding-bottom: 0; + border-bottom-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .fa { + top: 0; + left: 0; } + body .ui-button, body .ui-datepicker-buttonpane > button { + overflow: hidden; + background-color: #757575; + color: #ffffff; + font-size: 1em; + height: 2.25em; + padding: 0 1em; + border: 0 none; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button:enabled:not(:focus):hover { + background-color: #424242; } + body .ui-button:focus, body .ui-datepicker-buttonpane > button:focus { + outline: 0 none; + background-color: #8f8f8f; } + body .ui-button .ui-button-text, body .ui-datepicker-buttonpane > button .ui-button-text { + padding: 0; + line-height: 2.25em; } + body .ui-button .fa, body .ui-datepicker-buttonpane > button .fa { + color: #ffffff; } + body .ui-button.ui-button-icon-only, body .ui-datepicker-buttonpane > button.ui-button-icon-only { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 2.5em; + height: 2.5em; } + body .ui-button.ui-button-icon-only .fa, body .ui-datepicker-buttonpane > button.ui-button-icon-only .fa { + margin-left: -.5em; } + body .ui-button.ui-button-text-icon-left, body .ui-datepicker-buttonpane > button.ui-button-text-icon-left { + padding-left: 2.5em; } + body .ui-button.ui-button-text-icon-right, body .ui-datepicker-buttonpane > button.ui-button-text-icon-right { + padding-right: 2.5em; } + body .ui-button.secondary, body .ui-button.ui-secondary-button, body .ui-datepicker-buttonpane > button.secondary, body .ui-datepicker-buttonpane > button.ui-secondary-button { + background-color: #FF5722; + color: #ffffff; } + body .ui-button.secondary:enabled:not(:focus):hover, body .ui-button.ui-secondary-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.secondary:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-secondary-button:enabled:not(:focus):hover { + background-color: #D84315; } + body .ui-button.secondary:focus, body .ui-button.ui-secondary-button:focus, body .ui-datepicker-buttonpane > button.secondary:focus, body .ui-datepicker-buttonpane > button.ui-secondary-button:focus { + outline: 0 none; + background-color: #ff7e55; } + body .ui-button.blue-grey-btn, body .ui-datepicker-buttonpane > button.blue-grey-btn { + background-color: #607D8B; } + body .ui-button.blue-grey-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-grey-btn:enabled:not(:focus):hover { + background-color: #37474F; } + body .ui-button.blue-grey-btn:focus, body .ui-datepicker-buttonpane > button.blue-grey-btn:focus { + outline: 0 none; + background-color: #7b96a3; } + body .ui-button.cyan-btn, body .ui-datepicker-buttonpane > button.cyan-btn { + background-color: #00BCD4; } + body .ui-button.cyan-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.cyan-btn:enabled:not(:focus):hover { + background-color: #00838F; } + body .ui-button.cyan-btn:focus, body .ui-datepicker-buttonpane > button.cyan-btn:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button.teal-btn, body .ui-datepicker-buttonpane > button.teal-btn { + background-color: #009688; } + body .ui-button.teal-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.teal-btn:enabled:not(:focus):hover { + background-color: #00695C; } + body .ui-button.teal-btn:focus, body .ui-datepicker-buttonpane > button.teal-btn:focus { + outline: 0 none; + background-color: #00c9b6; } + body .ui-button.red-btn, body .ui-button.ui-danger-button, body .ui-datepicker-buttonpane > button.red-btn, body .ui-datepicker-buttonpane > button.ui-danger-button { + background-color: #F44336; } + body .ui-button.red-btn:enabled:not(:focus):hover, body .ui-button.ui-danger-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.red-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-danger-button:enabled:not(:focus):hover { + background-color: #C62828; } + body .ui-button.red-btn:focus, body .ui-button.ui-danger-button:focus, body .ui-datepicker-buttonpane > button.red-btn:focus, body .ui-datepicker-buttonpane > button.ui-danger-button:focus { + outline: 0 none; + background-color: #f77066; } + body .ui-button.green-btn, body .ui-button.ui-success-button, body .ui-datepicker-buttonpane > button.green-btn, body .ui-datepicker-buttonpane > button.ui-success-button { + background-color: #4CAF50; } + body .ui-button.green-btn:enabled:not(:focus):hover, body .ui-button.ui-success-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.green-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-success-button:enabled:not(:focus):hover { + background-color: #2E7D32; } + body .ui-button.green-btn:focus, body .ui-button.ui-success-button:focus, body .ui-datepicker-buttonpane > button.green-btn:focus, body .ui-datepicker-buttonpane > button.ui-success-button:focus { + outline: 0 none; + background-color: #6ec071; } + body .ui-button.deep-orange-btn, body .ui-datepicker-buttonpane > button.deep-orange-btn { + background-color: #FF5722; } + body .ui-button.deep-orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.deep-orange-btn:enabled:not(:focus):hover { + background-color: #D84315; } + body .ui-button.deep-orange-btn:focus, body .ui-datepicker-buttonpane > button.deep-orange-btn:focus { + outline: 0 none; + background-color: #ff7e55; } + body .ui-button.purple-btn, body .ui-datepicker-buttonpane > button.purple-btn { + background-color: #673AB7; } + body .ui-button.purple-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.purple-btn:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button.purple-btn:focus, body .ui-datepicker-buttonpane > button.purple-btn:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button.pink-btn, body .ui-datepicker-buttonpane > button.pink-btn { + background-color: #E91E63; } + body .ui-button.pink-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.pink-btn:enabled:not(:focus):hover { + background-color: #AD1457; } + body .ui-button.pink-btn:focus, body .ui-datepicker-buttonpane > button.pink-btn:focus { + outline: 0 none; + background-color: #ee4c83; } + body .ui-button.amber-btn, body .ui-button.ui-warning-button, body .ui-datepicker-buttonpane > button.amber-btn, body .ui-datepicker-buttonpane > button.ui-warning-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.amber-btn:enabled:not(:focus):hover, body .ui-button.ui-warning-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.amber-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-warning-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.amber-btn:focus, body .ui-button.ui-warning-button:focus, body .ui-datepicker-buttonpane > button.amber-btn:focus, body .ui-datepicker-buttonpane > button.ui-warning-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.orange-btn, body .ui-datepicker-buttonpane > button.orange-btn { + background-color: #FF9800; } + body .ui-button.orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.orange-btn:enabled:not(:focus):hover { + background-color: #EF6C00; } + body .ui-button.orange-btn:focus, body .ui-datepicker-buttonpane > button.orange-btn:focus { + outline: 0 none; + background-color: #ffad33; } + body .ui-button.brown-btn, body .ui-datepicker-buttonpane > button.brown-btn { + background-color: #795548; } + body .ui-button.brown-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.brown-btn:enabled:not(:focus):hover { + background-color: #4E342E; } + body .ui-button.brown-btn:focus, body .ui-datepicker-buttonpane > button.brown-btn:focus { + outline: 0 none; + background-color: #996b5b; } + body .ui-button.indigo-btn, body .ui-datepicker-buttonpane > button.indigo-btn { + background-color: #3F51B5; } + body .ui-button.indigo-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.indigo-btn:enabled:not(:focus):hover { + background-color: #283593; } + body .ui-button.indigo-btn:focus, body .ui-datepicker-buttonpane > button.indigo-btn:focus { + outline: 0 none; + background-color: #606fc7; } + body .ui-button.blue-btn, body .ui-button.ui-info-button, body .ui-datepicker-buttonpane > button.blue-btn, body .ui-datepicker-buttonpane > button.ui-info-button { + background-color: #03A9F4; + color: #ffffff; } + body .ui-button.blue-btn:enabled:not(:focus):hover, body .ui-button.ui-info-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-info-button:enabled:not(:focus):hover { + background-color: #0277BD; } + body .ui-button.blue-btn:focus, body .ui-button.ui-info-button:focus, body .ui-datepicker-buttonpane > button.blue-btn:focus, body .ui-datepicker-buttonpane > button.ui-info-button:focus { + outline: 0 none; + background-color: #2ebcfc; } + body .ui-button.flat, body .ui-datepicker-buttonpane > button.flat { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-buttonset .ui-button:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #424242; } + body .ui-buttonset .ui-button.ui-state-active { + background-color: #FF5722; + color: #ffffff; } + body .ui-togglebutton:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #424242; } + body .ui-togglebutton.ui-state-active { + background-color: #FF5722; + color: #ffffff; } + body .ui-splitbutton { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); } + body .ui-splitbutton > .ui-button { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-splitbutton > .ui-button:active { + background-color: #8f8f8f; } + body .ui-splitbutton .ui-splitbutton-menubutton { + height: 2.25em; + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton .ui-menu { + min-width: 100%; } + body .ui-fluid .ui-splitbutton .ui-button:first-child { + width: calc(100% - 2em); } + body .ui-chkbox { + display: inline-block; + vertical-align: middle; + line-height: 1.25em; + width: 1.25em; + height: 1.25em; + cursor: default; } + body .ui-chkbox .ui-chkbox-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + font-size: 1.25em; + margin-left: -2px; + margin-top: -2px; } + body .ui-chkbox .ui-chkbox-box.ui-state-active { + border-color: #757575; + background-color: #757575; } + body .ui-chkbox .ui-chkbox-box.ui-state-focus { + border-color: #757575; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton { + position: relative; + margin: 0 .25em 0 0; + vertical-align: middle; } + body .ui-radiobutton .ui-radiobutton-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + -moz-transition: box-shadow 0.3s; + -o-transition: box-shadow 0.3s; + -webkit-transition: box-shadow 0.3s; + transition: box-shadow 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-focus { + border-color: #757575; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-active { + border-color: #757575; + background-color: transparent; } + body .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon { + display: block; + box-sizing: border-box; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-size: 1em; + transition: -webkit-transform ease .28s; + transition: transform ease .28s; + -webkit-transform: scale(0); + transform: scale(0); + margin: 0; } + body .ui-radiobutton .ui-radiobutton-box .fa-circle { + background-color: #757575; + -webkit-transform: scale(0.5); + transform: scale(0.5); } + body .ui-autocomplete-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-autocomplete-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-autocomplete-panel .ui-autocomplete-list { + padding: 0; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + font-size: 1em; + padding: 0.625em 0.875em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item .ui-autocomplete-query { + font-weight: 700; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item.ui-state-highlight { + color: #ffffff; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-group { + padding: 0.625em 0.875em; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only { + background-color: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + height: 1.5em; + width: 1.5em; + padding: 0; + right: 0; + bottom: 0; + margin-right: 0; + position: absolute; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .ui-button-text { + display: none; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .fa { + color: #757575; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-inputtext { + box-sizing: border-box; + padding: 2px 2px 1px 2px; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-focus { + padding-bottom: 0; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token { + float: none; + display: inline-block; + margin: 0 1px; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token .ui-autocomplete-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-dropdown { + top: .75em; } + body .ui-fluid .ui-autocomplete.ui-autocomplete-dd > .ui-inputtext { + width: 100%; } + body .ui-dropdown { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-dropdown .ui-dropdown-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: 0; + margin-right: 0; } + body .ui-dropdown .ui-dropdown-trigger .fa { + color: #757575; + margin-top: 0; + margin-left: 0; } + body .ui-dropdown .ui-dropdown-label.ui-inputtext { + font: 1em "Roboto", "Helvetica Neue", sans-serif; } + body .ui-dropdown.ui-state-focus { + border-bottom: 2px solid #757575; } + body .ui-dropdown.ui-state-focus .ui-dropdown-label { + padding-bottom: 0; } + body .ui-dropdown-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-list { + padding: 0; } + body .ui-dropdown-panel .ui-dropdown-item { + margin: 0; + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-item:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-dropdown-panel .ui-dropdown-item.ui-state-highlight { + background-color: #FF5722; + color: #ffffff; } + body .ui-dropdown-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-dropdown-panel .ui-dropdown-filter-container { + display: block; + border-bottom: 1px solid #bdbdbd; + background-color: #757575; + padding: 0.625em 1em; } + body .ui-dropdown-panel .ui-dropdown-filter-container input { + color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container input:focus { + border-bottom-color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container .fa { + top: .325em; + right: .75em; + color: #ffffff; } + body .ui-multiselect { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-multiselect .ui-multiselect-label-container { + padding-right: 1.5em; } + body .ui-multiselect .ui-multiselect-label-container .ui-multiselect-label { + padding: 0px 2px 0px 2px; } + body .ui-multiselect .ui-multiselect-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: .063em; } + body .ui-multiselect .ui-multiselect-trigger .fa { + color: #757575; + margin-top: auto; + margin-left: auto; } + body .ui-multiselect.ui-state-focus { + border-bottom: 2px solid #757575; } + body .ui-multiselect-panel.ui-widget { + padding: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + min-width: 12.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; + position: relative; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox { + float: none; + margin: 0 .5em 0 -.125em; + position: static; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-focus { + background-color: #EEEEEE; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container { + width: 70%; + display: inline-block; + vertical-align: middle; + float: none; + margin-left: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .fa { + top: 0; + left: 0; + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext { + color: #ffffff; + padding-left: 1.5em; + width: 100%; + box-sizing: border-box; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext:focus { + border-bottom-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close { + position: absolute; + right: .5em; + top: .625em; + height: 1.5em; + width: 1.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close span { + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close:hover { + background-color: #EEEEEE; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item { + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item.ui-state-highlight { + color: #ffffff; } + body .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; + padding: 0; + margin-right: .25em; + background-color: transparent; + color: #212121; + z-index: auto; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-n { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-s { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa { + top: 0px; + height: .5em; + color: #757575; } + body .ui-spinner .ui-spinner-button:enabled:hover, body .ui-spinner .ui-spinner-button:active { + background-color: transparent; } + body .ui-spinner .ui-spinner-up .fa { + top: .25em; } + body .ui-spinner .ui-spinner-down .fa { + top: .167em; } + body .ui-spinner .ui-spinner-input { + padding-right: 30px; } + body .ui-fluid .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; } + body .ui-fluid .ui-spinner .ui-spinner-button .fa { + left: auto; } + body .ui-inputswitch { + height: 14px; + width: 34px !important; + overflow: visible; + background-color: #9e9e9e; + border-color: #9e9e9e; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; } + body .ui-inputswitch .ui-inputswitch-handle { + top: -4px; + background-color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + width: 20px !important; + height: 20px !important; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; } + body .ui-inputswitch .ui-inputswitch-on { + visibility: hidden; } + body .ui-inputswitch .ui-inputswitch-off span, body .ui-inputswitch .ui-inputswitch-on span { + visibility: hidden; } + body .ui-inputswitch.ui-inputswitch-checked { + background-color: #FFAB91; + border-color: #FFAB91; } + body .ui-inputswitch.ui-inputswitch-checked .ui-inputswitch-handle { + background-color: #FF5722; + color: #ffffff; } + body .ui-slider .ui-slider-handle { + background-color: #FF5722; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 1.25em; + height: 1.25em; + transform: scale(0.7); + -moz-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -o-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + body .ui-slider .ui-slider-handle.ui-state-focus { + transform: scale(1); } + body .ui-slider .ui-slider-handle:focus { + outline: 0 none; } + body .ui-slider.ui-slider-horizontal { + height: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-horizontal .ui-slider-handle { + top: -.55em; } + body .ui-slider.ui-slider-vertical { + width: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-vertical .ui-slider-handle { + left: -.55em; } + body .ui-slider .ui-slider-range { + background-color: #FF5722; + color: #ffffff; } + body .ui-slider:not(.ui-state-disabled) .ui-slider-handle:hover { + transform: scale(1); } + body .ui-calendar .ui-datepicker-trigger { + bottom: 2px; + right: 0; + background-color: transparent; + color: #212121; + height: 1.5em; + width: 1.5em; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-calendar .ui-datepicker-trigger .fa { + color: #757575; } + body .ui-calendar .ui-datepicker-trigger:enabled:hover { + background-color: transparent; } + body .ui-fluid .ui-calendar.ui-calendar-w-btn .ui-inputtext { + width: 100%; } + body .ui-datepicker { + padding: 0; + width: 17.5em; } + body .ui-datepicker.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-datepicker .ui-datepicker-header { + padding: 0.625em 1em; + font-size: 1em; + background: #424242; + border-color: #424242; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + cursor: pointer; + top: .4em; + left: .2em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before { + content: "keyboard_arrow_left"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover { + background-color: #EEEEEE; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next { + cursor: pointer; + top: .4em; + right: .2em; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before { + content: "keyboard_arrow_right"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover { + background-color: #EEEEEE; } + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-month, + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-year { + font-size: 14px; } + body .ui-datepicker table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; + font-size: 14px; } + body .ui-datepicker thead tr { + color: #ffffff; + background: #757575; } + body .ui-datepicker tbody td { + padding: .25em .125em; + box-sizing: border-box; } + body .ui-datepicker tbody td.ui-datepicker-today a { + color: #ffffff; + background: #a8a8a8; } + body .ui-datepicker tbody td.ui-datepicker-today a.ui-state-active { + color: #ffffff; + background-color: #FF5722; + color: #ffffff; } + body .ui-datepicker tbody td a { + padding: .25em; + margin: 0; + text-align: center; + color: #212121; + display: inline-block; + height: 2.250em; + width: 2.250em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + line-height: 1.8em; } + body .ui-datepicker tbody td a.ui-state-active { + color: #ffffff; + background-color: #FF5722; + color: #ffffff; } + body .ui-datepicker tbody td a:not(.ui-state-active):not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datepicker tbody td a span { + display: inline; + padding: 0; + text-align: center; } + body .ui-datepicker .ui-timepicker { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-datepicker .ui-timepicker > div a { + height: 1.5em; } + body .ui-datepicker .ui-timepicker > div a > span { + display: inline-block; + margin-bottom: .25em; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up:before { + content: "keyboard_arrow_up"; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down:before { + content: "keyboard_arrow_down"; } + body #ui-datepicker-div { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-rating { + min-height: 1.5em; } + body .ui-rating .fa-ban { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-ban:before { + content: "cancel"; } + body .ui-rating .fa-star { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star:before { + content: "star"; } + body .ui-rating .fa-star-o { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star-o:before { + content: "star_border"; } + body .ui-chips > ul.ui-inputtext { + padding: 2px 2px 1px 2px; } + body .ui-chips > ul.ui-inputtext.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-chips > ul.ui-inputtext.ui-state-focus { + padding-bottom: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token { + padding-bottom: 2px; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token input:disabled { + width: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-chips > ul.ui-inputtext .ui-chips-token .ui-chips-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-password-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-fileupload .ui-fileupload-buttonbar { + padding: 0.625em 1em; } + body .ui-fileupload .ui-fileupload-buttonbar .fa-arrowreturnthick-1-n:before { + content: "file_upload"; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button { + background-color: #FF5722; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button:enabled:hover { + background-color: #D84315; } + body .ui-fileupload .ui-fileupload-content .ui-messages-error .fa { + color: #ffffff; } + body .ui-fileupload-choose:not(.ui-state-disabled):hover.ui-button, + body .ui-fileupload-choose.ui-state-focus.ui-button { + background-color: #ff4409; } + body .ui-fileupload-choose:not(.ui-state-disabled):active.ui-button { + background-color: #ee3900; } + body .ui-editor-container .ui-editor-toolbar { + background-color: #e8e8e8; } + body .ui-editor-container .ql-picker.ql-expanded .ql-picker-label { + color: #444444; } + body .ui-inputgroup .ui-inputgroup-addon { + border-width: 0 0 1px 0; + border-color: #bdbdbd; + color: #757575; + padding: 2px 2px 1px 2px; + align-self: flex-end; } + body .ui-inputgroup .ui-inputgroup-addon > i { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-self: flex-end; } + body .ui-inputgroup .ui-inputtext { + align-self: flex-end; } + body .ui-inputgroup .md-inputfield { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + display: inherit; } + body .ui-inputgroup .md-inputfield label { + top: 5px; } + body .ui-inputgroup .ui-chkbox, body .ui-inputgroup .ui-radiobutton { + margin-bottom: .125em; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only { + width: 1.643em; + height: 1.643em; + padding: 0; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only .ui-button-icon-left { + margin-left: -.45em; } + body .ui-inputtext.ng-dirty.ng-invalid, + body p-dropdown.ng-dirty.ng-invalid > .ui-dropdown, + body p-autocomplete.ng-dirty.ng-invalid > .ui-autocomplete > .ui-inputtext, + body p-calendar.ng-dirty.ng-invalid > .ui-inputtext, + body p-inputmask.ng-dirty.ng-invalid > .ui-inputtext, + body p-checkbox.ng-dirty.ng-invalid .ui-chkbox-box, + body p-radiobutton.ng-dirty.ng-invalid .ui-radiobutton-box, + body p-inputswitch.ng-dirty.ng-invalid .ui-inputswitch, + body p-listbox.ng-dirty.ng-invalid .ui-inputtext, + body p-multiselect.ng-dirty.ng-invalid > .ui-multiselect, + body p-spinner.ng-dirty.ng-invalid > .ui-inputtext, + body p-selectbutton.ng-dirty.ng-invalid .ui-button, + body p-togglebutton.ng-dirty.ng-invalid .ui-button { + border-bottom-color: #e62a10; } + +@media (max-width: 640px) { + body .ui-buttonset > .ui-button { + display: block; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-buttonset > .ui-button:first-child { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } + body .ui-buttonset > .ui-button:last-child { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton > .ui-button { + display: inline-block; } + body .ui-splitbutton > .ui-button:first-child { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; } + body .ui-splitbutton > .ui-button:last-child { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } } +body .ui-panel { + padding: 0; } + body .ui-panel .ui-panel-titlebar { + border: 0 none; + border-bottom: 1px solid #757575; + padding: 0.625em 1em; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-panel .ui-panel-titlebar .ui-panel-title { + line-height: 1.5em; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon { + position: relative; + width: 1.5em; + height: 1.5em; + color: #ffffff; + margin: 0; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon:hover { + background-color: #EEEEEE; } + body .ui-panel .ui-panel-content { + height: 100%; + box-sizing: border-box; + padding: 0.625em 1em; } + body .ui-panel .ui-panel-footer { + padding: 0.625em 1em; + border: 0 none; + border-top: 1px solid #bdbdbd; + margin: 0; } +body .ui-fieldset { + padding: 0.625em 1em; } + body .ui-fieldset .ui-fieldset-legend { + padding: 0.625em 1em; + padding-left: .125em; + padding-right: .5em; + color: #757575; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler { + padding: .5em; + height: 2em; + width: 2em; + background-color: #757575; + color: #ffffff; + font-size: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + margin-right: .5em; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler:hover { + background-color: #424242; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-legend-text { + color: #757575; } + body .ui-fieldset .ui-fieldset-legend.ui-state-focus { + background-color: transparent; } +body .ui-accordion .ui-accordion-header { + background-color: #757575; + padding: 0; + color: #ffffff; + font-size: 1em; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-accordion .ui-accordion-header > a { + padding: 0.625em 1em; + color: #ffffff; } + body .ui-accordion .ui-accordion-header > a .ui-accordion-toggle-icon, + body .ui-accordion .ui-accordion-header > a .ui-accordion-header-text { + vertical-align: middle; } + body .ui-accordion .ui-accordion-header:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #424242; } + body .ui-accordion .ui-accordion-header.ui-state-active { + background-color: #FF5722; + color: #ffffff; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-accordion .ui-accordion-header.ui-state-active > a { + color: #ffffff; } +body .ui-accordion .ui-accordion-content { + padding: 0.625em 1em; + line-height: 1.5em; } +body .ui-toolbar { + background-color: #424242; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + padding: .625em; } +body .ui-tabview { + padding: 0; } + body .ui-tabview .ui-tabview-nav { + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabview .ui-tabview-nav > li { + padding: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabview .ui-tabview-nav > li > a { + padding: 0.625em 1em; } + body .ui-tabview .ui-tabview-nav > li > a:focus { + outline: 0 none; } + body .ui-tabview .ui-tabview-nav > li > .fa-close { + margin: .325em 0 0 0; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + color: #757575; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-left-icon, body .ui-tabview .ui-tabview-nav > li .ui-tabview-right-icon { + color: #757575; + display: inline-block; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-title { + line-height: 1.5em; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li.ui-state-default a { + color: #757575; } + body .ui-tabview .ui-tabview-nav > li:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #ffffff; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active { + background-color: #ffffff; + border-color: #FF5722; + border-style: solid; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active a { + color: #757575; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active > .fa-close { + color: #FF5722; } + body .ui-tabview .ui-tabview-nav > li.ui-tabview-outline { + outline: 0 none; + border-color: #FFAB91; } + body .ui-tabview .ui-tabview-panel { + padding: 0.625em 1em; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav > li { + border-style: solid; + border-width: 0 0 2px 0; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav > li { + border-width: 2px 0 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + border-right: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 2px 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav { + padding: 0; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 0 0 2px; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li.ui-state-active > a { + padding-left: 0.875em; } + +@media (max-width: 640px) { + body .ui-toolbar .ui-toolbar-group-right { + margin-top: 1em; } } +body .ui-picklist .ui-picklist-caption { + font-size: 1em; + padding: 0.625em 1em; } +body .ui-picklist .ui-picklist-list { + padding: 0; } +body .ui-picklist .ui-picklist-filter-container .fa { + left: 0.3em; } +body .ui-picklist .ui-picklist-filter-container .ui-picklist-filter { + text-indent: 1.5em; } +body .ui-picklist li.ui-picklist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-picklist li.ui-picklist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-picklist li.ui-picklist-item.ui-state-highlight { + background-color: #FF5722; + color: #ffffff; } +body .ui-picklist .ui-picklist-buttons { + width: 3em; } + body .ui-picklist .ui-picklist-buttons .ui-button.ui-button-icon-only { + width: 2.5em; + margin-right: 0; + display: inline-block; + margin-bottom: .5em; } +body .ui-picklist .ui-picklist-buttons-cell { + text-align: center; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + margin: 0 auto; + display: block; + margin-bottom: .5em; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox { + margin-right: .5em; + vertical-align: top; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox, body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox * { + box-sizing: content-box; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-organizationchart-selectable-node:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-state-highlight .ui-node-toggler i { + color: #a22700; } +body .ui-organizationchart .ui-organizationchart-line-down { + background-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-left { + border-right: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-top { + border-top: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content { + border-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler { + bottom: -1.3em; + margin-left: -.75em; + color: #bdbdbd; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down:before { + content: "keyboard_arrow_down"; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up:before { + content: "keyboard_arrow_up"; } +body .ui-orderlist .ui-orderlist-caption { + font-size: 1em; + padding: 0.625em 1em; + box-sizing: border-box; } +body .ui-orderlist .ui-orderlist-list { + padding: 0; + box-sizing: border-box; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item.ui-state-highlight { + background-color: #FF5722; + color: #ffffff; } +body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 3.75em; } +body .ui-orderlist .ui-orderlist-controls { + width: 3.75em; + text-align: center; } + body .ui-orderlist .ui-orderlist-controls .ui-button.ui-button-icon-only { + width: 2.5em; + margin-bottom: .5em; + margin-right: 0; } +body .ui-paginator { + background-color: #424242; + padding: 0.625em 1em; } + body .ui-paginator > a { + box-sizing: border-box; + color: #ffffff; } + body .ui-paginator > a .fa { + display: none; } + body .ui-paginator > a:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #EEEEEE; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-next { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-next:before { + content: "navigate_next"; } + body .ui-paginator .ui-paginator-last { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-last:before { + content: "last_page"; } + body .ui-paginator .ui-paginator-prev { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-prev:before { + content: "navigate_before"; } + body .ui-paginator .ui-paginator-first { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-first:before { + content: "first_page"; } + body .ui-paginator .ui-paginator-pages { + vertical-align: middle; + margin: 0 .375em 0 .375em; } + body .ui-paginator .ui-paginator-pages a { + padding: 0; + color: #ffffff; + min-width: 1.5em; + min-height: 1.5em; + line-height: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-pages a:not(.ui-state-active):hover { + background-color: #EEEEEE; } + body .ui-paginator .ui-paginator-pages a.ui-state-active { + background-color: #FF5722; + color: #ffffff; } +body .ui-datagrid .ui-datagrid-header { + padding: 0.625em 1em; } +body .ui-datagrid .ui-panel .ui-panel-titlebar { + background-color: #ffffff; + color: #212121; + border-color: #bdbdbd; } +body .ui-datalist .ui-datalist-header { + padding: 0.625em 1em; } +body .ui-table .ui-table-caption, +body .ui-table .ui-table-summary { + padding: 0.625em 1em; + text-align: center; + font-weight: normal; } +body .ui-table .ui-table-caption { + border-bottom: 0 none; } +body .ui-table .ui-table-summary { + border-top: 0 none; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tbody > tr > td, +body .ui-table .ui-table-tfoot > tr > td { + padding: 0.625em 1em; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tfoot > tr > td { + font-weight: 400; + background-color: #ffffff; + border: 1px solid #cacaca; } +body .ui-table .ui-sortable-column:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-table .ui-sortable-column.ui-state-highlight { + background-color: #FF5722; + color: #ffffff; + border-top-color: #FF5722; } + body .ui-table .ui-sortable-column.ui-state-highlight .fa { + color: #ffffff; } +body .ui-table .ui-sortable-column .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } +body .ui-table .ui-table-tbody > tr { + background: #ffffff; } + body .ui-table .ui-table-tbody > tr > td { + background: inherit; + border: 1px solid #cacaca; } + body .ui-table .ui-table-tbody > tr.ui-state-highlight { + background-color: #FF5722; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr.ui-contextmenu-selected { + background-color: #FF5722; + color: #ffffff; } +body .ui-table .ui-table-tbody > tr:nth-child(odd) { + background-color: #f4f4f4; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-state-highlight { + background-color: #FF5722; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-contextmenu-selected { + background-color: #FF5722; + color: #ffffff; } +body .ui-table.ui-table-hoverable-rows .ui-table-tbody > tr:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable .ui-datatable-header, +body .ui-datatable .ui-datatable-footer { + padding: 0.625em 1em; } + body .ui-datatable .ui-datatable-header .ui-inputtext, + body .ui-datatable .ui-datatable-footer .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-header .ui-inputtext:focus, + body .ui-datatable .ui-datatable-footer .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-paginator { + padding: 0.625em 1em; } +body .ui-datatable .ui-datatable-thead > tr { + border-color: #cacaca; } + body .ui-datatable .ui-datatable-thead > tr th { + padding: .625em .875em; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-sortable-column:not(.ui-state-active):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datatable .ui-datatable-thead > tr th .ui-column-title { + display: inline-block; + vertical-align: middle; } + body .ui-datatable .ui-datatable-thead > tr th .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight { + background-color: #FF5722; + color: #ffffff; + border-top-color: #FF5722; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .fa, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .fa { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext.ui-state-focus, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext.ui-state-focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-selection-column .ui-chkbox-box { + box-sizing: content-box; } +body .ui-datatable tfoot th { + padding: .625em .875em; + border: 1px solid #bdbdbd; + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-datatable-even { + background-color: #f4f4f4; } + body .ui-datatable .ui-datatable-data tr.ui-datatable-even.ui-state-highlight { + background-color: #FF5722; + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr { + border: 1px solid #cacaca; } + body .ui-datatable .ui-datatable-data tr td { + padding: .625em .875em; } + body .ui-datatable .ui-datatable-data tr td .ui-row-toggler { + display: inherit; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td input.ui-cell-editor { + padding: 2px 2px 1px 2px; + font-size: 1em; } + body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-chkbox-box, body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-radiobutton-box { + box-sizing: content-box; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight { + background-color: #FF5722; + border-color:   #FF5722; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr .ui-cell-editor-input input { + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext, + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext.ui-state-error { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box .ui-radiobutton-icon { + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box { + border-color: #ffffff; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box .ui-chkbox-icon { + color: #757575; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-rowgroup-header td a { + height: 1.5em; + vertical-align: top; + display: inline-block; } +body .ui-datatable .ui-datatable-data.ui-datatable-hoverable-rows > tr.ui-widget-content:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer { + border: 0 none; + background-color: transparent; } + body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header .ui-datatable-data td, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer .ui-datatable-data td { + color: #212121; } +body .ui-datatable.ui-datatable-scrollable thead tr th { + color: #212121; + font-size: 16px; } +body .ui-datatable.ui-datatable-scrollable tfoot tr td { + color: #212121; + font-size: 16px; } +body .ui-datatable .ui-datatable-loading { + opacity: 0.3; + filter: alpha(opacity=30); } +body .ui-datatable .ui-datatable-loading-content { + top: 35%; } + body .ui-datatable .ui-datatable-loading-content .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-animation-delay: 0; + -webkit-animation-duration: 1000ms; + -webkit-animation-name: spin; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-delay: 0; + -moz-animation-duration: 1000ms; + -moz-animation-name: spin; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + animation-delay: 0; + animation-duration: 1000ms; + animation-name: spin; + animation-iteration-count: infinite; + animation-timing-function: linear; + font-size: 2em; } + body .ui-datatable .ui-datatable-loading-content .fa:before { + content: "refresh"; } +body .ui-carousel { + padding: 0; } + body .ui-carousel .ui-carousel-header { + padding: 0.625em 1em; + font-size: 1em; + overflow: visible; } + body .ui-carousel .ui-carousel-header .ui-carousel-header-title { + overflow: visible; } + body .ui-carousel .ui-carousel-header .fa { + color: #ffffff; } + body .ui-carousel .ui-carousel-header .ui-carousel-button { + margin: -1px 0 0 0; } + body .ui-carousel .ui-carousel-header .ui-carousel-page-links { + margin: -1px 0 0 0; } +body .ui-tree { + padding: 0.625em 1em/2; } + body .ui-tree .ui-treenode-children { + padding-left: 1.75em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin-right: .5em; } + body .ui-tree .ui-treenode-content .ui-chkbox .fa { + color: #757575; } + body .ui-tree .ui-treenode-content .ui-tree-toggler { + vertical-align: middle; + margin: 0 0 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-icon { + vertical-align: middle; + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-label { + margin: 0; + vertical-align: middle; } + body .ui-tree .ui-treenode-content.ui-treenode-selectable .ui-treenode-label:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal { + padding-left: 0; + padding-right: 0; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content { + background-color: #ffffff; + border: 1px solid #bdbdbd; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-tree-toggler { + vertical-align: top; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-treenode-icon { + vertical-align: top; + margin-right: .25em; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-treenode-selectable:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-state-highlight { + background-color: #FF5722; + color: #ffffff; } +body .ui-tree-draghelper { + border: 1px solid #757575; } +body .fc .fc-toolbar .ui-icon-circle-triangle-e { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-icon-circle-triangle-w { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-state-active { + background-color: #FF5722; } +body .fc .fc-event { + background-color: #EEEEEE; + color: #ffffff; } +body .fc table { + box-sizing: border-box; } +body .ui-treetable .ui-treetable-header { + padding: 0.625em 1em; + font-size: 1em; } +body .ui-treetable thead tr { + border-bottom: 1px solid #bdbdbd; } + body .ui-treetable thead tr th { + background-color: #ffffff; + padding: .625em .875em; + border: 0 none; } + body .ui-treetable thead tr th .fa { + color: #757575; } + body .ui-treetable thead tr th:first-child { + border-left: 1px solid #bdbdbd; } + body .ui-treetable thead tr th:last-child { + border-right: 1px solid #bdbdbd; } + body .ui-treetable thead tr th .ui-sortable-column-icon { + vertical-align: middle; + margin: -.25em 0 0 0; } + body .ui-treetable thead tr th.ui-state-active { + background-color: #FF5722; + color: #ffffff; } + body .ui-treetable thead tr th.ui-state-active .fa { + color: #ffffff; } + body .ui-treetable thead tr th .ui-column-resizer { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1em; + color: #757575; } + body .ui-treetable thead tr th .ui-column-resizer:before { + content: "code"; } +body .ui-treetable tfoot td { + border: 0 none; + padding: .625em .875em; } +body .ui-treetable tbody .ui-treetable-row { + background-color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row td { + border: 0 none; + padding: .625em .875em; } + body .ui-treetable tbody .ui-treetable-row td .ui-treetable-toggler { + display: inline-block; + vertical-align: middle; + margin: 0 .167em; + float: none; } + body .ui-treetable tbody .ui-treetable-row td .ui-chkbox { + margin-right: .5em; } + body .ui-treetable tbody .ui-treetable-row td.ui-treetable-child-table-container { + padding: 0; } + body .ui-treetable tbody .ui-treetable-row.ui-treetable-row-selectable:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight { + background-color: #FF5722; + color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } +body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-header, body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-footer { + background-color: transparent; + border: 0 none; } +body .ui-treetable.ui-treetable-scrollable thead th { + background-color: #ffffff; + color: #212121; } + +@media (max-width: 40em) { + body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 100%; } } +@media (max-width: 640px) { + body .ui-picklist.ui-picklist-responsive .ui-picklist-list-wrapper { + margin-bottom: .5em; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons { + padding: .5em 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + display: inline-block; + margin-right: .25em; + margin-bottom: 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right:before { + content: "skip_previous"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left:before { + content: "skip_next"; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls { + text-align: center; + width: auto; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button { + margin-right: .25em; } } +body .ui-breadcrumb { + padding: 0.625em 1em; } + body .ui-breadcrumb ul li a { + color: #ffffff; + font-size: 1em; } +body .ui-steps { + position: relative; } + body .ui-steps .ui-steps-item { + background-color: transparent; } + body .ui-steps .ui-steps-item.ui-state-disabled { + opacity: 1; + filter: alpha(opacity=100); } + body .ui-steps .ui-steps-item .ui-menuitem-link { + display: inline-block; + text-align: left; + background-color: #ffffff; + overflow: hidden; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number { + display: inline-block; + background-color: #757575; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: .25em .75em; + font-size: 1em; + color: #ffffff; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: inline; + margin-left: .625em; + color: #757575; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-number { + background-color: #FF5722; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-title { + font-weight: 700; + color: #212121; } + body .ui-steps .ui-steps-item:last-child .ui-menuitem-link { + display: block; } + body .ui-steps:before { + content: ' '; + border: 1px solid #bdbdbd; + width: 90%; + top: 45%; + left: 0; + display: block; + position: absolute; } +body .ui-menu .ui-menuitem-link, +body .ui-menubar .ui-menuitem-link, +body .ui-tieredmenu .ui-menuitem-link, +body .ui-contextmenu .ui-menuitem-link, +body .ui-megamenu .ui-menuitem-link, +body .ui-slidemenu .ui-menuitem-link { + padding: .625em 1em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-menu .ui-menuitem-link:hover, + body .ui-menubar .ui-menuitem-link:hover, + body .ui-tieredmenu .ui-menuitem-link:hover, + body .ui-contextmenu .ui-menuitem-link:hover, + body .ui-megamenu .ui-menuitem-link:hover, + body .ui-slidemenu .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link:focus, + body .ui-menubar .ui-menuitem-link:focus, + body .ui-tieredmenu .ui-menuitem-link:focus, + body .ui-contextmenu .ui-menuitem-link:focus, + body .ui-megamenu .ui-menuitem-link:focus, + body .ui-slidemenu .ui-menuitem-link:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link .ui-menuitem-text, + body .ui-menubar .ui-menuitem-link .ui-menuitem-text, + body .ui-tieredmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-contextmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-megamenu .ui-menuitem-link .ui-menuitem-text, + body .ui-slidemenu .ui-menuitem-link .ui-menuitem-text { + vertical-align: middle; } +body .ui-menubar .ui-submenu-list, body .ui-contextmenu .ui-submenu-list, +body .ui-slidemenu .ui-submenu-list, body .ui-tieredmenu .ui-submenu-list { + padding: .5em 0; } + body .ui-menubar .ui-submenu-list .ui-menuitem, body .ui-contextmenu .ui-submenu-list .ui-menuitem, + body .ui-slidemenu .ui-submenu-list .ui-menuitem, body .ui-tieredmenu .ui-submenu-list .ui-menuitem { + margin: 0; } +body .ui-menu { + width: 100%; + padding: .5em 0; } + body .ui-menu .ui-menuitem { + margin: 0; } + body .ui-menu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menu.ui-shadow, body .ui-menu .ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-menu .ui-submenu-header { + border: 0 none; + margin: 0; + padding: .625em 1em; + border-radius: 0; } +body .ui-menubar { + padding: 0; } + body .ui-menubar .ui-menubar-root-list > .ui-menuitem > .ui-menuitem-link { + padding: .625em 1em; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } +body .ui-contextmenu { + padding: .5em 0; } + body .ui-contextmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-contextmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-slidemenu { + padding: .5em 0; } + body .ui-slidemenu .ui-menuitem { + margin: 0; } + body .ui-slidemenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-slidemenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-slidemenu .ui-slidemenu-backward { + margin-bottom: .4em; + padding: 0.625em 1em; + width: 100%; + background-color: #757575; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border: 0 none; } + body .ui-slidemenu .ui-slidemenu-backward:hover { + background-color: #5c5c5c; } +body .ui-tieredmenu { + padding: .5em 0; } + body .ui-tieredmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-tieredmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-tabmenu { + padding: 0; } + body .ui-tabmenu .ui-tabmenu-nav { + padding: 0; + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem { + top: auto; + margin: 0 .25em 0 0; + padding: 0; + border-style: solid; + border-width: 0 0 2px 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a { + padding: 0.625em 1em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a:focus { + outline: 0 none; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon, body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-text { + float: none; + display: inline-block; + vertical-align: middle; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon { + font-weight: 1em; + margin-right: .25em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a .fa { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem:not(.ui-state-active):hover { + background-color: #ffffff; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active { + background-color: #ffffff; + border-color: #FF5722; + border-style: solid; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a .fa { + color: #757575; } +body .ui-megamenu { + padding: 0; } + body .ui-megamenu .ui-megamenu-submenu-header { + border-radius: 0; + padding: .5em; } + body .ui-megamenu .ui-submenu-list { + padding: 0; + border: 0 none; } + body .ui-megamenu .ui-submenu-list .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-panelmenu .ui-panelmenu-header { + background-color: #757575; + margin-bottom: 1px; } + body .ui-panelmenu .ui-panelmenu-header a { + padding: .625em 1em; + color: #ffffff; + font-size: 16px; + border-bottom: 1px solid #ffffff; } + body .ui-panelmenu .ui-panelmenu-header .fa { + color: #ffffff; + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header .ui-menuitem-text { + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active { + background-color: #FF5722; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + margin-bottom: 0; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active a, body .ui-panelmenu .ui-panelmenu-header.ui-state-active .fa { + color: #ffffff; } +body .ui-panelmenu .ui-panelmenu-content { + padding: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem { + margin: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link { + border: 0 none; + padding: .625em 1em; + width: 100%; + min-height: 2.750em; + box-sizing: border-box; + color: #212121; + line-height: 1.5em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + position: relative; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .ui-menuitem-text { + display: inline-block; + vertical-align: middle; + float: none; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .fa { + position: static; + display: inline-block; + vertical-align: middle; } +body .ui-panelmenu .ui-menu-parent .ui-menu-list { + margin-left: 28px; } + +@media (max-width: 640px) { + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: none; } } +body { + /* Messages */ } + body .ui-messages { + padding: 0.625em 1em; } + body .ui-messages ul { + display: inline-block; + margin-left: 0; } + body .ui-messages.ui-messages-info { + background-color: #2196F3; + border-color: #2196F3; + color: #ffffff; } + body .ui-messages.ui-messages-warn { + background-color: #ffc107; + border-color: #ffc107; + color: #ffffff; } + body .ui-messages.ui-messages-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-messages.ui-messages-fatal { + background-color: #212121; + border-color: #212121; + color: #ffffff; } + body .ui-messages.ui-messages-success { + background-color: #8BC34A; + border-color: #8BC34A; + color: #ffffff; } + body .ui-messages .ui-messages-close { + text-decoration: none; + color: #fff; + right: .25em; } + body .ui-messages .ui-messages-icon { + background: none; + color: #fff; + margin-top: -2px; } + body .ui-messages .ui-messages-icon.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-info-circle:before { + content: "info"; } + body .ui-messages .ui-messages-icon.fa-warning { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-warning:before { + content: "warning"; } + body .ui-messages .ui-messages-icon.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-close:before { + content: "error_outline"; } + body .ui-messages .ui-messages-icon.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-check:before { + content: "check_circle"; } + body .ui-growl { + top: 90px; } + body .ui-growl > .ui-growl-item-container { + opacity: 1; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-info { + background-color: #2196F3; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-warn { + background-color: #ffc107; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-error { + background-color: #e62a10; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-fatal { + background-color: #212121; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-success { + background-color: #8BC34A; } + body .ui-growl > .ui-growl-item-container.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + body .ui-growl .ui-growl-item .ui-growl-image { + background: none; + color: #ffffff; + font-size: 36px; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle:before { + content: "info"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle:before { + content: "warning"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close:before { + content: "error_outline"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check:before { + content: "check_circle"; } + body .ui-growl .ui-growl-item .ui-growl-message { + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 24px; + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close:before { + content: "close"; } + +body .ui-dialog.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-dialog .ui-dialog-titlebar { + background-color: #ffffff; + color: #212121; + padding: 0.625em 1em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-title { + font-size: 1.25em; + letter-spacing: .005em; + margin-top: .25em; + line-height: 2em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon { + border: 0 none; + padding: 0; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + height: 1.5em; + width: 1.5em; + text-align: center; + margin-top: .5em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:hover, body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa { + color: #757575; + display: inline-block; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-extlink:before { + content: "fullscreen"; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-newwin:before { + content: "fullscreen_exit"; } +body .ui-dialog .ui-dialog-content { + padding: 0.625em 1em; } +body .ui-dialog .ui-dialog-footer { + text-align: right; + border: 0 none; + border-top: 1px solid #bdbdbd; } + body .ui-dialog .ui-dialog-footer .ui-button { + background-color: #ffffff; + color: #212121; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: auto; } + body .ui-dialog .ui-dialog-footer .ui-button .fa { + color: #757575; } + body .ui-dialog .ui-dialog-footer .ui-button:hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-dialog .ui-confirm-dialog-severity { + margin: 0px .75em; } +body .ui-lightbox.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-lightbox .ui-lightbox-caption { + padding: 0.625em 1em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-caption-text { + margin: 0; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + padding: 0; + margin: 0; + width: 1.5em; + height: 1.5em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close:hover { + background-color: #EEEEEE; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } +body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left { + top: 40%; } + body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right .fa, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left .fa { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 3em; + color: #EEEEEE; } +body .ui-overlaypanel.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-overlaypanel .ui-overlaypanel-close { + background-color: #FF5722; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + right: -16px; + top: -16px; + width: 2em; + height: 2em; + line-height: 2em; + text-align: center; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-overlaypanel .ui-overlaypanel-close span { + color: #ffffff; + line-height: inherit; } + body .ui-overlaypanel .ui-overlaypanel-close:hover { + background-color: #D84315; } +body .ui-tooltip { + opacity: 0.9; + filter: alpha(opacity=90); } + body .ui-tooltip .ui-tooltip-text { + background-color: #323232; } + body .ui-tooltip.ui-tooltip-top .ui-tooltip-arrow { + border-top-color: #323232; } + body .ui-tooltip.ui-tooltip-bottom .ui-tooltip-arrow { + border-bottom-color: #323232; } + body .ui-tooltip.ui-tooltip-left .ui-tooltip-arrow { + border-left-color: #323232; } + body .ui-tooltip.ui-tooltip-right .ui-tooltip-arrow { + border-right-color: #323232; } + +body .ui-draggable-dragging.ui-state-default { + padding: 0.625em 1em !important; + background-color: #757575; } +body .jqplot-target { + font-family: "Roboto","Helvetica Neue",sans-serif; } +body .ui-progressbar { + height: .5em; + background-color: #EEEEEE; + overflow: hidden; + border: 0 none; } + body .ui-progressbar .ui-progressbar-value { + height: .5em; } + body .ui-progressbar .ui-progressbar-label { + color: #ffffff; + display: none !important; } +body .ui-galleria .ui-galleria-nav-prev { + left: 0; } +body .ui-galleria .ui-galleria-nav-next { + right: 0; } +body .ui-inplace .ui-inplace-display { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-inplace .ui-inplace-display:hover { + background-color: #e8e8e8; } +body .ui-terminal .ui-terminal-input { + font-size: 16px; } diff --git a/src/assets/theme/theme-grey.scss b/src/assets/theme/theme-grey.scss new file mode 100644 index 0000000..d66ed84 --- /dev/null +++ b/src/assets/theme/theme-grey.scss @@ -0,0 +1,9 @@ +$primaryColor: #757575; +$primaryDarkColor: #424242; +$primaryLightColor: #EEEEEE; +$accentColor: #FF5722; +$accentDarkColor: #D84315; +$accentLightColor: #FFAB91; +$accentTextColor: #ffffff; + +@import '../sass/theme/_theme'; \ No newline at end of file diff --git a/src/assets/theme/theme-indigo.css b/src/assets/theme/theme-indigo.css new file mode 100644 index 0000000..0c77683 --- /dev/null +++ b/src/assets/theme/theme-indigo.css @@ -0,0 +1,6153 @@ +@charset "UTF-8"; +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +.fa-sort:before { + content: "sort"; } + +.fa-sort-asc:before { + content: "keyboard_arrow_up"; } + +.fa-sort-desc:before { + content: "keyboard_arrow_down"; } + +.fa-angle-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-up:before { + content: "play_arrow"; } + +.fa-angle-double-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-up:before { + content: "skip_next"; } + +.fa-angle-down { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .fa-angle-down:before { + content: "play_arrow"; } + +.fa-angle-double-down { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-down:before { + content: "skip_previous"; } + +.fa-angle-right:before { + content: "play_arrow"; } + +.fa-angle-double-right:before { + content: "fast_forward"; } + +.fa-angle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-angle-left:before { + content: "play_arrow"; } + +.fa-angle-double-left:before { + content: "fast_rewind"; } + +.fa-check:before { + content: "check"; } + +.fa-caret-up:before { + content: "keyboard_arrow_up"; } + +.fa-caret-down:before { + content: "keyboard_arrow_down"; } + +.fa-caret-right:before { + content: "keyboard_arrow_right"; } + +.fa-caret-left:before { + content: "keyboard_arrow_left"; } + +.fa-search:before { + content: "search"; } + +.fa-close:before { + content: "close"; } + +.fa-minus:before { + content: "remove"; } + +.fa-plus:before { + content: "add"; } + +.fa-check:before { + content: "check"; } + +.fa-info-circle:before { + content: "info"; } + +.fa-upload:before { + content: "file_upload"; } + +.fa-chevron-circle-left:before { + content: "keyboard_arrow_left"; } + +.fa-chevron-circle-right:before { + content: "keyboard_arrow_right"; } + +.fa-chevron-circle-down:before { + content: "keyboard_arrow_down"; } + +.fa-chevron-circle-up:before { + content: "keyboard_arrow_up"; } + +.fa-home:before { + content: "home"; } + +.fa-chevron-right:before { + content: "chevron_right"; } + +.fa-chevron-left:before { + content: "chevron_left"; } + +.fa-circle-o:before { + content: "radio_button_unchecked"; } + +.fa-dot-circle-o:before { + content: "radio_button_checked"; } + +.fa-arrow-circle-right:before { + content: "play_circle_outline"; } + +.fa-arrow-circle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-arrow-circle-left:before { + content: "play_circle_outline"; } + +.fa-calendar:before { + content: "date_range"; } + +.fa-arrow-down:before { + content: "arrow_downward"; } + +.fa-arrow-up:before { + content: "arrow_upward"; } + +.ui-icon-carat-2-n-s:before { + content: "sort"; } + +.ui-icon-triangle-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-triangle-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-triangle-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-triangle-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-carat-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-carat-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-carat-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-carat-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-arrow-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrow-1-n:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-n:before { + content: "skip_next"; } + +.ui-icon-arrow-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrow-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-s { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-s:before { + content: "skip_previous"; } + +.ui-icon-arrow-1-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-arrow-1-w:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-w:before { + content: "fast_rewind"; } + +.ui-icon-arrow-1-e:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-e:before { + content: "fast_forward"; } + +.ui-icon-arrowthick-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrowthick-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowthick-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowthick-1-n:before { + content: "play_arrow"; } + +.ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-circle-triangle-s:before { + content: "play_circle_outline"; } + +.ui-icon-radio-off:before { + content: "radio_button_unchecked"; } + +.ui-icon-radio-on:before { + content: "radio_button_checked"; } + +.ui-icon-folder-collapsed:before { + content: "folder"; } + +.ui-icon-document:before { + content: "content_paste"; } + +.ui-icon-video:before { + content: "movie"; } + +.ui-icon-music:before { + content: "music_note"; } + +.ui-icon-plus:before { + content: "add"; } + +.ui-icon-minus:before { + content: "remove"; } + +.ui-icon-plusthick:before { + content: "add"; } + +.ui-icon-minusthick:before { + content: "remove"; } + +.ui-icon-pencil:before { + content: "edit"; } + +.ui-icon-closethick:before { + content: "close"; } + +.ui-icon-circle-close:before { + content: "cancel"; } + +.ui-icon-gear:before { + content: "settings"; } + +.ui-icon-calendar:before { + content: "date_range"; } + +.ui-icon-trash:before { + content: "delete_forever"; } + +.ui-icon-notice:before { + content: "error_outline"; } + +.ui-icon-alert:before { + content: "warning"; } + +.ui-icon-circle-zoomin:before { + content: "zoom_in"; } + +.ui-icon-circle-zoomout:before { + content: "zoom_out"; } + +.ui-icon-circle-arrow-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-arrow-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-arrow-w:before { + content: "play_circle_outline"; } + +.ui-icon-3d-rotation:before { + content: "3d_rotation"; } + +.ui-icon-ac-unit:before { + content: "ac_unit"; } + +.ui-icon-access-alarm:before { + content: "access_alarm"; } + +.ui-icon-access-alarms:before { + content: "access_alarms"; } + +.ui-icon-access-time:before { + content: "access_time"; } + +.ui-icon-accessibility:before { + content: "accessibility"; } + +.ui-icon-accessible:before { + content: "accessible"; } + +.ui-icon-account-balance:before { + content: "account_balance"; } + +.ui-icon-account-balance-wallet:before { + content: "account_balance_wallet"; } + +.ui-icon-account-box:before { + content: "account_box"; } + +.ui-icon-account-circle:before { + content: "account_circle"; } + +.ui-icon-add:before { + content: "add"; } + +.ui-icon-add-a-photo:before { + content: "add_a_photo"; } + +.ui-icon-add-alarm:before { + content: "add_alarm"; } + +.ui-icon-add-alert:before { + content: "add_alert"; } + +.ui-icon-add-box:before { + content: "add_box"; } + +.ui-icon-add-circle:before { + content: "add_circle"; } + +.ui-icon-add-circle-outline:before { + content: "add_circle_outline"; } + +.ui-icon-add-location:before { + content: "add_location"; } + +.ui-icon-add-shopping-cart:before { + content: "add_shopping_cart"; } + +.ui-icon-add-to-photos:before { + content: "add_to_photos"; } + +.ui-icon-add-to-queue:before { + content: "add_to_queue"; } + +.ui-icon-adjust:before { + content: "adjust"; } + +.ui-icon-airline-seat-flat:before { + content: "airline_seat_flat"; } + +.ui-icon-airline-seat-flat-angled:before { + content: "airline_seat_flat_angled"; } + +.ui-icon-airline-seat-individual-suite:before { + content: "airline_seat_individual_suite"; } + +.ui-icon-airline-seat-legroom-extra:before { + content: "airline_seat_legroom_extra"; } + +.ui-icon-airline-seat-legroom-normal:before { + content: "airline_seat_legroom_normal"; } + +.ui-icon-airline-seat-legroom-reduced:before { + content: "airline_seat_legroom_reduced"; } + +.ui-icon-airline-seat-recline-extra:before { + content: "airline_seat_recline_extra"; } + +.ui-icon-airline-seat-recline-normal:before { + content: "airline_seat_recline_normal"; } + +.ui-icon-airplanemode-active:before { + content: "airplanemode_active"; } + +.ui-icon-airplanemode-inactive:before { + content: "airplanemode_inactive"; } + +.ui-icon-airplay:before { + content: "airplay"; } + +.ui-icon-airport-shuttle:before { + content: "airport_shuttle"; } + +.ui-icon-alarm:before { + content: "alarm"; } + +.ui-icon-alarm-add:before { + content: "alarm_add"; } + +.ui-icon-alarm-off:before { + content: "alarm_off"; } + +.ui-icon-alarm-on:before { + content: "alarm_on"; } + +.ui-icon-album:before { + content: "album"; } + +.ui-icon-all-inclusive:before { + content: "all_inclusive"; } + +.ui-icon-all-out:before { + content: "all_out"; } + +.ui-icon-android:before { + content: "android"; } + +.ui-icon-announcement:before { + content: "announcement"; } + +.ui-icon-apps:before { + content: "apps"; } + +.ui-icon-archive:before { + content: "archive"; } + +.ui-icon-arrow-back:before { + content: "arrow_back"; } + +.ui-icon-arrow-downward:before { + content: "arrow_downward"; } + +.ui-icon-arrow-drop-down:before { + content: "arrow_drop_down"; } + +.ui-icon-arrow-drop-down-circle:before { + content: "arrow_drop_down_circle"; } + +.ui-icon-arrow-drop-up:before { + content: "arrow_drop_up"; } + +.ui-icon-arrow-forward:before { + content: "arrow_forward"; } + +.ui-icon-arrow-upward:before { + content: "arrow_upward"; } + +.ui-icon-art-track:before { + content: "art_track"; } + +.ui-icon-aspect-ratio:before { + content: "aspect_ratio"; } + +.ui-icon-assessment:before { + content: "assessment"; } + +.ui-icon-assignment:before { + content: "assignment"; } + +.ui-icon-assignment-ind:before { + content: "assignment_ind"; } + +.ui-icon-assignment-late:before { + content: "assignment_late"; } + +.ui-icon-assignment-return:before { + content: "assignment_return"; } + +.ui-icon-assignment-returned:before { + content: "assignment_returned"; } + +.ui-icon-assignment-turned-in:before { + content: "assignment_turned_in"; } + +.ui-icon-assistant:before { + content: "assistant"; } + +.ui-icon-assistant-photo:before { + content: "assistant_photo"; } + +.ui-icon-attach-file:before { + content: "attach_file"; } + +.ui-icon-attach-money:before { + content: "attach_money"; } + +.ui-icon-attachment:before { + content: "attachment"; } + +.ui-icon-audiotrack:before { + content: "audiotrack"; } + +.ui-icon-autorenew:before { + content: "autorenew"; } + +.ui-icon-av-timer:before { + content: "av_timer"; } + +.ui-icon-backspace:before { + content: "backspace"; } + +.ui-icon-backup:before { + content: "backup"; } + +.ui-icon-battery-alert:before { + content: "battery_alert"; } + +.ui-icon-battery-charging-full:before { + content: "battery_charging_full"; } + +.ui-icon-battery-full:before { + content: "battery_full"; } + +.ui-icon-battery-std:before { + content: "battery_std"; } + +.ui-icon-battery-unknown:before { + content: "battery_unknown"; } + +.ui-icon-beach-access:before { + content: "beach_access"; } + +.ui-icon-beenhere:before { + content: "beenhere"; } + +.ui-icon-block:before { + content: "block"; } + +.ui-icon-bluetooth:before { + content: "bluetooth"; } + +.ui-icon-bluetooth-audio:before { + content: "bluetooth_audio"; } + +.ui-icon-bluetooth-connected:before { + content: "bluetooth_connected"; } + +.ui-icon-bluetooth-disabled:before { + content: "bluetooth_disabled"; } + +.ui-icon-bluetooth-searching:before { + content: "bluetooth_searching"; } + +.ui-icon-blur-circular:before { + content: "blur_circular"; } + +.ui-icon-blur-linear:before { + content: "blur_linear"; } + +.ui-icon-blur-off:before { + content: "blur_off"; } + +.ui-icon-blur-on:before { + content: "blur_on"; } + +.ui-icon-book:before { + content: "book"; } + +.ui-icon-bookmark:before { + content: "bookmark"; } + +.ui-icon-bookmark-border:before { + content: "bookmark_border"; } + +.ui-icon-border-all:before { + content: "border_all"; } + +.ui-icon-border-bottom:before { + content: "border_bottom"; } + +.ui-icon-border-clear:before { + content: "border_clear"; } + +.ui-icon-border-color:before { + content: "border_color"; } + +.ui-icon-border-horizontal:before { + content: "border_horizontal"; } + +.ui-icon-border-inner:before { + content: "border_inner"; } + +.ui-icon-border-left:before { + content: "border_left"; } + +.ui-icon-border-outer:before { + content: "border_outer"; } + +.ui-icon-border-right:before { + content: "border_right"; } + +.ui-icon-border-style:before { + content: "border_style"; } + +.ui-icon-border-top:before { + content: "border_top"; } + +.ui-icon-border-vertical:before { + content: "border_vertical"; } + +.ui-icon-branding-watermark:before { + content: "branding_watermark"; } + +.ui-icon-brightness-1:before { + content: "brightness_1"; } + +.ui-icon-brightness-2:before { + content: "brightness_2"; } + +.ui-icon-brightness-3:before { + content: "brightness_3"; } + +.ui-icon-brightness-4:before { + content: "brightness_4"; } + +.ui-icon-brightness-5:before { + content: "brightness_5"; } + +.ui-icon-brightness-6:before { + content: "brightness_6"; } + +.ui-icon-brightness-7:before { + content: "brightness_7"; } + +.ui-icon-brightness-auto:before { + content: "brightness_auto"; } + +.ui-icon-brightness-high:before { + content: "brightness_high"; } + +.ui-icon-brightness-low:before { + content: "brightness_low"; } + +.ui-icon-brightness-medium:before { + content: "brightness_medium"; } + +.ui-icon-broken-image:before { + content: "broken_image"; } + +.ui-icon-brush:before { + content: "brush"; } + +.ui-icon-bubble-chart:before { + content: "bubble_chart"; } + +.ui-icon-bug-report:before { + content: "bug_report"; } + +.ui-icon-build:before { + content: "build"; } + +.ui-icon-burst-mode:before { + content: "burst_mode"; } + +.ui-icon-business:before { + content: "business"; } + +.ui-icon-business-center:before { + content: "business_center"; } + +.ui-icon-cached:before { + content: "cached"; } + +.ui-icon-cake:before { + content: "cake"; } + +.ui-icon-call:before { + content: "call"; } + +.ui-icon-call-end:before { + content: "call_end"; } + +.ui-icon-call-made:before { + content: "call_made"; } + +.ui-icon-call-merge:before { + content: "call_merge"; } + +.ui-icon-call-missed:before { + content: "call_missed"; } + +.ui-icon-call-missed-outgoing:before { + content: "call_missed_outgoing"; } + +.ui-icon-call-received:before { + content: "call_received"; } + +.ui-icon-call-split:before { + content: "call_split"; } + +.ui-icon-call-to-action:before { + content: "call_to_action"; } + +.ui-icon-camera:before { + content: "camera"; } + +.ui-icon-camera-alt:before { + content: "camera_alt"; } + +.ui-icon-camera-enhance:before { + content: "camera_enhance"; } + +.ui-icon-camera-front:before { + content: "camera_front"; } + +.ui-icon-camera-rear:before { + content: "camera_rear"; } + +.ui-icon-camera-roll:before { + content: "camera_roll"; } + +.ui-icon-cancel:before { + content: "cancel"; } + +.ui-icon-card-giftcard:before { + content: "card_giftcard"; } + +.ui-icon-card-membership:before { + content: "card_membership"; } + +.ui-icon-card-travel:before { + content: "card_travel"; } + +.ui-icon-casino:before { + content: "casino"; } + +.ui-icon-cast:before { + content: "cast"; } + +.ui-icon-cast-connected:before { + content: "cast_connected"; } + +.ui-icon-center-focus-strong:before { + content: "center_focus_strong"; } + +.ui-icon-center-focus-weak:before { + content: "center_focus_weak"; } + +.ui-icon-change-history:before { + content: "change_history"; } + +.ui-icon-chat:before { + content: "chat"; } + +.ui-icon-chat-bubble:before { + content: "chat_bubble"; } + +.ui-icon-chat-bubble-outline:before { + content: "chat_bubble_outline"; } + +.ui-icon-check:before { + content: "check"; } + +.ui-icon-check-box:before { + content: "check_box"; } + +.ui-icon-check-box-outline-blank:before { + content: "check_box_outline_blank"; } + +.ui-icon-check-circle:before { + content: "check_circle"; } + +.ui-icon-chevron-left:before { + content: "chevron_left"; } + +.ui-icon-chevron-right:before { + content: "chevron_right"; } + +.ui-icon-child-care:before { + content: "child_care"; } + +.ui-icon-child-friendly:before { + content: "child_friendly"; } + +.ui-icon-chrome-reader-mode:before { + content: "chrome_reader_mode"; } + +.ui-icon-class:before { + content: "class"; } + +.ui-icon-clear:before { + content: "clear"; } + +.ui-icon-clear-all:before { + content: "clear_all"; } + +.ui-icon-close:before { + content: "close"; } + +.ui-icon-closed-caption:before { + content: "closed_caption"; } + +.ui-icon-cloud:before { + content: "cloud"; } + +.ui-icon-cloud-circle:before { + content: "cloud_circle"; } + +.ui-icon-cloud-done:before { + content: "cloud_done"; } + +.ui-icon-cloud-download:before { + content: "cloud_download"; } + +.ui-icon-cloud-off:before { + content: "cloud_off"; } + +.ui-icon-cloud-queue:before { + content: "cloud_queue"; } + +.ui-icon-cloud-upload:before { + content: "cloud_upload"; } + +.ui-icon-code:before { + content: "code"; } + +.ui-icon-collections:before { + content: "collections"; } + +.ui-icon-collections-bookmark:before { + content: "collections_bookmark"; } + +.ui-icon-color-lens:before { + content: "color_lens"; } + +.ui-icon-colorize:before { + content: "colorize"; } + +.ui-icon-comment:before { + content: "comment"; } + +.ui-icon-compare:before { + content: "compare"; } + +.ui-icon-compare-arrows:before { + content: "compare_arrows"; } + +.ui-icon-computer:before { + content: "computer"; } + +.ui-icon-confirmation-number:before { + content: "confirmation_number"; } + +.ui-icon-contact-mail:before { + content: "contact_mail"; } + +.ui-icon-contact-phone:before { + content: "contact_phone"; } + +.ui-icon-contacts:before { + content: "contacts"; } + +.ui-icon-content-copy:before { + content: "content_copy"; } + +.ui-icon-content-cut:before { + content: "content_cut"; } + +.ui-icon-content-paste:before { + content: "content_paste"; } + +.ui-icon-control-point:before { + content: "control_point"; } + +.ui-icon-control-point-duplicate:before { + content: "control_point_duplicate"; } + +.ui-icon-copyright:before { + content: "copyright"; } + +.ui-icon-create:before { + content: "create"; } + +.ui-icon-create-new-folder:before { + content: "create_new_folder"; } + +.ui-icon-credit-card:before { + content: "credit_card"; } + +.ui-icon-crop:before { + content: "crop"; } + +.ui-icon-crop-16-9:before { + content: "crop_16_9"; } + +.ui-icon-crop-3-2:before { + content: "crop_3_2"; } + +.ui-icon-crop-5-4:before { + content: "crop_5_4"; } + +.ui-icon-crop-7-5:before { + content: "crop_7_5"; } + +.ui-icon-crop-din:before { + content: "crop_din"; } + +.ui-icon-crop-free:before { + content: "crop_free"; } + +.ui-icon-crop-landscape:before { + content: "crop_landscape"; } + +.ui-icon-crop-original:before { + content: "crop_original"; } + +.ui-icon-crop-portrait:before { + content: "crop_portrait"; } + +.ui-icon-crop-rotate:before { + content: "crop_rotate"; } + +.ui-icon-crop-square:before { + content: "crop_square"; } + +.ui-icon-dashboard:before { + content: "dashboard"; } + +.ui-icon-data-usage:before { + content: "data_usage"; } + +.ui-icon-date-range:before { + content: "date_range"; } + +.ui-icon-dehaze:before { + content: "dehaze"; } + +.ui-icon-delete:before { + content: "delete"; } + +.ui-icon-delete-forever:before { + content: "delete_forever"; } + +.ui-icon-delete-sweep:before { + content: "delete_sweep"; } + +.ui-icon-description:before { + content: "description"; } + +.ui-icon-desktop-mac:before { + content: "desktop_mac"; } + +.ui-icon-desktop-windows:before { + content: "desktop_windows"; } + +.ui-icon-details:before { + content: "details"; } + +.ui-icon-developer-board:before { + content: "developer_board"; } + +.ui-icon-developer-mode:before { + content: "developer_mode"; } + +.ui-icon-device-hub:before { + content: "device_hub"; } + +.ui-icon-devices:before { + content: "devices"; } + +.ui-icon-devices-other:before { + content: "devices_other"; } + +.ui-icon-dialer-sip:before { + content: "dialer_sip"; } + +.ui-icon-dialpad:before { + content: "dialpad"; } + +.ui-icon-directions:before { + content: "directions"; } + +.ui-icon-directions-bike:before { + content: "directions_bike"; } + +.ui-icon-directions-boat:before { + content: "directions_boat"; } + +.ui-icon-directions-bus:before { + content: "directions_bus"; } + +.ui-icon-directions-car:before { + content: "directions_car"; } + +.ui-icon-directions-railway:before { + content: "directions_railway"; } + +.ui-icon-directions-run:before { + content: "directions_run"; } + +.ui-icon-directions-subway:before { + content: "directions_subway"; } + +.ui-icon-directions-transit:before { + content: "directions_transit"; } + +.ui-icon-directions-walk:before { + content: "directions_walk"; } + +.ui-icon-disc-full:before { + content: "disc_full"; } + +.ui-icon-dns:before { + content: "dns"; } + +.ui-icon-do-not-disturb:before { + content: "do_not_disturb"; } + +.ui-icon-do-not-disturb-alt:before { + content: "do_not_disturb_alt"; } + +.ui-icon-do-not-disturb-off:before { + content: "do_not_disturb_off"; } + +.ui-icon-do-not-disturb-on:before { + content: "do_not_disturb_on"; } + +.ui-icon-dock:before { + content: "dock"; } + +.ui-icon-domain:before { + content: "domain"; } + +.ui-icon-done:before { + content: "done"; } + +.ui-icon-done-all:before { + content: "done_all"; } + +.ui-icon-donut-large:before { + content: "donut_large"; } + +.ui-icon-donut-small:before { + content: "donut_small"; } + +.ui-icon-drafts:before { + content: "drafts"; } + +.ui-icon-drag-handle:before { + content: "drag_handle"; } + +.ui-icon-drive-eta:before { + content: "drive_eta"; } + +.ui-icon-dvr:before { + content: "dvr"; } + +.ui-icon-edit:before { + content: "edit"; } + +.ui-icon-edit-location:before { + content: "edit_location"; } + +.ui-icon-eject:before { + content: "eject"; } + +.ui-icon-email:before { + content: "email"; } + +.ui-icon-enhanced-encryption:before { + content: "enhanced_encryption"; } + +.ui-icon-equalizer:before { + content: "equalizer"; } + +.ui-icon-error:before { + content: "error"; } + +.ui-icon-error-outline:before { + content: "error_outline"; } + +.ui-icon-euro-symbol:before { + content: "euro_symbol"; } + +.ui-icon-ev-station:before { + content: "ev_station"; } + +.ui-icon-event:before { + content: "event"; } + +.ui-icon-event-available:before { + content: "event_available"; } + +.ui-icon-event-busy:before { + content: "event_busy"; } + +.ui-icon-event-note:before { + content: "event_note"; } + +.ui-icon-event-seat:before { + content: "event_seat"; } + +.ui-icon-exit-to-app:before { + content: "exit_to_app"; } + +.ui-icon-expand-less:before { + content: "expand_less"; } + +.ui-icon-expand-more:before { + content: "expand_more"; } + +.ui-icon-explicit:before { + content: "explicit"; } + +.ui-icon-explore:before { + content: "explore"; } + +.ui-icon-exposure:before { + content: "exposure"; } + +.ui-icon-exposure-neg-1:before { + content: "exposure_neg_1"; } + +.ui-icon-exposure-neg-2:before { + content: "exposure_neg_2"; } + +.ui-icon-exposure-plus-1:before { + content: "exposure_plus_1"; } + +.ui-icon-exposure-plus-2:before { + content: "exposure_plus_2"; } + +.ui-icon-exposure-zero:before { + content: "exposure_zero"; } + +.ui-icon-extension:before { + content: "extension"; } + +.ui-icon-face:before { + content: "face"; } + +.ui-icon-fast-forward:before { + content: "fast_forward"; } + +.ui-icon-fast-rewind:before { + content: "fast_rewind"; } + +.ui-icon-favorite:before { + content: "favorite"; } + +.ui-icon-favorite-border:before { + content: "favorite_border"; } + +.ui-icon-featured-play-list:before { + content: "featured_play_list"; } + +.ui-icon-featured-video:before { + content: "featured_video"; } + +.ui-icon-feedback:before { + content: "feedback"; } + +.ui-icon-fiber-dvr:before { + content: "fiber_dvr"; } + +.ui-icon-fiber-manual-record:before { + content: "fiber_manual_record"; } + +.ui-icon-fiber-new:before { + content: "fiber_new"; } + +.ui-icon-fiber-pin:before { + content: "fiber_pin"; } + +.ui-icon-fiber-smart-record:before { + content: "fiber_smart_record"; } + +.ui-icon-file-download:before { + content: "file_download"; } + +.ui-icon-file-upload:before { + content: "file_upload"; } + +.ui-icon-filter:before { + content: "filter"; } + +.ui-icon-filter-1:before { + content: "filter_1"; } + +.ui-icon-filter-2:before { + content: "filter_2"; } + +.ui-icon-filter-3:before { + content: "filter_3"; } + +.ui-icon-filter-4:before { + content: "filter_4"; } + +.ui-icon-filter-5:before { + content: "filter_5"; } + +.ui-icon-filter-6:before { + content: "filter_6"; } + +.ui-icon-filter-7:before { + content: "filter_7"; } + +.ui-icon-filter-8:before { + content: "filter_8"; } + +.ui-icon-filter-9:before { + content: "filter_9"; } + +.ui-icon-filter-9-plus:before { + content: "filter_9_plus"; } + +.ui-icon-filter-b-and-w:before { + content: "filter_b_and_w"; } + +.ui-icon-filter-center-focus:before { + content: "filter_center_focus"; } + +.ui-icon-filter-drama:before { + content: "filter_drama"; } + +.ui-icon-filter-frames:before { + content: "filter_frames"; } + +.ui-icon-filter-hdr:before { + content: "filter_hdr"; } + +.ui-icon-filter-list:before { + content: "filter_list"; } + +.ui-icon-filter-none:before { + content: "filter_none"; } + +.ui-icon-filter-tilt-shift:before { + content: "filter_tilt_shift"; } + +.ui-icon-filter-vintage:before { + content: "filter_vintage"; } + +.ui-icon-find-in-page:before { + content: "find_in_page"; } + +.ui-icon-find-replace:before { + content: "find_replace"; } + +.ui-icon-fingerprint:before { + content: "fingerprint"; } + +.ui-icon-first-page:before { + content: "first_page"; } + +.ui-icon-fitness-center:before { + content: "fitness_center"; } + +.ui-icon-flag:before { + content: "flag"; } + +.ui-icon-flare:before { + content: "flare"; } + +.ui-icon-flash-auto:before { + content: "flash_auto"; } + +.ui-icon-flash-off:before { + content: "flash_off"; } + +.ui-icon-flash-on:before { + content: "flash_on"; } + +.ui-icon-flight:before { + content: "flight"; } + +.ui-icon-flight-land:before { + content: "flight_land"; } + +.ui-icon-flight-takeoff:before { + content: "flight_takeoff"; } + +.ui-icon-flip:before { + content: "flip"; } + +.ui-icon-flip-to-back:before { + content: "flip_to_back"; } + +.ui-icon-flip-to-front:before { + content: "flip_to_front"; } + +.ui-icon-folder:before { + content: "folder"; } + +.ui-icon-folder-open:before { + content: "folder_open"; } + +.ui-icon-folder-shared:before { + content: "folder_shared"; } + +.ui-icon-folder-special:before { + content: "folder_special"; } + +.ui-icon-font-download:before { + content: "font_download"; } + +.ui-icon-format-align-center:before { + content: "format_align_center"; } + +.ui-icon-format-align-justify:before { + content: "format_align_justify"; } + +.ui-icon-format-align-left:before { + content: "format_align_left"; } + +.ui-icon-format-align-right:before { + content: "format_align_right"; } + +.ui-icon-format-bold:before { + content: "format_bold"; } + +.ui-icon-format-clear:before { + content: "format_clear"; } + +.ui-icon-format-color-fill:before { + content: "format_color_fill"; } + +.ui-icon-format-color-reset:before { + content: "format_color_reset"; } + +.ui-icon-format-color-text:before { + content: "format_color_text"; } + +.ui-icon-format-indent-decrease:before { + content: "format_indent_decrease"; } + +.ui-icon-format-indent-increase:before { + content: "format_indent_increase"; } + +.ui-icon-format-italic:before { + content: "format_italic"; } + +.ui-icon-format-line-spacing:before { + content: "format_line_spacing"; } + +.ui-icon-format-list-bulleted:before { + content: "format_list_bulleted"; } + +.ui-icon-format-list-numbered:before { + content: "format_list_numbered"; } + +.ui-icon-format-paint:before { + content: "format_paint"; } + +.ui-icon-format-quote:before { + content: "format_quote"; } + +.ui-icon-format-shapes:before { + content: "format_shapes"; } + +.ui-icon-format-size:before { + content: "format_size"; } + +.ui-icon-format-strikethrough:before { + content: "format_strikethrough"; } + +.ui-icon-format-textdirection-l-to-r:before { + content: "format_textdirection_l_to_r"; } + +.ui-icon-format-textdirection-r-to-l:before { + content: "format_textdirection_r_to_l"; } + +.ui-icon-format-underlined:before { + content: "format_underlined"; } + +.ui-icon-forum:before { + content: "forum"; } + +.ui-icon-forward:before { + content: "forward"; } + +.ui-icon-forward-10:before { + content: "forward_10"; } + +.ui-icon-forward-30:before { + content: "forward_30"; } + +.ui-icon-forward-5:before { + content: "forward_5"; } + +.ui-icon-free-breakfast:before { + content: "free_breakfast"; } + +.ui-icon-fullscreen:before { + content: "fullscreen"; } + +.ui-icon-fullscreen-exit:before { + content: "fullscreen_exit"; } + +.ui-icon-functions:before { + content: "functions"; } + +.ui-icon-g-translate:before { + content: "g_translate"; } + +.ui-icon-gamepad:before { + content: "gamepad"; } + +.ui-icon-games:before { + content: "games"; } + +.ui-icon-gavel:before { + content: "gavel"; } + +.ui-icon-gesture:before { + content: "gesture"; } + +.ui-icon-get-app:before { + content: "get_app"; } + +.ui-icon-gif:before { + content: "gif"; } + +.ui-icon-golf-course:before { + content: "golf_course"; } + +.ui-icon-gps-fixed:before { + content: "gps_fixed"; } + +.ui-icon-gps-not-fixed:before { + content: "gps_not_fixed"; } + +.ui-icon-gps-off:before { + content: "gps_off"; } + +.ui-icon-grade:before { + content: "grade"; } + +.ui-icon-gradient:before { + content: "gradient"; } + +.ui-icon-grain:before { + content: "grain"; } + +.ui-icon-graphic-eq:before { + content: "graphic_eq"; } + +.ui-icon-grid-off:before { + content: "grid_off"; } + +.ui-icon-grid-on:before { + content: "grid_on"; } + +.ui-icon-group:before { + content: "group"; } + +.ui-icon-group-add:before { + content: "group_add"; } + +.ui-icon-group-work:before { + content: "group_work"; } + +.ui-icon-hd:before { + content: "hd"; } + +.ui-icon-hdr-off:before { + content: "hdr_off"; } + +.ui-icon-hdr-on:before { + content: "hdr_on"; } + +.ui-icon-hdr-strong:before { + content: "hdr_strong"; } + +.ui-icon-hdr-weak:before { + content: "hdr_weak"; } + +.ui-icon-headset:before { + content: "headset"; } + +.ui-icon-headset-mic:before { + content: "headset_mic"; } + +.ui-icon-healing:before { + content: "healing"; } + +.ui-icon-hearing:before { + content: "hearing"; } + +.ui-icon-help:before { + content: "help"; } + +.ui-icon-help-outline:before { + content: "help_outline"; } + +.ui-icon-high-quality:before { + content: "high_quality"; } + +.ui-icon-highlight:before { + content: "highlight"; } + +.ui-icon-highlight-off:before { + content: "highlight_off"; } + +.ui-icon-history:before { + content: "history"; } + +.ui-icon-home:before { + content: "home"; } + +.ui-icon-hot-tub:before { + content: "hot_tub"; } + +.ui-icon-hotel:before { + content: "hotel"; } + +.ui-icon-hourglass-empty:before { + content: "hourglass_empty"; } + +.ui-icon-hourglass-full:before { + content: "hourglass_full"; } + +.ui-icon-http:before { + content: "http"; } + +.ui-icon-https:before { + content: "https"; } + +.ui-icon-image:before { + content: "image"; } + +.ui-icon-image-aspect-ratio:before { + content: "image_aspect_ratio"; } + +.ui-icon-import-contacts:before { + content: "import_contacts"; } + +.ui-icon-import-export:before { + content: "import_export"; } + +.ui-icon-important-devices:before { + content: "important_devices"; } + +.ui-icon-inbox:before { + content: "inbox"; } + +.ui-icon-indeterminate-check-box:before { + content: "indeterminate_check_box"; } + +.ui-icon-info:before { + content: "info"; } + +.ui-icon-info-outline:before { + content: "info_outline"; } + +.ui-icon-input:before { + content: "input"; } + +.ui-icon-insert-chart:before { + content: "insert_chart"; } + +.ui-icon-insert-comment:before { + content: "insert_comment"; } + +.ui-icon-insert-drive-file:before { + content: "insert_drive_file"; } + +.ui-icon-insert-emoticon:before { + content: "insert_emoticon"; } + +.ui-icon-insert-invitation:before { + content: "insert_invitation"; } + +.ui-icon-insert-link:before { + content: "insert_link"; } + +.ui-icon-insert-photo:before { + content: "insert_photo"; } + +.ui-icon-invert-colors:before { + content: "invert_colors"; } + +.ui-icon-invert-colors-off:before { + content: "invert_colors_off"; } + +.ui-icon-iso:before { + content: "iso"; } + +.ui-icon-keyboard:before { + content: "keyboard"; } + +.ui-icon-keyboard-arrow-down:before { + content: "keyboard_arrow_down"; } + +.ui-icon-keyboard-arrow-left:before { + content: "keyboard_arrow_left"; } + +.ui-icon-keyboard-arrow-right:before { + content: "keyboard_arrow_right"; } + +.ui-icon-keyboard-arrow-up:before { + content: "keyboard_arrow_up"; } + +.ui-icon-keyboard-backspace:before { + content: "keyboard_backspace"; } + +.ui-icon-keyboard-capslock:before { + content: "keyboard_capslock"; } + +.ui-icon-keyboard-hide:before { + content: "keyboard_hide"; } + +.ui-icon-keyboard-return:before { + content: "keyboard_return"; } + +.ui-icon-keyboard-tab:before { + content: "keyboard_tab"; } + +.ui-icon-keyboard-voice:before { + content: "keyboard_voice"; } + +.ui-icon-kitchen:before { + content: "kitchen"; } + +.ui-icon-label:before { + content: "label"; } + +.ui-icon-label-outline:before { + content: "label_outline"; } + +.ui-icon-landscape:before { + content: "landscape"; } + +.ui-icon-language:before { + content: "language"; } + +.ui-icon-laptop:before { + content: "laptop"; } + +.ui-icon-laptop-chromebook:before { + content: "laptop_chromebook"; } + +.ui-icon-laptop-mac:before { + content: "laptop_mac"; } + +.ui-icon-laptop-windows:before { + content: "laptop_windows"; } + +.ui-icon-last-page:before { + content: "last_page"; } + +.ui-icon-launch:before { + content: "launch"; } + +.ui-icon-layers:before { + content: "layers"; } + +.ui-icon-layers-clear:before { + content: "layers_clear"; } + +.ui-icon-leak-add:before { + content: "leak_add"; } + +.ui-icon-leak-remove:before { + content: "leak_remove"; } + +.ui-icon-lens:before { + content: "lens"; } + +.ui-icon-library-add:before { + content: "library_add"; } + +.ui-icon-library-books:before { + content: "library_books"; } + +.ui-icon-library-music:before { + content: "library_music"; } + +.ui-icon-lightbulb-outline:before { + content: "lightbulb_outline"; } + +.ui-icon-line-style:before { + content: "line_style"; } + +.ui-icon-line-weight:before { + content: "line_weight"; } + +.ui-icon-linear-scale:before { + content: "linear_scale"; } + +.ui-icon-link:before { + content: "link"; } + +.ui-icon-linked-camera:before { + content: "linked_camera"; } + +.ui-icon-list:before { + content: "list"; } + +.ui-icon-live-help:before { + content: "live_help"; } + +.ui-icon-live-tv:before { + content: "live_tv"; } + +.ui-icon-local-activity:before { + content: "local_activity"; } + +.ui-icon-local-airport:before { + content: "local_airport"; } + +.ui-icon-local-atm:before { + content: "local_atm"; } + +.ui-icon-local-bar:before { + content: "local_bar"; } + +.ui-icon-local-cafe:before { + content: "local_cafe"; } + +.ui-icon-local-car-wash:before { + content: "local_car_wash"; } + +.ui-icon-local-convenience-store:before { + content: "local_convenience_store"; } + +.ui-icon-local-dining:before { + content: "local_dining"; } + +.ui-icon-local-drink:before { + content: "local_drink"; } + +.ui-icon-local-florist:before { + content: "local_florist"; } + +.ui-icon-local-gas-station:before { + content: "local_gas_station"; } + +.ui-icon-local-grocery-store:before { + content: "local_grocery_store"; } + +.ui-icon-local-hospital:before { + content: "local_hospital"; } + +.ui-icon-local-hotel:before { + content: "local_hotel"; } + +.ui-icon-local-laundry-service:before { + content: "local_laundry_service"; } + +.ui-icon-local-library:before { + content: "local_library"; } + +.ui-icon-local-mall:before { + content: "local_mall"; } + +.ui-icon-local-movies:before { + content: "local_movies"; } + +.ui-icon-local-offer:before { + content: "local_offer"; } + +.ui-icon-local-parking:before { + content: "local_parking"; } + +.ui-icon-local-pharmacy:before { + content: "local_pharmacy"; } + +.ui-icon-local-phone:before { + content: "local_phone"; } + +.ui-icon-local-pizza:before { + content: "local_pizza"; } + +.ui-icon-local-play:before { + content: "local_play"; } + +.ui-icon-local-post-office:before { + content: "local_post_office"; } + +.ui-icon-local-printshop:before { + content: "local_printshop"; } + +.ui-icon-local-see:before { + content: "local_see"; } + +.ui-icon-local-shipping:before { + content: "local_shipping"; } + +.ui-icon-local-taxi:before { + content: "local_taxi"; } + +.ui-icon-location-city:before { + content: "location_city"; } + +.ui-icon-location-disabled:before { + content: "location_disabled"; } + +.ui-icon-location-off:before { + content: "location_off"; } + +.ui-icon-location-on:before { + content: "location_on"; } + +.ui-icon-location-searching:before { + content: "location_searching"; } + +.ui-icon-lock:before { + content: "lock"; } + +.ui-icon-lock-open:before { + content: "lock_open"; } + +.ui-icon-lock-outline:before { + content: "lock_outline"; } + +.ui-icon-looks:before { + content: "looks"; } + +.ui-icon-looks-3:before { + content: "looks_3"; } + +.ui-icon-looks-4:before { + content: "looks_4"; } + +.ui-icon-looks-5:before { + content: "looks_5"; } + +.ui-icon-looks-6:before { + content: "looks_6"; } + +.ui-icon-looks-one:before { + content: "looks_one"; } + +.ui-icon-looks-two:before { + content: "looks_two"; } + +.ui-icon-loop:before { + content: "loop"; } + +.ui-icon-loupe:before { + content: "loupe"; } + +.ui-icon-low-priority:before { + content: "low_priority"; } + +.ui-icon-loyalty:before { + content: "loyalty"; } + +.ui-icon-mail:before { + content: "mail"; } + +.ui-icon-mail-outline:before { + content: "mail_outline"; } + +.ui-icon-map:before { + content: "map"; } + +.ui-icon-markunread:before { + content: "markunread"; } + +.ui-icon-markunread-mailbox:before { + content: "markunread_mailbox"; } + +.ui-icon-memory:before { + content: "memory"; } + +.ui-icon-menu:before { + content: "menu"; } + +.ui-icon-merge-type:before { + content: "merge_type"; } + +.ui-icon-message:before { + content: "message"; } + +.ui-icon-mic:before { + content: "mic"; } + +.ui-icon-mic-none:before { + content: "mic_none"; } + +.ui-icon-mic-off:before { + content: "mic_off"; } + +.ui-icon-mms:before { + content: "mms"; } + +.ui-icon-mode-comment:before { + content: "mode_comment"; } + +.ui-icon-mode-edit:before { + content: "mode_edit"; } + +.ui-icon-monetization-on:before { + content: "monetization_on"; } + +.ui-icon-money-off:before { + content: "money_off"; } + +.ui-icon-monochrome-photos:before { + content: "monochrome_photos"; } + +.ui-icon-mood:before { + content: "mood"; } + +.ui-icon-mood-bad:before { + content: "mood_bad"; } + +.ui-icon-more:before { + content: "more"; } + +.ui-icon-more-horiz:before { + content: "more_horiz"; } + +.ui-icon-more-vert:before { + content: "more_vert"; } + +.ui-icon-motorcycle:before { + content: "motorcycle"; } + +.ui-icon-mouse:before { + content: "mouse"; } + +.ui-icon-move-to-inbox:before { + content: "move_to_inbox"; } + +.ui-icon-movie:before { + content: "movie"; } + +.ui-icon-movie-creation:before { + content: "movie_creation"; } + +.ui-icon-movie-filter:before { + content: "movie_filter"; } + +.ui-icon-multiline-chart:before { + content: "multiline_chart"; } + +.ui-icon-music-note:before { + content: "music_note"; } + +.ui-icon-music-video:before { + content: "music_video"; } + +.ui-icon-my-location:before { + content: "my_location"; } + +.ui-icon-nature:before { + content: "nature"; } + +.ui-icon-nature-people:before { + content: "nature_people"; } + +.ui-icon-navigate-before:before { + content: "navigate_before"; } + +.ui-icon-navigate-next:before { + content: "navigate_next"; } + +.ui-icon-navigation:before { + content: "navigation"; } + +.ui-icon-near-me:before { + content: "near_me"; } + +.ui-icon-network-cell:before { + content: "network_cell"; } + +.ui-icon-network-check:before { + content: "network_check"; } + +.ui-icon-network-locked:before { + content: "network_locked"; } + +.ui-icon-network-wifi:before { + content: "network_wifi"; } + +.ui-icon-new-releases:before { + content: "new_releases"; } + +.ui-icon-next-week:before { + content: "next_week"; } + +.ui-icon-nfc:before { + content: "nfc"; } + +.ui-icon-no-encryption:before { + content: "no_encryption"; } + +.ui-icon-no-sim:before { + content: "no_sim"; } + +.ui-icon-not-interested:before { + content: "not_interested"; } + +.ui-icon-note:before { + content: "note"; } + +.ui-icon-note-add:before { + content: "note_add"; } + +.ui-icon-notifications:before { + content: "notifications"; } + +.ui-icon-notifications-active:before { + content: "notifications_active"; } + +.ui-icon-notifications-none:before { + content: "notifications_none"; } + +.ui-icon-notifications-off:before { + content: "notifications_off"; } + +.ui-icon-notifications-paused:before { + content: "notifications_paused"; } + +.ui-icon-offline-pin:before { + content: "offline_pin"; } + +.ui-icon-ondemand-video:before { + content: "ondemand_video"; } + +.ui-icon-opacity:before { + content: "opacity"; } + +.ui-icon-open-in-browser:before { + content: "open_in_browser"; } + +.ui-icon-open-in-new:before { + content: "open_in_new"; } + +.ui-icon-open-with:before { + content: "open_with"; } + +.ui-icon-pages:before { + content: "pages"; } + +.ui-icon-pageview:before { + content: "pageview"; } + +.ui-icon-palette:before { + content: "palette"; } + +.ui-icon-pan-tool:before { + content: "pan_tool"; } + +.ui-icon-panorama:before { + content: "panorama"; } + +.ui-icon-panorama-fish-eye:before { + content: "panorama_fish_eye"; } + +.ui-icon-panorama-horizontal:before { + content: "panorama_horizontal"; } + +.ui-icon-panorama-vertical:before { + content: "panorama_vertical"; } + +.ui-icon-panorama-wide-angle:before { + content: "panorama_wide_angle"; } + +.ui-icon-party-mode:before { + content: "party_mode"; } + +.ui-icon-pause:before { + content: "pause"; } + +.ui-icon-pause-circle-filled:before { + content: "pause_circle_filled"; } + +.ui-icon-pause-circle-outline:before { + content: "pause_circle_outline"; } + +.ui-icon-payment:before { + content: "payment"; } + +.ui-icon-people:before { + content: "people"; } + +.ui-icon-people-outline:before { + content: "people_outline"; } + +.ui-icon-perm-camera-mic:before { + content: "perm_camera_mic"; } + +.ui-icon-perm-contact-calendar:before { + content: "perm_contact_calendar"; } + +.ui-icon-perm-data-setting:before { + content: "perm_data_setting"; } + +.ui-icon-perm-device-information:before { + content: "perm_device_information"; } + +.ui-icon-perm-identity:before { + content: "perm_identity"; } + +.ui-icon-perm-media:before { + content: "perm_media"; } + +.ui-icon-perm-phone-msg:before { + content: "perm_phone_msg"; } + +.ui-icon-perm-scan-wifi:before { + content: "perm_scan_wifi"; } + +.ui-icon-person:before { + content: "person"; } + +.ui-icon-person-add:before { + content: "person_add"; } + +.ui-icon-person-outline:before { + content: "person_outline"; } + +.ui-icon-person-pin:before { + content: "person_pin"; } + +.ui-icon-person-pin-circle:before { + content: "person_pin_circle"; } + +.ui-icon-personal-video:before { + content: "personal_video"; } + +.ui-icon-pets:before { + content: "pets"; } + +.ui-icon-phone:before { + content: "phone"; } + +.ui-icon-phone-android:before { + content: "phone_android"; } + +.ui-icon-phone-bluetooth-speaker:before { + content: "phone_bluetooth_speaker"; } + +.ui-icon-phone-forwarded:before { + content: "phone_forwarded"; } + +.ui-icon-phone-in-talk:before { + content: "phone_in_talk"; } + +.ui-icon-phone-iphone:before { + content: "phone_iphone"; } + +.ui-icon-phone-locked:before { + content: "phone_locked"; } + +.ui-icon-phone-missed:before { + content: "phone_missed"; } + +.ui-icon-phone-paused:before { + content: "phone_paused"; } + +.ui-icon-phonelink:before { + content: "phonelink"; } + +.ui-icon-phonelink-erase:before { + content: "phonelink_erase"; } + +.ui-icon-phonelink-lock:before { + content: "phonelink_lock"; } + +.ui-icon-phonelink-off:before { + content: "phonelink_off"; } + +.ui-icon-phonelink-ring:before { + content: "phonelink_ring"; } + +.ui-icon-phonelink-setup:before { + content: "phonelink_setup"; } + +.ui-icon-photo:before { + content: "photo"; } + +.ui-icon-photo-album:before { + content: "photo_album"; } + +.ui-icon-photo-camera:before { + content: "photo_camera"; } + +.ui-icon-photo-filter:before { + content: "photo_filter"; } + +.ui-icon-photo-library:before { + content: "photo_library"; } + +.ui-icon-photo-size-select-actual:before { + content: "photo_size_select_actual"; } + +.ui-icon-photo-size-select-large:before { + content: "photo_size_select_large"; } + +.ui-icon-photo-size-select-small:before { + content: "photo_size_select_small"; } + +.ui-icon-picture-as-pdf:before { + content: "picture_as_pdf"; } + +.ui-icon-picture-in-picture:before { + content: "picture_in_picture"; } + +.ui-icon-picture-in-picture-alt:before { + content: "picture_in_picture_alt"; } + +.ui-icon-pie-chart:before { + content: "pie_chart"; } + +.ui-icon-pie-chart-outlined:before { + content: "pie_chart_outlined"; } + +.ui-icon-pin-drop:before { + content: "pin_drop"; } + +.ui-icon-place:before { + content: "place"; } + +.ui-icon-play-arrow:before { + content: "play_arrow"; } + +.ui-icon-play-circle-filled:before { + content: "play_circle_filled"; } + +.ui-icon-play-circle-outline:before { + content: "play_circle_outline"; } + +.ui-icon-play-for-work:before { + content: "play_for_work"; } + +.ui-icon-playlist-add:before { + content: "playlist_add"; } + +.ui-icon-playlist-add-check:before { + content: "playlist_add_check"; } + +.ui-icon-playlist-play:before { + content: "playlist_play"; } + +.ui-icon-plus-one:before { + content: "plus_one"; } + +.ui-icon-poll:before { + content: "poll"; } + +.ui-icon-polymer:before { + content: "polymer"; } + +.ui-icon-pool:before { + content: "pool"; } + +.ui-icon-portable-wifi-off:before { + content: "portable_wifi_off"; } + +.ui-icon-portrait:before { + content: "portrait"; } + +.ui-icon-power:before { + content: "power"; } + +.ui-icon-power-input:before { + content: "power_input"; } + +.ui-icon-power-settings-new:before { + content: "power_settings_new"; } + +.ui-icon-pregnant-woman:before { + content: "pregnant_woman"; } + +.ui-icon-present-to-all:before { + content: "present_to_all"; } + +.ui-icon-print:before { + content: "print"; } + +.ui-icon-priority-high:before { + content: "priority_high"; } + +.ui-icon-public:before { + content: "public"; } + +.ui-icon-publish:before { + content: "publish"; } + +.ui-icon-query-builder:before { + content: "query_builder"; } + +.ui-icon-question-answer:before { + content: "question_answer"; } + +.ui-icon-queue:before { + content: "queue"; } + +.ui-icon-queue-music:before { + content: "queue_music"; } + +.ui-icon-queue-play-next:before { + content: "queue_play_next"; } + +.ui-icon-radio:before { + content: "radio"; } + +.ui-icon-radio-button-checked:before { + content: "radio_button_checked"; } + +.ui-icon-radio-button-unchecked:before { + content: "radio_button_unchecked"; } + +.ui-icon-rate-review:before { + content: "rate_review"; } + +.ui-icon-receipt:before { + content: "receipt"; } + +.ui-icon-recent-actors:before { + content: "recent_actors"; } + +.ui-icon-record-voice-over:before { + content: "record_voice_over"; } + +.ui-icon-redeem:before { + content: "redeem"; } + +.ui-icon-redo:before { + content: "redo"; } + +.ui-icon-refresh:before { + content: "refresh"; } + +.ui-icon-remove:before { + content: "remove"; } + +.ui-icon-remove-circle:before { + content: "remove_circle"; } + +.ui-icon-remove-circle-outline:before { + content: "remove_circle_outline"; } + +.ui-icon-remove-from-queue:before { + content: "remove_from_queue"; } + +.ui-icon-remove-red-eye:before { + content: "remove_red_eye"; } + +.ui-icon-remove-shopping-cart:before { + content: "remove_shopping_cart"; } + +.ui-icon-reorder:before { + content: "reorder"; } + +.ui-icon-repeat:before { + content: "repeat"; } + +.ui-icon-repeat-one:before { + content: "repeat_one"; } + +.ui-icon-replay:before { + content: "replay"; } + +.ui-icon-replay-10:before { + content: "replay_10"; } + +.ui-icon-replay-30:before { + content: "replay_30"; } + +.ui-icon-replay-5:before { + content: "replay_5"; } + +.ui-icon-reply:before { + content: "reply"; } + +.ui-icon-reply-all:before { + content: "reply_all"; } + +.ui-icon-report:before { + content: "report"; } + +.ui-icon-report-problem:before { + content: "report_problem"; } + +.ui-icon-restaurant:before { + content: "restaurant"; } + +.ui-icon-restaurant-menu:before { + content: "restaurant_menu"; } + +.ui-icon-restore:before { + content: "restore"; } + +.ui-icon-restore-page:before { + content: "restore_page"; } + +.ui-icon-ring-volume:before { + content: "ring_volume"; } + +.ui-icon-room:before { + content: "room"; } + +.ui-icon-room-service:before { + content: "room_service"; } + +.ui-icon-rotate-90-degrees-ccw:before { + content: "rotate_90_degrees_ccw"; } + +.ui-icon-rotate-left:before { + content: "rotate_left"; } + +.ui-icon-rotate-right:before { + content: "rotate_right"; } + +.ui-icon-rounded-corner:before { + content: "rounded_corner"; } + +.ui-icon-router:before { + content: "router"; } + +.ui-icon-rowing:before { + content: "rowing"; } + +.ui-icon-rss-feed:before { + content: "rss_feed"; } + +.ui-icon-rv-hookup:before { + content: "rv_hookup"; } + +.ui-icon-satellite:before { + content: "satellite"; } + +.ui-icon-save:before { + content: "save"; } + +.ui-icon-scanner:before { + content: "scanner"; } + +.ui-icon-schedule:before { + content: "schedule"; } + +.ui-icon-school:before { + content: "school"; } + +.ui-icon-screen-lock-landscape:before { + content: "screen_lock_landscape"; } + +.ui-icon-screen-lock-portrait:before { + content: "screen_lock_portrait"; } + +.ui-icon-screen-lock-rotation:before { + content: "screen_lock_rotation"; } + +.ui-icon-screen-rotation:before { + content: "screen_rotation"; } + +.ui-icon-screen-share:before { + content: "screen_share"; } + +.ui-icon-sd-card:before { + content: "sd_card"; } + +.ui-icon-sd-storage:before { + content: "sd_storage"; } + +.ui-icon-search:before { + content: "search"; } + +.ui-icon-security:before { + content: "security"; } + +.ui-icon-select-all:before { + content: "select_all"; } + +.ui-icon-send:before { + content: "send"; } + +.ui-icon-sentiment-dissatisfied:before { + content: "sentiment_dissatisfied"; } + +.ui-icon-sentiment-neutral:before { + content: "sentiment_neutral"; } + +.ui-icon-sentiment-satisfied:before { + content: "sentiment_satisfied"; } + +.ui-icon-sentiment-very-dissatisfied:before { + content: "sentiment_very_dissatisfied"; } + +.ui-icon-sentiment-very-satisfied:before { + content: "sentiment_very_satisfied"; } + +.ui-icon-settings:before { + content: "settings"; } + +.ui-icon-settings-applications:before { + content: "settings_applications"; } + +.ui-icon-settings-backup-restore:before { + content: "settings_backup_restore"; } + +.ui-icon-settings-bluetooth:before { + content: "settings_bluetooth"; } + +.ui-icon-settings-brightness:before { + content: "settings_brightness"; } + +.ui-icon-settings-cell:before { + content: "settings_cell"; } + +.ui-icon-settings-ethernet:before { + content: "settings_ethernet"; } + +.ui-icon-settings-input-antenna:before { + content: "settings_input_antenna"; } + +.ui-icon-settings-input-component:before { + content: "settings_input_component"; } + +.ui-icon-settings-input-composite:before { + content: "settings_input_composite"; } + +.ui-icon-settings-input-hdmi:before { + content: "settings_input_hdmi"; } + +.ui-icon-settings-input-svideo:before { + content: "settings_input_svideo"; } + +.ui-icon-settings-overscan:before { + content: "settings_overscan"; } + +.ui-icon-settings-phone:before { + content: "settings_phone"; } + +.ui-icon-settings-power:before { + content: "settings_power"; } + +.ui-icon-settings-remote:before { + content: "settings_remote"; } + +.ui-icon-settings-system-daydream:before { + content: "settings_system_daydream"; } + +.ui-icon-settings-voice:before { + content: "settings_voice"; } + +.ui-icon-share:before { + content: "share"; } + +.ui-icon-shop:before { + content: "shop"; } + +.ui-icon-shop-two:before { + content: "shop_two"; } + +.ui-icon-shopping-basket:before { + content: "shopping_basket"; } + +.ui-icon-shopping-cart:before { + content: "shopping_cart"; } + +.ui-icon-short-text:before { + content: "short_text"; } + +.ui-icon-show-chart:before { + content: "show_chart"; } + +.ui-icon-shuffle:before { + content: "shuffle"; } + +.ui-icon-signal-cellular-4-bar:before { + content: "signal_cellular_4_bar"; } + +.ui-icon-signal-cellular-connected-no-internet-4-bar:before { + content: "signal_cellular_connected_no_internet_4_bar"; } + +.ui-icon-signal-cellular-no-sim:before { + content: "signal_cellular_no_sim"; } + +.ui-icon-signal-cellular-null:before { + content: "signal_cellular_null"; } + +.ui-icon-signal-cellular-off:before { + content: "signal_cellular_off"; } + +.ui-icon-signal-wifi-4-bar:before { + content: "signal_wifi_4_bar"; } + +.ui-icon-signal-wifi-4-bar-lock:before { + content: "signal_wifi_4_bar_lock"; } + +.ui-icon-signal-wifi-off:before { + content: "signal_wifi_off"; } + +.ui-icon-sim-card:before { + content: "sim_card"; } + +.ui-icon-sim-card-alert:before { + content: "sim_card_alert"; } + +.ui-icon-skip-next:before { + content: "skip_next"; } + +.ui-icon-skip-previous:before { + content: "skip_previous"; } + +.ui-icon-slideshow:before { + content: "slideshow"; } + +.ui-icon-slow-motion-video:before { + content: "slow_motion_video"; } + +.ui-icon-smartphone:before { + content: "smartphone"; } + +.ui-icon-smoke-free:before { + content: "smoke_free"; } + +.ui-icon-smoking-rooms:before { + content: "smoking_rooms"; } + +.ui-icon-sms:before { + content: "sms"; } + +.ui-icon-sms-failed:before { + content: "sms_failed"; } + +.ui-icon-snooze:before { + content: "snooze"; } + +.ui-icon-sort:before { + content: "sort"; } + +.ui-icon-sort-by-alpha:before { + content: "sort_by_alpha"; } + +.ui-icon-spa:before { + content: "spa"; } + +.ui-icon-space-bar:before { + content: "space_bar"; } + +.ui-icon-speaker:before { + content: "speaker"; } + +.ui-icon-speaker-group:before { + content: "speaker_group"; } + +.ui-icon-speaker-notes:before { + content: "speaker_notes"; } + +.ui-icon-speaker-notes-off:before { + content: "speaker_notes_off"; } + +.ui-icon-speaker-phone:before { + content: "speaker_phone"; } + +.ui-icon-spellcheck:before { + content: "spellcheck"; } + +.ui-icon-star:before { + content: "star"; } + +.ui-icon-star-border:before { + content: "star_border"; } + +.ui-icon-star-half:before { + content: "star_half"; } + +.ui-icon-stars:before { + content: "stars"; } + +.ui-icon-stay-current-landscape:before { + content: "stay_current_landscape"; } + +.ui-icon-stay-current-portrait:before { + content: "stay_current_portrait"; } + +.ui-icon-stay-primary-landscape:before { + content: "stay_primary_landscape"; } + +.ui-icon-stay-primary-portrait:before { + content: "stay_primary_portrait"; } + +.ui-icon-stop:before { + content: "stop"; } + +.ui-icon-stop-screen-share:before { + content: "stop_screen_share"; } + +.ui-icon-storage:before { + content: "storage"; } + +.ui-icon-store:before { + content: "store"; } + +.ui-icon-store-mall-directory:before { + content: "store_mall_directory"; } + +.ui-icon-straighten:before { + content: "straighten"; } + +.ui-icon-streetview:before { + content: "streetview"; } + +.ui-icon-strikethrough-s:before { + content: "strikethrough_s"; } + +.ui-icon-style:before { + content: "style"; } + +.ui-icon-subdirectory-arrow-left:before { + content: "subdirectory_arrow_left"; } + +.ui-icon-subdirectory-arrow-right:before { + content: "subdirectory_arrow_right"; } + +.ui-icon-subject:before { + content: "subject"; } + +.ui-icon-subscriptions:before { + content: "subscriptions"; } + +.ui-icon-subtitles:before { + content: "subtitles"; } + +.ui-icon-subway:before { + content: "subway"; } + +.ui-icon-supervisor-account:before { + content: "supervisor_account"; } + +.ui-icon-surround-sound:before { + content: "surround_sound"; } + +.ui-icon-swap-calls:before { + content: "swap_calls"; } + +.ui-icon-swap-horiz:before { + content: "swap_horiz"; } + +.ui-icon-swap-vert:before { + content: "swap_vert"; } + +.ui-icon-swap-vertical-circle:before { + content: "swap_vertical_circle"; } + +.ui-icon-switch-camera:before { + content: "switch_camera"; } + +.ui-icon-switch-video:before { + content: "switch_video"; } + +.ui-icon-sync:before { + content: "sync"; } + +.ui-icon-sync-disabled:before { + content: "sync_disabled"; } + +.ui-icon-sync-problem:before { + content: "sync_problem"; } + +.ui-icon-system-update:before { + content: "system_update"; } + +.ui-icon-system-update-alt:before { + content: "system_update_alt"; } + +.ui-icon-tab:before { + content: "tab"; } + +.ui-icon-tab-unselected:before { + content: "tab_unselected"; } + +.ui-icon-tablet:before { + content: "tablet"; } + +.ui-icon-tablet-android:before { + content: "tablet_android"; } + +.ui-icon-tablet-mac:before { + content: "tablet_mac"; } + +.ui-icon-tag-faces:before { + content: "tag_faces"; } + +.ui-icon-tap-and-play:before { + content: "tap_and_play"; } + +.ui-icon-terrain:before { + content: "terrain"; } + +.ui-icon-text-fields:before { + content: "text_fields"; } + +.ui-icon-text-format:before { + content: "text_format"; } + +.ui-icon-textsms:before { + content: "textsms"; } + +.ui-icon-texture:before { + content: "texture"; } + +.ui-icon-theaters:before { + content: "theaters"; } + +.ui-icon-thumb-down:before { + content: "thumb_down"; } + +.ui-icon-thumb-up:before { + content: "thumb_up"; } + +.ui-icon-thumbs-up-down:before { + content: "thumbs_up_down"; } + +.ui-icon-time-to-leave:before { + content: "time_to_leave"; } + +.ui-icon-timelapse:before { + content: "timelapse"; } + +.ui-icon-timeline:before { + content: "timeline"; } + +.ui-icon-timer:before { + content: "timer"; } + +.ui-icon-timer-10:before { + content: "timer_10"; } + +.ui-icon-timer-3:before { + content: "timer_3"; } + +.ui-icon-timer-off:before { + content: "timer_off"; } + +.ui-icon-title:before { + content: "title"; } + +.ui-icon-toc:before { + content: "toc"; } + +.ui-icon-today:before { + content: "today"; } + +.ui-icon-toll:before { + content: "toll"; } + +.ui-icon-tonality:before { + content: "tonality"; } + +.ui-icon-touch-app:before { + content: "touch_app"; } + +.ui-icon-toys:before { + content: "toys"; } + +.ui-icon-track-changes:before { + content: "track_changes"; } + +.ui-icon-traffic:before { + content: "traffic"; } + +.ui-icon-train:before { + content: "train"; } + +.ui-icon-tram:before { + content: "tram"; } + +.ui-icon-transfer-within-a-station:before { + content: "transfer_within_a_station"; } + +.ui-icon-transform:before { + content: "transform"; } + +.ui-icon-translate:before { + content: "translate"; } + +.ui-icon-trending-down:before { + content: "trending_down"; } + +.ui-icon-trending-flat:before { + content: "trending_flat"; } + +.ui-icon-trending-up:before { + content: "trending_up"; } + +.ui-icon-tune:before { + content: "tune"; } + +.ui-icon-turned-in:before { + content: "turned_in"; } + +.ui-icon-turned-in-not:before { + content: "turned_in_not"; } + +.ui-icon-tv:before { + content: "tv"; } + +.ui-icon-unarchive:before { + content: "unarchive"; } + +.ui-icon-undo:before { + content: "undo"; } + +.ui-icon-unfold-less:before { + content: "unfold_less"; } + +.ui-icon-unfold-more:before { + content: "unfold_more"; } + +.ui-icon-update:before { + content: "update"; } + +.ui-icon-usb:before { + content: "usb"; } + +.ui-icon-verified-user:before { + content: "verified_user"; } + +.ui-icon-vertical-align-bottom:before { + content: "vertical_align_bottom"; } + +.ui-icon-vertical-align-center:before { + content: "vertical_align_center"; } + +.ui-icon-vertical-align-top:before { + content: "vertical_align_top"; } + +.ui-icon-vibration:before { + content: "vibration"; } + +.ui-icon-video-call:before { + content: "video_call"; } + +.ui-icon-video-label:before { + content: "video_label"; } + +.ui-icon-video-library:before { + content: "video_library"; } + +.ui-icon-videocam:before { + content: "videocam"; } + +.ui-icon-videocam-off:before { + content: "videocam_off"; } + +.ui-icon-videogame-asset:before { + content: "videogame_asset"; } + +.ui-icon-view-agenda:before { + content: "view_agenda"; } + +.ui-icon-view-array:before { + content: "view_array"; } + +.ui-icon-view-carousel:before { + content: "view_carousel"; } + +.ui-icon-view-column:before { + content: "view_column"; } + +.ui-icon-view-comfy:before { + content: "view_comfy"; } + +.ui-icon-view-compact:before { + content: "view_compact"; } + +.ui-icon-view-day:before { + content: "view_day"; } + +.ui-icon-view-headline:before { + content: "view_headline"; } + +.ui-icon-view-list:before { + content: "view_list"; } + +.ui-icon-view-module:before { + content: "view_module"; } + +.ui-icon-view-quilt:before { + content: "view_quilt"; } + +.ui-icon-view-stream:before { + content: "view_stream"; } + +.ui-icon-view-week:before { + content: "view_week"; } + +.ui-icon-vignette:before { + content: "vignette"; } + +.ui-icon-visibility:before { + content: "visibility"; } + +.ui-icon-visibility-off:before { + content: "visibility_off"; } + +.ui-icon-voice-chat:before { + content: "voice_chat"; } + +.ui-icon-voicemail:before { + content: "voicemail"; } + +.ui-icon-volume-down:before { + content: "volume_down"; } + +.ui-icon-volume-mute:before { + content: "volume_mute"; } + +.ui-icon-volume-off:before { + content: "volume_off"; } + +.ui-icon-volume-up:before { + content: "volume_up"; } + +.ui-icon-vpn-key:before { + content: "vpn_key"; } + +.ui-icon-vpn-lock:before { + content: "vpn_lock"; } + +.ui-icon-wallpaper:before { + content: "wallpaper"; } + +.ui-icon-warning:before { + content: "warning"; } + +.ui-icon-watch:before { + content: "watch"; } + +.ui-icon-watch-later:before { + content: "watch_later"; } + +.ui-icon-wb-auto:before { + content: "wb_auto"; } + +.ui-icon-wb-cloudy:before { + content: "wb_cloudy"; } + +.ui-icon-wb-incandescent:before { + content: "wb_incandescent"; } + +.ui-icon-wb-iridescent:before { + content: "wb_iridescent"; } + +.ui-icon-wb-sunny:before { + content: "wb_sunny"; } + +.ui-icon-wc:before { + content: "wc"; } + +.ui-icon-web:before { + content: "web"; } + +.ui-icon-web-asset:before { + content: "web_asset"; } + +.ui-icon-weekend:before { + content: "weekend"; } + +.ui-icon-whatshot:before { + content: "whatshot"; } + +.ui-icon-widgets:before { + content: "widgets"; } + +.ui-icon-wifi:before { + content: "wifi"; } + +.ui-icon-wifi-lock:before { + content: "wifi_lock"; } + +.ui-icon-wifi-tethering:before { + content: "wifi_tethering"; } + +.ui-icon-work:before { + content: "work"; } + +.ui-icon-wrap-text:before { + content: "wrap_text"; } + +.ui-icon-youtube-searched-for:before { + content: "youtube_searched_for"; } + +.ui-icon-zoom-in:before { + content: "zoom_in"; } + +.ui-icon-zoom-out:before { + content: "zoom_out"; } + +.ui-icon-zoom-out-map:before { + content: "zoom_out_map"; } + +.material-icons, .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + +body .ui-widget, +body .ui-widget .ui-widget { + font-family: "Roboto","Helvetica Neue",sans-serif; + text-decoration: none; } +body .ui-widget-content { + background-color: #ffffff; + font-size: 1em; + border: 1px solid #bdbdbd; } + body .ui-widget-content .fa { + color: #757575; } +body .ui-widget-header { + background-color: #3F51B5; + color: #ffffff; + font-size: 1em; + border: 1px solid #3F51B5; } + body .ui-widget-header .fa { + color: #ffffff; } +body .ui-state-active, body .ui-state-highlight { + background-color: #E91E63; + color: #ffffff; } + body .ui-state-active .fa, body .ui-state-highlight .fa { + color: #ffffff; } +body .ui-widget:disabled, +body .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; + cursor: auto !important; } +body .ui-corner-all { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } +body .ui-corner-top { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } +body .ui-corner-bottom { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-corner-left { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; } +body .ui-corner-right { + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-widget-overlay { + background-color: #58575c; + opacity: .8; } + +body { + /* InputGroup */ + /* Validation */ } + body .ui-inputtext { + background: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + font-size: 1em; + border-color: #bdbdbd; + border-style: solid; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + border-radius: 0px; } + body .ui-inputtext:focus, body .ui-inputtext.ui-state-focus { + border-width: 0 0 2px 0; + border-color: #3F51B5; + padding-bottom: 0px; } + body .ui-inputtext:disabled { + border-bottom: 1px dotted; } + body .ui-inputtext.ui-widget-content { + border-width: 1px; } + body .ui-inputtext.ui-state-error { + border-color: #e62a10; } + body .md-inputfield { + display: block; + position: relative; } + body .md-inputfield label { + color: #999; + font-weight: normal; + position: absolute; + pointer-events: none; + left: 5px; + top: 1px; + transition: 0.3s ease all; + -moz-transition: 0.3s ease all; + -webkit-transition: 0.3s ease all; } + body .md-inputfield input:focus ~ label, + body .md-inputfield input.ui-state-filled ~ label, + body .md-inputfield .ui-inputwrapper-focus ~ label, + body .md-inputfield .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #3F51B5; } + body .md-inputfield .input:-webkit-autofill ~ label { + top: -20px; + font-size: 12px; + color: #3F51B5; } + body .md-inputfield input.ng-dirty.ng-invalid ~ label { + color: #e62a10; } + body .md-inputfield .ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .md-inputfield.md-inputfield-fill input { + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 4px; } + body .md-inputfield.md-inputfield-fill label { + top: 2px; } + body .md-inputfield.md-inputfield-fill input:focus ~ label, + body .md-inputfield.md-inputfield-fill input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #3F51B5; } + body .md-inputfield.md-inputfield-box { + background-color: #f7f7f7; + height: 44px; } + body .md-inputfield.md-inputfield-box > *:not(label) { + bottom: 0px; + position: absolute; + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 24px; } + body .md-inputfield.md-inputfield-box > label { + top: 23px; } + body .md-inputfield.md-inputfield-box input:focus ~ label, + body .md-inputfield.md-inputfield-box input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-filled ~ label { + top: 1px; } + body .md-inputfield.md-inputfield-box .input:-webkit-autofill ~ label { + top: 1px; } + body .ui-material-message.ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .ui-material-message.ui-message.ui-messages-error label { + top: 4px; } + body .ui-listbox { + min-width: 12.5em; + background-color: #ffffff; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-listbox.ui-inputtext { + padding: 0; } + body .ui-listbox .ui-listbox-list { + padding: 0; } + body .ui-listbox .ui-listbox-item { + overflow: hidden; + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + color: #212121; + position: relative; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-listbox .ui-listbox-item.ui-state-highlight { + background-color: #E91E63; + color: #ffffff; } + body .ui-listbox:not(.ui-state-disabled) .ui-listbox-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-listbox .ui-listbox-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; } + body .ui-listbox .ui-listbox-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext { + color: #ffffff; + padding: 2px 2px 1px 2px; + padding-left: 1.5em; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext:focus { + padding-bottom: 0; + border-bottom-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .fa { + top: 0; + left: 0; } + body .ui-button, body .ui-datepicker-buttonpane > button { + overflow: hidden; + background-color: #3F51B5; + color: #ffffff; + font-size: 1em; + height: 2.25em; + padding: 0 1em; + border: 0 none; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button:enabled:not(:focus):hover { + background-color: #283593; } + body .ui-button:focus, body .ui-datepicker-buttonpane > button:focus { + outline: 0 none; + background-color: #606fc7; } + body .ui-button .ui-button-text, body .ui-datepicker-buttonpane > button .ui-button-text { + padding: 0; + line-height: 2.25em; } + body .ui-button .fa, body .ui-datepicker-buttonpane > button .fa { + color: #ffffff; } + body .ui-button.ui-button-icon-only, body .ui-datepicker-buttonpane > button.ui-button-icon-only { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 2.5em; + height: 2.5em; } + body .ui-button.ui-button-icon-only .fa, body .ui-datepicker-buttonpane > button.ui-button-icon-only .fa { + margin-left: -.5em; } + body .ui-button.ui-button-text-icon-left, body .ui-datepicker-buttonpane > button.ui-button-text-icon-left { + padding-left: 2.5em; } + body .ui-button.ui-button-text-icon-right, body .ui-datepicker-buttonpane > button.ui-button-text-icon-right { + padding-right: 2.5em; } + body .ui-button.secondary, body .ui-button.ui-secondary-button, body .ui-datepicker-buttonpane > button.secondary, body .ui-datepicker-buttonpane > button.ui-secondary-button { + background-color: #E91E63; + color: #ffffff; } + body .ui-button.secondary:enabled:not(:focus):hover, body .ui-button.ui-secondary-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.secondary:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-secondary-button:enabled:not(:focus):hover { + background-color: #ad1457; } + body .ui-button.secondary:focus, body .ui-button.ui-secondary-button:focus, body .ui-datepicker-buttonpane > button.secondary:focus, body .ui-datepicker-buttonpane > button.ui-secondary-button:focus { + outline: 0 none; + background-color: #ee4c83; } + body .ui-button.blue-grey-btn, body .ui-datepicker-buttonpane > button.blue-grey-btn { + background-color: #607D8B; } + body .ui-button.blue-grey-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-grey-btn:enabled:not(:focus):hover { + background-color: #37474F; } + body .ui-button.blue-grey-btn:focus, body .ui-datepicker-buttonpane > button.blue-grey-btn:focus { + outline: 0 none; + background-color: #7b96a3; } + body .ui-button.cyan-btn, body .ui-datepicker-buttonpane > button.cyan-btn { + background-color: #00BCD4; } + body .ui-button.cyan-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.cyan-btn:enabled:not(:focus):hover { + background-color: #00838F; } + body .ui-button.cyan-btn:focus, body .ui-datepicker-buttonpane > button.cyan-btn:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button.teal-btn, body .ui-datepicker-buttonpane > button.teal-btn { + background-color: #009688; } + body .ui-button.teal-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.teal-btn:enabled:not(:focus):hover { + background-color: #00695C; } + body .ui-button.teal-btn:focus, body .ui-datepicker-buttonpane > button.teal-btn:focus { + outline: 0 none; + background-color: #00c9b6; } + body .ui-button.red-btn, body .ui-button.ui-danger-button, body .ui-datepicker-buttonpane > button.red-btn, body .ui-datepicker-buttonpane > button.ui-danger-button { + background-color: #F44336; } + body .ui-button.red-btn:enabled:not(:focus):hover, body .ui-button.ui-danger-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.red-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-danger-button:enabled:not(:focus):hover { + background-color: #C62828; } + body .ui-button.red-btn:focus, body .ui-button.ui-danger-button:focus, body .ui-datepicker-buttonpane > button.red-btn:focus, body .ui-datepicker-buttonpane > button.ui-danger-button:focus { + outline: 0 none; + background-color: #f77066; } + body .ui-button.green-btn, body .ui-button.ui-success-button, body .ui-datepicker-buttonpane > button.green-btn, body .ui-datepicker-buttonpane > button.ui-success-button { + background-color: #4CAF50; } + body .ui-button.green-btn:enabled:not(:focus):hover, body .ui-button.ui-success-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.green-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-success-button:enabled:not(:focus):hover { + background-color: #2E7D32; } + body .ui-button.green-btn:focus, body .ui-button.ui-success-button:focus, body .ui-datepicker-buttonpane > button.green-btn:focus, body .ui-datepicker-buttonpane > button.ui-success-button:focus { + outline: 0 none; + background-color: #6ec071; } + body .ui-button.deep-orange-btn, body .ui-datepicker-buttonpane > button.deep-orange-btn { + background-color: #FF5722; } + body .ui-button.deep-orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.deep-orange-btn:enabled:not(:focus):hover { + background-color: #D84315; } + body .ui-button.deep-orange-btn:focus, body .ui-datepicker-buttonpane > button.deep-orange-btn:focus { + outline: 0 none; + background-color: #ff7e55; } + body .ui-button.purple-btn, body .ui-datepicker-buttonpane > button.purple-btn { + background-color: #673AB7; } + body .ui-button.purple-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.purple-btn:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button.purple-btn:focus, body .ui-datepicker-buttonpane > button.purple-btn:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button.pink-btn, body .ui-datepicker-buttonpane > button.pink-btn { + background-color: #E91E63; } + body .ui-button.pink-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.pink-btn:enabled:not(:focus):hover { + background-color: #AD1457; } + body .ui-button.pink-btn:focus, body .ui-datepicker-buttonpane > button.pink-btn:focus { + outline: 0 none; + background-color: #ee4c83; } + body .ui-button.amber-btn, body .ui-button.ui-warning-button, body .ui-datepicker-buttonpane > button.amber-btn, body .ui-datepicker-buttonpane > button.ui-warning-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.amber-btn:enabled:not(:focus):hover, body .ui-button.ui-warning-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.amber-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-warning-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.amber-btn:focus, body .ui-button.ui-warning-button:focus, body .ui-datepicker-buttonpane > button.amber-btn:focus, body .ui-datepicker-buttonpane > button.ui-warning-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.orange-btn, body .ui-datepicker-buttonpane > button.orange-btn { + background-color: #FF9800; } + body .ui-button.orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.orange-btn:enabled:not(:focus):hover { + background-color: #EF6C00; } + body .ui-button.orange-btn:focus, body .ui-datepicker-buttonpane > button.orange-btn:focus { + outline: 0 none; + background-color: #ffad33; } + body .ui-button.brown-btn, body .ui-datepicker-buttonpane > button.brown-btn { + background-color: #795548; } + body .ui-button.brown-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.brown-btn:enabled:not(:focus):hover { + background-color: #4E342E; } + body .ui-button.brown-btn:focus, body .ui-datepicker-buttonpane > button.brown-btn:focus { + outline: 0 none; + background-color: #996b5b; } + body .ui-button.indigo-btn, body .ui-datepicker-buttonpane > button.indigo-btn { + background-color: #3F51B5; } + body .ui-button.indigo-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.indigo-btn:enabled:not(:focus):hover { + background-color: #283593; } + body .ui-button.indigo-btn:focus, body .ui-datepicker-buttonpane > button.indigo-btn:focus { + outline: 0 none; + background-color: #606fc7; } + body .ui-button.blue-btn, body .ui-button.ui-info-button, body .ui-datepicker-buttonpane > button.blue-btn, body .ui-datepicker-buttonpane > button.ui-info-button { + background-color: #03A9F4; + color: #ffffff; } + body .ui-button.blue-btn:enabled:not(:focus):hover, body .ui-button.ui-info-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-info-button:enabled:not(:focus):hover { + background-color: #0277BD; } + body .ui-button.blue-btn:focus, body .ui-button.ui-info-button:focus, body .ui-datepicker-buttonpane > button.blue-btn:focus, body .ui-datepicker-buttonpane > button.ui-info-button:focus { + outline: 0 none; + background-color: #2ebcfc; } + body .ui-button.flat, body .ui-datepicker-buttonpane > button.flat { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-buttonset .ui-button:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #283593; } + body .ui-buttonset .ui-button.ui-state-active { + background-color: #E91E63; + color: #ffffff; } + body .ui-togglebutton:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #283593; } + body .ui-togglebutton.ui-state-active { + background-color: #E91E63; + color: #ffffff; } + body .ui-splitbutton { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); } + body .ui-splitbutton > .ui-button { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-splitbutton > .ui-button:active { + background-color: #606fc7; } + body .ui-splitbutton .ui-splitbutton-menubutton { + height: 2.25em; + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton .ui-menu { + min-width: 100%; } + body .ui-fluid .ui-splitbutton .ui-button:first-child { + width: calc(100% - 2em); } + body .ui-chkbox { + display: inline-block; + vertical-align: middle; + line-height: 1.25em; + width: 1.25em; + height: 1.25em; + cursor: default; } + body .ui-chkbox .ui-chkbox-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + font-size: 1.25em; + margin-left: -2px; + margin-top: -2px; } + body .ui-chkbox .ui-chkbox-box.ui-state-active { + border-color: #3F51B5; + background-color: #3F51B5; } + body .ui-chkbox .ui-chkbox-box.ui-state-focus { + border-color: #3F51B5; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton { + position: relative; + margin: 0 .25em 0 0; + vertical-align: middle; } + body .ui-radiobutton .ui-radiobutton-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + -moz-transition: box-shadow 0.3s; + -o-transition: box-shadow 0.3s; + -webkit-transition: box-shadow 0.3s; + transition: box-shadow 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-focus { + border-color: #3F51B5; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-active { + border-color: #3F51B5; + background-color: transparent; } + body .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon { + display: block; + box-sizing: border-box; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-size: 1em; + transition: -webkit-transform ease .28s; + transition: transform ease .28s; + -webkit-transform: scale(0); + transform: scale(0); + margin: 0; } + body .ui-radiobutton .ui-radiobutton-box .fa-circle { + background-color: #3F51B5; + -webkit-transform: scale(0.5); + transform: scale(0.5); } + body .ui-autocomplete-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-autocomplete-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-autocomplete-panel .ui-autocomplete-list { + padding: 0; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + font-size: 1em; + padding: 0.625em 0.875em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item .ui-autocomplete-query { + font-weight: 700; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item.ui-state-highlight { + color: #ffffff; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-group { + padding: 0.625em 0.875em; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only { + background-color: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + height: 1.5em; + width: 1.5em; + padding: 0; + right: 0; + bottom: 0; + margin-right: 0; + position: absolute; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .ui-button-text { + display: none; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .fa { + color: #757575; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-inputtext { + box-sizing: border-box; + padding: 2px 2px 1px 2px; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-focus { + padding-bottom: 0; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token { + float: none; + display: inline-block; + margin: 0 1px; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token .ui-autocomplete-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-dropdown { + top: .75em; } + body .ui-fluid .ui-autocomplete.ui-autocomplete-dd > .ui-inputtext { + width: 100%; } + body .ui-dropdown { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-dropdown .ui-dropdown-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: 0; + margin-right: 0; } + body .ui-dropdown .ui-dropdown-trigger .fa { + color: #757575; + margin-top: 0; + margin-left: 0; } + body .ui-dropdown .ui-dropdown-label.ui-inputtext { + font: 1em "Roboto", "Helvetica Neue", sans-serif; } + body .ui-dropdown.ui-state-focus { + border-bottom: 2px solid #3F51B5; } + body .ui-dropdown.ui-state-focus .ui-dropdown-label { + padding-bottom: 0; } + body .ui-dropdown-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-list { + padding: 0; } + body .ui-dropdown-panel .ui-dropdown-item { + margin: 0; + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-item:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-dropdown-panel .ui-dropdown-item.ui-state-highlight { + background-color: #E91E63; + color: #ffffff; } + body .ui-dropdown-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-dropdown-panel .ui-dropdown-filter-container { + display: block; + border-bottom: 1px solid #bdbdbd; + background-color: #3F51B5; + padding: 0.625em 1em; } + body .ui-dropdown-panel .ui-dropdown-filter-container input { + color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container input:focus { + border-bottom-color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container .fa { + top: .325em; + right: .75em; + color: #ffffff; } + body .ui-multiselect { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-multiselect .ui-multiselect-label-container { + padding-right: 1.5em; } + body .ui-multiselect .ui-multiselect-label-container .ui-multiselect-label { + padding: 0px 2px 0px 2px; } + body .ui-multiselect .ui-multiselect-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: .063em; } + body .ui-multiselect .ui-multiselect-trigger .fa { + color: #757575; + margin-top: auto; + margin-left: auto; } + body .ui-multiselect.ui-state-focus { + border-bottom: 2px solid #3F51B5; } + body .ui-multiselect-panel.ui-widget { + padding: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + min-width: 12.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; + position: relative; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox { + float: none; + margin: 0 .5em 0 -.125em; + position: static; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-focus { + background-color: #9fa8da; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container { + width: 70%; + display: inline-block; + vertical-align: middle; + float: none; + margin-left: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .fa { + top: 0; + left: 0; + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext { + color: #ffffff; + padding-left: 1.5em; + width: 100%; + box-sizing: border-box; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext:focus { + border-bottom-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close { + position: absolute; + right: .5em; + top: .625em; + height: 1.5em; + width: 1.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close span { + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close:hover { + background-color: #9fa8da; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item { + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item.ui-state-highlight { + color: #ffffff; } + body .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; + padding: 0; + margin-right: .25em; + background-color: transparent; + color: #212121; + z-index: auto; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-n { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-s { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa { + top: 0px; + height: .5em; + color: #757575; } + body .ui-spinner .ui-spinner-button:enabled:hover, body .ui-spinner .ui-spinner-button:active { + background-color: transparent; } + body .ui-spinner .ui-spinner-up .fa { + top: .25em; } + body .ui-spinner .ui-spinner-down .fa { + top: .167em; } + body .ui-spinner .ui-spinner-input { + padding-right: 30px; } + body .ui-fluid .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; } + body .ui-fluid .ui-spinner .ui-spinner-button .fa { + left: auto; } + body .ui-inputswitch { + height: 14px; + width: 34px !important; + overflow: visible; + background-color: #9e9e9e; + border-color: #9e9e9e; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; } + body .ui-inputswitch .ui-inputswitch-handle { + top: -4px; + background-color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + width: 20px !important; + height: 20px !important; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; } + body .ui-inputswitch .ui-inputswitch-on { + visibility: hidden; } + body .ui-inputswitch .ui-inputswitch-off span, body .ui-inputswitch .ui-inputswitch-on span { + visibility: hidden; } + body .ui-inputswitch.ui-inputswitch-checked { + background-color: #f48fb1; + border-color: #f48fb1; } + body .ui-inputswitch.ui-inputswitch-checked .ui-inputswitch-handle { + background-color: #E91E63; + color: #ffffff; } + body .ui-slider .ui-slider-handle { + background-color: #E91E63; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 1.25em; + height: 1.25em; + transform: scale(0.7); + -moz-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -o-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + body .ui-slider .ui-slider-handle.ui-state-focus { + transform: scale(1); } + body .ui-slider .ui-slider-handle:focus { + outline: 0 none; } + body .ui-slider.ui-slider-horizontal { + height: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-horizontal .ui-slider-handle { + top: -.55em; } + body .ui-slider.ui-slider-vertical { + width: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-vertical .ui-slider-handle { + left: -.55em; } + body .ui-slider .ui-slider-range { + background-color: #E91E63; + color: #ffffff; } + body .ui-slider:not(.ui-state-disabled) .ui-slider-handle:hover { + transform: scale(1); } + body .ui-calendar .ui-datepicker-trigger { + bottom: 2px; + right: 0; + background-color: transparent; + color: #212121; + height: 1.5em; + width: 1.5em; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-calendar .ui-datepicker-trigger .fa { + color: #757575; } + body .ui-calendar .ui-datepicker-trigger:enabled:hover { + background-color: transparent; } + body .ui-fluid .ui-calendar.ui-calendar-w-btn .ui-inputtext { + width: 100%; } + body .ui-datepicker { + padding: 0; + width: 17.5em; } + body .ui-datepicker.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-datepicker .ui-datepicker-header { + padding: 0.625em 1em; + font-size: 1em; + background: #283593; + border-color: #283593; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + cursor: pointer; + top: .4em; + left: .2em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before { + content: "keyboard_arrow_left"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover { + background-color: #9fa8da; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next { + cursor: pointer; + top: .4em; + right: .2em; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before { + content: "keyboard_arrow_right"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover { + background-color: #9fa8da; } + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-month, + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-year { + font-size: 14px; } + body .ui-datepicker table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; + font-size: 14px; } + body .ui-datepicker thead tr { + color: #ffffff; + background: #3F51B5; } + body .ui-datepicker tbody td { + padding: .25em .125em; + box-sizing: border-box; } + body .ui-datepicker tbody td.ui-datepicker-today a { + color: #ffffff; + background: #8591d5; } + body .ui-datepicker tbody td.ui-datepicker-today a.ui-state-active { + color: #ffffff; + background-color: #E91E63; + color: #ffffff; } + body .ui-datepicker tbody td a { + padding: .25em; + margin: 0; + text-align: center; + color: #212121; + display: inline-block; + height: 2.250em; + width: 2.250em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + line-height: 1.8em; } + body .ui-datepicker tbody td a.ui-state-active { + color: #ffffff; + background-color: #E91E63; + color: #ffffff; } + body .ui-datepicker tbody td a:not(.ui-state-active):not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datepicker tbody td a span { + display: inline; + padding: 0; + text-align: center; } + body .ui-datepicker .ui-timepicker { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-datepicker .ui-timepicker > div a { + height: 1.5em; } + body .ui-datepicker .ui-timepicker > div a > span { + display: inline-block; + margin-bottom: .25em; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up:before { + content: "keyboard_arrow_up"; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down:before { + content: "keyboard_arrow_down"; } + body #ui-datepicker-div { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-rating { + min-height: 1.5em; } + body .ui-rating .fa-ban { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-ban:before { + content: "cancel"; } + body .ui-rating .fa-star { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star:before { + content: "star"; } + body .ui-rating .fa-star-o { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star-o:before { + content: "star_border"; } + body .ui-chips > ul.ui-inputtext { + padding: 2px 2px 1px 2px; } + body .ui-chips > ul.ui-inputtext.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-chips > ul.ui-inputtext.ui-state-focus { + padding-bottom: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token { + padding-bottom: 2px; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token input:disabled { + width: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-chips > ul.ui-inputtext .ui-chips-token .ui-chips-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-password-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-fileupload .ui-fileupload-buttonbar { + padding: 0.625em 1em; } + body .ui-fileupload .ui-fileupload-buttonbar .fa-arrowreturnthick-1-n:before { + content: "file_upload"; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button { + background-color: #E91E63; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button:enabled:hover { + background-color: #ad1457; } + body .ui-fileupload .ui-fileupload-content .ui-messages-error .fa { + color: #ffffff; } + body .ui-fileupload-choose:not(.ui-state-disabled):hover.ui-button, + body .ui-fileupload-choose.ui-state-focus.ui-button { + background-color: #d81558; } + body .ui-fileupload-choose:not(.ui-state-disabled):active.ui-button { + background-color: #c1134e; } + body .ui-editor-container .ui-editor-toolbar { + background-color: #e8e8e8; } + body .ui-editor-container .ql-picker.ql-expanded .ql-picker-label { + color: #444444; } + body .ui-inputgroup .ui-inputgroup-addon { + border-width: 0 0 1px 0; + border-color: #bdbdbd; + color: #757575; + padding: 2px 2px 1px 2px; + align-self: flex-end; } + body .ui-inputgroup .ui-inputgroup-addon > i { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-self: flex-end; } + body .ui-inputgroup .ui-inputtext { + align-self: flex-end; } + body .ui-inputgroup .md-inputfield { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + display: inherit; } + body .ui-inputgroup .md-inputfield label { + top: 5px; } + body .ui-inputgroup .ui-chkbox, body .ui-inputgroup .ui-radiobutton { + margin-bottom: .125em; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only { + width: 1.643em; + height: 1.643em; + padding: 0; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only .ui-button-icon-left { + margin-left: -.45em; } + body .ui-inputtext.ng-dirty.ng-invalid, + body p-dropdown.ng-dirty.ng-invalid > .ui-dropdown, + body p-autocomplete.ng-dirty.ng-invalid > .ui-autocomplete > .ui-inputtext, + body p-calendar.ng-dirty.ng-invalid > .ui-inputtext, + body p-inputmask.ng-dirty.ng-invalid > .ui-inputtext, + body p-checkbox.ng-dirty.ng-invalid .ui-chkbox-box, + body p-radiobutton.ng-dirty.ng-invalid .ui-radiobutton-box, + body p-inputswitch.ng-dirty.ng-invalid .ui-inputswitch, + body p-listbox.ng-dirty.ng-invalid .ui-inputtext, + body p-multiselect.ng-dirty.ng-invalid > .ui-multiselect, + body p-spinner.ng-dirty.ng-invalid > .ui-inputtext, + body p-selectbutton.ng-dirty.ng-invalid .ui-button, + body p-togglebutton.ng-dirty.ng-invalid .ui-button { + border-bottom-color: #e62a10; } + +@media (max-width: 640px) { + body .ui-buttonset > .ui-button { + display: block; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-buttonset > .ui-button:first-child { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } + body .ui-buttonset > .ui-button:last-child { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton > .ui-button { + display: inline-block; } + body .ui-splitbutton > .ui-button:first-child { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; } + body .ui-splitbutton > .ui-button:last-child { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } } +body .ui-panel { + padding: 0; } + body .ui-panel .ui-panel-titlebar { + border: 0 none; + border-bottom: 1px solid #3F51B5; + padding: 0.625em 1em; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-panel .ui-panel-titlebar .ui-panel-title { + line-height: 1.5em; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon { + position: relative; + width: 1.5em; + height: 1.5em; + color: #ffffff; + margin: 0; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon:hover { + background-color: #9fa8da; } + body .ui-panel .ui-panel-content { + height: 100%; + box-sizing: border-box; + padding: 0.625em 1em; } + body .ui-panel .ui-panel-footer { + padding: 0.625em 1em; + border: 0 none; + border-top: 1px solid #bdbdbd; + margin: 0; } +body .ui-fieldset { + padding: 0.625em 1em; } + body .ui-fieldset .ui-fieldset-legend { + padding: 0.625em 1em; + padding-left: .125em; + padding-right: .5em; + color: #3F51B5; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler { + padding: .5em; + height: 2em; + width: 2em; + background-color: #3F51B5; + color: #ffffff; + font-size: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + margin-right: .5em; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler:hover { + background-color: #283593; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-legend-text { + color: #3F51B5; } + body .ui-fieldset .ui-fieldset-legend.ui-state-focus { + background-color: transparent; } +body .ui-accordion .ui-accordion-header { + background-color: #3F51B5; + padding: 0; + color: #ffffff; + font-size: 1em; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-accordion .ui-accordion-header > a { + padding: 0.625em 1em; + color: #ffffff; } + body .ui-accordion .ui-accordion-header > a .ui-accordion-toggle-icon, + body .ui-accordion .ui-accordion-header > a .ui-accordion-header-text { + vertical-align: middle; } + body .ui-accordion .ui-accordion-header:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #283593; } + body .ui-accordion .ui-accordion-header.ui-state-active { + background-color: #E91E63; + color: #ffffff; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-accordion .ui-accordion-header.ui-state-active > a { + color: #ffffff; } +body .ui-accordion .ui-accordion-content { + padding: 0.625em 1em; + line-height: 1.5em; } +body .ui-toolbar { + background-color: #283593; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + padding: .625em; } +body .ui-tabview { + padding: 0; } + body .ui-tabview .ui-tabview-nav { + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabview .ui-tabview-nav > li { + padding: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabview .ui-tabview-nav > li > a { + padding: 0.625em 1em; } + body .ui-tabview .ui-tabview-nav > li > a:focus { + outline: 0 none; } + body .ui-tabview .ui-tabview-nav > li > .fa-close { + margin: .325em 0 0 0; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + color: #757575; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-left-icon, body .ui-tabview .ui-tabview-nav > li .ui-tabview-right-icon { + color: #757575; + display: inline-block; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-title { + line-height: 1.5em; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li.ui-state-default a { + color: #757575; } + body .ui-tabview .ui-tabview-nav > li:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #ffffff; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active { + background-color: #ffffff; + border-color: #E91E63; + border-style: solid; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active a { + color: #3F51B5; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active > .fa-close { + color: #E91E63; } + body .ui-tabview .ui-tabview-nav > li.ui-tabview-outline { + outline: 0 none; + border-color: #f48fb1; } + body .ui-tabview .ui-tabview-panel { + padding: 0.625em 1em; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav > li { + border-style: solid; + border-width: 0 0 2px 0; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav > li { + border-width: 2px 0 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + border-right: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 2px 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav { + padding: 0; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 0 0 2px; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li.ui-state-active > a { + padding-left: 0.875em; } + +@media (max-width: 640px) { + body .ui-toolbar .ui-toolbar-group-right { + margin-top: 1em; } } +body .ui-picklist .ui-picklist-caption { + font-size: 1em; + padding: 0.625em 1em; } +body .ui-picklist .ui-picklist-list { + padding: 0; } +body .ui-picklist .ui-picklist-filter-container .fa { + left: 0.3em; } +body .ui-picklist .ui-picklist-filter-container .ui-picklist-filter { + text-indent: 1.5em; } +body .ui-picklist li.ui-picklist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-picklist li.ui-picklist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-picklist li.ui-picklist-item.ui-state-highlight { + background-color: #E91E63; + color: #ffffff; } +body .ui-picklist .ui-picklist-buttons { + width: 3em; } + body .ui-picklist .ui-picklist-buttons .ui-button.ui-button-icon-only { + width: 2.5em; + margin-right: 0; + display: inline-block; + margin-bottom: .5em; } +body .ui-picklist .ui-picklist-buttons-cell { + text-align: center; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + margin: 0 auto; + display: block; + margin-bottom: .5em; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox { + margin-right: .5em; + vertical-align: top; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox, body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox * { + box-sizing: content-box; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-organizationchart-selectable-node:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-state-highlight .ui-node-toggler i { + color: #7b0c32; } +body .ui-organizationchart .ui-organizationchart-line-down { + background-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-left { + border-right: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-top { + border-top: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content { + border-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler { + bottom: -1.3em; + margin-left: -.75em; + color: #bdbdbd; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down:before { + content: "keyboard_arrow_down"; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up:before { + content: "keyboard_arrow_up"; } +body .ui-orderlist .ui-orderlist-caption { + font-size: 1em; + padding: 0.625em 1em; + box-sizing: border-box; } +body .ui-orderlist .ui-orderlist-list { + padding: 0; + box-sizing: border-box; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item.ui-state-highlight { + background-color: #E91E63; + color: #ffffff; } +body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 3.75em; } +body .ui-orderlist .ui-orderlist-controls { + width: 3.75em; + text-align: center; } + body .ui-orderlist .ui-orderlist-controls .ui-button.ui-button-icon-only { + width: 2.5em; + margin-bottom: .5em; + margin-right: 0; } +body .ui-paginator { + background-color: #283593; + padding: 0.625em 1em; } + body .ui-paginator > a { + box-sizing: border-box; + color: #ffffff; } + body .ui-paginator > a .fa { + display: none; } + body .ui-paginator > a:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #9fa8da; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-next { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-next:before { + content: "navigate_next"; } + body .ui-paginator .ui-paginator-last { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-last:before { + content: "last_page"; } + body .ui-paginator .ui-paginator-prev { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-prev:before { + content: "navigate_before"; } + body .ui-paginator .ui-paginator-first { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-first:before { + content: "first_page"; } + body .ui-paginator .ui-paginator-pages { + vertical-align: middle; + margin: 0 .375em 0 .375em; } + body .ui-paginator .ui-paginator-pages a { + padding: 0; + color: #ffffff; + min-width: 1.5em; + min-height: 1.5em; + line-height: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-pages a:not(.ui-state-active):hover { + background-color: #9fa8da; } + body .ui-paginator .ui-paginator-pages a.ui-state-active { + background-color: #E91E63; + color: #ffffff; } +body .ui-datagrid .ui-datagrid-header { + padding: 0.625em 1em; } +body .ui-datagrid .ui-panel .ui-panel-titlebar { + background-color: #ffffff; + color: #212121; + border-color: #bdbdbd; } +body .ui-datalist .ui-datalist-header { + padding: 0.625em 1em; } +body .ui-table .ui-table-caption, +body .ui-table .ui-table-summary { + padding: 0.625em 1em; + text-align: center; + font-weight: normal; } +body .ui-table .ui-table-caption { + border-bottom: 0 none; } +body .ui-table .ui-table-summary { + border-top: 0 none; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tbody > tr > td, +body .ui-table .ui-table-tfoot > tr > td { + padding: 0.625em 1em; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tfoot > tr > td { + font-weight: 400; + background-color: #ffffff; + border: 1px solid #cacaca; } +body .ui-table .ui-sortable-column:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-table .ui-sortable-column.ui-state-highlight { + background-color: #E91E63; + color: #ffffff; + border-top-color: #E91E63; } + body .ui-table .ui-sortable-column.ui-state-highlight .fa { + color: #ffffff; } +body .ui-table .ui-sortable-column .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } +body .ui-table .ui-table-tbody > tr { + background: #ffffff; } + body .ui-table .ui-table-tbody > tr > td { + background: inherit; + border: 1px solid #cacaca; } + body .ui-table .ui-table-tbody > tr.ui-state-highlight { + background-color: #E91E63; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr.ui-contextmenu-selected { + background-color: #E91E63; + color: #ffffff; } +body .ui-table .ui-table-tbody > tr:nth-child(odd) { + background-color: #f4f4f4; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-state-highlight { + background-color: #E91E63; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-contextmenu-selected { + background-color: #E91E63; + color: #ffffff; } +body .ui-table.ui-table-hoverable-rows .ui-table-tbody > tr:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable .ui-datatable-header, +body .ui-datatable .ui-datatable-footer { + padding: 0.625em 1em; } + body .ui-datatable .ui-datatable-header .ui-inputtext, + body .ui-datatable .ui-datatable-footer .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-header .ui-inputtext:focus, + body .ui-datatable .ui-datatable-footer .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-paginator { + padding: 0.625em 1em; } +body .ui-datatable .ui-datatable-thead > tr { + border-color: #cacaca; } + body .ui-datatable .ui-datatable-thead > tr th { + padding: .625em .875em; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-sortable-column:not(.ui-state-active):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datatable .ui-datatable-thead > tr th .ui-column-title { + display: inline-block; + vertical-align: middle; } + body .ui-datatable .ui-datatable-thead > tr th .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight { + background-color: #E91E63; + color: #ffffff; + border-top-color: #E91E63; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .fa, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .fa { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext.ui-state-focus, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext.ui-state-focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-selection-column .ui-chkbox-box { + box-sizing: content-box; } +body .ui-datatable tfoot th { + padding: .625em .875em; + border: 1px solid #bdbdbd; + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-datatable-even { + background-color: #f4f4f4; } + body .ui-datatable .ui-datatable-data tr.ui-datatable-even.ui-state-highlight { + background-color: #E91E63; + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr { + border: 1px solid #cacaca; } + body .ui-datatable .ui-datatable-data tr td { + padding: .625em .875em; } + body .ui-datatable .ui-datatable-data tr td .ui-row-toggler { + display: inherit; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td input.ui-cell-editor { + padding: 2px 2px 1px 2px; + font-size: 1em; } + body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-chkbox-box, body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-radiobutton-box { + box-sizing: content-box; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight { + background-color: #E91E63; + border-color:   #E91E63; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr .ui-cell-editor-input input { + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext, + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext.ui-state-error { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box .ui-radiobutton-icon { + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box { + border-color: #ffffff; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box .ui-chkbox-icon { + color: #757575; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-rowgroup-header td a { + height: 1.5em; + vertical-align: top; + display: inline-block; } +body .ui-datatable .ui-datatable-data.ui-datatable-hoverable-rows > tr.ui-widget-content:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer { + border: 0 none; + background-color: transparent; } + body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header .ui-datatable-data td, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer .ui-datatable-data td { + color: #212121; } +body .ui-datatable.ui-datatable-scrollable thead tr th { + color: #212121; + font-size: 16px; } +body .ui-datatable.ui-datatable-scrollable tfoot tr td { + color: #212121; + font-size: 16px; } +body .ui-datatable .ui-datatable-loading { + opacity: 0.3; + filter: alpha(opacity=30); } +body .ui-datatable .ui-datatable-loading-content { + top: 35%; } + body .ui-datatable .ui-datatable-loading-content .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-animation-delay: 0; + -webkit-animation-duration: 1000ms; + -webkit-animation-name: spin; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-delay: 0; + -moz-animation-duration: 1000ms; + -moz-animation-name: spin; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + animation-delay: 0; + animation-duration: 1000ms; + animation-name: spin; + animation-iteration-count: infinite; + animation-timing-function: linear; + font-size: 2em; } + body .ui-datatable .ui-datatable-loading-content .fa:before { + content: "refresh"; } +body .ui-carousel { + padding: 0; } + body .ui-carousel .ui-carousel-header { + padding: 0.625em 1em; + font-size: 1em; + overflow: visible; } + body .ui-carousel .ui-carousel-header .ui-carousel-header-title { + overflow: visible; } + body .ui-carousel .ui-carousel-header .fa { + color: #ffffff; } + body .ui-carousel .ui-carousel-header .ui-carousel-button { + margin: -1px 0 0 0; } + body .ui-carousel .ui-carousel-header .ui-carousel-page-links { + margin: -1px 0 0 0; } +body .ui-tree { + padding: 0.625em 1em/2; } + body .ui-tree .ui-treenode-children { + padding-left: 1.75em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin-right: .5em; } + body .ui-tree .ui-treenode-content .ui-chkbox .fa { + color: #757575; } + body .ui-tree .ui-treenode-content .ui-tree-toggler { + vertical-align: middle; + margin: 0 0 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-icon { + vertical-align: middle; + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-label { + margin: 0; + vertical-align: middle; } + body .ui-tree .ui-treenode-content.ui-treenode-selectable .ui-treenode-label:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal { + padding-left: 0; + padding-right: 0; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content { + background-color: #ffffff; + border: 1px solid #bdbdbd; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-tree-toggler { + vertical-align: top; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-treenode-icon { + vertical-align: top; + margin-right: .25em; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-treenode-selectable:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-state-highlight { + background-color: #E91E63; + color: #ffffff; } +body .ui-tree-draghelper { + border: 1px solid #3F51B5; } +body .fc .fc-toolbar .ui-icon-circle-triangle-e { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-icon-circle-triangle-w { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-state-active { + background-color: #E91E63; } +body .fc .fc-event { + background-color: #9fa8da; + color: #ffffff; } +body .fc table { + box-sizing: border-box; } +body .ui-treetable .ui-treetable-header { + padding: 0.625em 1em; + font-size: 1em; } +body .ui-treetable thead tr { + border-bottom: 1px solid #bdbdbd; } + body .ui-treetable thead tr th { + background-color: #ffffff; + padding: .625em .875em; + border: 0 none; } + body .ui-treetable thead tr th .fa { + color: #757575; } + body .ui-treetable thead tr th:first-child { + border-left: 1px solid #bdbdbd; } + body .ui-treetable thead tr th:last-child { + border-right: 1px solid #bdbdbd; } + body .ui-treetable thead tr th .ui-sortable-column-icon { + vertical-align: middle; + margin: -.25em 0 0 0; } + body .ui-treetable thead tr th.ui-state-active { + background-color: #E91E63; + color: #ffffff; } + body .ui-treetable thead tr th.ui-state-active .fa { + color: #ffffff; } + body .ui-treetable thead tr th .ui-column-resizer { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1em; + color: #757575; } + body .ui-treetable thead tr th .ui-column-resizer:before { + content: "code"; } +body .ui-treetable tfoot td { + border: 0 none; + padding: .625em .875em; } +body .ui-treetable tbody .ui-treetable-row { + background-color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row td { + border: 0 none; + padding: .625em .875em; } + body .ui-treetable tbody .ui-treetable-row td .ui-treetable-toggler { + display: inline-block; + vertical-align: middle; + margin: 0 .167em; + float: none; } + body .ui-treetable tbody .ui-treetable-row td .ui-chkbox { + margin-right: .5em; } + body .ui-treetable tbody .ui-treetable-row td.ui-treetable-child-table-container { + padding: 0; } + body .ui-treetable tbody .ui-treetable-row.ui-treetable-row-selectable:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight { + background-color: #E91E63; + color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } +body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-header, body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-footer { + background-color: transparent; + border: 0 none; } +body .ui-treetable.ui-treetable-scrollable thead th { + background-color: #ffffff; + color: #212121; } + +@media (max-width: 40em) { + body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 100%; } } +@media (max-width: 640px) { + body .ui-picklist.ui-picklist-responsive .ui-picklist-list-wrapper { + margin-bottom: .5em; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons { + padding: .5em 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + display: inline-block; + margin-right: .25em; + margin-bottom: 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right:before { + content: "skip_previous"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left:before { + content: "skip_next"; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls { + text-align: center; + width: auto; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button { + margin-right: .25em; } } +body .ui-breadcrumb { + padding: 0.625em 1em; } + body .ui-breadcrumb ul li a { + color: #ffffff; + font-size: 1em; } +body .ui-steps { + position: relative; } + body .ui-steps .ui-steps-item { + background-color: transparent; } + body .ui-steps .ui-steps-item.ui-state-disabled { + opacity: 1; + filter: alpha(opacity=100); } + body .ui-steps .ui-steps-item .ui-menuitem-link { + display: inline-block; + text-align: left; + background-color: #ffffff; + overflow: hidden; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number { + display: inline-block; + background-color: #757575; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: .25em .75em; + font-size: 1em; + color: #ffffff; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: inline; + margin-left: .625em; + color: #757575; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-number { + background-color: #E91E63; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-title { + font-weight: 700; + color: #212121; } + body .ui-steps .ui-steps-item:last-child .ui-menuitem-link { + display: block; } + body .ui-steps:before { + content: ' '; + border: 1px solid #bdbdbd; + width: 90%; + top: 45%; + left: 0; + display: block; + position: absolute; } +body .ui-menu .ui-menuitem-link, +body .ui-menubar .ui-menuitem-link, +body .ui-tieredmenu .ui-menuitem-link, +body .ui-contextmenu .ui-menuitem-link, +body .ui-megamenu .ui-menuitem-link, +body .ui-slidemenu .ui-menuitem-link { + padding: .625em 1em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-menu .ui-menuitem-link:hover, + body .ui-menubar .ui-menuitem-link:hover, + body .ui-tieredmenu .ui-menuitem-link:hover, + body .ui-contextmenu .ui-menuitem-link:hover, + body .ui-megamenu .ui-menuitem-link:hover, + body .ui-slidemenu .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link:focus, + body .ui-menubar .ui-menuitem-link:focus, + body .ui-tieredmenu .ui-menuitem-link:focus, + body .ui-contextmenu .ui-menuitem-link:focus, + body .ui-megamenu .ui-menuitem-link:focus, + body .ui-slidemenu .ui-menuitem-link:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link .ui-menuitem-text, + body .ui-menubar .ui-menuitem-link .ui-menuitem-text, + body .ui-tieredmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-contextmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-megamenu .ui-menuitem-link .ui-menuitem-text, + body .ui-slidemenu .ui-menuitem-link .ui-menuitem-text { + vertical-align: middle; } +body .ui-menubar .ui-submenu-list, body .ui-contextmenu .ui-submenu-list, +body .ui-slidemenu .ui-submenu-list, body .ui-tieredmenu .ui-submenu-list { + padding: .5em 0; } + body .ui-menubar .ui-submenu-list .ui-menuitem, body .ui-contextmenu .ui-submenu-list .ui-menuitem, + body .ui-slidemenu .ui-submenu-list .ui-menuitem, body .ui-tieredmenu .ui-submenu-list .ui-menuitem { + margin: 0; } +body .ui-menu { + width: 100%; + padding: .5em 0; } + body .ui-menu .ui-menuitem { + margin: 0; } + body .ui-menu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menu.ui-shadow, body .ui-menu .ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-menu .ui-submenu-header { + border: 0 none; + margin: 0; + padding: .625em 1em; + border-radius: 0; } +body .ui-menubar { + padding: 0; } + body .ui-menubar .ui-menubar-root-list > .ui-menuitem > .ui-menuitem-link { + padding: .625em 1em; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } +body .ui-contextmenu { + padding: .5em 0; } + body .ui-contextmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-contextmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-slidemenu { + padding: .5em 0; } + body .ui-slidemenu .ui-menuitem { + margin: 0; } + body .ui-slidemenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-slidemenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-slidemenu .ui-slidemenu-backward { + margin-bottom: .4em; + padding: 0.625em 1em; + width: 100%; + background-color: #3F51B5; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border: 0 none; } + body .ui-slidemenu .ui-slidemenu-backward:hover { + background-color: #32408f; } +body .ui-tieredmenu { + padding: .5em 0; } + body .ui-tieredmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-tieredmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-tabmenu { + padding: 0; } + body .ui-tabmenu .ui-tabmenu-nav { + padding: 0; + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem { + top: auto; + margin: 0 .25em 0 0; + padding: 0; + border-style: solid; + border-width: 0 0 2px 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a { + padding: 0.625em 1em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a:focus { + outline: 0 none; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon, body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-text { + float: none; + display: inline-block; + vertical-align: middle; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon { + font-weight: 1em; + margin-right: .25em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a .fa { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem:not(.ui-state-active):hover { + background-color: #ffffff; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active { + background-color: #ffffff; + border-color: #E91E63; + border-style: solid; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a { + color: #3F51B5; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a .fa { + color: #3F51B5; } +body .ui-megamenu { + padding: 0; } + body .ui-megamenu .ui-megamenu-submenu-header { + border-radius: 0; + padding: .5em; } + body .ui-megamenu .ui-submenu-list { + padding: 0; + border: 0 none; } + body .ui-megamenu .ui-submenu-list .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-panelmenu .ui-panelmenu-header { + background-color: #3F51B5; + margin-bottom: 1px; } + body .ui-panelmenu .ui-panelmenu-header a { + padding: .625em 1em; + color: #ffffff; + font-size: 16px; + border-bottom: 1px solid #ffffff; } + body .ui-panelmenu .ui-panelmenu-header .fa { + color: #ffffff; + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header .ui-menuitem-text { + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active { + background-color: #E91E63; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + margin-bottom: 0; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active a, body .ui-panelmenu .ui-panelmenu-header.ui-state-active .fa { + color: #ffffff; } +body .ui-panelmenu .ui-panelmenu-content { + padding: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem { + margin: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link { + border: 0 none; + padding: .625em 1em; + width: 100%; + min-height: 2.750em; + box-sizing: border-box; + color: #212121; + line-height: 1.5em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + position: relative; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .ui-menuitem-text { + display: inline-block; + vertical-align: middle; + float: none; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .fa { + position: static; + display: inline-block; + vertical-align: middle; } +body .ui-panelmenu .ui-menu-parent .ui-menu-list { + margin-left: 28px; } + +@media (max-width: 640px) { + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: none; } } +body { + /* Messages */ } + body .ui-messages { + padding: 0.625em 1em; } + body .ui-messages ul { + display: inline-block; + margin-left: 0; } + body .ui-messages.ui-messages-info { + background-color: #2196F3; + border-color: #2196F3; + color: #ffffff; } + body .ui-messages.ui-messages-warn { + background-color: #ffc107; + border-color: #ffc107; + color: #ffffff; } + body .ui-messages.ui-messages-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-messages.ui-messages-fatal { + background-color: #212121; + border-color: #212121; + color: #ffffff; } + body .ui-messages.ui-messages-success { + background-color: #8BC34A; + border-color: #8BC34A; + color: #ffffff; } + body .ui-messages .ui-messages-close { + text-decoration: none; + color: #fff; + right: .25em; } + body .ui-messages .ui-messages-icon { + background: none; + color: #fff; + margin-top: -2px; } + body .ui-messages .ui-messages-icon.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-info-circle:before { + content: "info"; } + body .ui-messages .ui-messages-icon.fa-warning { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-warning:before { + content: "warning"; } + body .ui-messages .ui-messages-icon.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-close:before { + content: "error_outline"; } + body .ui-messages .ui-messages-icon.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-check:before { + content: "check_circle"; } + body .ui-growl { + top: 90px; } + body .ui-growl > .ui-growl-item-container { + opacity: 1; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-info { + background-color: #2196F3; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-warn { + background-color: #ffc107; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-error { + background-color: #e62a10; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-fatal { + background-color: #212121; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-success { + background-color: #8BC34A; } + body .ui-growl > .ui-growl-item-container.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + body .ui-growl .ui-growl-item .ui-growl-image { + background: none; + color: #ffffff; + font-size: 36px; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle:before { + content: "info"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle:before { + content: "warning"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close:before { + content: "error_outline"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check:before { + content: "check_circle"; } + body .ui-growl .ui-growl-item .ui-growl-message { + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 24px; + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close:before { + content: "close"; } + +body .ui-dialog.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-dialog .ui-dialog-titlebar { + background-color: #ffffff; + color: #212121; + padding: 0.625em 1em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-title { + font-size: 1.25em; + letter-spacing: .005em; + margin-top: .25em; + line-height: 2em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon { + border: 0 none; + padding: 0; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + height: 1.5em; + width: 1.5em; + text-align: center; + margin-top: .5em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:hover, body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa { + color: #757575; + display: inline-block; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-extlink:before { + content: "fullscreen"; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-newwin:before { + content: "fullscreen_exit"; } +body .ui-dialog .ui-dialog-content { + padding: 0.625em 1em; } +body .ui-dialog .ui-dialog-footer { + text-align: right; + border: 0 none; + border-top: 1px solid #bdbdbd; } + body .ui-dialog .ui-dialog-footer .ui-button { + background-color: #ffffff; + color: #212121; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: auto; } + body .ui-dialog .ui-dialog-footer .ui-button .fa { + color: #757575; } + body .ui-dialog .ui-dialog-footer .ui-button:hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-dialog .ui-confirm-dialog-severity { + margin: 0px .75em; } +body .ui-lightbox.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-lightbox .ui-lightbox-caption { + padding: 0.625em 1em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-caption-text { + margin: 0; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + padding: 0; + margin: 0; + width: 1.5em; + height: 1.5em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close:hover { + background-color: #9fa8da; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } +body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left { + top: 40%; } + body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right .fa, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left .fa { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 3em; + color: #9fa8da; } +body .ui-overlaypanel.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-overlaypanel .ui-overlaypanel-close { + background-color: #E91E63; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + right: -16px; + top: -16px; + width: 2em; + height: 2em; + line-height: 2em; + text-align: center; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-overlaypanel .ui-overlaypanel-close span { + color: #ffffff; + line-height: inherit; } + body .ui-overlaypanel .ui-overlaypanel-close:hover { + background-color: #ad1457; } +body .ui-tooltip { + opacity: 0.9; + filter: alpha(opacity=90); } + body .ui-tooltip .ui-tooltip-text { + background-color: #323232; } + body .ui-tooltip.ui-tooltip-top .ui-tooltip-arrow { + border-top-color: #323232; } + body .ui-tooltip.ui-tooltip-bottom .ui-tooltip-arrow { + border-bottom-color: #323232; } + body .ui-tooltip.ui-tooltip-left .ui-tooltip-arrow { + border-left-color: #323232; } + body .ui-tooltip.ui-tooltip-right .ui-tooltip-arrow { + border-right-color: #323232; } + +body .ui-draggable-dragging.ui-state-default { + padding: 0.625em 1em !important; + background-color: #3F51B5; } +body .jqplot-target { + font-family: "Roboto","Helvetica Neue",sans-serif; } +body .ui-progressbar { + height: .5em; + background-color: #9fa8da; + overflow: hidden; + border: 0 none; } + body .ui-progressbar .ui-progressbar-value { + height: .5em; } + body .ui-progressbar .ui-progressbar-label { + color: #ffffff; + display: none !important; } +body .ui-galleria .ui-galleria-nav-prev { + left: 0; } +body .ui-galleria .ui-galleria-nav-next { + right: 0; } +body .ui-inplace .ui-inplace-display { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-inplace .ui-inplace-display:hover { + background-color: #e8e8e8; } +body .ui-terminal .ui-terminal-input { + font-size: 16px; } diff --git a/src/assets/theme/theme-indigo.scss b/src/assets/theme/theme-indigo.scss new file mode 100644 index 0000000..5b31121 --- /dev/null +++ b/src/assets/theme/theme-indigo.scss @@ -0,0 +1,9 @@ +$primaryColor: #3F51B5; +$primaryDarkColor: #283593; +$primaryLightColor: #9fa8da; +$accentColor: #E91E63; +$accentDarkColor: #ad1457; +$accentLightColor: #f48fb1; +$accentTextColor: #ffffff; + +@import '../sass/theme/_theme'; \ No newline at end of file diff --git a/src/assets/theme/theme-purple-amber.css b/src/assets/theme/theme-purple-amber.css new file mode 100644 index 0000000..bd379cc --- /dev/null +++ b/src/assets/theme/theme-purple-amber.css @@ -0,0 +1,6153 @@ +@charset "UTF-8"; +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +.fa-sort:before { + content: "sort"; } + +.fa-sort-asc:before { + content: "keyboard_arrow_up"; } + +.fa-sort-desc:before { + content: "keyboard_arrow_down"; } + +.fa-angle-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-up:before { + content: "play_arrow"; } + +.fa-angle-double-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-up:before { + content: "skip_next"; } + +.fa-angle-down { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .fa-angle-down:before { + content: "play_arrow"; } + +.fa-angle-double-down { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-down:before { + content: "skip_previous"; } + +.fa-angle-right:before { + content: "play_arrow"; } + +.fa-angle-double-right:before { + content: "fast_forward"; } + +.fa-angle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-angle-left:before { + content: "play_arrow"; } + +.fa-angle-double-left:before { + content: "fast_rewind"; } + +.fa-check:before { + content: "check"; } + +.fa-caret-up:before { + content: "keyboard_arrow_up"; } + +.fa-caret-down:before { + content: "keyboard_arrow_down"; } + +.fa-caret-right:before { + content: "keyboard_arrow_right"; } + +.fa-caret-left:before { + content: "keyboard_arrow_left"; } + +.fa-search:before { + content: "search"; } + +.fa-close:before { + content: "close"; } + +.fa-minus:before { + content: "remove"; } + +.fa-plus:before { + content: "add"; } + +.fa-check:before { + content: "check"; } + +.fa-info-circle:before { + content: "info"; } + +.fa-upload:before { + content: "file_upload"; } + +.fa-chevron-circle-left:before { + content: "keyboard_arrow_left"; } + +.fa-chevron-circle-right:before { + content: "keyboard_arrow_right"; } + +.fa-chevron-circle-down:before { + content: "keyboard_arrow_down"; } + +.fa-chevron-circle-up:before { + content: "keyboard_arrow_up"; } + +.fa-home:before { + content: "home"; } + +.fa-chevron-right:before { + content: "chevron_right"; } + +.fa-chevron-left:before { + content: "chevron_left"; } + +.fa-circle-o:before { + content: "radio_button_unchecked"; } + +.fa-dot-circle-o:before { + content: "radio_button_checked"; } + +.fa-arrow-circle-right:before { + content: "play_circle_outline"; } + +.fa-arrow-circle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-arrow-circle-left:before { + content: "play_circle_outline"; } + +.fa-calendar:before { + content: "date_range"; } + +.fa-arrow-down:before { + content: "arrow_downward"; } + +.fa-arrow-up:before { + content: "arrow_upward"; } + +.ui-icon-carat-2-n-s:before { + content: "sort"; } + +.ui-icon-triangle-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-triangle-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-triangle-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-triangle-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-carat-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-carat-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-carat-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-carat-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-arrow-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrow-1-n:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-n:before { + content: "skip_next"; } + +.ui-icon-arrow-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrow-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-s { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-s:before { + content: "skip_previous"; } + +.ui-icon-arrow-1-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-arrow-1-w:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-w:before { + content: "fast_rewind"; } + +.ui-icon-arrow-1-e:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-e:before { + content: "fast_forward"; } + +.ui-icon-arrowthick-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrowthick-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowthick-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowthick-1-n:before { + content: "play_arrow"; } + +.ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-circle-triangle-s:before { + content: "play_circle_outline"; } + +.ui-icon-radio-off:before { + content: "radio_button_unchecked"; } + +.ui-icon-radio-on:before { + content: "radio_button_checked"; } + +.ui-icon-folder-collapsed:before { + content: "folder"; } + +.ui-icon-document:before { + content: "content_paste"; } + +.ui-icon-video:before { + content: "movie"; } + +.ui-icon-music:before { + content: "music_note"; } + +.ui-icon-plus:before { + content: "add"; } + +.ui-icon-minus:before { + content: "remove"; } + +.ui-icon-plusthick:before { + content: "add"; } + +.ui-icon-minusthick:before { + content: "remove"; } + +.ui-icon-pencil:before { + content: "edit"; } + +.ui-icon-closethick:before { + content: "close"; } + +.ui-icon-circle-close:before { + content: "cancel"; } + +.ui-icon-gear:before { + content: "settings"; } + +.ui-icon-calendar:before { + content: "date_range"; } + +.ui-icon-trash:before { + content: "delete_forever"; } + +.ui-icon-notice:before { + content: "error_outline"; } + +.ui-icon-alert:before { + content: "warning"; } + +.ui-icon-circle-zoomin:before { + content: "zoom_in"; } + +.ui-icon-circle-zoomout:before { + content: "zoom_out"; } + +.ui-icon-circle-arrow-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-arrow-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-arrow-w:before { + content: "play_circle_outline"; } + +.ui-icon-3d-rotation:before { + content: "3d_rotation"; } + +.ui-icon-ac-unit:before { + content: "ac_unit"; } + +.ui-icon-access-alarm:before { + content: "access_alarm"; } + +.ui-icon-access-alarms:before { + content: "access_alarms"; } + +.ui-icon-access-time:before { + content: "access_time"; } + +.ui-icon-accessibility:before { + content: "accessibility"; } + +.ui-icon-accessible:before { + content: "accessible"; } + +.ui-icon-account-balance:before { + content: "account_balance"; } + +.ui-icon-account-balance-wallet:before { + content: "account_balance_wallet"; } + +.ui-icon-account-box:before { + content: "account_box"; } + +.ui-icon-account-circle:before { + content: "account_circle"; } + +.ui-icon-add:before { + content: "add"; } + +.ui-icon-add-a-photo:before { + content: "add_a_photo"; } + +.ui-icon-add-alarm:before { + content: "add_alarm"; } + +.ui-icon-add-alert:before { + content: "add_alert"; } + +.ui-icon-add-box:before { + content: "add_box"; } + +.ui-icon-add-circle:before { + content: "add_circle"; } + +.ui-icon-add-circle-outline:before { + content: "add_circle_outline"; } + +.ui-icon-add-location:before { + content: "add_location"; } + +.ui-icon-add-shopping-cart:before { + content: "add_shopping_cart"; } + +.ui-icon-add-to-photos:before { + content: "add_to_photos"; } + +.ui-icon-add-to-queue:before { + content: "add_to_queue"; } + +.ui-icon-adjust:before { + content: "adjust"; } + +.ui-icon-airline-seat-flat:before { + content: "airline_seat_flat"; } + +.ui-icon-airline-seat-flat-angled:before { + content: "airline_seat_flat_angled"; } + +.ui-icon-airline-seat-individual-suite:before { + content: "airline_seat_individual_suite"; } + +.ui-icon-airline-seat-legroom-extra:before { + content: "airline_seat_legroom_extra"; } + +.ui-icon-airline-seat-legroom-normal:before { + content: "airline_seat_legroom_normal"; } + +.ui-icon-airline-seat-legroom-reduced:before { + content: "airline_seat_legroom_reduced"; } + +.ui-icon-airline-seat-recline-extra:before { + content: "airline_seat_recline_extra"; } + +.ui-icon-airline-seat-recline-normal:before { + content: "airline_seat_recline_normal"; } + +.ui-icon-airplanemode-active:before { + content: "airplanemode_active"; } + +.ui-icon-airplanemode-inactive:before { + content: "airplanemode_inactive"; } + +.ui-icon-airplay:before { + content: "airplay"; } + +.ui-icon-airport-shuttle:before { + content: "airport_shuttle"; } + +.ui-icon-alarm:before { + content: "alarm"; } + +.ui-icon-alarm-add:before { + content: "alarm_add"; } + +.ui-icon-alarm-off:before { + content: "alarm_off"; } + +.ui-icon-alarm-on:before { + content: "alarm_on"; } + +.ui-icon-album:before { + content: "album"; } + +.ui-icon-all-inclusive:before { + content: "all_inclusive"; } + +.ui-icon-all-out:before { + content: "all_out"; } + +.ui-icon-android:before { + content: "android"; } + +.ui-icon-announcement:before { + content: "announcement"; } + +.ui-icon-apps:before { + content: "apps"; } + +.ui-icon-archive:before { + content: "archive"; } + +.ui-icon-arrow-back:before { + content: "arrow_back"; } + +.ui-icon-arrow-downward:before { + content: "arrow_downward"; } + +.ui-icon-arrow-drop-down:before { + content: "arrow_drop_down"; } + +.ui-icon-arrow-drop-down-circle:before { + content: "arrow_drop_down_circle"; } + +.ui-icon-arrow-drop-up:before { + content: "arrow_drop_up"; } + +.ui-icon-arrow-forward:before { + content: "arrow_forward"; } + +.ui-icon-arrow-upward:before { + content: "arrow_upward"; } + +.ui-icon-art-track:before { + content: "art_track"; } + +.ui-icon-aspect-ratio:before { + content: "aspect_ratio"; } + +.ui-icon-assessment:before { + content: "assessment"; } + +.ui-icon-assignment:before { + content: "assignment"; } + +.ui-icon-assignment-ind:before { + content: "assignment_ind"; } + +.ui-icon-assignment-late:before { + content: "assignment_late"; } + +.ui-icon-assignment-return:before { + content: "assignment_return"; } + +.ui-icon-assignment-returned:before { + content: "assignment_returned"; } + +.ui-icon-assignment-turned-in:before { + content: "assignment_turned_in"; } + +.ui-icon-assistant:before { + content: "assistant"; } + +.ui-icon-assistant-photo:before { + content: "assistant_photo"; } + +.ui-icon-attach-file:before { + content: "attach_file"; } + +.ui-icon-attach-money:before { + content: "attach_money"; } + +.ui-icon-attachment:before { + content: "attachment"; } + +.ui-icon-audiotrack:before { + content: "audiotrack"; } + +.ui-icon-autorenew:before { + content: "autorenew"; } + +.ui-icon-av-timer:before { + content: "av_timer"; } + +.ui-icon-backspace:before { + content: "backspace"; } + +.ui-icon-backup:before { + content: "backup"; } + +.ui-icon-battery-alert:before { + content: "battery_alert"; } + +.ui-icon-battery-charging-full:before { + content: "battery_charging_full"; } + +.ui-icon-battery-full:before { + content: "battery_full"; } + +.ui-icon-battery-std:before { + content: "battery_std"; } + +.ui-icon-battery-unknown:before { + content: "battery_unknown"; } + +.ui-icon-beach-access:before { + content: "beach_access"; } + +.ui-icon-beenhere:before { + content: "beenhere"; } + +.ui-icon-block:before { + content: "block"; } + +.ui-icon-bluetooth:before { + content: "bluetooth"; } + +.ui-icon-bluetooth-audio:before { + content: "bluetooth_audio"; } + +.ui-icon-bluetooth-connected:before { + content: "bluetooth_connected"; } + +.ui-icon-bluetooth-disabled:before { + content: "bluetooth_disabled"; } + +.ui-icon-bluetooth-searching:before { + content: "bluetooth_searching"; } + +.ui-icon-blur-circular:before { + content: "blur_circular"; } + +.ui-icon-blur-linear:before { + content: "blur_linear"; } + +.ui-icon-blur-off:before { + content: "blur_off"; } + +.ui-icon-blur-on:before { + content: "blur_on"; } + +.ui-icon-book:before { + content: "book"; } + +.ui-icon-bookmark:before { + content: "bookmark"; } + +.ui-icon-bookmark-border:before { + content: "bookmark_border"; } + +.ui-icon-border-all:before { + content: "border_all"; } + +.ui-icon-border-bottom:before { + content: "border_bottom"; } + +.ui-icon-border-clear:before { + content: "border_clear"; } + +.ui-icon-border-color:before { + content: "border_color"; } + +.ui-icon-border-horizontal:before { + content: "border_horizontal"; } + +.ui-icon-border-inner:before { + content: "border_inner"; } + +.ui-icon-border-left:before { + content: "border_left"; } + +.ui-icon-border-outer:before { + content: "border_outer"; } + +.ui-icon-border-right:before { + content: "border_right"; } + +.ui-icon-border-style:before { + content: "border_style"; } + +.ui-icon-border-top:before { + content: "border_top"; } + +.ui-icon-border-vertical:before { + content: "border_vertical"; } + +.ui-icon-branding-watermark:before { + content: "branding_watermark"; } + +.ui-icon-brightness-1:before { + content: "brightness_1"; } + +.ui-icon-brightness-2:before { + content: "brightness_2"; } + +.ui-icon-brightness-3:before { + content: "brightness_3"; } + +.ui-icon-brightness-4:before { + content: "brightness_4"; } + +.ui-icon-brightness-5:before { + content: "brightness_5"; } + +.ui-icon-brightness-6:before { + content: "brightness_6"; } + +.ui-icon-brightness-7:before { + content: "brightness_7"; } + +.ui-icon-brightness-auto:before { + content: "brightness_auto"; } + +.ui-icon-brightness-high:before { + content: "brightness_high"; } + +.ui-icon-brightness-low:before { + content: "brightness_low"; } + +.ui-icon-brightness-medium:before { + content: "brightness_medium"; } + +.ui-icon-broken-image:before { + content: "broken_image"; } + +.ui-icon-brush:before { + content: "brush"; } + +.ui-icon-bubble-chart:before { + content: "bubble_chart"; } + +.ui-icon-bug-report:before { + content: "bug_report"; } + +.ui-icon-build:before { + content: "build"; } + +.ui-icon-burst-mode:before { + content: "burst_mode"; } + +.ui-icon-business:before { + content: "business"; } + +.ui-icon-business-center:before { + content: "business_center"; } + +.ui-icon-cached:before { + content: "cached"; } + +.ui-icon-cake:before { + content: "cake"; } + +.ui-icon-call:before { + content: "call"; } + +.ui-icon-call-end:before { + content: "call_end"; } + +.ui-icon-call-made:before { + content: "call_made"; } + +.ui-icon-call-merge:before { + content: "call_merge"; } + +.ui-icon-call-missed:before { + content: "call_missed"; } + +.ui-icon-call-missed-outgoing:before { + content: "call_missed_outgoing"; } + +.ui-icon-call-received:before { + content: "call_received"; } + +.ui-icon-call-split:before { + content: "call_split"; } + +.ui-icon-call-to-action:before { + content: "call_to_action"; } + +.ui-icon-camera:before { + content: "camera"; } + +.ui-icon-camera-alt:before { + content: "camera_alt"; } + +.ui-icon-camera-enhance:before { + content: "camera_enhance"; } + +.ui-icon-camera-front:before { + content: "camera_front"; } + +.ui-icon-camera-rear:before { + content: "camera_rear"; } + +.ui-icon-camera-roll:before { + content: "camera_roll"; } + +.ui-icon-cancel:before { + content: "cancel"; } + +.ui-icon-card-giftcard:before { + content: "card_giftcard"; } + +.ui-icon-card-membership:before { + content: "card_membership"; } + +.ui-icon-card-travel:before { + content: "card_travel"; } + +.ui-icon-casino:before { + content: "casino"; } + +.ui-icon-cast:before { + content: "cast"; } + +.ui-icon-cast-connected:before { + content: "cast_connected"; } + +.ui-icon-center-focus-strong:before { + content: "center_focus_strong"; } + +.ui-icon-center-focus-weak:before { + content: "center_focus_weak"; } + +.ui-icon-change-history:before { + content: "change_history"; } + +.ui-icon-chat:before { + content: "chat"; } + +.ui-icon-chat-bubble:before { + content: "chat_bubble"; } + +.ui-icon-chat-bubble-outline:before { + content: "chat_bubble_outline"; } + +.ui-icon-check:before { + content: "check"; } + +.ui-icon-check-box:before { + content: "check_box"; } + +.ui-icon-check-box-outline-blank:before { + content: "check_box_outline_blank"; } + +.ui-icon-check-circle:before { + content: "check_circle"; } + +.ui-icon-chevron-left:before { + content: "chevron_left"; } + +.ui-icon-chevron-right:before { + content: "chevron_right"; } + +.ui-icon-child-care:before { + content: "child_care"; } + +.ui-icon-child-friendly:before { + content: "child_friendly"; } + +.ui-icon-chrome-reader-mode:before { + content: "chrome_reader_mode"; } + +.ui-icon-class:before { + content: "class"; } + +.ui-icon-clear:before { + content: "clear"; } + +.ui-icon-clear-all:before { + content: "clear_all"; } + +.ui-icon-close:before { + content: "close"; } + +.ui-icon-closed-caption:before { + content: "closed_caption"; } + +.ui-icon-cloud:before { + content: "cloud"; } + +.ui-icon-cloud-circle:before { + content: "cloud_circle"; } + +.ui-icon-cloud-done:before { + content: "cloud_done"; } + +.ui-icon-cloud-download:before { + content: "cloud_download"; } + +.ui-icon-cloud-off:before { + content: "cloud_off"; } + +.ui-icon-cloud-queue:before { + content: "cloud_queue"; } + +.ui-icon-cloud-upload:before { + content: "cloud_upload"; } + +.ui-icon-code:before { + content: "code"; } + +.ui-icon-collections:before { + content: "collections"; } + +.ui-icon-collections-bookmark:before { + content: "collections_bookmark"; } + +.ui-icon-color-lens:before { + content: "color_lens"; } + +.ui-icon-colorize:before { + content: "colorize"; } + +.ui-icon-comment:before { + content: "comment"; } + +.ui-icon-compare:before { + content: "compare"; } + +.ui-icon-compare-arrows:before { + content: "compare_arrows"; } + +.ui-icon-computer:before { + content: "computer"; } + +.ui-icon-confirmation-number:before { + content: "confirmation_number"; } + +.ui-icon-contact-mail:before { + content: "contact_mail"; } + +.ui-icon-contact-phone:before { + content: "contact_phone"; } + +.ui-icon-contacts:before { + content: "contacts"; } + +.ui-icon-content-copy:before { + content: "content_copy"; } + +.ui-icon-content-cut:before { + content: "content_cut"; } + +.ui-icon-content-paste:before { + content: "content_paste"; } + +.ui-icon-control-point:before { + content: "control_point"; } + +.ui-icon-control-point-duplicate:before { + content: "control_point_duplicate"; } + +.ui-icon-copyright:before { + content: "copyright"; } + +.ui-icon-create:before { + content: "create"; } + +.ui-icon-create-new-folder:before { + content: "create_new_folder"; } + +.ui-icon-credit-card:before { + content: "credit_card"; } + +.ui-icon-crop:before { + content: "crop"; } + +.ui-icon-crop-16-9:before { + content: "crop_16_9"; } + +.ui-icon-crop-3-2:before { + content: "crop_3_2"; } + +.ui-icon-crop-5-4:before { + content: "crop_5_4"; } + +.ui-icon-crop-7-5:before { + content: "crop_7_5"; } + +.ui-icon-crop-din:before { + content: "crop_din"; } + +.ui-icon-crop-free:before { + content: "crop_free"; } + +.ui-icon-crop-landscape:before { + content: "crop_landscape"; } + +.ui-icon-crop-original:before { + content: "crop_original"; } + +.ui-icon-crop-portrait:before { + content: "crop_portrait"; } + +.ui-icon-crop-rotate:before { + content: "crop_rotate"; } + +.ui-icon-crop-square:before { + content: "crop_square"; } + +.ui-icon-dashboard:before { + content: "dashboard"; } + +.ui-icon-data-usage:before { + content: "data_usage"; } + +.ui-icon-date-range:before { + content: "date_range"; } + +.ui-icon-dehaze:before { + content: "dehaze"; } + +.ui-icon-delete:before { + content: "delete"; } + +.ui-icon-delete-forever:before { + content: "delete_forever"; } + +.ui-icon-delete-sweep:before { + content: "delete_sweep"; } + +.ui-icon-description:before { + content: "description"; } + +.ui-icon-desktop-mac:before { + content: "desktop_mac"; } + +.ui-icon-desktop-windows:before { + content: "desktop_windows"; } + +.ui-icon-details:before { + content: "details"; } + +.ui-icon-developer-board:before { + content: "developer_board"; } + +.ui-icon-developer-mode:before { + content: "developer_mode"; } + +.ui-icon-device-hub:before { + content: "device_hub"; } + +.ui-icon-devices:before { + content: "devices"; } + +.ui-icon-devices-other:before { + content: "devices_other"; } + +.ui-icon-dialer-sip:before { + content: "dialer_sip"; } + +.ui-icon-dialpad:before { + content: "dialpad"; } + +.ui-icon-directions:before { + content: "directions"; } + +.ui-icon-directions-bike:before { + content: "directions_bike"; } + +.ui-icon-directions-boat:before { + content: "directions_boat"; } + +.ui-icon-directions-bus:before { + content: "directions_bus"; } + +.ui-icon-directions-car:before { + content: "directions_car"; } + +.ui-icon-directions-railway:before { + content: "directions_railway"; } + +.ui-icon-directions-run:before { + content: "directions_run"; } + +.ui-icon-directions-subway:before { + content: "directions_subway"; } + +.ui-icon-directions-transit:before { + content: "directions_transit"; } + +.ui-icon-directions-walk:before { + content: "directions_walk"; } + +.ui-icon-disc-full:before { + content: "disc_full"; } + +.ui-icon-dns:before { + content: "dns"; } + +.ui-icon-do-not-disturb:before { + content: "do_not_disturb"; } + +.ui-icon-do-not-disturb-alt:before { + content: "do_not_disturb_alt"; } + +.ui-icon-do-not-disturb-off:before { + content: "do_not_disturb_off"; } + +.ui-icon-do-not-disturb-on:before { + content: "do_not_disturb_on"; } + +.ui-icon-dock:before { + content: "dock"; } + +.ui-icon-domain:before { + content: "domain"; } + +.ui-icon-done:before { + content: "done"; } + +.ui-icon-done-all:before { + content: "done_all"; } + +.ui-icon-donut-large:before { + content: "donut_large"; } + +.ui-icon-donut-small:before { + content: "donut_small"; } + +.ui-icon-drafts:before { + content: "drafts"; } + +.ui-icon-drag-handle:before { + content: "drag_handle"; } + +.ui-icon-drive-eta:before { + content: "drive_eta"; } + +.ui-icon-dvr:before { + content: "dvr"; } + +.ui-icon-edit:before { + content: "edit"; } + +.ui-icon-edit-location:before { + content: "edit_location"; } + +.ui-icon-eject:before { + content: "eject"; } + +.ui-icon-email:before { + content: "email"; } + +.ui-icon-enhanced-encryption:before { + content: "enhanced_encryption"; } + +.ui-icon-equalizer:before { + content: "equalizer"; } + +.ui-icon-error:before { + content: "error"; } + +.ui-icon-error-outline:before { + content: "error_outline"; } + +.ui-icon-euro-symbol:before { + content: "euro_symbol"; } + +.ui-icon-ev-station:before { + content: "ev_station"; } + +.ui-icon-event:before { + content: "event"; } + +.ui-icon-event-available:before { + content: "event_available"; } + +.ui-icon-event-busy:before { + content: "event_busy"; } + +.ui-icon-event-note:before { + content: "event_note"; } + +.ui-icon-event-seat:before { + content: "event_seat"; } + +.ui-icon-exit-to-app:before { + content: "exit_to_app"; } + +.ui-icon-expand-less:before { + content: "expand_less"; } + +.ui-icon-expand-more:before { + content: "expand_more"; } + +.ui-icon-explicit:before { + content: "explicit"; } + +.ui-icon-explore:before { + content: "explore"; } + +.ui-icon-exposure:before { + content: "exposure"; } + +.ui-icon-exposure-neg-1:before { + content: "exposure_neg_1"; } + +.ui-icon-exposure-neg-2:before { + content: "exposure_neg_2"; } + +.ui-icon-exposure-plus-1:before { + content: "exposure_plus_1"; } + +.ui-icon-exposure-plus-2:before { + content: "exposure_plus_2"; } + +.ui-icon-exposure-zero:before { + content: "exposure_zero"; } + +.ui-icon-extension:before { + content: "extension"; } + +.ui-icon-face:before { + content: "face"; } + +.ui-icon-fast-forward:before { + content: "fast_forward"; } + +.ui-icon-fast-rewind:before { + content: "fast_rewind"; } + +.ui-icon-favorite:before { + content: "favorite"; } + +.ui-icon-favorite-border:before { + content: "favorite_border"; } + +.ui-icon-featured-play-list:before { + content: "featured_play_list"; } + +.ui-icon-featured-video:before { + content: "featured_video"; } + +.ui-icon-feedback:before { + content: "feedback"; } + +.ui-icon-fiber-dvr:before { + content: "fiber_dvr"; } + +.ui-icon-fiber-manual-record:before { + content: "fiber_manual_record"; } + +.ui-icon-fiber-new:before { + content: "fiber_new"; } + +.ui-icon-fiber-pin:before { + content: "fiber_pin"; } + +.ui-icon-fiber-smart-record:before { + content: "fiber_smart_record"; } + +.ui-icon-file-download:before { + content: "file_download"; } + +.ui-icon-file-upload:before { + content: "file_upload"; } + +.ui-icon-filter:before { + content: "filter"; } + +.ui-icon-filter-1:before { + content: "filter_1"; } + +.ui-icon-filter-2:before { + content: "filter_2"; } + +.ui-icon-filter-3:before { + content: "filter_3"; } + +.ui-icon-filter-4:before { + content: "filter_4"; } + +.ui-icon-filter-5:before { + content: "filter_5"; } + +.ui-icon-filter-6:before { + content: "filter_6"; } + +.ui-icon-filter-7:before { + content: "filter_7"; } + +.ui-icon-filter-8:before { + content: "filter_8"; } + +.ui-icon-filter-9:before { + content: "filter_9"; } + +.ui-icon-filter-9-plus:before { + content: "filter_9_plus"; } + +.ui-icon-filter-b-and-w:before { + content: "filter_b_and_w"; } + +.ui-icon-filter-center-focus:before { + content: "filter_center_focus"; } + +.ui-icon-filter-drama:before { + content: "filter_drama"; } + +.ui-icon-filter-frames:before { + content: "filter_frames"; } + +.ui-icon-filter-hdr:before { + content: "filter_hdr"; } + +.ui-icon-filter-list:before { + content: "filter_list"; } + +.ui-icon-filter-none:before { + content: "filter_none"; } + +.ui-icon-filter-tilt-shift:before { + content: "filter_tilt_shift"; } + +.ui-icon-filter-vintage:before { + content: "filter_vintage"; } + +.ui-icon-find-in-page:before { + content: "find_in_page"; } + +.ui-icon-find-replace:before { + content: "find_replace"; } + +.ui-icon-fingerprint:before { + content: "fingerprint"; } + +.ui-icon-first-page:before { + content: "first_page"; } + +.ui-icon-fitness-center:before { + content: "fitness_center"; } + +.ui-icon-flag:before { + content: "flag"; } + +.ui-icon-flare:before { + content: "flare"; } + +.ui-icon-flash-auto:before { + content: "flash_auto"; } + +.ui-icon-flash-off:before { + content: "flash_off"; } + +.ui-icon-flash-on:before { + content: "flash_on"; } + +.ui-icon-flight:before { + content: "flight"; } + +.ui-icon-flight-land:before { + content: "flight_land"; } + +.ui-icon-flight-takeoff:before { + content: "flight_takeoff"; } + +.ui-icon-flip:before { + content: "flip"; } + +.ui-icon-flip-to-back:before { + content: "flip_to_back"; } + +.ui-icon-flip-to-front:before { + content: "flip_to_front"; } + +.ui-icon-folder:before { + content: "folder"; } + +.ui-icon-folder-open:before { + content: "folder_open"; } + +.ui-icon-folder-shared:before { + content: "folder_shared"; } + +.ui-icon-folder-special:before { + content: "folder_special"; } + +.ui-icon-font-download:before { + content: "font_download"; } + +.ui-icon-format-align-center:before { + content: "format_align_center"; } + +.ui-icon-format-align-justify:before { + content: "format_align_justify"; } + +.ui-icon-format-align-left:before { + content: "format_align_left"; } + +.ui-icon-format-align-right:before { + content: "format_align_right"; } + +.ui-icon-format-bold:before { + content: "format_bold"; } + +.ui-icon-format-clear:before { + content: "format_clear"; } + +.ui-icon-format-color-fill:before { + content: "format_color_fill"; } + +.ui-icon-format-color-reset:before { + content: "format_color_reset"; } + +.ui-icon-format-color-text:before { + content: "format_color_text"; } + +.ui-icon-format-indent-decrease:before { + content: "format_indent_decrease"; } + +.ui-icon-format-indent-increase:before { + content: "format_indent_increase"; } + +.ui-icon-format-italic:before { + content: "format_italic"; } + +.ui-icon-format-line-spacing:before { + content: "format_line_spacing"; } + +.ui-icon-format-list-bulleted:before { + content: "format_list_bulleted"; } + +.ui-icon-format-list-numbered:before { + content: "format_list_numbered"; } + +.ui-icon-format-paint:before { + content: "format_paint"; } + +.ui-icon-format-quote:before { + content: "format_quote"; } + +.ui-icon-format-shapes:before { + content: "format_shapes"; } + +.ui-icon-format-size:before { + content: "format_size"; } + +.ui-icon-format-strikethrough:before { + content: "format_strikethrough"; } + +.ui-icon-format-textdirection-l-to-r:before { + content: "format_textdirection_l_to_r"; } + +.ui-icon-format-textdirection-r-to-l:before { + content: "format_textdirection_r_to_l"; } + +.ui-icon-format-underlined:before { + content: "format_underlined"; } + +.ui-icon-forum:before { + content: "forum"; } + +.ui-icon-forward:before { + content: "forward"; } + +.ui-icon-forward-10:before { + content: "forward_10"; } + +.ui-icon-forward-30:before { + content: "forward_30"; } + +.ui-icon-forward-5:before { + content: "forward_5"; } + +.ui-icon-free-breakfast:before { + content: "free_breakfast"; } + +.ui-icon-fullscreen:before { + content: "fullscreen"; } + +.ui-icon-fullscreen-exit:before { + content: "fullscreen_exit"; } + +.ui-icon-functions:before { + content: "functions"; } + +.ui-icon-g-translate:before { + content: "g_translate"; } + +.ui-icon-gamepad:before { + content: "gamepad"; } + +.ui-icon-games:before { + content: "games"; } + +.ui-icon-gavel:before { + content: "gavel"; } + +.ui-icon-gesture:before { + content: "gesture"; } + +.ui-icon-get-app:before { + content: "get_app"; } + +.ui-icon-gif:before { + content: "gif"; } + +.ui-icon-golf-course:before { + content: "golf_course"; } + +.ui-icon-gps-fixed:before { + content: "gps_fixed"; } + +.ui-icon-gps-not-fixed:before { + content: "gps_not_fixed"; } + +.ui-icon-gps-off:before { + content: "gps_off"; } + +.ui-icon-grade:before { + content: "grade"; } + +.ui-icon-gradient:before { + content: "gradient"; } + +.ui-icon-grain:before { + content: "grain"; } + +.ui-icon-graphic-eq:before { + content: "graphic_eq"; } + +.ui-icon-grid-off:before { + content: "grid_off"; } + +.ui-icon-grid-on:before { + content: "grid_on"; } + +.ui-icon-group:before { + content: "group"; } + +.ui-icon-group-add:before { + content: "group_add"; } + +.ui-icon-group-work:before { + content: "group_work"; } + +.ui-icon-hd:before { + content: "hd"; } + +.ui-icon-hdr-off:before { + content: "hdr_off"; } + +.ui-icon-hdr-on:before { + content: "hdr_on"; } + +.ui-icon-hdr-strong:before { + content: "hdr_strong"; } + +.ui-icon-hdr-weak:before { + content: "hdr_weak"; } + +.ui-icon-headset:before { + content: "headset"; } + +.ui-icon-headset-mic:before { + content: "headset_mic"; } + +.ui-icon-healing:before { + content: "healing"; } + +.ui-icon-hearing:before { + content: "hearing"; } + +.ui-icon-help:before { + content: "help"; } + +.ui-icon-help-outline:before { + content: "help_outline"; } + +.ui-icon-high-quality:before { + content: "high_quality"; } + +.ui-icon-highlight:before { + content: "highlight"; } + +.ui-icon-highlight-off:before { + content: "highlight_off"; } + +.ui-icon-history:before { + content: "history"; } + +.ui-icon-home:before { + content: "home"; } + +.ui-icon-hot-tub:before { + content: "hot_tub"; } + +.ui-icon-hotel:before { + content: "hotel"; } + +.ui-icon-hourglass-empty:before { + content: "hourglass_empty"; } + +.ui-icon-hourglass-full:before { + content: "hourglass_full"; } + +.ui-icon-http:before { + content: "http"; } + +.ui-icon-https:before { + content: "https"; } + +.ui-icon-image:before { + content: "image"; } + +.ui-icon-image-aspect-ratio:before { + content: "image_aspect_ratio"; } + +.ui-icon-import-contacts:before { + content: "import_contacts"; } + +.ui-icon-import-export:before { + content: "import_export"; } + +.ui-icon-important-devices:before { + content: "important_devices"; } + +.ui-icon-inbox:before { + content: "inbox"; } + +.ui-icon-indeterminate-check-box:before { + content: "indeterminate_check_box"; } + +.ui-icon-info:before { + content: "info"; } + +.ui-icon-info-outline:before { + content: "info_outline"; } + +.ui-icon-input:before { + content: "input"; } + +.ui-icon-insert-chart:before { + content: "insert_chart"; } + +.ui-icon-insert-comment:before { + content: "insert_comment"; } + +.ui-icon-insert-drive-file:before { + content: "insert_drive_file"; } + +.ui-icon-insert-emoticon:before { + content: "insert_emoticon"; } + +.ui-icon-insert-invitation:before { + content: "insert_invitation"; } + +.ui-icon-insert-link:before { + content: "insert_link"; } + +.ui-icon-insert-photo:before { + content: "insert_photo"; } + +.ui-icon-invert-colors:before { + content: "invert_colors"; } + +.ui-icon-invert-colors-off:before { + content: "invert_colors_off"; } + +.ui-icon-iso:before { + content: "iso"; } + +.ui-icon-keyboard:before { + content: "keyboard"; } + +.ui-icon-keyboard-arrow-down:before { + content: "keyboard_arrow_down"; } + +.ui-icon-keyboard-arrow-left:before { + content: "keyboard_arrow_left"; } + +.ui-icon-keyboard-arrow-right:before { + content: "keyboard_arrow_right"; } + +.ui-icon-keyboard-arrow-up:before { + content: "keyboard_arrow_up"; } + +.ui-icon-keyboard-backspace:before { + content: "keyboard_backspace"; } + +.ui-icon-keyboard-capslock:before { + content: "keyboard_capslock"; } + +.ui-icon-keyboard-hide:before { + content: "keyboard_hide"; } + +.ui-icon-keyboard-return:before { + content: "keyboard_return"; } + +.ui-icon-keyboard-tab:before { + content: "keyboard_tab"; } + +.ui-icon-keyboard-voice:before { + content: "keyboard_voice"; } + +.ui-icon-kitchen:before { + content: "kitchen"; } + +.ui-icon-label:before { + content: "label"; } + +.ui-icon-label-outline:before { + content: "label_outline"; } + +.ui-icon-landscape:before { + content: "landscape"; } + +.ui-icon-language:before { + content: "language"; } + +.ui-icon-laptop:before { + content: "laptop"; } + +.ui-icon-laptop-chromebook:before { + content: "laptop_chromebook"; } + +.ui-icon-laptop-mac:before { + content: "laptop_mac"; } + +.ui-icon-laptop-windows:before { + content: "laptop_windows"; } + +.ui-icon-last-page:before { + content: "last_page"; } + +.ui-icon-launch:before { + content: "launch"; } + +.ui-icon-layers:before { + content: "layers"; } + +.ui-icon-layers-clear:before { + content: "layers_clear"; } + +.ui-icon-leak-add:before { + content: "leak_add"; } + +.ui-icon-leak-remove:before { + content: "leak_remove"; } + +.ui-icon-lens:before { + content: "lens"; } + +.ui-icon-library-add:before { + content: "library_add"; } + +.ui-icon-library-books:before { + content: "library_books"; } + +.ui-icon-library-music:before { + content: "library_music"; } + +.ui-icon-lightbulb-outline:before { + content: "lightbulb_outline"; } + +.ui-icon-line-style:before { + content: "line_style"; } + +.ui-icon-line-weight:before { + content: "line_weight"; } + +.ui-icon-linear-scale:before { + content: "linear_scale"; } + +.ui-icon-link:before { + content: "link"; } + +.ui-icon-linked-camera:before { + content: "linked_camera"; } + +.ui-icon-list:before { + content: "list"; } + +.ui-icon-live-help:before { + content: "live_help"; } + +.ui-icon-live-tv:before { + content: "live_tv"; } + +.ui-icon-local-activity:before { + content: "local_activity"; } + +.ui-icon-local-airport:before { + content: "local_airport"; } + +.ui-icon-local-atm:before { + content: "local_atm"; } + +.ui-icon-local-bar:before { + content: "local_bar"; } + +.ui-icon-local-cafe:before { + content: "local_cafe"; } + +.ui-icon-local-car-wash:before { + content: "local_car_wash"; } + +.ui-icon-local-convenience-store:before { + content: "local_convenience_store"; } + +.ui-icon-local-dining:before { + content: "local_dining"; } + +.ui-icon-local-drink:before { + content: "local_drink"; } + +.ui-icon-local-florist:before { + content: "local_florist"; } + +.ui-icon-local-gas-station:before { + content: "local_gas_station"; } + +.ui-icon-local-grocery-store:before { + content: "local_grocery_store"; } + +.ui-icon-local-hospital:before { + content: "local_hospital"; } + +.ui-icon-local-hotel:before { + content: "local_hotel"; } + +.ui-icon-local-laundry-service:before { + content: "local_laundry_service"; } + +.ui-icon-local-library:before { + content: "local_library"; } + +.ui-icon-local-mall:before { + content: "local_mall"; } + +.ui-icon-local-movies:before { + content: "local_movies"; } + +.ui-icon-local-offer:before { + content: "local_offer"; } + +.ui-icon-local-parking:before { + content: "local_parking"; } + +.ui-icon-local-pharmacy:before { + content: "local_pharmacy"; } + +.ui-icon-local-phone:before { + content: "local_phone"; } + +.ui-icon-local-pizza:before { + content: "local_pizza"; } + +.ui-icon-local-play:before { + content: "local_play"; } + +.ui-icon-local-post-office:before { + content: "local_post_office"; } + +.ui-icon-local-printshop:before { + content: "local_printshop"; } + +.ui-icon-local-see:before { + content: "local_see"; } + +.ui-icon-local-shipping:before { + content: "local_shipping"; } + +.ui-icon-local-taxi:before { + content: "local_taxi"; } + +.ui-icon-location-city:before { + content: "location_city"; } + +.ui-icon-location-disabled:before { + content: "location_disabled"; } + +.ui-icon-location-off:before { + content: "location_off"; } + +.ui-icon-location-on:before { + content: "location_on"; } + +.ui-icon-location-searching:before { + content: "location_searching"; } + +.ui-icon-lock:before { + content: "lock"; } + +.ui-icon-lock-open:before { + content: "lock_open"; } + +.ui-icon-lock-outline:before { + content: "lock_outline"; } + +.ui-icon-looks:before { + content: "looks"; } + +.ui-icon-looks-3:before { + content: "looks_3"; } + +.ui-icon-looks-4:before { + content: "looks_4"; } + +.ui-icon-looks-5:before { + content: "looks_5"; } + +.ui-icon-looks-6:before { + content: "looks_6"; } + +.ui-icon-looks-one:before { + content: "looks_one"; } + +.ui-icon-looks-two:before { + content: "looks_two"; } + +.ui-icon-loop:before { + content: "loop"; } + +.ui-icon-loupe:before { + content: "loupe"; } + +.ui-icon-low-priority:before { + content: "low_priority"; } + +.ui-icon-loyalty:before { + content: "loyalty"; } + +.ui-icon-mail:before { + content: "mail"; } + +.ui-icon-mail-outline:before { + content: "mail_outline"; } + +.ui-icon-map:before { + content: "map"; } + +.ui-icon-markunread:before { + content: "markunread"; } + +.ui-icon-markunread-mailbox:before { + content: "markunread_mailbox"; } + +.ui-icon-memory:before { + content: "memory"; } + +.ui-icon-menu:before { + content: "menu"; } + +.ui-icon-merge-type:before { + content: "merge_type"; } + +.ui-icon-message:before { + content: "message"; } + +.ui-icon-mic:before { + content: "mic"; } + +.ui-icon-mic-none:before { + content: "mic_none"; } + +.ui-icon-mic-off:before { + content: "mic_off"; } + +.ui-icon-mms:before { + content: "mms"; } + +.ui-icon-mode-comment:before { + content: "mode_comment"; } + +.ui-icon-mode-edit:before { + content: "mode_edit"; } + +.ui-icon-monetization-on:before { + content: "monetization_on"; } + +.ui-icon-money-off:before { + content: "money_off"; } + +.ui-icon-monochrome-photos:before { + content: "monochrome_photos"; } + +.ui-icon-mood:before { + content: "mood"; } + +.ui-icon-mood-bad:before { + content: "mood_bad"; } + +.ui-icon-more:before { + content: "more"; } + +.ui-icon-more-horiz:before { + content: "more_horiz"; } + +.ui-icon-more-vert:before { + content: "more_vert"; } + +.ui-icon-motorcycle:before { + content: "motorcycle"; } + +.ui-icon-mouse:before { + content: "mouse"; } + +.ui-icon-move-to-inbox:before { + content: "move_to_inbox"; } + +.ui-icon-movie:before { + content: "movie"; } + +.ui-icon-movie-creation:before { + content: "movie_creation"; } + +.ui-icon-movie-filter:before { + content: "movie_filter"; } + +.ui-icon-multiline-chart:before { + content: "multiline_chart"; } + +.ui-icon-music-note:before { + content: "music_note"; } + +.ui-icon-music-video:before { + content: "music_video"; } + +.ui-icon-my-location:before { + content: "my_location"; } + +.ui-icon-nature:before { + content: "nature"; } + +.ui-icon-nature-people:before { + content: "nature_people"; } + +.ui-icon-navigate-before:before { + content: "navigate_before"; } + +.ui-icon-navigate-next:before { + content: "navigate_next"; } + +.ui-icon-navigation:before { + content: "navigation"; } + +.ui-icon-near-me:before { + content: "near_me"; } + +.ui-icon-network-cell:before { + content: "network_cell"; } + +.ui-icon-network-check:before { + content: "network_check"; } + +.ui-icon-network-locked:before { + content: "network_locked"; } + +.ui-icon-network-wifi:before { + content: "network_wifi"; } + +.ui-icon-new-releases:before { + content: "new_releases"; } + +.ui-icon-next-week:before { + content: "next_week"; } + +.ui-icon-nfc:before { + content: "nfc"; } + +.ui-icon-no-encryption:before { + content: "no_encryption"; } + +.ui-icon-no-sim:before { + content: "no_sim"; } + +.ui-icon-not-interested:before { + content: "not_interested"; } + +.ui-icon-note:before { + content: "note"; } + +.ui-icon-note-add:before { + content: "note_add"; } + +.ui-icon-notifications:before { + content: "notifications"; } + +.ui-icon-notifications-active:before { + content: "notifications_active"; } + +.ui-icon-notifications-none:before { + content: "notifications_none"; } + +.ui-icon-notifications-off:before { + content: "notifications_off"; } + +.ui-icon-notifications-paused:before { + content: "notifications_paused"; } + +.ui-icon-offline-pin:before { + content: "offline_pin"; } + +.ui-icon-ondemand-video:before { + content: "ondemand_video"; } + +.ui-icon-opacity:before { + content: "opacity"; } + +.ui-icon-open-in-browser:before { + content: "open_in_browser"; } + +.ui-icon-open-in-new:before { + content: "open_in_new"; } + +.ui-icon-open-with:before { + content: "open_with"; } + +.ui-icon-pages:before { + content: "pages"; } + +.ui-icon-pageview:before { + content: "pageview"; } + +.ui-icon-palette:before { + content: "palette"; } + +.ui-icon-pan-tool:before { + content: "pan_tool"; } + +.ui-icon-panorama:before { + content: "panorama"; } + +.ui-icon-panorama-fish-eye:before { + content: "panorama_fish_eye"; } + +.ui-icon-panorama-horizontal:before { + content: "panorama_horizontal"; } + +.ui-icon-panorama-vertical:before { + content: "panorama_vertical"; } + +.ui-icon-panorama-wide-angle:before { + content: "panorama_wide_angle"; } + +.ui-icon-party-mode:before { + content: "party_mode"; } + +.ui-icon-pause:before { + content: "pause"; } + +.ui-icon-pause-circle-filled:before { + content: "pause_circle_filled"; } + +.ui-icon-pause-circle-outline:before { + content: "pause_circle_outline"; } + +.ui-icon-payment:before { + content: "payment"; } + +.ui-icon-people:before { + content: "people"; } + +.ui-icon-people-outline:before { + content: "people_outline"; } + +.ui-icon-perm-camera-mic:before { + content: "perm_camera_mic"; } + +.ui-icon-perm-contact-calendar:before { + content: "perm_contact_calendar"; } + +.ui-icon-perm-data-setting:before { + content: "perm_data_setting"; } + +.ui-icon-perm-device-information:before { + content: "perm_device_information"; } + +.ui-icon-perm-identity:before { + content: "perm_identity"; } + +.ui-icon-perm-media:before { + content: "perm_media"; } + +.ui-icon-perm-phone-msg:before { + content: "perm_phone_msg"; } + +.ui-icon-perm-scan-wifi:before { + content: "perm_scan_wifi"; } + +.ui-icon-person:before { + content: "person"; } + +.ui-icon-person-add:before { + content: "person_add"; } + +.ui-icon-person-outline:before { + content: "person_outline"; } + +.ui-icon-person-pin:before { + content: "person_pin"; } + +.ui-icon-person-pin-circle:before { + content: "person_pin_circle"; } + +.ui-icon-personal-video:before { + content: "personal_video"; } + +.ui-icon-pets:before { + content: "pets"; } + +.ui-icon-phone:before { + content: "phone"; } + +.ui-icon-phone-android:before { + content: "phone_android"; } + +.ui-icon-phone-bluetooth-speaker:before { + content: "phone_bluetooth_speaker"; } + +.ui-icon-phone-forwarded:before { + content: "phone_forwarded"; } + +.ui-icon-phone-in-talk:before { + content: "phone_in_talk"; } + +.ui-icon-phone-iphone:before { + content: "phone_iphone"; } + +.ui-icon-phone-locked:before { + content: "phone_locked"; } + +.ui-icon-phone-missed:before { + content: "phone_missed"; } + +.ui-icon-phone-paused:before { + content: "phone_paused"; } + +.ui-icon-phonelink:before { + content: "phonelink"; } + +.ui-icon-phonelink-erase:before { + content: "phonelink_erase"; } + +.ui-icon-phonelink-lock:before { + content: "phonelink_lock"; } + +.ui-icon-phonelink-off:before { + content: "phonelink_off"; } + +.ui-icon-phonelink-ring:before { + content: "phonelink_ring"; } + +.ui-icon-phonelink-setup:before { + content: "phonelink_setup"; } + +.ui-icon-photo:before { + content: "photo"; } + +.ui-icon-photo-album:before { + content: "photo_album"; } + +.ui-icon-photo-camera:before { + content: "photo_camera"; } + +.ui-icon-photo-filter:before { + content: "photo_filter"; } + +.ui-icon-photo-library:before { + content: "photo_library"; } + +.ui-icon-photo-size-select-actual:before { + content: "photo_size_select_actual"; } + +.ui-icon-photo-size-select-large:before { + content: "photo_size_select_large"; } + +.ui-icon-photo-size-select-small:before { + content: "photo_size_select_small"; } + +.ui-icon-picture-as-pdf:before { + content: "picture_as_pdf"; } + +.ui-icon-picture-in-picture:before { + content: "picture_in_picture"; } + +.ui-icon-picture-in-picture-alt:before { + content: "picture_in_picture_alt"; } + +.ui-icon-pie-chart:before { + content: "pie_chart"; } + +.ui-icon-pie-chart-outlined:before { + content: "pie_chart_outlined"; } + +.ui-icon-pin-drop:before { + content: "pin_drop"; } + +.ui-icon-place:before { + content: "place"; } + +.ui-icon-play-arrow:before { + content: "play_arrow"; } + +.ui-icon-play-circle-filled:before { + content: "play_circle_filled"; } + +.ui-icon-play-circle-outline:before { + content: "play_circle_outline"; } + +.ui-icon-play-for-work:before { + content: "play_for_work"; } + +.ui-icon-playlist-add:before { + content: "playlist_add"; } + +.ui-icon-playlist-add-check:before { + content: "playlist_add_check"; } + +.ui-icon-playlist-play:before { + content: "playlist_play"; } + +.ui-icon-plus-one:before { + content: "plus_one"; } + +.ui-icon-poll:before { + content: "poll"; } + +.ui-icon-polymer:before { + content: "polymer"; } + +.ui-icon-pool:before { + content: "pool"; } + +.ui-icon-portable-wifi-off:before { + content: "portable_wifi_off"; } + +.ui-icon-portrait:before { + content: "portrait"; } + +.ui-icon-power:before { + content: "power"; } + +.ui-icon-power-input:before { + content: "power_input"; } + +.ui-icon-power-settings-new:before { + content: "power_settings_new"; } + +.ui-icon-pregnant-woman:before { + content: "pregnant_woman"; } + +.ui-icon-present-to-all:before { + content: "present_to_all"; } + +.ui-icon-print:before { + content: "print"; } + +.ui-icon-priority-high:before { + content: "priority_high"; } + +.ui-icon-public:before { + content: "public"; } + +.ui-icon-publish:before { + content: "publish"; } + +.ui-icon-query-builder:before { + content: "query_builder"; } + +.ui-icon-question-answer:before { + content: "question_answer"; } + +.ui-icon-queue:before { + content: "queue"; } + +.ui-icon-queue-music:before { + content: "queue_music"; } + +.ui-icon-queue-play-next:before { + content: "queue_play_next"; } + +.ui-icon-radio:before { + content: "radio"; } + +.ui-icon-radio-button-checked:before { + content: "radio_button_checked"; } + +.ui-icon-radio-button-unchecked:before { + content: "radio_button_unchecked"; } + +.ui-icon-rate-review:before { + content: "rate_review"; } + +.ui-icon-receipt:before { + content: "receipt"; } + +.ui-icon-recent-actors:before { + content: "recent_actors"; } + +.ui-icon-record-voice-over:before { + content: "record_voice_over"; } + +.ui-icon-redeem:before { + content: "redeem"; } + +.ui-icon-redo:before { + content: "redo"; } + +.ui-icon-refresh:before { + content: "refresh"; } + +.ui-icon-remove:before { + content: "remove"; } + +.ui-icon-remove-circle:before { + content: "remove_circle"; } + +.ui-icon-remove-circle-outline:before { + content: "remove_circle_outline"; } + +.ui-icon-remove-from-queue:before { + content: "remove_from_queue"; } + +.ui-icon-remove-red-eye:before { + content: "remove_red_eye"; } + +.ui-icon-remove-shopping-cart:before { + content: "remove_shopping_cart"; } + +.ui-icon-reorder:before { + content: "reorder"; } + +.ui-icon-repeat:before { + content: "repeat"; } + +.ui-icon-repeat-one:before { + content: "repeat_one"; } + +.ui-icon-replay:before { + content: "replay"; } + +.ui-icon-replay-10:before { + content: "replay_10"; } + +.ui-icon-replay-30:before { + content: "replay_30"; } + +.ui-icon-replay-5:before { + content: "replay_5"; } + +.ui-icon-reply:before { + content: "reply"; } + +.ui-icon-reply-all:before { + content: "reply_all"; } + +.ui-icon-report:before { + content: "report"; } + +.ui-icon-report-problem:before { + content: "report_problem"; } + +.ui-icon-restaurant:before { + content: "restaurant"; } + +.ui-icon-restaurant-menu:before { + content: "restaurant_menu"; } + +.ui-icon-restore:before { + content: "restore"; } + +.ui-icon-restore-page:before { + content: "restore_page"; } + +.ui-icon-ring-volume:before { + content: "ring_volume"; } + +.ui-icon-room:before { + content: "room"; } + +.ui-icon-room-service:before { + content: "room_service"; } + +.ui-icon-rotate-90-degrees-ccw:before { + content: "rotate_90_degrees_ccw"; } + +.ui-icon-rotate-left:before { + content: "rotate_left"; } + +.ui-icon-rotate-right:before { + content: "rotate_right"; } + +.ui-icon-rounded-corner:before { + content: "rounded_corner"; } + +.ui-icon-router:before { + content: "router"; } + +.ui-icon-rowing:before { + content: "rowing"; } + +.ui-icon-rss-feed:before { + content: "rss_feed"; } + +.ui-icon-rv-hookup:before { + content: "rv_hookup"; } + +.ui-icon-satellite:before { + content: "satellite"; } + +.ui-icon-save:before { + content: "save"; } + +.ui-icon-scanner:before { + content: "scanner"; } + +.ui-icon-schedule:before { + content: "schedule"; } + +.ui-icon-school:before { + content: "school"; } + +.ui-icon-screen-lock-landscape:before { + content: "screen_lock_landscape"; } + +.ui-icon-screen-lock-portrait:before { + content: "screen_lock_portrait"; } + +.ui-icon-screen-lock-rotation:before { + content: "screen_lock_rotation"; } + +.ui-icon-screen-rotation:before { + content: "screen_rotation"; } + +.ui-icon-screen-share:before { + content: "screen_share"; } + +.ui-icon-sd-card:before { + content: "sd_card"; } + +.ui-icon-sd-storage:before { + content: "sd_storage"; } + +.ui-icon-search:before { + content: "search"; } + +.ui-icon-security:before { + content: "security"; } + +.ui-icon-select-all:before { + content: "select_all"; } + +.ui-icon-send:before { + content: "send"; } + +.ui-icon-sentiment-dissatisfied:before { + content: "sentiment_dissatisfied"; } + +.ui-icon-sentiment-neutral:before { + content: "sentiment_neutral"; } + +.ui-icon-sentiment-satisfied:before { + content: "sentiment_satisfied"; } + +.ui-icon-sentiment-very-dissatisfied:before { + content: "sentiment_very_dissatisfied"; } + +.ui-icon-sentiment-very-satisfied:before { + content: "sentiment_very_satisfied"; } + +.ui-icon-settings:before { + content: "settings"; } + +.ui-icon-settings-applications:before { + content: "settings_applications"; } + +.ui-icon-settings-backup-restore:before { + content: "settings_backup_restore"; } + +.ui-icon-settings-bluetooth:before { + content: "settings_bluetooth"; } + +.ui-icon-settings-brightness:before { + content: "settings_brightness"; } + +.ui-icon-settings-cell:before { + content: "settings_cell"; } + +.ui-icon-settings-ethernet:before { + content: "settings_ethernet"; } + +.ui-icon-settings-input-antenna:before { + content: "settings_input_antenna"; } + +.ui-icon-settings-input-component:before { + content: "settings_input_component"; } + +.ui-icon-settings-input-composite:before { + content: "settings_input_composite"; } + +.ui-icon-settings-input-hdmi:before { + content: "settings_input_hdmi"; } + +.ui-icon-settings-input-svideo:before { + content: "settings_input_svideo"; } + +.ui-icon-settings-overscan:before { + content: "settings_overscan"; } + +.ui-icon-settings-phone:before { + content: "settings_phone"; } + +.ui-icon-settings-power:before { + content: "settings_power"; } + +.ui-icon-settings-remote:before { + content: "settings_remote"; } + +.ui-icon-settings-system-daydream:before { + content: "settings_system_daydream"; } + +.ui-icon-settings-voice:before { + content: "settings_voice"; } + +.ui-icon-share:before { + content: "share"; } + +.ui-icon-shop:before { + content: "shop"; } + +.ui-icon-shop-two:before { + content: "shop_two"; } + +.ui-icon-shopping-basket:before { + content: "shopping_basket"; } + +.ui-icon-shopping-cart:before { + content: "shopping_cart"; } + +.ui-icon-short-text:before { + content: "short_text"; } + +.ui-icon-show-chart:before { + content: "show_chart"; } + +.ui-icon-shuffle:before { + content: "shuffle"; } + +.ui-icon-signal-cellular-4-bar:before { + content: "signal_cellular_4_bar"; } + +.ui-icon-signal-cellular-connected-no-internet-4-bar:before { + content: "signal_cellular_connected_no_internet_4_bar"; } + +.ui-icon-signal-cellular-no-sim:before { + content: "signal_cellular_no_sim"; } + +.ui-icon-signal-cellular-null:before { + content: "signal_cellular_null"; } + +.ui-icon-signal-cellular-off:before { + content: "signal_cellular_off"; } + +.ui-icon-signal-wifi-4-bar:before { + content: "signal_wifi_4_bar"; } + +.ui-icon-signal-wifi-4-bar-lock:before { + content: "signal_wifi_4_bar_lock"; } + +.ui-icon-signal-wifi-off:before { + content: "signal_wifi_off"; } + +.ui-icon-sim-card:before { + content: "sim_card"; } + +.ui-icon-sim-card-alert:before { + content: "sim_card_alert"; } + +.ui-icon-skip-next:before { + content: "skip_next"; } + +.ui-icon-skip-previous:before { + content: "skip_previous"; } + +.ui-icon-slideshow:before { + content: "slideshow"; } + +.ui-icon-slow-motion-video:before { + content: "slow_motion_video"; } + +.ui-icon-smartphone:before { + content: "smartphone"; } + +.ui-icon-smoke-free:before { + content: "smoke_free"; } + +.ui-icon-smoking-rooms:before { + content: "smoking_rooms"; } + +.ui-icon-sms:before { + content: "sms"; } + +.ui-icon-sms-failed:before { + content: "sms_failed"; } + +.ui-icon-snooze:before { + content: "snooze"; } + +.ui-icon-sort:before { + content: "sort"; } + +.ui-icon-sort-by-alpha:before { + content: "sort_by_alpha"; } + +.ui-icon-spa:before { + content: "spa"; } + +.ui-icon-space-bar:before { + content: "space_bar"; } + +.ui-icon-speaker:before { + content: "speaker"; } + +.ui-icon-speaker-group:before { + content: "speaker_group"; } + +.ui-icon-speaker-notes:before { + content: "speaker_notes"; } + +.ui-icon-speaker-notes-off:before { + content: "speaker_notes_off"; } + +.ui-icon-speaker-phone:before { + content: "speaker_phone"; } + +.ui-icon-spellcheck:before { + content: "spellcheck"; } + +.ui-icon-star:before { + content: "star"; } + +.ui-icon-star-border:before { + content: "star_border"; } + +.ui-icon-star-half:before { + content: "star_half"; } + +.ui-icon-stars:before { + content: "stars"; } + +.ui-icon-stay-current-landscape:before { + content: "stay_current_landscape"; } + +.ui-icon-stay-current-portrait:before { + content: "stay_current_portrait"; } + +.ui-icon-stay-primary-landscape:before { + content: "stay_primary_landscape"; } + +.ui-icon-stay-primary-portrait:before { + content: "stay_primary_portrait"; } + +.ui-icon-stop:before { + content: "stop"; } + +.ui-icon-stop-screen-share:before { + content: "stop_screen_share"; } + +.ui-icon-storage:before { + content: "storage"; } + +.ui-icon-store:before { + content: "store"; } + +.ui-icon-store-mall-directory:before { + content: "store_mall_directory"; } + +.ui-icon-straighten:before { + content: "straighten"; } + +.ui-icon-streetview:before { + content: "streetview"; } + +.ui-icon-strikethrough-s:before { + content: "strikethrough_s"; } + +.ui-icon-style:before { + content: "style"; } + +.ui-icon-subdirectory-arrow-left:before { + content: "subdirectory_arrow_left"; } + +.ui-icon-subdirectory-arrow-right:before { + content: "subdirectory_arrow_right"; } + +.ui-icon-subject:before { + content: "subject"; } + +.ui-icon-subscriptions:before { + content: "subscriptions"; } + +.ui-icon-subtitles:before { + content: "subtitles"; } + +.ui-icon-subway:before { + content: "subway"; } + +.ui-icon-supervisor-account:before { + content: "supervisor_account"; } + +.ui-icon-surround-sound:before { + content: "surround_sound"; } + +.ui-icon-swap-calls:before { + content: "swap_calls"; } + +.ui-icon-swap-horiz:before { + content: "swap_horiz"; } + +.ui-icon-swap-vert:before { + content: "swap_vert"; } + +.ui-icon-swap-vertical-circle:before { + content: "swap_vertical_circle"; } + +.ui-icon-switch-camera:before { + content: "switch_camera"; } + +.ui-icon-switch-video:before { + content: "switch_video"; } + +.ui-icon-sync:before { + content: "sync"; } + +.ui-icon-sync-disabled:before { + content: "sync_disabled"; } + +.ui-icon-sync-problem:before { + content: "sync_problem"; } + +.ui-icon-system-update:before { + content: "system_update"; } + +.ui-icon-system-update-alt:before { + content: "system_update_alt"; } + +.ui-icon-tab:before { + content: "tab"; } + +.ui-icon-tab-unselected:before { + content: "tab_unselected"; } + +.ui-icon-tablet:before { + content: "tablet"; } + +.ui-icon-tablet-android:before { + content: "tablet_android"; } + +.ui-icon-tablet-mac:before { + content: "tablet_mac"; } + +.ui-icon-tag-faces:before { + content: "tag_faces"; } + +.ui-icon-tap-and-play:before { + content: "tap_and_play"; } + +.ui-icon-terrain:before { + content: "terrain"; } + +.ui-icon-text-fields:before { + content: "text_fields"; } + +.ui-icon-text-format:before { + content: "text_format"; } + +.ui-icon-textsms:before { + content: "textsms"; } + +.ui-icon-texture:before { + content: "texture"; } + +.ui-icon-theaters:before { + content: "theaters"; } + +.ui-icon-thumb-down:before { + content: "thumb_down"; } + +.ui-icon-thumb-up:before { + content: "thumb_up"; } + +.ui-icon-thumbs-up-down:before { + content: "thumbs_up_down"; } + +.ui-icon-time-to-leave:before { + content: "time_to_leave"; } + +.ui-icon-timelapse:before { + content: "timelapse"; } + +.ui-icon-timeline:before { + content: "timeline"; } + +.ui-icon-timer:before { + content: "timer"; } + +.ui-icon-timer-10:before { + content: "timer_10"; } + +.ui-icon-timer-3:before { + content: "timer_3"; } + +.ui-icon-timer-off:before { + content: "timer_off"; } + +.ui-icon-title:before { + content: "title"; } + +.ui-icon-toc:before { + content: "toc"; } + +.ui-icon-today:before { + content: "today"; } + +.ui-icon-toll:before { + content: "toll"; } + +.ui-icon-tonality:before { + content: "tonality"; } + +.ui-icon-touch-app:before { + content: "touch_app"; } + +.ui-icon-toys:before { + content: "toys"; } + +.ui-icon-track-changes:before { + content: "track_changes"; } + +.ui-icon-traffic:before { + content: "traffic"; } + +.ui-icon-train:before { + content: "train"; } + +.ui-icon-tram:before { + content: "tram"; } + +.ui-icon-transfer-within-a-station:before { + content: "transfer_within_a_station"; } + +.ui-icon-transform:before { + content: "transform"; } + +.ui-icon-translate:before { + content: "translate"; } + +.ui-icon-trending-down:before { + content: "trending_down"; } + +.ui-icon-trending-flat:before { + content: "trending_flat"; } + +.ui-icon-trending-up:before { + content: "trending_up"; } + +.ui-icon-tune:before { + content: "tune"; } + +.ui-icon-turned-in:before { + content: "turned_in"; } + +.ui-icon-turned-in-not:before { + content: "turned_in_not"; } + +.ui-icon-tv:before { + content: "tv"; } + +.ui-icon-unarchive:before { + content: "unarchive"; } + +.ui-icon-undo:before { + content: "undo"; } + +.ui-icon-unfold-less:before { + content: "unfold_less"; } + +.ui-icon-unfold-more:before { + content: "unfold_more"; } + +.ui-icon-update:before { + content: "update"; } + +.ui-icon-usb:before { + content: "usb"; } + +.ui-icon-verified-user:before { + content: "verified_user"; } + +.ui-icon-vertical-align-bottom:before { + content: "vertical_align_bottom"; } + +.ui-icon-vertical-align-center:before { + content: "vertical_align_center"; } + +.ui-icon-vertical-align-top:before { + content: "vertical_align_top"; } + +.ui-icon-vibration:before { + content: "vibration"; } + +.ui-icon-video-call:before { + content: "video_call"; } + +.ui-icon-video-label:before { + content: "video_label"; } + +.ui-icon-video-library:before { + content: "video_library"; } + +.ui-icon-videocam:before { + content: "videocam"; } + +.ui-icon-videocam-off:before { + content: "videocam_off"; } + +.ui-icon-videogame-asset:before { + content: "videogame_asset"; } + +.ui-icon-view-agenda:before { + content: "view_agenda"; } + +.ui-icon-view-array:before { + content: "view_array"; } + +.ui-icon-view-carousel:before { + content: "view_carousel"; } + +.ui-icon-view-column:before { + content: "view_column"; } + +.ui-icon-view-comfy:before { + content: "view_comfy"; } + +.ui-icon-view-compact:before { + content: "view_compact"; } + +.ui-icon-view-day:before { + content: "view_day"; } + +.ui-icon-view-headline:before { + content: "view_headline"; } + +.ui-icon-view-list:before { + content: "view_list"; } + +.ui-icon-view-module:before { + content: "view_module"; } + +.ui-icon-view-quilt:before { + content: "view_quilt"; } + +.ui-icon-view-stream:before { + content: "view_stream"; } + +.ui-icon-view-week:before { + content: "view_week"; } + +.ui-icon-vignette:before { + content: "vignette"; } + +.ui-icon-visibility:before { + content: "visibility"; } + +.ui-icon-visibility-off:before { + content: "visibility_off"; } + +.ui-icon-voice-chat:before { + content: "voice_chat"; } + +.ui-icon-voicemail:before { + content: "voicemail"; } + +.ui-icon-volume-down:before { + content: "volume_down"; } + +.ui-icon-volume-mute:before { + content: "volume_mute"; } + +.ui-icon-volume-off:before { + content: "volume_off"; } + +.ui-icon-volume-up:before { + content: "volume_up"; } + +.ui-icon-vpn-key:before { + content: "vpn_key"; } + +.ui-icon-vpn-lock:before { + content: "vpn_lock"; } + +.ui-icon-wallpaper:before { + content: "wallpaper"; } + +.ui-icon-warning:before { + content: "warning"; } + +.ui-icon-watch:before { + content: "watch"; } + +.ui-icon-watch-later:before { + content: "watch_later"; } + +.ui-icon-wb-auto:before { + content: "wb_auto"; } + +.ui-icon-wb-cloudy:before { + content: "wb_cloudy"; } + +.ui-icon-wb-incandescent:before { + content: "wb_incandescent"; } + +.ui-icon-wb-iridescent:before { + content: "wb_iridescent"; } + +.ui-icon-wb-sunny:before { + content: "wb_sunny"; } + +.ui-icon-wc:before { + content: "wc"; } + +.ui-icon-web:before { + content: "web"; } + +.ui-icon-web-asset:before { + content: "web_asset"; } + +.ui-icon-weekend:before { + content: "weekend"; } + +.ui-icon-whatshot:before { + content: "whatshot"; } + +.ui-icon-widgets:before { + content: "widgets"; } + +.ui-icon-wifi:before { + content: "wifi"; } + +.ui-icon-wifi-lock:before { + content: "wifi_lock"; } + +.ui-icon-wifi-tethering:before { + content: "wifi_tethering"; } + +.ui-icon-work:before { + content: "work"; } + +.ui-icon-wrap-text:before { + content: "wrap_text"; } + +.ui-icon-youtube-searched-for:before { + content: "youtube_searched_for"; } + +.ui-icon-zoom-in:before { + content: "zoom_in"; } + +.ui-icon-zoom-out:before { + content: "zoom_out"; } + +.ui-icon-zoom-out-map:before { + content: "zoom_out_map"; } + +.material-icons, .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + +body .ui-widget, +body .ui-widget .ui-widget { + font-family: "Roboto","Helvetica Neue",sans-serif; + text-decoration: none; } +body .ui-widget-content { + background-color: #ffffff; + font-size: 1em; + border: 1px solid #bdbdbd; } + body .ui-widget-content .fa { + color: #757575; } +body .ui-widget-header { + background-color: #673AB7; + color: #ffffff; + font-size: 1em; + border: 1px solid #673AB7; } + body .ui-widget-header .fa { + color: #ffffff; } +body .ui-state-active, body .ui-state-highlight { + background-color: #FFC107; + color: #212121; } + body .ui-state-active .fa, body .ui-state-highlight .fa { + color: #ffffff; } +body .ui-widget:disabled, +body .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; + cursor: auto !important; } +body .ui-corner-all { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } +body .ui-corner-top { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } +body .ui-corner-bottom { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-corner-left { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; } +body .ui-corner-right { + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-widget-overlay { + background-color: #58575c; + opacity: .8; } + +body { + /* InputGroup */ + /* Validation */ } + body .ui-inputtext { + background: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + font-size: 1em; + border-color: #bdbdbd; + border-style: solid; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + border-radius: 0px; } + body .ui-inputtext:focus, body .ui-inputtext.ui-state-focus { + border-width: 0 0 2px 0; + border-color: #673AB7; + padding-bottom: 0px; } + body .ui-inputtext:disabled { + border-bottom: 1px dotted; } + body .ui-inputtext.ui-widget-content { + border-width: 1px; } + body .ui-inputtext.ui-state-error { + border-color: #e62a10; } + body .md-inputfield { + display: block; + position: relative; } + body .md-inputfield label { + color: #999; + font-weight: normal; + position: absolute; + pointer-events: none; + left: 5px; + top: 1px; + transition: 0.3s ease all; + -moz-transition: 0.3s ease all; + -webkit-transition: 0.3s ease all; } + body .md-inputfield input:focus ~ label, + body .md-inputfield input.ui-state-filled ~ label, + body .md-inputfield .ui-inputwrapper-focus ~ label, + body .md-inputfield .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #673AB7; } + body .md-inputfield .input:-webkit-autofill ~ label { + top: -20px; + font-size: 12px; + color: #673AB7; } + body .md-inputfield input.ng-dirty.ng-invalid ~ label { + color: #e62a10; } + body .md-inputfield .ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .md-inputfield.md-inputfield-fill input { + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 4px; } + body .md-inputfield.md-inputfield-fill label { + top: 2px; } + body .md-inputfield.md-inputfield-fill input:focus ~ label, + body .md-inputfield.md-inputfield-fill input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #673AB7; } + body .md-inputfield.md-inputfield-box { + background-color: #f7f7f7; + height: 44px; } + body .md-inputfield.md-inputfield-box > *:not(label) { + bottom: 0px; + position: absolute; + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 24px; } + body .md-inputfield.md-inputfield-box > label { + top: 23px; } + body .md-inputfield.md-inputfield-box input:focus ~ label, + body .md-inputfield.md-inputfield-box input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-filled ~ label { + top: 1px; } + body .md-inputfield.md-inputfield-box .input:-webkit-autofill ~ label { + top: 1px; } + body .ui-material-message.ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .ui-material-message.ui-message.ui-messages-error label { + top: 4px; } + body .ui-listbox { + min-width: 12.5em; + background-color: #ffffff; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-listbox.ui-inputtext { + padding: 0; } + body .ui-listbox .ui-listbox-list { + padding: 0; } + body .ui-listbox .ui-listbox-item { + overflow: hidden; + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + color: #212121; + position: relative; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-listbox .ui-listbox-item.ui-state-highlight { + background-color: #FFC107; + color: #212121; } + body .ui-listbox:not(.ui-state-disabled) .ui-listbox-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-listbox .ui-listbox-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; } + body .ui-listbox .ui-listbox-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext { + color: #ffffff; + padding: 2px 2px 1px 2px; + padding-left: 1.5em; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext:focus { + padding-bottom: 0; + border-bottom-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .fa { + top: 0; + left: 0; } + body .ui-button, body .ui-datepicker-buttonpane > button { + overflow: hidden; + background-color: #673AB7; + color: #ffffff; + font-size: 1em; + height: 2.25em; + padding: 0 1em; + border: 0 none; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button:focus, body .ui-datepicker-buttonpane > button:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button .ui-button-text, body .ui-datepicker-buttonpane > button .ui-button-text { + padding: 0; + line-height: 2.25em; } + body .ui-button .fa, body .ui-datepicker-buttonpane > button .fa { + color: #ffffff; } + body .ui-button.ui-button-icon-only, body .ui-datepicker-buttonpane > button.ui-button-icon-only { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 2.5em; + height: 2.5em; } + body .ui-button.ui-button-icon-only .fa, body .ui-datepicker-buttonpane > button.ui-button-icon-only .fa { + margin-left: -.5em; } + body .ui-button.ui-button-text-icon-left, body .ui-datepicker-buttonpane > button.ui-button-text-icon-left { + padding-left: 2.5em; } + body .ui-button.ui-button-text-icon-right, body .ui-datepicker-buttonpane > button.ui-button-text-icon-right { + padding-right: 2.5em; } + body .ui-button.secondary, body .ui-button.ui-secondary-button, body .ui-datepicker-buttonpane > button.secondary, body .ui-datepicker-buttonpane > button.ui-secondary-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.secondary:enabled:not(:focus):hover, body .ui-button.ui-secondary-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.secondary:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-secondary-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.secondary:focus, body .ui-button.ui-secondary-button:focus, body .ui-datepicker-buttonpane > button.secondary:focus, body .ui-datepicker-buttonpane > button.ui-secondary-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.blue-grey-btn, body .ui-datepicker-buttonpane > button.blue-grey-btn { + background-color: #607D8B; } + body .ui-button.blue-grey-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-grey-btn:enabled:not(:focus):hover { + background-color: #37474F; } + body .ui-button.blue-grey-btn:focus, body .ui-datepicker-buttonpane > button.blue-grey-btn:focus { + outline: 0 none; + background-color: #7b96a3; } + body .ui-button.cyan-btn, body .ui-datepicker-buttonpane > button.cyan-btn { + background-color: #00BCD4; } + body .ui-button.cyan-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.cyan-btn:enabled:not(:focus):hover { + background-color: #00838F; } + body .ui-button.cyan-btn:focus, body .ui-datepicker-buttonpane > button.cyan-btn:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button.teal-btn, body .ui-datepicker-buttonpane > button.teal-btn { + background-color: #009688; } + body .ui-button.teal-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.teal-btn:enabled:not(:focus):hover { + background-color: #00695C; } + body .ui-button.teal-btn:focus, body .ui-datepicker-buttonpane > button.teal-btn:focus { + outline: 0 none; + background-color: #00c9b6; } + body .ui-button.red-btn, body .ui-button.ui-danger-button, body .ui-datepicker-buttonpane > button.red-btn, body .ui-datepicker-buttonpane > button.ui-danger-button { + background-color: #F44336; } + body .ui-button.red-btn:enabled:not(:focus):hover, body .ui-button.ui-danger-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.red-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-danger-button:enabled:not(:focus):hover { + background-color: #C62828; } + body .ui-button.red-btn:focus, body .ui-button.ui-danger-button:focus, body .ui-datepicker-buttonpane > button.red-btn:focus, body .ui-datepicker-buttonpane > button.ui-danger-button:focus { + outline: 0 none; + background-color: #f77066; } + body .ui-button.green-btn, body .ui-button.ui-success-button, body .ui-datepicker-buttonpane > button.green-btn, body .ui-datepicker-buttonpane > button.ui-success-button { + background-color: #4CAF50; } + body .ui-button.green-btn:enabled:not(:focus):hover, body .ui-button.ui-success-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.green-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-success-button:enabled:not(:focus):hover { + background-color: #2E7D32; } + body .ui-button.green-btn:focus, body .ui-button.ui-success-button:focus, body .ui-datepicker-buttonpane > button.green-btn:focus, body .ui-datepicker-buttonpane > button.ui-success-button:focus { + outline: 0 none; + background-color: #6ec071; } + body .ui-button.deep-orange-btn, body .ui-datepicker-buttonpane > button.deep-orange-btn { + background-color: #FF5722; } + body .ui-button.deep-orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.deep-orange-btn:enabled:not(:focus):hover { + background-color: #D84315; } + body .ui-button.deep-orange-btn:focus, body .ui-datepicker-buttonpane > button.deep-orange-btn:focus { + outline: 0 none; + background-color: #ff7e55; } + body .ui-button.purple-btn, body .ui-datepicker-buttonpane > button.purple-btn { + background-color: #673AB7; } + body .ui-button.purple-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.purple-btn:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button.purple-btn:focus, body .ui-datepicker-buttonpane > button.purple-btn:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button.pink-btn, body .ui-datepicker-buttonpane > button.pink-btn { + background-color: #E91E63; } + body .ui-button.pink-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.pink-btn:enabled:not(:focus):hover { + background-color: #AD1457; } + body .ui-button.pink-btn:focus, body .ui-datepicker-buttonpane > button.pink-btn:focus { + outline: 0 none; + background-color: #ee4c83; } + body .ui-button.amber-btn, body .ui-button.ui-warning-button, body .ui-datepicker-buttonpane > button.amber-btn, body .ui-datepicker-buttonpane > button.ui-warning-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.amber-btn:enabled:not(:focus):hover, body .ui-button.ui-warning-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.amber-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-warning-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.amber-btn:focus, body .ui-button.ui-warning-button:focus, body .ui-datepicker-buttonpane > button.amber-btn:focus, body .ui-datepicker-buttonpane > button.ui-warning-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.orange-btn, body .ui-datepicker-buttonpane > button.orange-btn { + background-color: #FF9800; } + body .ui-button.orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.orange-btn:enabled:not(:focus):hover { + background-color: #EF6C00; } + body .ui-button.orange-btn:focus, body .ui-datepicker-buttonpane > button.orange-btn:focus { + outline: 0 none; + background-color: #ffad33; } + body .ui-button.brown-btn, body .ui-datepicker-buttonpane > button.brown-btn { + background-color: #795548; } + body .ui-button.brown-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.brown-btn:enabled:not(:focus):hover { + background-color: #4E342E; } + body .ui-button.brown-btn:focus, body .ui-datepicker-buttonpane > button.brown-btn:focus { + outline: 0 none; + background-color: #996b5b; } + body .ui-button.indigo-btn, body .ui-datepicker-buttonpane > button.indigo-btn { + background-color: #3F51B5; } + body .ui-button.indigo-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.indigo-btn:enabled:not(:focus):hover { + background-color: #283593; } + body .ui-button.indigo-btn:focus, body .ui-datepicker-buttonpane > button.indigo-btn:focus { + outline: 0 none; + background-color: #606fc7; } + body .ui-button.blue-btn, body .ui-button.ui-info-button, body .ui-datepicker-buttonpane > button.blue-btn, body .ui-datepicker-buttonpane > button.ui-info-button { + background-color: #03A9F4; + color: #ffffff; } + body .ui-button.blue-btn:enabled:not(:focus):hover, body .ui-button.ui-info-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-info-button:enabled:not(:focus):hover { + background-color: #0277BD; } + body .ui-button.blue-btn:focus, body .ui-button.ui-info-button:focus, body .ui-datepicker-buttonpane > button.blue-btn:focus, body .ui-datepicker-buttonpane > button.ui-info-button:focus { + outline: 0 none; + background-color: #2ebcfc; } + body .ui-button.flat, body .ui-datepicker-buttonpane > button.flat { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-buttonset .ui-button:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #4527A0; } + body .ui-buttonset .ui-button.ui-state-active { + background-color: #FFC107; + color: #212121; } + body .ui-togglebutton:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #4527A0; } + body .ui-togglebutton.ui-state-active { + background-color: #FFC107; + color: #212121; } + body .ui-splitbutton { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); } + body .ui-splitbutton > .ui-button { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-splitbutton > .ui-button:active { + background-color: #8259cb; } + body .ui-splitbutton .ui-splitbutton-menubutton { + height: 2.25em; + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton .ui-menu { + min-width: 100%; } + body .ui-fluid .ui-splitbutton .ui-button:first-child { + width: calc(100% - 2em); } + body .ui-chkbox { + display: inline-block; + vertical-align: middle; + line-height: 1.25em; + width: 1.25em; + height: 1.25em; + cursor: default; } + body .ui-chkbox .ui-chkbox-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + font-size: 1.25em; + margin-left: -2px; + margin-top: -2px; } + body .ui-chkbox .ui-chkbox-box.ui-state-active { + border-color: #673AB7; + background-color: #673AB7; } + body .ui-chkbox .ui-chkbox-box.ui-state-focus { + border-color: #673AB7; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton { + position: relative; + margin: 0 .25em 0 0; + vertical-align: middle; } + body .ui-radiobutton .ui-radiobutton-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + -moz-transition: box-shadow 0.3s; + -o-transition: box-shadow 0.3s; + -webkit-transition: box-shadow 0.3s; + transition: box-shadow 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-focus { + border-color: #673AB7; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-active { + border-color: #673AB7; + background-color: transparent; } + body .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon { + display: block; + box-sizing: border-box; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-size: 1em; + transition: -webkit-transform ease .28s; + transition: transform ease .28s; + -webkit-transform: scale(0); + transform: scale(0); + margin: 0; } + body .ui-radiobutton .ui-radiobutton-box .fa-circle { + background-color: #673AB7; + -webkit-transform: scale(0.5); + transform: scale(0.5); } + body .ui-autocomplete-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-autocomplete-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-autocomplete-panel .ui-autocomplete-list { + padding: 0; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + font-size: 1em; + padding: 0.625em 0.875em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item .ui-autocomplete-query { + font-weight: 700; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item.ui-state-highlight { + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-group { + padding: 0.625em 0.875em; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only { + background-color: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + height: 1.5em; + width: 1.5em; + padding: 0; + right: 0; + bottom: 0; + margin-right: 0; + position: absolute; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .ui-button-text { + display: none; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .fa { + color: #757575; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-inputtext { + box-sizing: border-box; + padding: 2px 2px 1px 2px; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-focus { + padding-bottom: 0; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token { + float: none; + display: inline-block; + margin: 0 1px; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token .ui-autocomplete-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-dropdown { + top: .75em; } + body .ui-fluid .ui-autocomplete.ui-autocomplete-dd > .ui-inputtext { + width: 100%; } + body .ui-dropdown { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-dropdown .ui-dropdown-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: 0; + margin-right: 0; } + body .ui-dropdown .ui-dropdown-trigger .fa { + color: #757575; + margin-top: 0; + margin-left: 0; } + body .ui-dropdown .ui-dropdown-label.ui-inputtext { + font: 1em "Roboto", "Helvetica Neue", sans-serif; } + body .ui-dropdown.ui-state-focus { + border-bottom: 2px solid #673AB7; } + body .ui-dropdown.ui-state-focus .ui-dropdown-label { + padding-bottom: 0; } + body .ui-dropdown-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-list { + padding: 0; } + body .ui-dropdown-panel .ui-dropdown-item { + margin: 0; + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-item:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-dropdown-panel .ui-dropdown-item.ui-state-highlight { + background-color: #FFC107; + color: #212121; } + body .ui-dropdown-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-dropdown-panel .ui-dropdown-filter-container { + display: block; + border-bottom: 1px solid #bdbdbd; + background-color: #673AB7; + padding: 0.625em 1em; } + body .ui-dropdown-panel .ui-dropdown-filter-container input { + color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container input:focus { + border-bottom-color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container .fa { + top: .325em; + right: .75em; + color: #ffffff; } + body .ui-multiselect { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-multiselect .ui-multiselect-label-container { + padding-right: 1.5em; } + body .ui-multiselect .ui-multiselect-label-container .ui-multiselect-label { + padding: 0px 2px 0px 2px; } + body .ui-multiselect .ui-multiselect-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: .063em; } + body .ui-multiselect .ui-multiselect-trigger .fa { + color: #757575; + margin-top: auto; + margin-left: auto; } + body .ui-multiselect.ui-state-focus { + border-bottom: 2px solid #673AB7; } + body .ui-multiselect-panel.ui-widget { + padding: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + min-width: 12.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; + position: relative; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox { + float: none; + margin: 0 .5em 0 -.125em; + position: static; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-focus { + background-color: #B39DDB; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container { + width: 70%; + display: inline-block; + vertical-align: middle; + float: none; + margin-left: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .fa { + top: 0; + left: 0; + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext { + color: #ffffff; + padding-left: 1.5em; + width: 100%; + box-sizing: border-box; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext:focus { + border-bottom-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close { + position: absolute; + right: .5em; + top: .625em; + height: 1.5em; + width: 1.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close span { + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close:hover { + background-color: #B39DDB; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item { + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item.ui-state-highlight { + color: #212121; } + body .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; + padding: 0; + margin-right: .25em; + background-color: transparent; + color: #212121; + z-index: auto; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-n { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-s { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa { + top: 0px; + height: .5em; + color: #757575; } + body .ui-spinner .ui-spinner-button:enabled:hover, body .ui-spinner .ui-spinner-button:active { + background-color: transparent; } + body .ui-spinner .ui-spinner-up .fa { + top: .25em; } + body .ui-spinner .ui-spinner-down .fa { + top: .167em; } + body .ui-spinner .ui-spinner-input { + padding-right: 30px; } + body .ui-fluid .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; } + body .ui-fluid .ui-spinner .ui-spinner-button .fa { + left: auto; } + body .ui-inputswitch { + height: 14px; + width: 34px !important; + overflow: visible; + background-color: #9e9e9e; + border-color: #9e9e9e; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; } + body .ui-inputswitch .ui-inputswitch-handle { + top: -4px; + background-color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + width: 20px !important; + height: 20px !important; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; } + body .ui-inputswitch .ui-inputswitch-on { + visibility: hidden; } + body .ui-inputswitch .ui-inputswitch-off span, body .ui-inputswitch .ui-inputswitch-on span { + visibility: hidden; } + body .ui-inputswitch.ui-inputswitch-checked { + background-color: #FFE082; + border-color: #FFE082; } + body .ui-inputswitch.ui-inputswitch-checked .ui-inputswitch-handle { + background-color: #FFC107; + color: #212121; } + body .ui-slider .ui-slider-handle { + background-color: #FFC107; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 1.25em; + height: 1.25em; + transform: scale(0.7); + -moz-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -o-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + body .ui-slider .ui-slider-handle.ui-state-focus { + transform: scale(1); } + body .ui-slider .ui-slider-handle:focus { + outline: 0 none; } + body .ui-slider.ui-slider-horizontal { + height: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-horizontal .ui-slider-handle { + top: -.55em; } + body .ui-slider.ui-slider-vertical { + width: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-vertical .ui-slider-handle { + left: -.55em; } + body .ui-slider .ui-slider-range { + background-color: #FFC107; + color: #212121; } + body .ui-slider:not(.ui-state-disabled) .ui-slider-handle:hover { + transform: scale(1); } + body .ui-calendar .ui-datepicker-trigger { + bottom: 2px; + right: 0; + background-color: transparent; + color: #212121; + height: 1.5em; + width: 1.5em; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-calendar .ui-datepicker-trigger .fa { + color: #757575; } + body .ui-calendar .ui-datepicker-trigger:enabled:hover { + background-color: transparent; } + body .ui-fluid .ui-calendar.ui-calendar-w-btn .ui-inputtext { + width: 100%; } + body .ui-datepicker { + padding: 0; + width: 17.5em; } + body .ui-datepicker.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-datepicker .ui-datepicker-header { + padding: 0.625em 1em; + font-size: 1em; + background: #4527A0; + border-color: #4527A0; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + cursor: pointer; + top: .4em; + left: .2em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before { + content: "keyboard_arrow_left"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover { + background-color: #B39DDB; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next { + cursor: pointer; + top: .4em; + right: .2em; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before { + content: "keyboard_arrow_right"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover { + background-color: #B39DDB; } + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-month, + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-year { + font-size: 14px; } + body .ui-datepicker table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; + font-size: 14px; } + body .ui-datepicker thead tr { + color: #ffffff; + background: #673AB7; } + body .ui-datepicker tbody td { + padding: .25em .125em; + box-sizing: border-box; } + body .ui-datepicker tbody td.ui-datepicker-today a { + color: #ffffff; + background: #9f80d7; } + body .ui-datepicker tbody td.ui-datepicker-today a.ui-state-active { + color: #ffffff; + background-color: #FFC107; + color: #212121; } + body .ui-datepicker tbody td a { + padding: .25em; + margin: 0; + text-align: center; + color: #212121; + display: inline-block; + height: 2.250em; + width: 2.250em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + line-height: 1.8em; } + body .ui-datepicker tbody td a.ui-state-active { + color: #ffffff; + background-color: #FFC107; + color: #212121; } + body .ui-datepicker tbody td a:not(.ui-state-active):not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datepicker tbody td a span { + display: inline; + padding: 0; + text-align: center; } + body .ui-datepicker .ui-timepicker { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-datepicker .ui-timepicker > div a { + height: 1.5em; } + body .ui-datepicker .ui-timepicker > div a > span { + display: inline-block; + margin-bottom: .25em; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up:before { + content: "keyboard_arrow_up"; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down:before { + content: "keyboard_arrow_down"; } + body #ui-datepicker-div { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-rating { + min-height: 1.5em; } + body .ui-rating .fa-ban { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-ban:before { + content: "cancel"; } + body .ui-rating .fa-star { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star:before { + content: "star"; } + body .ui-rating .fa-star-o { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star-o:before { + content: "star_border"; } + body .ui-chips > ul.ui-inputtext { + padding: 2px 2px 1px 2px; } + body .ui-chips > ul.ui-inputtext.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-chips > ul.ui-inputtext.ui-state-focus { + padding-bottom: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token { + padding-bottom: 2px; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token input:disabled { + width: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-chips > ul.ui-inputtext .ui-chips-token .ui-chips-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-password-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-fileupload .ui-fileupload-buttonbar { + padding: 0.625em 1em; } + body .ui-fileupload .ui-fileupload-buttonbar .fa-arrowreturnthick-1-n:before { + content: "file_upload"; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button { + background-color: #FFC107; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button:enabled:hover { + background-color: #FF8F00; } + body .ui-fileupload .ui-fileupload-content .ui-messages-error .fa { + color: #ffffff; } + body .ui-fileupload-choose:not(.ui-state-disabled):hover.ui-button, + body .ui-fileupload-choose.ui-state-focus.ui-button { + background-color: #edb100; } + body .ui-fileupload-choose:not(.ui-state-disabled):active.ui-button { + background-color: #d39e00; } + body .ui-editor-container .ui-editor-toolbar { + background-color: #e8e8e8; } + body .ui-editor-container .ql-picker.ql-expanded .ql-picker-label { + color: #444444; } + body .ui-inputgroup .ui-inputgroup-addon { + border-width: 0 0 1px 0; + border-color: #bdbdbd; + color: #757575; + padding: 2px 2px 1px 2px; + align-self: flex-end; } + body .ui-inputgroup .ui-inputgroup-addon > i { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-self: flex-end; } + body .ui-inputgroup .ui-inputtext { + align-self: flex-end; } + body .ui-inputgroup .md-inputfield { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + display: inherit; } + body .ui-inputgroup .md-inputfield label { + top: 5px; } + body .ui-inputgroup .ui-chkbox, body .ui-inputgroup .ui-radiobutton { + margin-bottom: .125em; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only { + width: 1.643em; + height: 1.643em; + padding: 0; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only .ui-button-icon-left { + margin-left: -.45em; } + body .ui-inputtext.ng-dirty.ng-invalid, + body p-dropdown.ng-dirty.ng-invalid > .ui-dropdown, + body p-autocomplete.ng-dirty.ng-invalid > .ui-autocomplete > .ui-inputtext, + body p-calendar.ng-dirty.ng-invalid > .ui-inputtext, + body p-inputmask.ng-dirty.ng-invalid > .ui-inputtext, + body p-checkbox.ng-dirty.ng-invalid .ui-chkbox-box, + body p-radiobutton.ng-dirty.ng-invalid .ui-radiobutton-box, + body p-inputswitch.ng-dirty.ng-invalid .ui-inputswitch, + body p-listbox.ng-dirty.ng-invalid .ui-inputtext, + body p-multiselect.ng-dirty.ng-invalid > .ui-multiselect, + body p-spinner.ng-dirty.ng-invalid > .ui-inputtext, + body p-selectbutton.ng-dirty.ng-invalid .ui-button, + body p-togglebutton.ng-dirty.ng-invalid .ui-button { + border-bottom-color: #e62a10; } + +@media (max-width: 640px) { + body .ui-buttonset > .ui-button { + display: block; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-buttonset > .ui-button:first-child { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } + body .ui-buttonset > .ui-button:last-child { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton > .ui-button { + display: inline-block; } + body .ui-splitbutton > .ui-button:first-child { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; } + body .ui-splitbutton > .ui-button:last-child { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } } +body .ui-panel { + padding: 0; } + body .ui-panel .ui-panel-titlebar { + border: 0 none; + border-bottom: 1px solid #673AB7; + padding: 0.625em 1em; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-panel .ui-panel-titlebar .ui-panel-title { + line-height: 1.5em; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon { + position: relative; + width: 1.5em; + height: 1.5em; + color: #ffffff; + margin: 0; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon:hover { + background-color: #B39DDB; } + body .ui-panel .ui-panel-content { + height: 100%; + box-sizing: border-box; + padding: 0.625em 1em; } + body .ui-panel .ui-panel-footer { + padding: 0.625em 1em; + border: 0 none; + border-top: 1px solid #bdbdbd; + margin: 0; } +body .ui-fieldset { + padding: 0.625em 1em; } + body .ui-fieldset .ui-fieldset-legend { + padding: 0.625em 1em; + padding-left: .125em; + padding-right: .5em; + color: #673AB7; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler { + padding: .5em; + height: 2em; + width: 2em; + background-color: #673AB7; + color: #ffffff; + font-size: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + margin-right: .5em; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler:hover { + background-color: #4527A0; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-legend-text { + color: #673AB7; } + body .ui-fieldset .ui-fieldset-legend.ui-state-focus { + background-color: transparent; } +body .ui-accordion .ui-accordion-header { + background-color: #673AB7; + padding: 0; + color: #ffffff; + font-size: 1em; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-accordion .ui-accordion-header > a { + padding: 0.625em 1em; + color: #ffffff; } + body .ui-accordion .ui-accordion-header > a .ui-accordion-toggle-icon, + body .ui-accordion .ui-accordion-header > a .ui-accordion-header-text { + vertical-align: middle; } + body .ui-accordion .ui-accordion-header:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #4527A0; } + body .ui-accordion .ui-accordion-header.ui-state-active { + background-color: #FFC107; + color: #212121; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-accordion .ui-accordion-header.ui-state-active > a { + color: #212121; } +body .ui-accordion .ui-accordion-content { + padding: 0.625em 1em; + line-height: 1.5em; } +body .ui-toolbar { + background-color: #4527A0; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + padding: .625em; } +body .ui-tabview { + padding: 0; } + body .ui-tabview .ui-tabview-nav { + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabview .ui-tabview-nav > li { + padding: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabview .ui-tabview-nav > li > a { + padding: 0.625em 1em; } + body .ui-tabview .ui-tabview-nav > li > a:focus { + outline: 0 none; } + body .ui-tabview .ui-tabview-nav > li > .fa-close { + margin: .325em 0 0 0; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + color: #757575; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-left-icon, body .ui-tabview .ui-tabview-nav > li .ui-tabview-right-icon { + color: #757575; + display: inline-block; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-title { + line-height: 1.5em; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li.ui-state-default a { + color: #757575; } + body .ui-tabview .ui-tabview-nav > li:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #ffffff; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active { + background-color: #ffffff; + border-color: #FFC107; + border-style: solid; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active a { + color: #673AB7; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active > .fa-close { + color: #FFC107; } + body .ui-tabview .ui-tabview-nav > li.ui-tabview-outline { + outline: 0 none; + border-color: #FFE082; } + body .ui-tabview .ui-tabview-panel { + padding: 0.625em 1em; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav > li { + border-style: solid; + border-width: 0 0 2px 0; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav > li { + border-width: 2px 0 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + border-right: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 2px 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav { + padding: 0; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 0 0 2px; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li.ui-state-active > a { + padding-left: 0.875em; } + +@media (max-width: 640px) { + body .ui-toolbar .ui-toolbar-group-right { + margin-top: 1em; } } +body .ui-picklist .ui-picklist-caption { + font-size: 1em; + padding: 0.625em 1em; } +body .ui-picklist .ui-picklist-list { + padding: 0; } +body .ui-picklist .ui-picklist-filter-container .fa { + left: 0.3em; } +body .ui-picklist .ui-picklist-filter-container .ui-picklist-filter { + text-indent: 1.5em; } +body .ui-picklist li.ui-picklist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-picklist li.ui-picklist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-picklist li.ui-picklist-item.ui-state-highlight { + background-color: #FFC107; + color: #212121; } +body .ui-picklist .ui-picklist-buttons { + width: 3em; } + body .ui-picklist .ui-picklist-buttons .ui-button.ui-button-icon-only { + width: 2.5em; + margin-right: 0; + display: inline-block; + margin-bottom: .5em; } +body .ui-picklist .ui-picklist-buttons-cell { + text-align: center; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + margin: 0 auto; + display: block; + margin-bottom: .5em; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox { + margin-right: .5em; + vertical-align: top; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox, body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox * { + box-sizing: content-box; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-organizationchart-selectable-node:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-state-highlight .ui-node-toggler i { + color: #876500; } +body .ui-organizationchart .ui-organizationchart-line-down { + background-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-left { + border-right: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-top { + border-top: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content { + border-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler { + bottom: -1.3em; + margin-left: -.75em; + color: #bdbdbd; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down:before { + content: "keyboard_arrow_down"; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up:before { + content: "keyboard_arrow_up"; } +body .ui-orderlist .ui-orderlist-caption { + font-size: 1em; + padding: 0.625em 1em; + box-sizing: border-box; } +body .ui-orderlist .ui-orderlist-list { + padding: 0; + box-sizing: border-box; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item.ui-state-highlight { + background-color: #FFC107; + color: #212121; } +body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 3.75em; } +body .ui-orderlist .ui-orderlist-controls { + width: 3.75em; + text-align: center; } + body .ui-orderlist .ui-orderlist-controls .ui-button.ui-button-icon-only { + width: 2.5em; + margin-bottom: .5em; + margin-right: 0; } +body .ui-paginator { + background-color: #4527A0; + padding: 0.625em 1em; } + body .ui-paginator > a { + box-sizing: border-box; + color: #ffffff; } + body .ui-paginator > a .fa { + display: none; } + body .ui-paginator > a:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #B39DDB; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-next { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-next:before { + content: "navigate_next"; } + body .ui-paginator .ui-paginator-last { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-last:before { + content: "last_page"; } + body .ui-paginator .ui-paginator-prev { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-prev:before { + content: "navigate_before"; } + body .ui-paginator .ui-paginator-first { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-first:before { + content: "first_page"; } + body .ui-paginator .ui-paginator-pages { + vertical-align: middle; + margin: 0 .375em 0 .375em; } + body .ui-paginator .ui-paginator-pages a { + padding: 0; + color: #ffffff; + min-width: 1.5em; + min-height: 1.5em; + line-height: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-pages a:not(.ui-state-active):hover { + background-color: #B39DDB; } + body .ui-paginator .ui-paginator-pages a.ui-state-active { + background-color: #FFC107; + color: #212121; } +body .ui-datagrid .ui-datagrid-header { + padding: 0.625em 1em; } +body .ui-datagrid .ui-panel .ui-panel-titlebar { + background-color: #ffffff; + color: #212121; + border-color: #bdbdbd; } +body .ui-datalist .ui-datalist-header { + padding: 0.625em 1em; } +body .ui-table .ui-table-caption, +body .ui-table .ui-table-summary { + padding: 0.625em 1em; + text-align: center; + font-weight: normal; } +body .ui-table .ui-table-caption { + border-bottom: 0 none; } +body .ui-table .ui-table-summary { + border-top: 0 none; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tbody > tr > td, +body .ui-table .ui-table-tfoot > tr > td { + padding: 0.625em 1em; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tfoot > tr > td { + font-weight: 400; + background-color: #ffffff; + border: 1px solid #cacaca; } +body .ui-table .ui-sortable-column:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-table .ui-sortable-column.ui-state-highlight { + background-color: #FFC107; + color: #212121; + border-top-color: #FFC107; } + body .ui-table .ui-sortable-column.ui-state-highlight .fa { + color: #212121; } +body .ui-table .ui-sortable-column .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } +body .ui-table .ui-table-tbody > tr { + background: #ffffff; } + body .ui-table .ui-table-tbody > tr > td { + background: inherit; + border: 1px solid #cacaca; } + body .ui-table .ui-table-tbody > tr.ui-state-highlight { + background-color: #FFC107; + color: #212121; } + body .ui-table .ui-table-tbody > tr.ui-contextmenu-selected { + background-color: #FFC107; + color: #212121; } +body .ui-table .ui-table-tbody > tr:nth-child(odd) { + background-color: #f4f4f4; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-state-highlight { + background-color: #FFC107; + color: #212121; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-contextmenu-selected { + background-color: #FFC107; + color: #212121; } +body .ui-table.ui-table-hoverable-rows .ui-table-tbody > tr:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable .ui-datatable-header, +body .ui-datatable .ui-datatable-footer { + padding: 0.625em 1em; } + body .ui-datatable .ui-datatable-header .ui-inputtext, + body .ui-datatable .ui-datatable-footer .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-header .ui-inputtext:focus, + body .ui-datatable .ui-datatable-footer .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-paginator { + padding: 0.625em 1em; } +body .ui-datatable .ui-datatable-thead > tr { + border-color: #cacaca; } + body .ui-datatable .ui-datatable-thead > tr th { + padding: .625em .875em; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-sortable-column:not(.ui-state-active):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datatable .ui-datatable-thead > tr th .ui-column-title { + display: inline-block; + vertical-align: middle; } + body .ui-datatable .ui-datatable-thead > tr th .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight { + background-color: #FFC107; + color: #212121; + border-top-color: #FFC107; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .fa, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .fa { + color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext { + color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext.ui-state-focus, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext.ui-state-focus { + border-color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-selection-column .ui-chkbox-box { + box-sizing: content-box; } +body .ui-datatable tfoot th { + padding: .625em .875em; + border: 1px solid #bdbdbd; + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-datatable-even { + background-color: #f4f4f4; } + body .ui-datatable .ui-datatable-data tr.ui-datatable-even.ui-state-highlight { + background-color: #FFC107; + color: #212121; } +body .ui-datatable .ui-datatable-data tr { + border: 1px solid #cacaca; } + body .ui-datatable .ui-datatable-data tr td { + padding: .625em .875em; } + body .ui-datatable .ui-datatable-data tr td .ui-row-toggler { + display: inherit; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td input.ui-cell-editor { + padding: 2px 2px 1px 2px; + font-size: 1em; } + body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-chkbox-box, body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-radiobutton-box { + box-sizing: content-box; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight { + background-color: #FFC107; + border-color:   #FFC107; + color: #212121; } + body .ui-datatable .ui-datatable-data tr .ui-cell-editor-input input { + color: #212121; } +body .ui-datatable .ui-datatable-data tr.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext, + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext.ui-state-error { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box .ui-radiobutton-icon { + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box { + border-color: #ffffff; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box .ui-chkbox-icon { + color: #757575; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-rowgroup-header td a { + height: 1.5em; + vertical-align: top; + display: inline-block; } +body .ui-datatable .ui-datatable-data.ui-datatable-hoverable-rows > tr.ui-widget-content:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer { + border: 0 none; + background-color: transparent; } + body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header .ui-datatable-data td, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer .ui-datatable-data td { + color: #212121; } +body .ui-datatable.ui-datatable-scrollable thead tr th { + color: #212121; + font-size: 16px; } +body .ui-datatable.ui-datatable-scrollable tfoot tr td { + color: #212121; + font-size: 16px; } +body .ui-datatable .ui-datatable-loading { + opacity: 0.3; + filter: alpha(opacity=30); } +body .ui-datatable .ui-datatable-loading-content { + top: 35%; } + body .ui-datatable .ui-datatable-loading-content .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-animation-delay: 0; + -webkit-animation-duration: 1000ms; + -webkit-animation-name: spin; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-delay: 0; + -moz-animation-duration: 1000ms; + -moz-animation-name: spin; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + animation-delay: 0; + animation-duration: 1000ms; + animation-name: spin; + animation-iteration-count: infinite; + animation-timing-function: linear; + font-size: 2em; } + body .ui-datatable .ui-datatable-loading-content .fa:before { + content: "refresh"; } +body .ui-carousel { + padding: 0; } + body .ui-carousel .ui-carousel-header { + padding: 0.625em 1em; + font-size: 1em; + overflow: visible; } + body .ui-carousel .ui-carousel-header .ui-carousel-header-title { + overflow: visible; } + body .ui-carousel .ui-carousel-header .fa { + color: #ffffff; } + body .ui-carousel .ui-carousel-header .ui-carousel-button { + margin: -1px 0 0 0; } + body .ui-carousel .ui-carousel-header .ui-carousel-page-links { + margin: -1px 0 0 0; } +body .ui-tree { + padding: 0.625em 1em/2; } + body .ui-tree .ui-treenode-children { + padding-left: 1.75em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin-right: .5em; } + body .ui-tree .ui-treenode-content .ui-chkbox .fa { + color: #757575; } + body .ui-tree .ui-treenode-content .ui-tree-toggler { + vertical-align: middle; + margin: 0 0 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-icon { + vertical-align: middle; + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-label { + margin: 0; + vertical-align: middle; } + body .ui-tree .ui-treenode-content.ui-treenode-selectable .ui-treenode-label:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal { + padding-left: 0; + padding-right: 0; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content { + background-color: #ffffff; + border: 1px solid #bdbdbd; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-tree-toggler { + vertical-align: top; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-treenode-icon { + vertical-align: top; + margin-right: .25em; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-treenode-selectable:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-state-highlight { + background-color: #FFC107; + color: #212121; } +body .ui-tree-draghelper { + border: 1px solid #673AB7; } +body .fc .fc-toolbar .ui-icon-circle-triangle-e { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-icon-circle-triangle-w { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-state-active { + background-color: #FFC107; } +body .fc .fc-event { + background-color: #B39DDB; + color: #ffffff; } +body .fc table { + box-sizing: border-box; } +body .ui-treetable .ui-treetable-header { + padding: 0.625em 1em; + font-size: 1em; } +body .ui-treetable thead tr { + border-bottom: 1px solid #bdbdbd; } + body .ui-treetable thead tr th { + background-color: #ffffff; + padding: .625em .875em; + border: 0 none; } + body .ui-treetable thead tr th .fa { + color: #757575; } + body .ui-treetable thead tr th:first-child { + border-left: 1px solid #bdbdbd; } + body .ui-treetable thead tr th:last-child { + border-right: 1px solid #bdbdbd; } + body .ui-treetable thead tr th .ui-sortable-column-icon { + vertical-align: middle; + margin: -.25em 0 0 0; } + body .ui-treetable thead tr th.ui-state-active { + background-color: #FFC107; + color: #212121; } + body .ui-treetable thead tr th.ui-state-active .fa { + color: #212121; } + body .ui-treetable thead tr th .ui-column-resizer { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1em; + color: #757575; } + body .ui-treetable thead tr th .ui-column-resizer:before { + content: "code"; } +body .ui-treetable tfoot td { + border: 0 none; + padding: .625em .875em; } +body .ui-treetable tbody .ui-treetable-row { + background-color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row td { + border: 0 none; + padding: .625em .875em; } + body .ui-treetable tbody .ui-treetable-row td .ui-treetable-toggler { + display: inline-block; + vertical-align: middle; + margin: 0 .167em; + float: none; } + body .ui-treetable tbody .ui-treetable-row td .ui-chkbox { + margin-right: .5em; } + body .ui-treetable tbody .ui-treetable-row td.ui-treetable-child-table-container { + padding: 0; } + body .ui-treetable tbody .ui-treetable-row.ui-treetable-row-selectable:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight { + background-color: #FFC107; + color: #212121; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight .ui-chkbox .ui-chkbox-box { + border-color: #212121; } +body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-header, body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-footer { + background-color: transparent; + border: 0 none; } +body .ui-treetable.ui-treetable-scrollable thead th { + background-color: #ffffff; + color: #212121; } + +@media (max-width: 40em) { + body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 100%; } } +@media (max-width: 640px) { + body .ui-picklist.ui-picklist-responsive .ui-picklist-list-wrapper { + margin-bottom: .5em; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons { + padding: .5em 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + display: inline-block; + margin-right: .25em; + margin-bottom: 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right:before { + content: "skip_previous"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left:before { + content: "skip_next"; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls { + text-align: center; + width: auto; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button { + margin-right: .25em; } } +body .ui-breadcrumb { + padding: 0.625em 1em; } + body .ui-breadcrumb ul li a { + color: #ffffff; + font-size: 1em; } +body .ui-steps { + position: relative; } + body .ui-steps .ui-steps-item { + background-color: transparent; } + body .ui-steps .ui-steps-item.ui-state-disabled { + opacity: 1; + filter: alpha(opacity=100); } + body .ui-steps .ui-steps-item .ui-menuitem-link { + display: inline-block; + text-align: left; + background-color: #ffffff; + overflow: hidden; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number { + display: inline-block; + background-color: #757575; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: .25em .75em; + font-size: 1em; + color: #ffffff; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: inline; + margin-left: .625em; + color: #757575; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-number { + background-color: #FFC107; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-title { + font-weight: 700; + color: #212121; } + body .ui-steps .ui-steps-item:last-child .ui-menuitem-link { + display: block; } + body .ui-steps:before { + content: ' '; + border: 1px solid #bdbdbd; + width: 90%; + top: 45%; + left: 0; + display: block; + position: absolute; } +body .ui-menu .ui-menuitem-link, +body .ui-menubar .ui-menuitem-link, +body .ui-tieredmenu .ui-menuitem-link, +body .ui-contextmenu .ui-menuitem-link, +body .ui-megamenu .ui-menuitem-link, +body .ui-slidemenu .ui-menuitem-link { + padding: .625em 1em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-menu .ui-menuitem-link:hover, + body .ui-menubar .ui-menuitem-link:hover, + body .ui-tieredmenu .ui-menuitem-link:hover, + body .ui-contextmenu .ui-menuitem-link:hover, + body .ui-megamenu .ui-menuitem-link:hover, + body .ui-slidemenu .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link:focus, + body .ui-menubar .ui-menuitem-link:focus, + body .ui-tieredmenu .ui-menuitem-link:focus, + body .ui-contextmenu .ui-menuitem-link:focus, + body .ui-megamenu .ui-menuitem-link:focus, + body .ui-slidemenu .ui-menuitem-link:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link .ui-menuitem-text, + body .ui-menubar .ui-menuitem-link .ui-menuitem-text, + body .ui-tieredmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-contextmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-megamenu .ui-menuitem-link .ui-menuitem-text, + body .ui-slidemenu .ui-menuitem-link .ui-menuitem-text { + vertical-align: middle; } +body .ui-menubar .ui-submenu-list, body .ui-contextmenu .ui-submenu-list, +body .ui-slidemenu .ui-submenu-list, body .ui-tieredmenu .ui-submenu-list { + padding: .5em 0; } + body .ui-menubar .ui-submenu-list .ui-menuitem, body .ui-contextmenu .ui-submenu-list .ui-menuitem, + body .ui-slidemenu .ui-submenu-list .ui-menuitem, body .ui-tieredmenu .ui-submenu-list .ui-menuitem { + margin: 0; } +body .ui-menu { + width: 100%; + padding: .5em 0; } + body .ui-menu .ui-menuitem { + margin: 0; } + body .ui-menu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menu.ui-shadow, body .ui-menu .ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-menu .ui-submenu-header { + border: 0 none; + margin: 0; + padding: .625em 1em; + border-radius: 0; } +body .ui-menubar { + padding: 0; } + body .ui-menubar .ui-menubar-root-list > .ui-menuitem > .ui-menuitem-link { + padding: .625em 1em; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } +body .ui-contextmenu { + padding: .5em 0; } + body .ui-contextmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-contextmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-slidemenu { + padding: .5em 0; } + body .ui-slidemenu .ui-menuitem { + margin: 0; } + body .ui-slidemenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-slidemenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-slidemenu .ui-slidemenu-backward { + margin-bottom: .4em; + padding: 0.625em 1em; + width: 100%; + background-color: #673AB7; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border: 0 none; } + body .ui-slidemenu .ui-slidemenu-backward:hover { + background-color: #512e90; } +body .ui-tieredmenu { + padding: .5em 0; } + body .ui-tieredmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-tieredmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-tabmenu { + padding: 0; } + body .ui-tabmenu .ui-tabmenu-nav { + padding: 0; + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem { + top: auto; + margin: 0 .25em 0 0; + padding: 0; + border-style: solid; + border-width: 0 0 2px 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a { + padding: 0.625em 1em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a:focus { + outline: 0 none; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon, body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-text { + float: none; + display: inline-block; + vertical-align: middle; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon { + font-weight: 1em; + margin-right: .25em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a .fa { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem:not(.ui-state-active):hover { + background-color: #ffffff; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active { + background-color: #ffffff; + border-color: #FFC107; + border-style: solid; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a { + color: #673AB7; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a .fa { + color: #673AB7; } +body .ui-megamenu { + padding: 0; } + body .ui-megamenu .ui-megamenu-submenu-header { + border-radius: 0; + padding: .5em; } + body .ui-megamenu .ui-submenu-list { + padding: 0; + border: 0 none; } + body .ui-megamenu .ui-submenu-list .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-panelmenu .ui-panelmenu-header { + background-color: #673AB7; + margin-bottom: 1px; } + body .ui-panelmenu .ui-panelmenu-header a { + padding: .625em 1em; + color: #ffffff; + font-size: 16px; + border-bottom: 1px solid #ffffff; } + body .ui-panelmenu .ui-panelmenu-header .fa { + color: #ffffff; + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header .ui-menuitem-text { + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active { + background-color: #FFC107; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + margin-bottom: 0; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active a, body .ui-panelmenu .ui-panelmenu-header.ui-state-active .fa { + color: #212121; } +body .ui-panelmenu .ui-panelmenu-content { + padding: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem { + margin: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link { + border: 0 none; + padding: .625em 1em; + width: 100%; + min-height: 2.750em; + box-sizing: border-box; + color: #212121; + line-height: 1.5em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + position: relative; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .ui-menuitem-text { + display: inline-block; + vertical-align: middle; + float: none; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .fa { + position: static; + display: inline-block; + vertical-align: middle; } +body .ui-panelmenu .ui-menu-parent .ui-menu-list { + margin-left: 28px; } + +@media (max-width: 640px) { + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: none; } } +body { + /* Messages */ } + body .ui-messages { + padding: 0.625em 1em; } + body .ui-messages ul { + display: inline-block; + margin-left: 0; } + body .ui-messages.ui-messages-info { + background-color: #2196F3; + border-color: #2196F3; + color: #ffffff; } + body .ui-messages.ui-messages-warn { + background-color: #ffc107; + border-color: #ffc107; + color: #ffffff; } + body .ui-messages.ui-messages-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-messages.ui-messages-fatal { + background-color: #212121; + border-color: #212121; + color: #ffffff; } + body .ui-messages.ui-messages-success { + background-color: #8BC34A; + border-color: #8BC34A; + color: #ffffff; } + body .ui-messages .ui-messages-close { + text-decoration: none; + color: #fff; + right: .25em; } + body .ui-messages .ui-messages-icon { + background: none; + color: #fff; + margin-top: -2px; } + body .ui-messages .ui-messages-icon.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-info-circle:before { + content: "info"; } + body .ui-messages .ui-messages-icon.fa-warning { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-warning:before { + content: "warning"; } + body .ui-messages .ui-messages-icon.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-close:before { + content: "error_outline"; } + body .ui-messages .ui-messages-icon.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-check:before { + content: "check_circle"; } + body .ui-growl { + top: 90px; } + body .ui-growl > .ui-growl-item-container { + opacity: 1; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-info { + background-color: #2196F3; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-warn { + background-color: #ffc107; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-error { + background-color: #e62a10; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-fatal { + background-color: #212121; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-success { + background-color: #8BC34A; } + body .ui-growl > .ui-growl-item-container.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + body .ui-growl .ui-growl-item .ui-growl-image { + background: none; + color: #ffffff; + font-size: 36px; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle:before { + content: "info"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle:before { + content: "warning"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close:before { + content: "error_outline"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check:before { + content: "check_circle"; } + body .ui-growl .ui-growl-item .ui-growl-message { + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 24px; + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close:before { + content: "close"; } + +body .ui-dialog.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-dialog .ui-dialog-titlebar { + background-color: #ffffff; + color: #212121; + padding: 0.625em 1em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-title { + font-size: 1.25em; + letter-spacing: .005em; + margin-top: .25em; + line-height: 2em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon { + border: 0 none; + padding: 0; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + height: 1.5em; + width: 1.5em; + text-align: center; + margin-top: .5em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:hover, body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa { + color: #757575; + display: inline-block; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-extlink:before { + content: "fullscreen"; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-newwin:before { + content: "fullscreen_exit"; } +body .ui-dialog .ui-dialog-content { + padding: 0.625em 1em; } +body .ui-dialog .ui-dialog-footer { + text-align: right; + border: 0 none; + border-top: 1px solid #bdbdbd; } + body .ui-dialog .ui-dialog-footer .ui-button { + background-color: #ffffff; + color: #212121; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: auto; } + body .ui-dialog .ui-dialog-footer .ui-button .fa { + color: #757575; } + body .ui-dialog .ui-dialog-footer .ui-button:hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-dialog .ui-confirm-dialog-severity { + margin: 0px .75em; } +body .ui-lightbox.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-lightbox .ui-lightbox-caption { + padding: 0.625em 1em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-caption-text { + margin: 0; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + padding: 0; + margin: 0; + width: 1.5em; + height: 1.5em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close:hover { + background-color: #B39DDB; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } +body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left { + top: 40%; } + body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right .fa, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left .fa { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 3em; + color: #B39DDB; } +body .ui-overlaypanel.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-overlaypanel .ui-overlaypanel-close { + background-color: #FFC107; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + right: -16px; + top: -16px; + width: 2em; + height: 2em; + line-height: 2em; + text-align: center; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-overlaypanel .ui-overlaypanel-close span { + color: #212121; + line-height: inherit; } + body .ui-overlaypanel .ui-overlaypanel-close:hover { + background-color: #FF8F00; } +body .ui-tooltip { + opacity: 0.9; + filter: alpha(opacity=90); } + body .ui-tooltip .ui-tooltip-text { + background-color: #323232; } + body .ui-tooltip.ui-tooltip-top .ui-tooltip-arrow { + border-top-color: #323232; } + body .ui-tooltip.ui-tooltip-bottom .ui-tooltip-arrow { + border-bottom-color: #323232; } + body .ui-tooltip.ui-tooltip-left .ui-tooltip-arrow { + border-left-color: #323232; } + body .ui-tooltip.ui-tooltip-right .ui-tooltip-arrow { + border-right-color: #323232; } + +body .ui-draggable-dragging.ui-state-default { + padding: 0.625em 1em !important; + background-color: #673AB7; } +body .jqplot-target { + font-family: "Roboto","Helvetica Neue",sans-serif; } +body .ui-progressbar { + height: .5em; + background-color: #B39DDB; + overflow: hidden; + border: 0 none; } + body .ui-progressbar .ui-progressbar-value { + height: .5em; } + body .ui-progressbar .ui-progressbar-label { + color: #ffffff; + display: none !important; } +body .ui-galleria .ui-galleria-nav-prev { + left: 0; } +body .ui-galleria .ui-galleria-nav-next { + right: 0; } +body .ui-inplace .ui-inplace-display { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-inplace .ui-inplace-display:hover { + background-color: #e8e8e8; } +body .ui-terminal .ui-terminal-input { + font-size: 16px; } diff --git a/src/assets/theme/theme-purple-amber.scss b/src/assets/theme/theme-purple-amber.scss new file mode 100644 index 0000000..9df384b --- /dev/null +++ b/src/assets/theme/theme-purple-amber.scss @@ -0,0 +1,9 @@ +$primaryColor: #673AB7; +$primaryDarkColor: #4527A0; +$primaryLightColor: #B39DDB; +$accentColor: #FFC107; +$accentDarkColor: #FF8F00; +$accentLightColor: #FFE082; +$accentTextColor: #212121; + +@import '../sass/theme/_theme'; \ No newline at end of file diff --git a/src/assets/theme/theme-purple-cyan.css b/src/assets/theme/theme-purple-cyan.css new file mode 100644 index 0000000..9e37892 --- /dev/null +++ b/src/assets/theme/theme-purple-cyan.css @@ -0,0 +1,6153 @@ +@charset "UTF-8"; +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +.fa-sort:before { + content: "sort"; } + +.fa-sort-asc:before { + content: "keyboard_arrow_up"; } + +.fa-sort-desc:before { + content: "keyboard_arrow_down"; } + +.fa-angle-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-up:before { + content: "play_arrow"; } + +.fa-angle-double-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-up:before { + content: "skip_next"; } + +.fa-angle-down { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .fa-angle-down:before { + content: "play_arrow"; } + +.fa-angle-double-down { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-down:before { + content: "skip_previous"; } + +.fa-angle-right:before { + content: "play_arrow"; } + +.fa-angle-double-right:before { + content: "fast_forward"; } + +.fa-angle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-angle-left:before { + content: "play_arrow"; } + +.fa-angle-double-left:before { + content: "fast_rewind"; } + +.fa-check:before { + content: "check"; } + +.fa-caret-up:before { + content: "keyboard_arrow_up"; } + +.fa-caret-down:before { + content: "keyboard_arrow_down"; } + +.fa-caret-right:before { + content: "keyboard_arrow_right"; } + +.fa-caret-left:before { + content: "keyboard_arrow_left"; } + +.fa-search:before { + content: "search"; } + +.fa-close:before { + content: "close"; } + +.fa-minus:before { + content: "remove"; } + +.fa-plus:before { + content: "add"; } + +.fa-check:before { + content: "check"; } + +.fa-info-circle:before { + content: "info"; } + +.fa-upload:before { + content: "file_upload"; } + +.fa-chevron-circle-left:before { + content: "keyboard_arrow_left"; } + +.fa-chevron-circle-right:before { + content: "keyboard_arrow_right"; } + +.fa-chevron-circle-down:before { + content: "keyboard_arrow_down"; } + +.fa-chevron-circle-up:before { + content: "keyboard_arrow_up"; } + +.fa-home:before { + content: "home"; } + +.fa-chevron-right:before { + content: "chevron_right"; } + +.fa-chevron-left:before { + content: "chevron_left"; } + +.fa-circle-o:before { + content: "radio_button_unchecked"; } + +.fa-dot-circle-o:before { + content: "radio_button_checked"; } + +.fa-arrow-circle-right:before { + content: "play_circle_outline"; } + +.fa-arrow-circle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-arrow-circle-left:before { + content: "play_circle_outline"; } + +.fa-calendar:before { + content: "date_range"; } + +.fa-arrow-down:before { + content: "arrow_downward"; } + +.fa-arrow-up:before { + content: "arrow_upward"; } + +.ui-icon-carat-2-n-s:before { + content: "sort"; } + +.ui-icon-triangle-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-triangle-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-triangle-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-triangle-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-carat-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-carat-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-carat-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-carat-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-arrow-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrow-1-n:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-n:before { + content: "skip_next"; } + +.ui-icon-arrow-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrow-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-s { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-s:before { + content: "skip_previous"; } + +.ui-icon-arrow-1-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-arrow-1-w:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-w:before { + content: "fast_rewind"; } + +.ui-icon-arrow-1-e:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-e:before { + content: "fast_forward"; } + +.ui-icon-arrowthick-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrowthick-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowthick-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowthick-1-n:before { + content: "play_arrow"; } + +.ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-circle-triangle-s:before { + content: "play_circle_outline"; } + +.ui-icon-radio-off:before { + content: "radio_button_unchecked"; } + +.ui-icon-radio-on:before { + content: "radio_button_checked"; } + +.ui-icon-folder-collapsed:before { + content: "folder"; } + +.ui-icon-document:before { + content: "content_paste"; } + +.ui-icon-video:before { + content: "movie"; } + +.ui-icon-music:before { + content: "music_note"; } + +.ui-icon-plus:before { + content: "add"; } + +.ui-icon-minus:before { + content: "remove"; } + +.ui-icon-plusthick:before { + content: "add"; } + +.ui-icon-minusthick:before { + content: "remove"; } + +.ui-icon-pencil:before { + content: "edit"; } + +.ui-icon-closethick:before { + content: "close"; } + +.ui-icon-circle-close:before { + content: "cancel"; } + +.ui-icon-gear:before { + content: "settings"; } + +.ui-icon-calendar:before { + content: "date_range"; } + +.ui-icon-trash:before { + content: "delete_forever"; } + +.ui-icon-notice:before { + content: "error_outline"; } + +.ui-icon-alert:before { + content: "warning"; } + +.ui-icon-circle-zoomin:before { + content: "zoom_in"; } + +.ui-icon-circle-zoomout:before { + content: "zoom_out"; } + +.ui-icon-circle-arrow-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-arrow-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-arrow-w:before { + content: "play_circle_outline"; } + +.ui-icon-3d-rotation:before { + content: "3d_rotation"; } + +.ui-icon-ac-unit:before { + content: "ac_unit"; } + +.ui-icon-access-alarm:before { + content: "access_alarm"; } + +.ui-icon-access-alarms:before { + content: "access_alarms"; } + +.ui-icon-access-time:before { + content: "access_time"; } + +.ui-icon-accessibility:before { + content: "accessibility"; } + +.ui-icon-accessible:before { + content: "accessible"; } + +.ui-icon-account-balance:before { + content: "account_balance"; } + +.ui-icon-account-balance-wallet:before { + content: "account_balance_wallet"; } + +.ui-icon-account-box:before { + content: "account_box"; } + +.ui-icon-account-circle:before { + content: "account_circle"; } + +.ui-icon-add:before { + content: "add"; } + +.ui-icon-add-a-photo:before { + content: "add_a_photo"; } + +.ui-icon-add-alarm:before { + content: "add_alarm"; } + +.ui-icon-add-alert:before { + content: "add_alert"; } + +.ui-icon-add-box:before { + content: "add_box"; } + +.ui-icon-add-circle:before { + content: "add_circle"; } + +.ui-icon-add-circle-outline:before { + content: "add_circle_outline"; } + +.ui-icon-add-location:before { + content: "add_location"; } + +.ui-icon-add-shopping-cart:before { + content: "add_shopping_cart"; } + +.ui-icon-add-to-photos:before { + content: "add_to_photos"; } + +.ui-icon-add-to-queue:before { + content: "add_to_queue"; } + +.ui-icon-adjust:before { + content: "adjust"; } + +.ui-icon-airline-seat-flat:before { + content: "airline_seat_flat"; } + +.ui-icon-airline-seat-flat-angled:before { + content: "airline_seat_flat_angled"; } + +.ui-icon-airline-seat-individual-suite:before { + content: "airline_seat_individual_suite"; } + +.ui-icon-airline-seat-legroom-extra:before { + content: "airline_seat_legroom_extra"; } + +.ui-icon-airline-seat-legroom-normal:before { + content: "airline_seat_legroom_normal"; } + +.ui-icon-airline-seat-legroom-reduced:before { + content: "airline_seat_legroom_reduced"; } + +.ui-icon-airline-seat-recline-extra:before { + content: "airline_seat_recline_extra"; } + +.ui-icon-airline-seat-recline-normal:before { + content: "airline_seat_recline_normal"; } + +.ui-icon-airplanemode-active:before { + content: "airplanemode_active"; } + +.ui-icon-airplanemode-inactive:before { + content: "airplanemode_inactive"; } + +.ui-icon-airplay:before { + content: "airplay"; } + +.ui-icon-airport-shuttle:before { + content: "airport_shuttle"; } + +.ui-icon-alarm:before { + content: "alarm"; } + +.ui-icon-alarm-add:before { + content: "alarm_add"; } + +.ui-icon-alarm-off:before { + content: "alarm_off"; } + +.ui-icon-alarm-on:before { + content: "alarm_on"; } + +.ui-icon-album:before { + content: "album"; } + +.ui-icon-all-inclusive:before { + content: "all_inclusive"; } + +.ui-icon-all-out:before { + content: "all_out"; } + +.ui-icon-android:before { + content: "android"; } + +.ui-icon-announcement:before { + content: "announcement"; } + +.ui-icon-apps:before { + content: "apps"; } + +.ui-icon-archive:before { + content: "archive"; } + +.ui-icon-arrow-back:before { + content: "arrow_back"; } + +.ui-icon-arrow-downward:before { + content: "arrow_downward"; } + +.ui-icon-arrow-drop-down:before { + content: "arrow_drop_down"; } + +.ui-icon-arrow-drop-down-circle:before { + content: "arrow_drop_down_circle"; } + +.ui-icon-arrow-drop-up:before { + content: "arrow_drop_up"; } + +.ui-icon-arrow-forward:before { + content: "arrow_forward"; } + +.ui-icon-arrow-upward:before { + content: "arrow_upward"; } + +.ui-icon-art-track:before { + content: "art_track"; } + +.ui-icon-aspect-ratio:before { + content: "aspect_ratio"; } + +.ui-icon-assessment:before { + content: "assessment"; } + +.ui-icon-assignment:before { + content: "assignment"; } + +.ui-icon-assignment-ind:before { + content: "assignment_ind"; } + +.ui-icon-assignment-late:before { + content: "assignment_late"; } + +.ui-icon-assignment-return:before { + content: "assignment_return"; } + +.ui-icon-assignment-returned:before { + content: "assignment_returned"; } + +.ui-icon-assignment-turned-in:before { + content: "assignment_turned_in"; } + +.ui-icon-assistant:before { + content: "assistant"; } + +.ui-icon-assistant-photo:before { + content: "assistant_photo"; } + +.ui-icon-attach-file:before { + content: "attach_file"; } + +.ui-icon-attach-money:before { + content: "attach_money"; } + +.ui-icon-attachment:before { + content: "attachment"; } + +.ui-icon-audiotrack:before { + content: "audiotrack"; } + +.ui-icon-autorenew:before { + content: "autorenew"; } + +.ui-icon-av-timer:before { + content: "av_timer"; } + +.ui-icon-backspace:before { + content: "backspace"; } + +.ui-icon-backup:before { + content: "backup"; } + +.ui-icon-battery-alert:before { + content: "battery_alert"; } + +.ui-icon-battery-charging-full:before { + content: "battery_charging_full"; } + +.ui-icon-battery-full:before { + content: "battery_full"; } + +.ui-icon-battery-std:before { + content: "battery_std"; } + +.ui-icon-battery-unknown:before { + content: "battery_unknown"; } + +.ui-icon-beach-access:before { + content: "beach_access"; } + +.ui-icon-beenhere:before { + content: "beenhere"; } + +.ui-icon-block:before { + content: "block"; } + +.ui-icon-bluetooth:before { + content: "bluetooth"; } + +.ui-icon-bluetooth-audio:before { + content: "bluetooth_audio"; } + +.ui-icon-bluetooth-connected:before { + content: "bluetooth_connected"; } + +.ui-icon-bluetooth-disabled:before { + content: "bluetooth_disabled"; } + +.ui-icon-bluetooth-searching:before { + content: "bluetooth_searching"; } + +.ui-icon-blur-circular:before { + content: "blur_circular"; } + +.ui-icon-blur-linear:before { + content: "blur_linear"; } + +.ui-icon-blur-off:before { + content: "blur_off"; } + +.ui-icon-blur-on:before { + content: "blur_on"; } + +.ui-icon-book:before { + content: "book"; } + +.ui-icon-bookmark:before { + content: "bookmark"; } + +.ui-icon-bookmark-border:before { + content: "bookmark_border"; } + +.ui-icon-border-all:before { + content: "border_all"; } + +.ui-icon-border-bottom:before { + content: "border_bottom"; } + +.ui-icon-border-clear:before { + content: "border_clear"; } + +.ui-icon-border-color:before { + content: "border_color"; } + +.ui-icon-border-horizontal:before { + content: "border_horizontal"; } + +.ui-icon-border-inner:before { + content: "border_inner"; } + +.ui-icon-border-left:before { + content: "border_left"; } + +.ui-icon-border-outer:before { + content: "border_outer"; } + +.ui-icon-border-right:before { + content: "border_right"; } + +.ui-icon-border-style:before { + content: "border_style"; } + +.ui-icon-border-top:before { + content: "border_top"; } + +.ui-icon-border-vertical:before { + content: "border_vertical"; } + +.ui-icon-branding-watermark:before { + content: "branding_watermark"; } + +.ui-icon-brightness-1:before { + content: "brightness_1"; } + +.ui-icon-brightness-2:before { + content: "brightness_2"; } + +.ui-icon-brightness-3:before { + content: "brightness_3"; } + +.ui-icon-brightness-4:before { + content: "brightness_4"; } + +.ui-icon-brightness-5:before { + content: "brightness_5"; } + +.ui-icon-brightness-6:before { + content: "brightness_6"; } + +.ui-icon-brightness-7:before { + content: "brightness_7"; } + +.ui-icon-brightness-auto:before { + content: "brightness_auto"; } + +.ui-icon-brightness-high:before { + content: "brightness_high"; } + +.ui-icon-brightness-low:before { + content: "brightness_low"; } + +.ui-icon-brightness-medium:before { + content: "brightness_medium"; } + +.ui-icon-broken-image:before { + content: "broken_image"; } + +.ui-icon-brush:before { + content: "brush"; } + +.ui-icon-bubble-chart:before { + content: "bubble_chart"; } + +.ui-icon-bug-report:before { + content: "bug_report"; } + +.ui-icon-build:before { + content: "build"; } + +.ui-icon-burst-mode:before { + content: "burst_mode"; } + +.ui-icon-business:before { + content: "business"; } + +.ui-icon-business-center:before { + content: "business_center"; } + +.ui-icon-cached:before { + content: "cached"; } + +.ui-icon-cake:before { + content: "cake"; } + +.ui-icon-call:before { + content: "call"; } + +.ui-icon-call-end:before { + content: "call_end"; } + +.ui-icon-call-made:before { + content: "call_made"; } + +.ui-icon-call-merge:before { + content: "call_merge"; } + +.ui-icon-call-missed:before { + content: "call_missed"; } + +.ui-icon-call-missed-outgoing:before { + content: "call_missed_outgoing"; } + +.ui-icon-call-received:before { + content: "call_received"; } + +.ui-icon-call-split:before { + content: "call_split"; } + +.ui-icon-call-to-action:before { + content: "call_to_action"; } + +.ui-icon-camera:before { + content: "camera"; } + +.ui-icon-camera-alt:before { + content: "camera_alt"; } + +.ui-icon-camera-enhance:before { + content: "camera_enhance"; } + +.ui-icon-camera-front:before { + content: "camera_front"; } + +.ui-icon-camera-rear:before { + content: "camera_rear"; } + +.ui-icon-camera-roll:before { + content: "camera_roll"; } + +.ui-icon-cancel:before { + content: "cancel"; } + +.ui-icon-card-giftcard:before { + content: "card_giftcard"; } + +.ui-icon-card-membership:before { + content: "card_membership"; } + +.ui-icon-card-travel:before { + content: "card_travel"; } + +.ui-icon-casino:before { + content: "casino"; } + +.ui-icon-cast:before { + content: "cast"; } + +.ui-icon-cast-connected:before { + content: "cast_connected"; } + +.ui-icon-center-focus-strong:before { + content: "center_focus_strong"; } + +.ui-icon-center-focus-weak:before { + content: "center_focus_weak"; } + +.ui-icon-change-history:before { + content: "change_history"; } + +.ui-icon-chat:before { + content: "chat"; } + +.ui-icon-chat-bubble:before { + content: "chat_bubble"; } + +.ui-icon-chat-bubble-outline:before { + content: "chat_bubble_outline"; } + +.ui-icon-check:before { + content: "check"; } + +.ui-icon-check-box:before { + content: "check_box"; } + +.ui-icon-check-box-outline-blank:before { + content: "check_box_outline_blank"; } + +.ui-icon-check-circle:before { + content: "check_circle"; } + +.ui-icon-chevron-left:before { + content: "chevron_left"; } + +.ui-icon-chevron-right:before { + content: "chevron_right"; } + +.ui-icon-child-care:before { + content: "child_care"; } + +.ui-icon-child-friendly:before { + content: "child_friendly"; } + +.ui-icon-chrome-reader-mode:before { + content: "chrome_reader_mode"; } + +.ui-icon-class:before { + content: "class"; } + +.ui-icon-clear:before { + content: "clear"; } + +.ui-icon-clear-all:before { + content: "clear_all"; } + +.ui-icon-close:before { + content: "close"; } + +.ui-icon-closed-caption:before { + content: "closed_caption"; } + +.ui-icon-cloud:before { + content: "cloud"; } + +.ui-icon-cloud-circle:before { + content: "cloud_circle"; } + +.ui-icon-cloud-done:before { + content: "cloud_done"; } + +.ui-icon-cloud-download:before { + content: "cloud_download"; } + +.ui-icon-cloud-off:before { + content: "cloud_off"; } + +.ui-icon-cloud-queue:before { + content: "cloud_queue"; } + +.ui-icon-cloud-upload:before { + content: "cloud_upload"; } + +.ui-icon-code:before { + content: "code"; } + +.ui-icon-collections:before { + content: "collections"; } + +.ui-icon-collections-bookmark:before { + content: "collections_bookmark"; } + +.ui-icon-color-lens:before { + content: "color_lens"; } + +.ui-icon-colorize:before { + content: "colorize"; } + +.ui-icon-comment:before { + content: "comment"; } + +.ui-icon-compare:before { + content: "compare"; } + +.ui-icon-compare-arrows:before { + content: "compare_arrows"; } + +.ui-icon-computer:before { + content: "computer"; } + +.ui-icon-confirmation-number:before { + content: "confirmation_number"; } + +.ui-icon-contact-mail:before { + content: "contact_mail"; } + +.ui-icon-contact-phone:before { + content: "contact_phone"; } + +.ui-icon-contacts:before { + content: "contacts"; } + +.ui-icon-content-copy:before { + content: "content_copy"; } + +.ui-icon-content-cut:before { + content: "content_cut"; } + +.ui-icon-content-paste:before { + content: "content_paste"; } + +.ui-icon-control-point:before { + content: "control_point"; } + +.ui-icon-control-point-duplicate:before { + content: "control_point_duplicate"; } + +.ui-icon-copyright:before { + content: "copyright"; } + +.ui-icon-create:before { + content: "create"; } + +.ui-icon-create-new-folder:before { + content: "create_new_folder"; } + +.ui-icon-credit-card:before { + content: "credit_card"; } + +.ui-icon-crop:before { + content: "crop"; } + +.ui-icon-crop-16-9:before { + content: "crop_16_9"; } + +.ui-icon-crop-3-2:before { + content: "crop_3_2"; } + +.ui-icon-crop-5-4:before { + content: "crop_5_4"; } + +.ui-icon-crop-7-5:before { + content: "crop_7_5"; } + +.ui-icon-crop-din:before { + content: "crop_din"; } + +.ui-icon-crop-free:before { + content: "crop_free"; } + +.ui-icon-crop-landscape:before { + content: "crop_landscape"; } + +.ui-icon-crop-original:before { + content: "crop_original"; } + +.ui-icon-crop-portrait:before { + content: "crop_portrait"; } + +.ui-icon-crop-rotate:before { + content: "crop_rotate"; } + +.ui-icon-crop-square:before { + content: "crop_square"; } + +.ui-icon-dashboard:before { + content: "dashboard"; } + +.ui-icon-data-usage:before { + content: "data_usage"; } + +.ui-icon-date-range:before { + content: "date_range"; } + +.ui-icon-dehaze:before { + content: "dehaze"; } + +.ui-icon-delete:before { + content: "delete"; } + +.ui-icon-delete-forever:before { + content: "delete_forever"; } + +.ui-icon-delete-sweep:before { + content: "delete_sweep"; } + +.ui-icon-description:before { + content: "description"; } + +.ui-icon-desktop-mac:before { + content: "desktop_mac"; } + +.ui-icon-desktop-windows:before { + content: "desktop_windows"; } + +.ui-icon-details:before { + content: "details"; } + +.ui-icon-developer-board:before { + content: "developer_board"; } + +.ui-icon-developer-mode:before { + content: "developer_mode"; } + +.ui-icon-device-hub:before { + content: "device_hub"; } + +.ui-icon-devices:before { + content: "devices"; } + +.ui-icon-devices-other:before { + content: "devices_other"; } + +.ui-icon-dialer-sip:before { + content: "dialer_sip"; } + +.ui-icon-dialpad:before { + content: "dialpad"; } + +.ui-icon-directions:before { + content: "directions"; } + +.ui-icon-directions-bike:before { + content: "directions_bike"; } + +.ui-icon-directions-boat:before { + content: "directions_boat"; } + +.ui-icon-directions-bus:before { + content: "directions_bus"; } + +.ui-icon-directions-car:before { + content: "directions_car"; } + +.ui-icon-directions-railway:before { + content: "directions_railway"; } + +.ui-icon-directions-run:before { + content: "directions_run"; } + +.ui-icon-directions-subway:before { + content: "directions_subway"; } + +.ui-icon-directions-transit:before { + content: "directions_transit"; } + +.ui-icon-directions-walk:before { + content: "directions_walk"; } + +.ui-icon-disc-full:before { + content: "disc_full"; } + +.ui-icon-dns:before { + content: "dns"; } + +.ui-icon-do-not-disturb:before { + content: "do_not_disturb"; } + +.ui-icon-do-not-disturb-alt:before { + content: "do_not_disturb_alt"; } + +.ui-icon-do-not-disturb-off:before { + content: "do_not_disturb_off"; } + +.ui-icon-do-not-disturb-on:before { + content: "do_not_disturb_on"; } + +.ui-icon-dock:before { + content: "dock"; } + +.ui-icon-domain:before { + content: "domain"; } + +.ui-icon-done:before { + content: "done"; } + +.ui-icon-done-all:before { + content: "done_all"; } + +.ui-icon-donut-large:before { + content: "donut_large"; } + +.ui-icon-donut-small:before { + content: "donut_small"; } + +.ui-icon-drafts:before { + content: "drafts"; } + +.ui-icon-drag-handle:before { + content: "drag_handle"; } + +.ui-icon-drive-eta:before { + content: "drive_eta"; } + +.ui-icon-dvr:before { + content: "dvr"; } + +.ui-icon-edit:before { + content: "edit"; } + +.ui-icon-edit-location:before { + content: "edit_location"; } + +.ui-icon-eject:before { + content: "eject"; } + +.ui-icon-email:before { + content: "email"; } + +.ui-icon-enhanced-encryption:before { + content: "enhanced_encryption"; } + +.ui-icon-equalizer:before { + content: "equalizer"; } + +.ui-icon-error:before { + content: "error"; } + +.ui-icon-error-outline:before { + content: "error_outline"; } + +.ui-icon-euro-symbol:before { + content: "euro_symbol"; } + +.ui-icon-ev-station:before { + content: "ev_station"; } + +.ui-icon-event:before { + content: "event"; } + +.ui-icon-event-available:before { + content: "event_available"; } + +.ui-icon-event-busy:before { + content: "event_busy"; } + +.ui-icon-event-note:before { + content: "event_note"; } + +.ui-icon-event-seat:before { + content: "event_seat"; } + +.ui-icon-exit-to-app:before { + content: "exit_to_app"; } + +.ui-icon-expand-less:before { + content: "expand_less"; } + +.ui-icon-expand-more:before { + content: "expand_more"; } + +.ui-icon-explicit:before { + content: "explicit"; } + +.ui-icon-explore:before { + content: "explore"; } + +.ui-icon-exposure:before { + content: "exposure"; } + +.ui-icon-exposure-neg-1:before { + content: "exposure_neg_1"; } + +.ui-icon-exposure-neg-2:before { + content: "exposure_neg_2"; } + +.ui-icon-exposure-plus-1:before { + content: "exposure_plus_1"; } + +.ui-icon-exposure-plus-2:before { + content: "exposure_plus_2"; } + +.ui-icon-exposure-zero:before { + content: "exposure_zero"; } + +.ui-icon-extension:before { + content: "extension"; } + +.ui-icon-face:before { + content: "face"; } + +.ui-icon-fast-forward:before { + content: "fast_forward"; } + +.ui-icon-fast-rewind:before { + content: "fast_rewind"; } + +.ui-icon-favorite:before { + content: "favorite"; } + +.ui-icon-favorite-border:before { + content: "favorite_border"; } + +.ui-icon-featured-play-list:before { + content: "featured_play_list"; } + +.ui-icon-featured-video:before { + content: "featured_video"; } + +.ui-icon-feedback:before { + content: "feedback"; } + +.ui-icon-fiber-dvr:before { + content: "fiber_dvr"; } + +.ui-icon-fiber-manual-record:before { + content: "fiber_manual_record"; } + +.ui-icon-fiber-new:before { + content: "fiber_new"; } + +.ui-icon-fiber-pin:before { + content: "fiber_pin"; } + +.ui-icon-fiber-smart-record:before { + content: "fiber_smart_record"; } + +.ui-icon-file-download:before { + content: "file_download"; } + +.ui-icon-file-upload:before { + content: "file_upload"; } + +.ui-icon-filter:before { + content: "filter"; } + +.ui-icon-filter-1:before { + content: "filter_1"; } + +.ui-icon-filter-2:before { + content: "filter_2"; } + +.ui-icon-filter-3:before { + content: "filter_3"; } + +.ui-icon-filter-4:before { + content: "filter_4"; } + +.ui-icon-filter-5:before { + content: "filter_5"; } + +.ui-icon-filter-6:before { + content: "filter_6"; } + +.ui-icon-filter-7:before { + content: "filter_7"; } + +.ui-icon-filter-8:before { + content: "filter_8"; } + +.ui-icon-filter-9:before { + content: "filter_9"; } + +.ui-icon-filter-9-plus:before { + content: "filter_9_plus"; } + +.ui-icon-filter-b-and-w:before { + content: "filter_b_and_w"; } + +.ui-icon-filter-center-focus:before { + content: "filter_center_focus"; } + +.ui-icon-filter-drama:before { + content: "filter_drama"; } + +.ui-icon-filter-frames:before { + content: "filter_frames"; } + +.ui-icon-filter-hdr:before { + content: "filter_hdr"; } + +.ui-icon-filter-list:before { + content: "filter_list"; } + +.ui-icon-filter-none:before { + content: "filter_none"; } + +.ui-icon-filter-tilt-shift:before { + content: "filter_tilt_shift"; } + +.ui-icon-filter-vintage:before { + content: "filter_vintage"; } + +.ui-icon-find-in-page:before { + content: "find_in_page"; } + +.ui-icon-find-replace:before { + content: "find_replace"; } + +.ui-icon-fingerprint:before { + content: "fingerprint"; } + +.ui-icon-first-page:before { + content: "first_page"; } + +.ui-icon-fitness-center:before { + content: "fitness_center"; } + +.ui-icon-flag:before { + content: "flag"; } + +.ui-icon-flare:before { + content: "flare"; } + +.ui-icon-flash-auto:before { + content: "flash_auto"; } + +.ui-icon-flash-off:before { + content: "flash_off"; } + +.ui-icon-flash-on:before { + content: "flash_on"; } + +.ui-icon-flight:before { + content: "flight"; } + +.ui-icon-flight-land:before { + content: "flight_land"; } + +.ui-icon-flight-takeoff:before { + content: "flight_takeoff"; } + +.ui-icon-flip:before { + content: "flip"; } + +.ui-icon-flip-to-back:before { + content: "flip_to_back"; } + +.ui-icon-flip-to-front:before { + content: "flip_to_front"; } + +.ui-icon-folder:before { + content: "folder"; } + +.ui-icon-folder-open:before { + content: "folder_open"; } + +.ui-icon-folder-shared:before { + content: "folder_shared"; } + +.ui-icon-folder-special:before { + content: "folder_special"; } + +.ui-icon-font-download:before { + content: "font_download"; } + +.ui-icon-format-align-center:before { + content: "format_align_center"; } + +.ui-icon-format-align-justify:before { + content: "format_align_justify"; } + +.ui-icon-format-align-left:before { + content: "format_align_left"; } + +.ui-icon-format-align-right:before { + content: "format_align_right"; } + +.ui-icon-format-bold:before { + content: "format_bold"; } + +.ui-icon-format-clear:before { + content: "format_clear"; } + +.ui-icon-format-color-fill:before { + content: "format_color_fill"; } + +.ui-icon-format-color-reset:before { + content: "format_color_reset"; } + +.ui-icon-format-color-text:before { + content: "format_color_text"; } + +.ui-icon-format-indent-decrease:before { + content: "format_indent_decrease"; } + +.ui-icon-format-indent-increase:before { + content: "format_indent_increase"; } + +.ui-icon-format-italic:before { + content: "format_italic"; } + +.ui-icon-format-line-spacing:before { + content: "format_line_spacing"; } + +.ui-icon-format-list-bulleted:before { + content: "format_list_bulleted"; } + +.ui-icon-format-list-numbered:before { + content: "format_list_numbered"; } + +.ui-icon-format-paint:before { + content: "format_paint"; } + +.ui-icon-format-quote:before { + content: "format_quote"; } + +.ui-icon-format-shapes:before { + content: "format_shapes"; } + +.ui-icon-format-size:before { + content: "format_size"; } + +.ui-icon-format-strikethrough:before { + content: "format_strikethrough"; } + +.ui-icon-format-textdirection-l-to-r:before { + content: "format_textdirection_l_to_r"; } + +.ui-icon-format-textdirection-r-to-l:before { + content: "format_textdirection_r_to_l"; } + +.ui-icon-format-underlined:before { + content: "format_underlined"; } + +.ui-icon-forum:before { + content: "forum"; } + +.ui-icon-forward:before { + content: "forward"; } + +.ui-icon-forward-10:before { + content: "forward_10"; } + +.ui-icon-forward-30:before { + content: "forward_30"; } + +.ui-icon-forward-5:before { + content: "forward_5"; } + +.ui-icon-free-breakfast:before { + content: "free_breakfast"; } + +.ui-icon-fullscreen:before { + content: "fullscreen"; } + +.ui-icon-fullscreen-exit:before { + content: "fullscreen_exit"; } + +.ui-icon-functions:before { + content: "functions"; } + +.ui-icon-g-translate:before { + content: "g_translate"; } + +.ui-icon-gamepad:before { + content: "gamepad"; } + +.ui-icon-games:before { + content: "games"; } + +.ui-icon-gavel:before { + content: "gavel"; } + +.ui-icon-gesture:before { + content: "gesture"; } + +.ui-icon-get-app:before { + content: "get_app"; } + +.ui-icon-gif:before { + content: "gif"; } + +.ui-icon-golf-course:before { + content: "golf_course"; } + +.ui-icon-gps-fixed:before { + content: "gps_fixed"; } + +.ui-icon-gps-not-fixed:before { + content: "gps_not_fixed"; } + +.ui-icon-gps-off:before { + content: "gps_off"; } + +.ui-icon-grade:before { + content: "grade"; } + +.ui-icon-gradient:before { + content: "gradient"; } + +.ui-icon-grain:before { + content: "grain"; } + +.ui-icon-graphic-eq:before { + content: "graphic_eq"; } + +.ui-icon-grid-off:before { + content: "grid_off"; } + +.ui-icon-grid-on:before { + content: "grid_on"; } + +.ui-icon-group:before { + content: "group"; } + +.ui-icon-group-add:before { + content: "group_add"; } + +.ui-icon-group-work:before { + content: "group_work"; } + +.ui-icon-hd:before { + content: "hd"; } + +.ui-icon-hdr-off:before { + content: "hdr_off"; } + +.ui-icon-hdr-on:before { + content: "hdr_on"; } + +.ui-icon-hdr-strong:before { + content: "hdr_strong"; } + +.ui-icon-hdr-weak:before { + content: "hdr_weak"; } + +.ui-icon-headset:before { + content: "headset"; } + +.ui-icon-headset-mic:before { + content: "headset_mic"; } + +.ui-icon-healing:before { + content: "healing"; } + +.ui-icon-hearing:before { + content: "hearing"; } + +.ui-icon-help:before { + content: "help"; } + +.ui-icon-help-outline:before { + content: "help_outline"; } + +.ui-icon-high-quality:before { + content: "high_quality"; } + +.ui-icon-highlight:before { + content: "highlight"; } + +.ui-icon-highlight-off:before { + content: "highlight_off"; } + +.ui-icon-history:before { + content: "history"; } + +.ui-icon-home:before { + content: "home"; } + +.ui-icon-hot-tub:before { + content: "hot_tub"; } + +.ui-icon-hotel:before { + content: "hotel"; } + +.ui-icon-hourglass-empty:before { + content: "hourglass_empty"; } + +.ui-icon-hourglass-full:before { + content: "hourglass_full"; } + +.ui-icon-http:before { + content: "http"; } + +.ui-icon-https:before { + content: "https"; } + +.ui-icon-image:before { + content: "image"; } + +.ui-icon-image-aspect-ratio:before { + content: "image_aspect_ratio"; } + +.ui-icon-import-contacts:before { + content: "import_contacts"; } + +.ui-icon-import-export:before { + content: "import_export"; } + +.ui-icon-important-devices:before { + content: "important_devices"; } + +.ui-icon-inbox:before { + content: "inbox"; } + +.ui-icon-indeterminate-check-box:before { + content: "indeterminate_check_box"; } + +.ui-icon-info:before { + content: "info"; } + +.ui-icon-info-outline:before { + content: "info_outline"; } + +.ui-icon-input:before { + content: "input"; } + +.ui-icon-insert-chart:before { + content: "insert_chart"; } + +.ui-icon-insert-comment:before { + content: "insert_comment"; } + +.ui-icon-insert-drive-file:before { + content: "insert_drive_file"; } + +.ui-icon-insert-emoticon:before { + content: "insert_emoticon"; } + +.ui-icon-insert-invitation:before { + content: "insert_invitation"; } + +.ui-icon-insert-link:before { + content: "insert_link"; } + +.ui-icon-insert-photo:before { + content: "insert_photo"; } + +.ui-icon-invert-colors:before { + content: "invert_colors"; } + +.ui-icon-invert-colors-off:before { + content: "invert_colors_off"; } + +.ui-icon-iso:before { + content: "iso"; } + +.ui-icon-keyboard:before { + content: "keyboard"; } + +.ui-icon-keyboard-arrow-down:before { + content: "keyboard_arrow_down"; } + +.ui-icon-keyboard-arrow-left:before { + content: "keyboard_arrow_left"; } + +.ui-icon-keyboard-arrow-right:before { + content: "keyboard_arrow_right"; } + +.ui-icon-keyboard-arrow-up:before { + content: "keyboard_arrow_up"; } + +.ui-icon-keyboard-backspace:before { + content: "keyboard_backspace"; } + +.ui-icon-keyboard-capslock:before { + content: "keyboard_capslock"; } + +.ui-icon-keyboard-hide:before { + content: "keyboard_hide"; } + +.ui-icon-keyboard-return:before { + content: "keyboard_return"; } + +.ui-icon-keyboard-tab:before { + content: "keyboard_tab"; } + +.ui-icon-keyboard-voice:before { + content: "keyboard_voice"; } + +.ui-icon-kitchen:before { + content: "kitchen"; } + +.ui-icon-label:before { + content: "label"; } + +.ui-icon-label-outline:before { + content: "label_outline"; } + +.ui-icon-landscape:before { + content: "landscape"; } + +.ui-icon-language:before { + content: "language"; } + +.ui-icon-laptop:before { + content: "laptop"; } + +.ui-icon-laptop-chromebook:before { + content: "laptop_chromebook"; } + +.ui-icon-laptop-mac:before { + content: "laptop_mac"; } + +.ui-icon-laptop-windows:before { + content: "laptop_windows"; } + +.ui-icon-last-page:before { + content: "last_page"; } + +.ui-icon-launch:before { + content: "launch"; } + +.ui-icon-layers:before { + content: "layers"; } + +.ui-icon-layers-clear:before { + content: "layers_clear"; } + +.ui-icon-leak-add:before { + content: "leak_add"; } + +.ui-icon-leak-remove:before { + content: "leak_remove"; } + +.ui-icon-lens:before { + content: "lens"; } + +.ui-icon-library-add:before { + content: "library_add"; } + +.ui-icon-library-books:before { + content: "library_books"; } + +.ui-icon-library-music:before { + content: "library_music"; } + +.ui-icon-lightbulb-outline:before { + content: "lightbulb_outline"; } + +.ui-icon-line-style:before { + content: "line_style"; } + +.ui-icon-line-weight:before { + content: "line_weight"; } + +.ui-icon-linear-scale:before { + content: "linear_scale"; } + +.ui-icon-link:before { + content: "link"; } + +.ui-icon-linked-camera:before { + content: "linked_camera"; } + +.ui-icon-list:before { + content: "list"; } + +.ui-icon-live-help:before { + content: "live_help"; } + +.ui-icon-live-tv:before { + content: "live_tv"; } + +.ui-icon-local-activity:before { + content: "local_activity"; } + +.ui-icon-local-airport:before { + content: "local_airport"; } + +.ui-icon-local-atm:before { + content: "local_atm"; } + +.ui-icon-local-bar:before { + content: "local_bar"; } + +.ui-icon-local-cafe:before { + content: "local_cafe"; } + +.ui-icon-local-car-wash:before { + content: "local_car_wash"; } + +.ui-icon-local-convenience-store:before { + content: "local_convenience_store"; } + +.ui-icon-local-dining:before { + content: "local_dining"; } + +.ui-icon-local-drink:before { + content: "local_drink"; } + +.ui-icon-local-florist:before { + content: "local_florist"; } + +.ui-icon-local-gas-station:before { + content: "local_gas_station"; } + +.ui-icon-local-grocery-store:before { + content: "local_grocery_store"; } + +.ui-icon-local-hospital:before { + content: "local_hospital"; } + +.ui-icon-local-hotel:before { + content: "local_hotel"; } + +.ui-icon-local-laundry-service:before { + content: "local_laundry_service"; } + +.ui-icon-local-library:before { + content: "local_library"; } + +.ui-icon-local-mall:before { + content: "local_mall"; } + +.ui-icon-local-movies:before { + content: "local_movies"; } + +.ui-icon-local-offer:before { + content: "local_offer"; } + +.ui-icon-local-parking:before { + content: "local_parking"; } + +.ui-icon-local-pharmacy:before { + content: "local_pharmacy"; } + +.ui-icon-local-phone:before { + content: "local_phone"; } + +.ui-icon-local-pizza:before { + content: "local_pizza"; } + +.ui-icon-local-play:before { + content: "local_play"; } + +.ui-icon-local-post-office:before { + content: "local_post_office"; } + +.ui-icon-local-printshop:before { + content: "local_printshop"; } + +.ui-icon-local-see:before { + content: "local_see"; } + +.ui-icon-local-shipping:before { + content: "local_shipping"; } + +.ui-icon-local-taxi:before { + content: "local_taxi"; } + +.ui-icon-location-city:before { + content: "location_city"; } + +.ui-icon-location-disabled:before { + content: "location_disabled"; } + +.ui-icon-location-off:before { + content: "location_off"; } + +.ui-icon-location-on:before { + content: "location_on"; } + +.ui-icon-location-searching:before { + content: "location_searching"; } + +.ui-icon-lock:before { + content: "lock"; } + +.ui-icon-lock-open:before { + content: "lock_open"; } + +.ui-icon-lock-outline:before { + content: "lock_outline"; } + +.ui-icon-looks:before { + content: "looks"; } + +.ui-icon-looks-3:before { + content: "looks_3"; } + +.ui-icon-looks-4:before { + content: "looks_4"; } + +.ui-icon-looks-5:before { + content: "looks_5"; } + +.ui-icon-looks-6:before { + content: "looks_6"; } + +.ui-icon-looks-one:before { + content: "looks_one"; } + +.ui-icon-looks-two:before { + content: "looks_two"; } + +.ui-icon-loop:before { + content: "loop"; } + +.ui-icon-loupe:before { + content: "loupe"; } + +.ui-icon-low-priority:before { + content: "low_priority"; } + +.ui-icon-loyalty:before { + content: "loyalty"; } + +.ui-icon-mail:before { + content: "mail"; } + +.ui-icon-mail-outline:before { + content: "mail_outline"; } + +.ui-icon-map:before { + content: "map"; } + +.ui-icon-markunread:before { + content: "markunread"; } + +.ui-icon-markunread-mailbox:before { + content: "markunread_mailbox"; } + +.ui-icon-memory:before { + content: "memory"; } + +.ui-icon-menu:before { + content: "menu"; } + +.ui-icon-merge-type:before { + content: "merge_type"; } + +.ui-icon-message:before { + content: "message"; } + +.ui-icon-mic:before { + content: "mic"; } + +.ui-icon-mic-none:before { + content: "mic_none"; } + +.ui-icon-mic-off:before { + content: "mic_off"; } + +.ui-icon-mms:before { + content: "mms"; } + +.ui-icon-mode-comment:before { + content: "mode_comment"; } + +.ui-icon-mode-edit:before { + content: "mode_edit"; } + +.ui-icon-monetization-on:before { + content: "monetization_on"; } + +.ui-icon-money-off:before { + content: "money_off"; } + +.ui-icon-monochrome-photos:before { + content: "monochrome_photos"; } + +.ui-icon-mood:before { + content: "mood"; } + +.ui-icon-mood-bad:before { + content: "mood_bad"; } + +.ui-icon-more:before { + content: "more"; } + +.ui-icon-more-horiz:before { + content: "more_horiz"; } + +.ui-icon-more-vert:before { + content: "more_vert"; } + +.ui-icon-motorcycle:before { + content: "motorcycle"; } + +.ui-icon-mouse:before { + content: "mouse"; } + +.ui-icon-move-to-inbox:before { + content: "move_to_inbox"; } + +.ui-icon-movie:before { + content: "movie"; } + +.ui-icon-movie-creation:before { + content: "movie_creation"; } + +.ui-icon-movie-filter:before { + content: "movie_filter"; } + +.ui-icon-multiline-chart:before { + content: "multiline_chart"; } + +.ui-icon-music-note:before { + content: "music_note"; } + +.ui-icon-music-video:before { + content: "music_video"; } + +.ui-icon-my-location:before { + content: "my_location"; } + +.ui-icon-nature:before { + content: "nature"; } + +.ui-icon-nature-people:before { + content: "nature_people"; } + +.ui-icon-navigate-before:before { + content: "navigate_before"; } + +.ui-icon-navigate-next:before { + content: "navigate_next"; } + +.ui-icon-navigation:before { + content: "navigation"; } + +.ui-icon-near-me:before { + content: "near_me"; } + +.ui-icon-network-cell:before { + content: "network_cell"; } + +.ui-icon-network-check:before { + content: "network_check"; } + +.ui-icon-network-locked:before { + content: "network_locked"; } + +.ui-icon-network-wifi:before { + content: "network_wifi"; } + +.ui-icon-new-releases:before { + content: "new_releases"; } + +.ui-icon-next-week:before { + content: "next_week"; } + +.ui-icon-nfc:before { + content: "nfc"; } + +.ui-icon-no-encryption:before { + content: "no_encryption"; } + +.ui-icon-no-sim:before { + content: "no_sim"; } + +.ui-icon-not-interested:before { + content: "not_interested"; } + +.ui-icon-note:before { + content: "note"; } + +.ui-icon-note-add:before { + content: "note_add"; } + +.ui-icon-notifications:before { + content: "notifications"; } + +.ui-icon-notifications-active:before { + content: "notifications_active"; } + +.ui-icon-notifications-none:before { + content: "notifications_none"; } + +.ui-icon-notifications-off:before { + content: "notifications_off"; } + +.ui-icon-notifications-paused:before { + content: "notifications_paused"; } + +.ui-icon-offline-pin:before { + content: "offline_pin"; } + +.ui-icon-ondemand-video:before { + content: "ondemand_video"; } + +.ui-icon-opacity:before { + content: "opacity"; } + +.ui-icon-open-in-browser:before { + content: "open_in_browser"; } + +.ui-icon-open-in-new:before { + content: "open_in_new"; } + +.ui-icon-open-with:before { + content: "open_with"; } + +.ui-icon-pages:before { + content: "pages"; } + +.ui-icon-pageview:before { + content: "pageview"; } + +.ui-icon-palette:before { + content: "palette"; } + +.ui-icon-pan-tool:before { + content: "pan_tool"; } + +.ui-icon-panorama:before { + content: "panorama"; } + +.ui-icon-panorama-fish-eye:before { + content: "panorama_fish_eye"; } + +.ui-icon-panorama-horizontal:before { + content: "panorama_horizontal"; } + +.ui-icon-panorama-vertical:before { + content: "panorama_vertical"; } + +.ui-icon-panorama-wide-angle:before { + content: "panorama_wide_angle"; } + +.ui-icon-party-mode:before { + content: "party_mode"; } + +.ui-icon-pause:before { + content: "pause"; } + +.ui-icon-pause-circle-filled:before { + content: "pause_circle_filled"; } + +.ui-icon-pause-circle-outline:before { + content: "pause_circle_outline"; } + +.ui-icon-payment:before { + content: "payment"; } + +.ui-icon-people:before { + content: "people"; } + +.ui-icon-people-outline:before { + content: "people_outline"; } + +.ui-icon-perm-camera-mic:before { + content: "perm_camera_mic"; } + +.ui-icon-perm-contact-calendar:before { + content: "perm_contact_calendar"; } + +.ui-icon-perm-data-setting:before { + content: "perm_data_setting"; } + +.ui-icon-perm-device-information:before { + content: "perm_device_information"; } + +.ui-icon-perm-identity:before { + content: "perm_identity"; } + +.ui-icon-perm-media:before { + content: "perm_media"; } + +.ui-icon-perm-phone-msg:before { + content: "perm_phone_msg"; } + +.ui-icon-perm-scan-wifi:before { + content: "perm_scan_wifi"; } + +.ui-icon-person:before { + content: "person"; } + +.ui-icon-person-add:before { + content: "person_add"; } + +.ui-icon-person-outline:before { + content: "person_outline"; } + +.ui-icon-person-pin:before { + content: "person_pin"; } + +.ui-icon-person-pin-circle:before { + content: "person_pin_circle"; } + +.ui-icon-personal-video:before { + content: "personal_video"; } + +.ui-icon-pets:before { + content: "pets"; } + +.ui-icon-phone:before { + content: "phone"; } + +.ui-icon-phone-android:before { + content: "phone_android"; } + +.ui-icon-phone-bluetooth-speaker:before { + content: "phone_bluetooth_speaker"; } + +.ui-icon-phone-forwarded:before { + content: "phone_forwarded"; } + +.ui-icon-phone-in-talk:before { + content: "phone_in_talk"; } + +.ui-icon-phone-iphone:before { + content: "phone_iphone"; } + +.ui-icon-phone-locked:before { + content: "phone_locked"; } + +.ui-icon-phone-missed:before { + content: "phone_missed"; } + +.ui-icon-phone-paused:before { + content: "phone_paused"; } + +.ui-icon-phonelink:before { + content: "phonelink"; } + +.ui-icon-phonelink-erase:before { + content: "phonelink_erase"; } + +.ui-icon-phonelink-lock:before { + content: "phonelink_lock"; } + +.ui-icon-phonelink-off:before { + content: "phonelink_off"; } + +.ui-icon-phonelink-ring:before { + content: "phonelink_ring"; } + +.ui-icon-phonelink-setup:before { + content: "phonelink_setup"; } + +.ui-icon-photo:before { + content: "photo"; } + +.ui-icon-photo-album:before { + content: "photo_album"; } + +.ui-icon-photo-camera:before { + content: "photo_camera"; } + +.ui-icon-photo-filter:before { + content: "photo_filter"; } + +.ui-icon-photo-library:before { + content: "photo_library"; } + +.ui-icon-photo-size-select-actual:before { + content: "photo_size_select_actual"; } + +.ui-icon-photo-size-select-large:before { + content: "photo_size_select_large"; } + +.ui-icon-photo-size-select-small:before { + content: "photo_size_select_small"; } + +.ui-icon-picture-as-pdf:before { + content: "picture_as_pdf"; } + +.ui-icon-picture-in-picture:before { + content: "picture_in_picture"; } + +.ui-icon-picture-in-picture-alt:before { + content: "picture_in_picture_alt"; } + +.ui-icon-pie-chart:before { + content: "pie_chart"; } + +.ui-icon-pie-chart-outlined:before { + content: "pie_chart_outlined"; } + +.ui-icon-pin-drop:before { + content: "pin_drop"; } + +.ui-icon-place:before { + content: "place"; } + +.ui-icon-play-arrow:before { + content: "play_arrow"; } + +.ui-icon-play-circle-filled:before { + content: "play_circle_filled"; } + +.ui-icon-play-circle-outline:before { + content: "play_circle_outline"; } + +.ui-icon-play-for-work:before { + content: "play_for_work"; } + +.ui-icon-playlist-add:before { + content: "playlist_add"; } + +.ui-icon-playlist-add-check:before { + content: "playlist_add_check"; } + +.ui-icon-playlist-play:before { + content: "playlist_play"; } + +.ui-icon-plus-one:before { + content: "plus_one"; } + +.ui-icon-poll:before { + content: "poll"; } + +.ui-icon-polymer:before { + content: "polymer"; } + +.ui-icon-pool:before { + content: "pool"; } + +.ui-icon-portable-wifi-off:before { + content: "portable_wifi_off"; } + +.ui-icon-portrait:before { + content: "portrait"; } + +.ui-icon-power:before { + content: "power"; } + +.ui-icon-power-input:before { + content: "power_input"; } + +.ui-icon-power-settings-new:before { + content: "power_settings_new"; } + +.ui-icon-pregnant-woman:before { + content: "pregnant_woman"; } + +.ui-icon-present-to-all:before { + content: "present_to_all"; } + +.ui-icon-print:before { + content: "print"; } + +.ui-icon-priority-high:before { + content: "priority_high"; } + +.ui-icon-public:before { + content: "public"; } + +.ui-icon-publish:before { + content: "publish"; } + +.ui-icon-query-builder:before { + content: "query_builder"; } + +.ui-icon-question-answer:before { + content: "question_answer"; } + +.ui-icon-queue:before { + content: "queue"; } + +.ui-icon-queue-music:before { + content: "queue_music"; } + +.ui-icon-queue-play-next:before { + content: "queue_play_next"; } + +.ui-icon-radio:before { + content: "radio"; } + +.ui-icon-radio-button-checked:before { + content: "radio_button_checked"; } + +.ui-icon-radio-button-unchecked:before { + content: "radio_button_unchecked"; } + +.ui-icon-rate-review:before { + content: "rate_review"; } + +.ui-icon-receipt:before { + content: "receipt"; } + +.ui-icon-recent-actors:before { + content: "recent_actors"; } + +.ui-icon-record-voice-over:before { + content: "record_voice_over"; } + +.ui-icon-redeem:before { + content: "redeem"; } + +.ui-icon-redo:before { + content: "redo"; } + +.ui-icon-refresh:before { + content: "refresh"; } + +.ui-icon-remove:before { + content: "remove"; } + +.ui-icon-remove-circle:before { + content: "remove_circle"; } + +.ui-icon-remove-circle-outline:before { + content: "remove_circle_outline"; } + +.ui-icon-remove-from-queue:before { + content: "remove_from_queue"; } + +.ui-icon-remove-red-eye:before { + content: "remove_red_eye"; } + +.ui-icon-remove-shopping-cart:before { + content: "remove_shopping_cart"; } + +.ui-icon-reorder:before { + content: "reorder"; } + +.ui-icon-repeat:before { + content: "repeat"; } + +.ui-icon-repeat-one:before { + content: "repeat_one"; } + +.ui-icon-replay:before { + content: "replay"; } + +.ui-icon-replay-10:before { + content: "replay_10"; } + +.ui-icon-replay-30:before { + content: "replay_30"; } + +.ui-icon-replay-5:before { + content: "replay_5"; } + +.ui-icon-reply:before { + content: "reply"; } + +.ui-icon-reply-all:before { + content: "reply_all"; } + +.ui-icon-report:before { + content: "report"; } + +.ui-icon-report-problem:before { + content: "report_problem"; } + +.ui-icon-restaurant:before { + content: "restaurant"; } + +.ui-icon-restaurant-menu:before { + content: "restaurant_menu"; } + +.ui-icon-restore:before { + content: "restore"; } + +.ui-icon-restore-page:before { + content: "restore_page"; } + +.ui-icon-ring-volume:before { + content: "ring_volume"; } + +.ui-icon-room:before { + content: "room"; } + +.ui-icon-room-service:before { + content: "room_service"; } + +.ui-icon-rotate-90-degrees-ccw:before { + content: "rotate_90_degrees_ccw"; } + +.ui-icon-rotate-left:before { + content: "rotate_left"; } + +.ui-icon-rotate-right:before { + content: "rotate_right"; } + +.ui-icon-rounded-corner:before { + content: "rounded_corner"; } + +.ui-icon-router:before { + content: "router"; } + +.ui-icon-rowing:before { + content: "rowing"; } + +.ui-icon-rss-feed:before { + content: "rss_feed"; } + +.ui-icon-rv-hookup:before { + content: "rv_hookup"; } + +.ui-icon-satellite:before { + content: "satellite"; } + +.ui-icon-save:before { + content: "save"; } + +.ui-icon-scanner:before { + content: "scanner"; } + +.ui-icon-schedule:before { + content: "schedule"; } + +.ui-icon-school:before { + content: "school"; } + +.ui-icon-screen-lock-landscape:before { + content: "screen_lock_landscape"; } + +.ui-icon-screen-lock-portrait:before { + content: "screen_lock_portrait"; } + +.ui-icon-screen-lock-rotation:before { + content: "screen_lock_rotation"; } + +.ui-icon-screen-rotation:before { + content: "screen_rotation"; } + +.ui-icon-screen-share:before { + content: "screen_share"; } + +.ui-icon-sd-card:before { + content: "sd_card"; } + +.ui-icon-sd-storage:before { + content: "sd_storage"; } + +.ui-icon-search:before { + content: "search"; } + +.ui-icon-security:before { + content: "security"; } + +.ui-icon-select-all:before { + content: "select_all"; } + +.ui-icon-send:before { + content: "send"; } + +.ui-icon-sentiment-dissatisfied:before { + content: "sentiment_dissatisfied"; } + +.ui-icon-sentiment-neutral:before { + content: "sentiment_neutral"; } + +.ui-icon-sentiment-satisfied:before { + content: "sentiment_satisfied"; } + +.ui-icon-sentiment-very-dissatisfied:before { + content: "sentiment_very_dissatisfied"; } + +.ui-icon-sentiment-very-satisfied:before { + content: "sentiment_very_satisfied"; } + +.ui-icon-settings:before { + content: "settings"; } + +.ui-icon-settings-applications:before { + content: "settings_applications"; } + +.ui-icon-settings-backup-restore:before { + content: "settings_backup_restore"; } + +.ui-icon-settings-bluetooth:before { + content: "settings_bluetooth"; } + +.ui-icon-settings-brightness:before { + content: "settings_brightness"; } + +.ui-icon-settings-cell:before { + content: "settings_cell"; } + +.ui-icon-settings-ethernet:before { + content: "settings_ethernet"; } + +.ui-icon-settings-input-antenna:before { + content: "settings_input_antenna"; } + +.ui-icon-settings-input-component:before { + content: "settings_input_component"; } + +.ui-icon-settings-input-composite:before { + content: "settings_input_composite"; } + +.ui-icon-settings-input-hdmi:before { + content: "settings_input_hdmi"; } + +.ui-icon-settings-input-svideo:before { + content: "settings_input_svideo"; } + +.ui-icon-settings-overscan:before { + content: "settings_overscan"; } + +.ui-icon-settings-phone:before { + content: "settings_phone"; } + +.ui-icon-settings-power:before { + content: "settings_power"; } + +.ui-icon-settings-remote:before { + content: "settings_remote"; } + +.ui-icon-settings-system-daydream:before { + content: "settings_system_daydream"; } + +.ui-icon-settings-voice:before { + content: "settings_voice"; } + +.ui-icon-share:before { + content: "share"; } + +.ui-icon-shop:before { + content: "shop"; } + +.ui-icon-shop-two:before { + content: "shop_two"; } + +.ui-icon-shopping-basket:before { + content: "shopping_basket"; } + +.ui-icon-shopping-cart:before { + content: "shopping_cart"; } + +.ui-icon-short-text:before { + content: "short_text"; } + +.ui-icon-show-chart:before { + content: "show_chart"; } + +.ui-icon-shuffle:before { + content: "shuffle"; } + +.ui-icon-signal-cellular-4-bar:before { + content: "signal_cellular_4_bar"; } + +.ui-icon-signal-cellular-connected-no-internet-4-bar:before { + content: "signal_cellular_connected_no_internet_4_bar"; } + +.ui-icon-signal-cellular-no-sim:before { + content: "signal_cellular_no_sim"; } + +.ui-icon-signal-cellular-null:before { + content: "signal_cellular_null"; } + +.ui-icon-signal-cellular-off:before { + content: "signal_cellular_off"; } + +.ui-icon-signal-wifi-4-bar:before { + content: "signal_wifi_4_bar"; } + +.ui-icon-signal-wifi-4-bar-lock:before { + content: "signal_wifi_4_bar_lock"; } + +.ui-icon-signal-wifi-off:before { + content: "signal_wifi_off"; } + +.ui-icon-sim-card:before { + content: "sim_card"; } + +.ui-icon-sim-card-alert:before { + content: "sim_card_alert"; } + +.ui-icon-skip-next:before { + content: "skip_next"; } + +.ui-icon-skip-previous:before { + content: "skip_previous"; } + +.ui-icon-slideshow:before { + content: "slideshow"; } + +.ui-icon-slow-motion-video:before { + content: "slow_motion_video"; } + +.ui-icon-smartphone:before { + content: "smartphone"; } + +.ui-icon-smoke-free:before { + content: "smoke_free"; } + +.ui-icon-smoking-rooms:before { + content: "smoking_rooms"; } + +.ui-icon-sms:before { + content: "sms"; } + +.ui-icon-sms-failed:before { + content: "sms_failed"; } + +.ui-icon-snooze:before { + content: "snooze"; } + +.ui-icon-sort:before { + content: "sort"; } + +.ui-icon-sort-by-alpha:before { + content: "sort_by_alpha"; } + +.ui-icon-spa:before { + content: "spa"; } + +.ui-icon-space-bar:before { + content: "space_bar"; } + +.ui-icon-speaker:before { + content: "speaker"; } + +.ui-icon-speaker-group:before { + content: "speaker_group"; } + +.ui-icon-speaker-notes:before { + content: "speaker_notes"; } + +.ui-icon-speaker-notes-off:before { + content: "speaker_notes_off"; } + +.ui-icon-speaker-phone:before { + content: "speaker_phone"; } + +.ui-icon-spellcheck:before { + content: "spellcheck"; } + +.ui-icon-star:before { + content: "star"; } + +.ui-icon-star-border:before { + content: "star_border"; } + +.ui-icon-star-half:before { + content: "star_half"; } + +.ui-icon-stars:before { + content: "stars"; } + +.ui-icon-stay-current-landscape:before { + content: "stay_current_landscape"; } + +.ui-icon-stay-current-portrait:before { + content: "stay_current_portrait"; } + +.ui-icon-stay-primary-landscape:before { + content: "stay_primary_landscape"; } + +.ui-icon-stay-primary-portrait:before { + content: "stay_primary_portrait"; } + +.ui-icon-stop:before { + content: "stop"; } + +.ui-icon-stop-screen-share:before { + content: "stop_screen_share"; } + +.ui-icon-storage:before { + content: "storage"; } + +.ui-icon-store:before { + content: "store"; } + +.ui-icon-store-mall-directory:before { + content: "store_mall_directory"; } + +.ui-icon-straighten:before { + content: "straighten"; } + +.ui-icon-streetview:before { + content: "streetview"; } + +.ui-icon-strikethrough-s:before { + content: "strikethrough_s"; } + +.ui-icon-style:before { + content: "style"; } + +.ui-icon-subdirectory-arrow-left:before { + content: "subdirectory_arrow_left"; } + +.ui-icon-subdirectory-arrow-right:before { + content: "subdirectory_arrow_right"; } + +.ui-icon-subject:before { + content: "subject"; } + +.ui-icon-subscriptions:before { + content: "subscriptions"; } + +.ui-icon-subtitles:before { + content: "subtitles"; } + +.ui-icon-subway:before { + content: "subway"; } + +.ui-icon-supervisor-account:before { + content: "supervisor_account"; } + +.ui-icon-surround-sound:before { + content: "surround_sound"; } + +.ui-icon-swap-calls:before { + content: "swap_calls"; } + +.ui-icon-swap-horiz:before { + content: "swap_horiz"; } + +.ui-icon-swap-vert:before { + content: "swap_vert"; } + +.ui-icon-swap-vertical-circle:before { + content: "swap_vertical_circle"; } + +.ui-icon-switch-camera:before { + content: "switch_camera"; } + +.ui-icon-switch-video:before { + content: "switch_video"; } + +.ui-icon-sync:before { + content: "sync"; } + +.ui-icon-sync-disabled:before { + content: "sync_disabled"; } + +.ui-icon-sync-problem:before { + content: "sync_problem"; } + +.ui-icon-system-update:before { + content: "system_update"; } + +.ui-icon-system-update-alt:before { + content: "system_update_alt"; } + +.ui-icon-tab:before { + content: "tab"; } + +.ui-icon-tab-unselected:before { + content: "tab_unselected"; } + +.ui-icon-tablet:before { + content: "tablet"; } + +.ui-icon-tablet-android:before { + content: "tablet_android"; } + +.ui-icon-tablet-mac:before { + content: "tablet_mac"; } + +.ui-icon-tag-faces:before { + content: "tag_faces"; } + +.ui-icon-tap-and-play:before { + content: "tap_and_play"; } + +.ui-icon-terrain:before { + content: "terrain"; } + +.ui-icon-text-fields:before { + content: "text_fields"; } + +.ui-icon-text-format:before { + content: "text_format"; } + +.ui-icon-textsms:before { + content: "textsms"; } + +.ui-icon-texture:before { + content: "texture"; } + +.ui-icon-theaters:before { + content: "theaters"; } + +.ui-icon-thumb-down:before { + content: "thumb_down"; } + +.ui-icon-thumb-up:before { + content: "thumb_up"; } + +.ui-icon-thumbs-up-down:before { + content: "thumbs_up_down"; } + +.ui-icon-time-to-leave:before { + content: "time_to_leave"; } + +.ui-icon-timelapse:before { + content: "timelapse"; } + +.ui-icon-timeline:before { + content: "timeline"; } + +.ui-icon-timer:before { + content: "timer"; } + +.ui-icon-timer-10:before { + content: "timer_10"; } + +.ui-icon-timer-3:before { + content: "timer_3"; } + +.ui-icon-timer-off:before { + content: "timer_off"; } + +.ui-icon-title:before { + content: "title"; } + +.ui-icon-toc:before { + content: "toc"; } + +.ui-icon-today:before { + content: "today"; } + +.ui-icon-toll:before { + content: "toll"; } + +.ui-icon-tonality:before { + content: "tonality"; } + +.ui-icon-touch-app:before { + content: "touch_app"; } + +.ui-icon-toys:before { + content: "toys"; } + +.ui-icon-track-changes:before { + content: "track_changes"; } + +.ui-icon-traffic:before { + content: "traffic"; } + +.ui-icon-train:before { + content: "train"; } + +.ui-icon-tram:before { + content: "tram"; } + +.ui-icon-transfer-within-a-station:before { + content: "transfer_within_a_station"; } + +.ui-icon-transform:before { + content: "transform"; } + +.ui-icon-translate:before { + content: "translate"; } + +.ui-icon-trending-down:before { + content: "trending_down"; } + +.ui-icon-trending-flat:before { + content: "trending_flat"; } + +.ui-icon-trending-up:before { + content: "trending_up"; } + +.ui-icon-tune:before { + content: "tune"; } + +.ui-icon-turned-in:before { + content: "turned_in"; } + +.ui-icon-turned-in-not:before { + content: "turned_in_not"; } + +.ui-icon-tv:before { + content: "tv"; } + +.ui-icon-unarchive:before { + content: "unarchive"; } + +.ui-icon-undo:before { + content: "undo"; } + +.ui-icon-unfold-less:before { + content: "unfold_less"; } + +.ui-icon-unfold-more:before { + content: "unfold_more"; } + +.ui-icon-update:before { + content: "update"; } + +.ui-icon-usb:before { + content: "usb"; } + +.ui-icon-verified-user:before { + content: "verified_user"; } + +.ui-icon-vertical-align-bottom:before { + content: "vertical_align_bottom"; } + +.ui-icon-vertical-align-center:before { + content: "vertical_align_center"; } + +.ui-icon-vertical-align-top:before { + content: "vertical_align_top"; } + +.ui-icon-vibration:before { + content: "vibration"; } + +.ui-icon-video-call:before { + content: "video_call"; } + +.ui-icon-video-label:before { + content: "video_label"; } + +.ui-icon-video-library:before { + content: "video_library"; } + +.ui-icon-videocam:before { + content: "videocam"; } + +.ui-icon-videocam-off:before { + content: "videocam_off"; } + +.ui-icon-videogame-asset:before { + content: "videogame_asset"; } + +.ui-icon-view-agenda:before { + content: "view_agenda"; } + +.ui-icon-view-array:before { + content: "view_array"; } + +.ui-icon-view-carousel:before { + content: "view_carousel"; } + +.ui-icon-view-column:before { + content: "view_column"; } + +.ui-icon-view-comfy:before { + content: "view_comfy"; } + +.ui-icon-view-compact:before { + content: "view_compact"; } + +.ui-icon-view-day:before { + content: "view_day"; } + +.ui-icon-view-headline:before { + content: "view_headline"; } + +.ui-icon-view-list:before { + content: "view_list"; } + +.ui-icon-view-module:before { + content: "view_module"; } + +.ui-icon-view-quilt:before { + content: "view_quilt"; } + +.ui-icon-view-stream:before { + content: "view_stream"; } + +.ui-icon-view-week:before { + content: "view_week"; } + +.ui-icon-vignette:before { + content: "vignette"; } + +.ui-icon-visibility:before { + content: "visibility"; } + +.ui-icon-visibility-off:before { + content: "visibility_off"; } + +.ui-icon-voice-chat:before { + content: "voice_chat"; } + +.ui-icon-voicemail:before { + content: "voicemail"; } + +.ui-icon-volume-down:before { + content: "volume_down"; } + +.ui-icon-volume-mute:before { + content: "volume_mute"; } + +.ui-icon-volume-off:before { + content: "volume_off"; } + +.ui-icon-volume-up:before { + content: "volume_up"; } + +.ui-icon-vpn-key:before { + content: "vpn_key"; } + +.ui-icon-vpn-lock:before { + content: "vpn_lock"; } + +.ui-icon-wallpaper:before { + content: "wallpaper"; } + +.ui-icon-warning:before { + content: "warning"; } + +.ui-icon-watch:before { + content: "watch"; } + +.ui-icon-watch-later:before { + content: "watch_later"; } + +.ui-icon-wb-auto:before { + content: "wb_auto"; } + +.ui-icon-wb-cloudy:before { + content: "wb_cloudy"; } + +.ui-icon-wb-incandescent:before { + content: "wb_incandescent"; } + +.ui-icon-wb-iridescent:before { + content: "wb_iridescent"; } + +.ui-icon-wb-sunny:before { + content: "wb_sunny"; } + +.ui-icon-wc:before { + content: "wc"; } + +.ui-icon-web:before { + content: "web"; } + +.ui-icon-web-asset:before { + content: "web_asset"; } + +.ui-icon-weekend:before { + content: "weekend"; } + +.ui-icon-whatshot:before { + content: "whatshot"; } + +.ui-icon-widgets:before { + content: "widgets"; } + +.ui-icon-wifi:before { + content: "wifi"; } + +.ui-icon-wifi-lock:before { + content: "wifi_lock"; } + +.ui-icon-wifi-tethering:before { + content: "wifi_tethering"; } + +.ui-icon-work:before { + content: "work"; } + +.ui-icon-wrap-text:before { + content: "wrap_text"; } + +.ui-icon-youtube-searched-for:before { + content: "youtube_searched_for"; } + +.ui-icon-zoom-in:before { + content: "zoom_in"; } + +.ui-icon-zoom-out:before { + content: "zoom_out"; } + +.ui-icon-zoom-out-map:before { + content: "zoom_out_map"; } + +.material-icons, .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + +body .ui-widget, +body .ui-widget .ui-widget { + font-family: "Roboto","Helvetica Neue",sans-serif; + text-decoration: none; } +body .ui-widget-content { + background-color: #ffffff; + font-size: 1em; + border: 1px solid #bdbdbd; } + body .ui-widget-content .fa { + color: #757575; } +body .ui-widget-header { + background-color: #673AB7; + color: #ffffff; + font-size: 1em; + border: 1px solid #673AB7; } + body .ui-widget-header .fa { + color: #ffffff; } +body .ui-state-active, body .ui-state-highlight { + background-color: #00BCD4; + color: #ffffff; } + body .ui-state-active .fa, body .ui-state-highlight .fa { + color: #ffffff; } +body .ui-widget:disabled, +body .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; + cursor: auto !important; } +body .ui-corner-all { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } +body .ui-corner-top { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } +body .ui-corner-bottom { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-corner-left { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; } +body .ui-corner-right { + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-widget-overlay { + background-color: #58575c; + opacity: .8; } + +body { + /* InputGroup */ + /* Validation */ } + body .ui-inputtext { + background: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + font-size: 1em; + border-color: #bdbdbd; + border-style: solid; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + border-radius: 0px; } + body .ui-inputtext:focus, body .ui-inputtext.ui-state-focus { + border-width: 0 0 2px 0; + border-color: #673AB7; + padding-bottom: 0px; } + body .ui-inputtext:disabled { + border-bottom: 1px dotted; } + body .ui-inputtext.ui-widget-content { + border-width: 1px; } + body .ui-inputtext.ui-state-error { + border-color: #e62a10; } + body .md-inputfield { + display: block; + position: relative; } + body .md-inputfield label { + color: #999; + font-weight: normal; + position: absolute; + pointer-events: none; + left: 5px; + top: 1px; + transition: 0.3s ease all; + -moz-transition: 0.3s ease all; + -webkit-transition: 0.3s ease all; } + body .md-inputfield input:focus ~ label, + body .md-inputfield input.ui-state-filled ~ label, + body .md-inputfield .ui-inputwrapper-focus ~ label, + body .md-inputfield .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #673AB7; } + body .md-inputfield .input:-webkit-autofill ~ label { + top: -20px; + font-size: 12px; + color: #673AB7; } + body .md-inputfield input.ng-dirty.ng-invalid ~ label { + color: #e62a10; } + body .md-inputfield .ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .md-inputfield.md-inputfield-fill input { + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 4px; } + body .md-inputfield.md-inputfield-fill label { + top: 2px; } + body .md-inputfield.md-inputfield-fill input:focus ~ label, + body .md-inputfield.md-inputfield-fill input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #673AB7; } + body .md-inputfield.md-inputfield-box { + background-color: #f7f7f7; + height: 44px; } + body .md-inputfield.md-inputfield-box > *:not(label) { + bottom: 0px; + position: absolute; + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 24px; } + body .md-inputfield.md-inputfield-box > label { + top: 23px; } + body .md-inputfield.md-inputfield-box input:focus ~ label, + body .md-inputfield.md-inputfield-box input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-filled ~ label { + top: 1px; } + body .md-inputfield.md-inputfield-box .input:-webkit-autofill ~ label { + top: 1px; } + body .ui-material-message.ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .ui-material-message.ui-message.ui-messages-error label { + top: 4px; } + body .ui-listbox { + min-width: 12.5em; + background-color: #ffffff; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-listbox.ui-inputtext { + padding: 0; } + body .ui-listbox .ui-listbox-list { + padding: 0; } + body .ui-listbox .ui-listbox-item { + overflow: hidden; + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + color: #212121; + position: relative; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-listbox .ui-listbox-item.ui-state-highlight { + background-color: #00BCD4; + color: #ffffff; } + body .ui-listbox:not(.ui-state-disabled) .ui-listbox-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-listbox .ui-listbox-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; } + body .ui-listbox .ui-listbox-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext { + color: #ffffff; + padding: 2px 2px 1px 2px; + padding-left: 1.5em; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext:focus { + padding-bottom: 0; + border-bottom-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .fa { + top: 0; + left: 0; } + body .ui-button, body .ui-datepicker-buttonpane > button { + overflow: hidden; + background-color: #673AB7; + color: #ffffff; + font-size: 1em; + height: 2.25em; + padding: 0 1em; + border: 0 none; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button:focus, body .ui-datepicker-buttonpane > button:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button .ui-button-text, body .ui-datepicker-buttonpane > button .ui-button-text { + padding: 0; + line-height: 2.25em; } + body .ui-button .fa, body .ui-datepicker-buttonpane > button .fa { + color: #ffffff; } + body .ui-button.ui-button-icon-only, body .ui-datepicker-buttonpane > button.ui-button-icon-only { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 2.5em; + height: 2.5em; } + body .ui-button.ui-button-icon-only .fa, body .ui-datepicker-buttonpane > button.ui-button-icon-only .fa { + margin-left: -.5em; } + body .ui-button.ui-button-text-icon-left, body .ui-datepicker-buttonpane > button.ui-button-text-icon-left { + padding-left: 2.5em; } + body .ui-button.ui-button-text-icon-right, body .ui-datepicker-buttonpane > button.ui-button-text-icon-right { + padding-right: 2.5em; } + body .ui-button.secondary, body .ui-button.ui-secondary-button, body .ui-datepicker-buttonpane > button.secondary, body .ui-datepicker-buttonpane > button.ui-secondary-button { + background-color: #00BCD4; + color: #ffffff; } + body .ui-button.secondary:enabled:not(:focus):hover, body .ui-button.ui-secondary-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.secondary:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-secondary-button:enabled:not(:focus):hover { + background-color: #00838F; } + body .ui-button.secondary:focus, body .ui-button.ui-secondary-button:focus, body .ui-datepicker-buttonpane > button.secondary:focus, body .ui-datepicker-buttonpane > button.ui-secondary-button:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button.blue-grey-btn, body .ui-datepicker-buttonpane > button.blue-grey-btn { + background-color: #607D8B; } + body .ui-button.blue-grey-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-grey-btn:enabled:not(:focus):hover { + background-color: #37474F; } + body .ui-button.blue-grey-btn:focus, body .ui-datepicker-buttonpane > button.blue-grey-btn:focus { + outline: 0 none; + background-color: #7b96a3; } + body .ui-button.cyan-btn, body .ui-datepicker-buttonpane > button.cyan-btn { + background-color: #00BCD4; } + body .ui-button.cyan-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.cyan-btn:enabled:not(:focus):hover { + background-color: #00838F; } + body .ui-button.cyan-btn:focus, body .ui-datepicker-buttonpane > button.cyan-btn:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button.teal-btn, body .ui-datepicker-buttonpane > button.teal-btn { + background-color: #009688; } + body .ui-button.teal-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.teal-btn:enabled:not(:focus):hover { + background-color: #00695C; } + body .ui-button.teal-btn:focus, body .ui-datepicker-buttonpane > button.teal-btn:focus { + outline: 0 none; + background-color: #00c9b6; } + body .ui-button.red-btn, body .ui-button.ui-danger-button, body .ui-datepicker-buttonpane > button.red-btn, body .ui-datepicker-buttonpane > button.ui-danger-button { + background-color: #F44336; } + body .ui-button.red-btn:enabled:not(:focus):hover, body .ui-button.ui-danger-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.red-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-danger-button:enabled:not(:focus):hover { + background-color: #C62828; } + body .ui-button.red-btn:focus, body .ui-button.ui-danger-button:focus, body .ui-datepicker-buttonpane > button.red-btn:focus, body .ui-datepicker-buttonpane > button.ui-danger-button:focus { + outline: 0 none; + background-color: #f77066; } + body .ui-button.green-btn, body .ui-button.ui-success-button, body .ui-datepicker-buttonpane > button.green-btn, body .ui-datepicker-buttonpane > button.ui-success-button { + background-color: #4CAF50; } + body .ui-button.green-btn:enabled:not(:focus):hover, body .ui-button.ui-success-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.green-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-success-button:enabled:not(:focus):hover { + background-color: #2E7D32; } + body .ui-button.green-btn:focus, body .ui-button.ui-success-button:focus, body .ui-datepicker-buttonpane > button.green-btn:focus, body .ui-datepicker-buttonpane > button.ui-success-button:focus { + outline: 0 none; + background-color: #6ec071; } + body .ui-button.deep-orange-btn, body .ui-datepicker-buttonpane > button.deep-orange-btn { + background-color: #FF5722; } + body .ui-button.deep-orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.deep-orange-btn:enabled:not(:focus):hover { + background-color: #D84315; } + body .ui-button.deep-orange-btn:focus, body .ui-datepicker-buttonpane > button.deep-orange-btn:focus { + outline: 0 none; + background-color: #ff7e55; } + body .ui-button.purple-btn, body .ui-datepicker-buttonpane > button.purple-btn { + background-color: #673AB7; } + body .ui-button.purple-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.purple-btn:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button.purple-btn:focus, body .ui-datepicker-buttonpane > button.purple-btn:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button.pink-btn, body .ui-datepicker-buttonpane > button.pink-btn { + background-color: #E91E63; } + body .ui-button.pink-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.pink-btn:enabled:not(:focus):hover { + background-color: #AD1457; } + body .ui-button.pink-btn:focus, body .ui-datepicker-buttonpane > button.pink-btn:focus { + outline: 0 none; + background-color: #ee4c83; } + body .ui-button.amber-btn, body .ui-button.ui-warning-button, body .ui-datepicker-buttonpane > button.amber-btn, body .ui-datepicker-buttonpane > button.ui-warning-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.amber-btn:enabled:not(:focus):hover, body .ui-button.ui-warning-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.amber-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-warning-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.amber-btn:focus, body .ui-button.ui-warning-button:focus, body .ui-datepicker-buttonpane > button.amber-btn:focus, body .ui-datepicker-buttonpane > button.ui-warning-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.orange-btn, body .ui-datepicker-buttonpane > button.orange-btn { + background-color: #FF9800; } + body .ui-button.orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.orange-btn:enabled:not(:focus):hover { + background-color: #EF6C00; } + body .ui-button.orange-btn:focus, body .ui-datepicker-buttonpane > button.orange-btn:focus { + outline: 0 none; + background-color: #ffad33; } + body .ui-button.brown-btn, body .ui-datepicker-buttonpane > button.brown-btn { + background-color: #795548; } + body .ui-button.brown-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.brown-btn:enabled:not(:focus):hover { + background-color: #4E342E; } + body .ui-button.brown-btn:focus, body .ui-datepicker-buttonpane > button.brown-btn:focus { + outline: 0 none; + background-color: #996b5b; } + body .ui-button.indigo-btn, body .ui-datepicker-buttonpane > button.indigo-btn { + background-color: #3F51B5; } + body .ui-button.indigo-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.indigo-btn:enabled:not(:focus):hover { + background-color: #283593; } + body .ui-button.indigo-btn:focus, body .ui-datepicker-buttonpane > button.indigo-btn:focus { + outline: 0 none; + background-color: #606fc7; } + body .ui-button.blue-btn, body .ui-button.ui-info-button, body .ui-datepicker-buttonpane > button.blue-btn, body .ui-datepicker-buttonpane > button.ui-info-button { + background-color: #03A9F4; + color: #ffffff; } + body .ui-button.blue-btn:enabled:not(:focus):hover, body .ui-button.ui-info-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-info-button:enabled:not(:focus):hover { + background-color: #0277BD; } + body .ui-button.blue-btn:focus, body .ui-button.ui-info-button:focus, body .ui-datepicker-buttonpane > button.blue-btn:focus, body .ui-datepicker-buttonpane > button.ui-info-button:focus { + outline: 0 none; + background-color: #2ebcfc; } + body .ui-button.flat, body .ui-datepicker-buttonpane > button.flat { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-buttonset .ui-button:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #4527A0; } + body .ui-buttonset .ui-button.ui-state-active { + background-color: #00BCD4; + color: #ffffff; } + body .ui-togglebutton:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #4527A0; } + body .ui-togglebutton.ui-state-active { + background-color: #00BCD4; + color: #ffffff; } + body .ui-splitbutton { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); } + body .ui-splitbutton > .ui-button { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-splitbutton > .ui-button:active { + background-color: #8259cb; } + body .ui-splitbutton .ui-splitbutton-menubutton { + height: 2.25em; + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton .ui-menu { + min-width: 100%; } + body .ui-fluid .ui-splitbutton .ui-button:first-child { + width: calc(100% - 2em); } + body .ui-chkbox { + display: inline-block; + vertical-align: middle; + line-height: 1.25em; + width: 1.25em; + height: 1.25em; + cursor: default; } + body .ui-chkbox .ui-chkbox-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + font-size: 1.25em; + margin-left: -2px; + margin-top: -2px; } + body .ui-chkbox .ui-chkbox-box.ui-state-active { + border-color: #673AB7; + background-color: #673AB7; } + body .ui-chkbox .ui-chkbox-box.ui-state-focus { + border-color: #673AB7; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton { + position: relative; + margin: 0 .25em 0 0; + vertical-align: middle; } + body .ui-radiobutton .ui-radiobutton-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + -moz-transition: box-shadow 0.3s; + -o-transition: box-shadow 0.3s; + -webkit-transition: box-shadow 0.3s; + transition: box-shadow 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-focus { + border-color: #673AB7; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-active { + border-color: #673AB7; + background-color: transparent; } + body .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon { + display: block; + box-sizing: border-box; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-size: 1em; + transition: -webkit-transform ease .28s; + transition: transform ease .28s; + -webkit-transform: scale(0); + transform: scale(0); + margin: 0; } + body .ui-radiobutton .ui-radiobutton-box .fa-circle { + background-color: #673AB7; + -webkit-transform: scale(0.5); + transform: scale(0.5); } + body .ui-autocomplete-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-autocomplete-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-autocomplete-panel .ui-autocomplete-list { + padding: 0; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + font-size: 1em; + padding: 0.625em 0.875em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item .ui-autocomplete-query { + font-weight: 700; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item.ui-state-highlight { + color: #ffffff; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-group { + padding: 0.625em 0.875em; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only { + background-color: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + height: 1.5em; + width: 1.5em; + padding: 0; + right: 0; + bottom: 0; + margin-right: 0; + position: absolute; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .ui-button-text { + display: none; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .fa { + color: #757575; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-inputtext { + box-sizing: border-box; + padding: 2px 2px 1px 2px; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-focus { + padding-bottom: 0; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token { + float: none; + display: inline-block; + margin: 0 1px; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token .ui-autocomplete-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-dropdown { + top: .75em; } + body .ui-fluid .ui-autocomplete.ui-autocomplete-dd > .ui-inputtext { + width: 100%; } + body .ui-dropdown { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-dropdown .ui-dropdown-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: 0; + margin-right: 0; } + body .ui-dropdown .ui-dropdown-trigger .fa { + color: #757575; + margin-top: 0; + margin-left: 0; } + body .ui-dropdown .ui-dropdown-label.ui-inputtext { + font: 1em "Roboto", "Helvetica Neue", sans-serif; } + body .ui-dropdown.ui-state-focus { + border-bottom: 2px solid #673AB7; } + body .ui-dropdown.ui-state-focus .ui-dropdown-label { + padding-bottom: 0; } + body .ui-dropdown-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-list { + padding: 0; } + body .ui-dropdown-panel .ui-dropdown-item { + margin: 0; + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-item:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-dropdown-panel .ui-dropdown-item.ui-state-highlight { + background-color: #00BCD4; + color: #ffffff; } + body .ui-dropdown-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-dropdown-panel .ui-dropdown-filter-container { + display: block; + border-bottom: 1px solid #bdbdbd; + background-color: #673AB7; + padding: 0.625em 1em; } + body .ui-dropdown-panel .ui-dropdown-filter-container input { + color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container input:focus { + border-bottom-color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container .fa { + top: .325em; + right: .75em; + color: #ffffff; } + body .ui-multiselect { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-multiselect .ui-multiselect-label-container { + padding-right: 1.5em; } + body .ui-multiselect .ui-multiselect-label-container .ui-multiselect-label { + padding: 0px 2px 0px 2px; } + body .ui-multiselect .ui-multiselect-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: .063em; } + body .ui-multiselect .ui-multiselect-trigger .fa { + color: #757575; + margin-top: auto; + margin-left: auto; } + body .ui-multiselect.ui-state-focus { + border-bottom: 2px solid #673AB7; } + body .ui-multiselect-panel.ui-widget { + padding: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + min-width: 12.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; + position: relative; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox { + float: none; + margin: 0 .5em 0 -.125em; + position: static; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-focus { + background-color: #B39DDB; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container { + width: 70%; + display: inline-block; + vertical-align: middle; + float: none; + margin-left: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .fa { + top: 0; + left: 0; + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext { + color: #ffffff; + padding-left: 1.5em; + width: 100%; + box-sizing: border-box; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext:focus { + border-bottom-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close { + position: absolute; + right: .5em; + top: .625em; + height: 1.5em; + width: 1.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close span { + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close:hover { + background-color: #B39DDB; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item { + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item.ui-state-highlight { + color: #ffffff; } + body .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; + padding: 0; + margin-right: .25em; + background-color: transparent; + color: #212121; + z-index: auto; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-n { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-s { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa { + top: 0px; + height: .5em; + color: #757575; } + body .ui-spinner .ui-spinner-button:enabled:hover, body .ui-spinner .ui-spinner-button:active { + background-color: transparent; } + body .ui-spinner .ui-spinner-up .fa { + top: .25em; } + body .ui-spinner .ui-spinner-down .fa { + top: .167em; } + body .ui-spinner .ui-spinner-input { + padding-right: 30px; } + body .ui-fluid .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; } + body .ui-fluid .ui-spinner .ui-spinner-button .fa { + left: auto; } + body .ui-inputswitch { + height: 14px; + width: 34px !important; + overflow: visible; + background-color: #9e9e9e; + border-color: #9e9e9e; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; } + body .ui-inputswitch .ui-inputswitch-handle { + top: -4px; + background-color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + width: 20px !important; + height: 20px !important; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; } + body .ui-inputswitch .ui-inputswitch-on { + visibility: hidden; } + body .ui-inputswitch .ui-inputswitch-off span, body .ui-inputswitch .ui-inputswitch-on span { + visibility: hidden; } + body .ui-inputswitch.ui-inputswitch-checked { + background-color: #80DEEA; + border-color: #80DEEA; } + body .ui-inputswitch.ui-inputswitch-checked .ui-inputswitch-handle { + background-color: #00BCD4; + color: #ffffff; } + body .ui-slider .ui-slider-handle { + background-color: #00BCD4; + color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 1.25em; + height: 1.25em; + transform: scale(0.7); + -moz-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -o-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + body .ui-slider .ui-slider-handle.ui-state-focus { + transform: scale(1); } + body .ui-slider .ui-slider-handle:focus { + outline: 0 none; } + body .ui-slider.ui-slider-horizontal { + height: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-horizontal .ui-slider-handle { + top: -.55em; } + body .ui-slider.ui-slider-vertical { + width: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-vertical .ui-slider-handle { + left: -.55em; } + body .ui-slider .ui-slider-range { + background-color: #00BCD4; + color: #ffffff; } + body .ui-slider:not(.ui-state-disabled) .ui-slider-handle:hover { + transform: scale(1); } + body .ui-calendar .ui-datepicker-trigger { + bottom: 2px; + right: 0; + background-color: transparent; + color: #212121; + height: 1.5em; + width: 1.5em; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-calendar .ui-datepicker-trigger .fa { + color: #757575; } + body .ui-calendar .ui-datepicker-trigger:enabled:hover { + background-color: transparent; } + body .ui-fluid .ui-calendar.ui-calendar-w-btn .ui-inputtext { + width: 100%; } + body .ui-datepicker { + padding: 0; + width: 17.5em; } + body .ui-datepicker.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-datepicker .ui-datepicker-header { + padding: 0.625em 1em; + font-size: 1em; + background: #4527A0; + border-color: #4527A0; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + cursor: pointer; + top: .4em; + left: .2em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before { + content: "keyboard_arrow_left"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover { + background-color: #B39DDB; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next { + cursor: pointer; + top: .4em; + right: .2em; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before { + content: "keyboard_arrow_right"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover { + background-color: #B39DDB; } + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-month, + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-year { + font-size: 14px; } + body .ui-datepicker table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; + font-size: 14px; } + body .ui-datepicker thead tr { + color: #ffffff; + background: #673AB7; } + body .ui-datepicker tbody td { + padding: .25em .125em; + box-sizing: border-box; } + body .ui-datepicker tbody td.ui-datepicker-today a { + color: #ffffff; + background: #9f80d7; } + body .ui-datepicker tbody td.ui-datepicker-today a.ui-state-active { + color: #ffffff; + background-color: #00BCD4; + color: #ffffff; } + body .ui-datepicker tbody td a { + padding: .25em; + margin: 0; + text-align: center; + color: #212121; + display: inline-block; + height: 2.250em; + width: 2.250em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + line-height: 1.8em; } + body .ui-datepicker tbody td a.ui-state-active { + color: #ffffff; + background-color: #00BCD4; + color: #ffffff; } + body .ui-datepicker tbody td a:not(.ui-state-active):not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datepicker tbody td a span { + display: inline; + padding: 0; + text-align: center; } + body .ui-datepicker .ui-timepicker { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-datepicker .ui-timepicker > div a { + height: 1.5em; } + body .ui-datepicker .ui-timepicker > div a > span { + display: inline-block; + margin-bottom: .25em; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up:before { + content: "keyboard_arrow_up"; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down:before { + content: "keyboard_arrow_down"; } + body #ui-datepicker-div { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-rating { + min-height: 1.5em; } + body .ui-rating .fa-ban { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-ban:before { + content: "cancel"; } + body .ui-rating .fa-star { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star:before { + content: "star"; } + body .ui-rating .fa-star-o { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star-o:before { + content: "star_border"; } + body .ui-chips > ul.ui-inputtext { + padding: 2px 2px 1px 2px; } + body .ui-chips > ul.ui-inputtext.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-chips > ul.ui-inputtext.ui-state-focus { + padding-bottom: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token { + padding-bottom: 2px; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token input:disabled { + width: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-chips > ul.ui-inputtext .ui-chips-token .ui-chips-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-password-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-fileupload .ui-fileupload-buttonbar { + padding: 0.625em 1em; } + body .ui-fileupload .ui-fileupload-buttonbar .fa-arrowreturnthick-1-n:before { + content: "file_upload"; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button { + background-color: #00BCD4; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button:enabled:hover { + background-color: #00838F; } + body .ui-fileupload .ui-fileupload-content .ui-messages-error .fa { + color: #ffffff; } + body .ui-fileupload-choose:not(.ui-state-disabled):hover.ui-button, + body .ui-fileupload-choose.ui-state-focus.ui-button { + background-color: #00a5bb; } + body .ui-fileupload-choose:not(.ui-state-disabled):active.ui-button { + background-color: #008fa1; } + body .ui-editor-container .ui-editor-toolbar { + background-color: #e8e8e8; } + body .ui-editor-container .ql-picker.ql-expanded .ql-picker-label { + color: #444444; } + body .ui-inputgroup .ui-inputgroup-addon { + border-width: 0 0 1px 0; + border-color: #bdbdbd; + color: #757575; + padding: 2px 2px 1px 2px; + align-self: flex-end; } + body .ui-inputgroup .ui-inputgroup-addon > i { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-self: flex-end; } + body .ui-inputgroup .ui-inputtext { + align-self: flex-end; } + body .ui-inputgroup .md-inputfield { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + display: inherit; } + body .ui-inputgroup .md-inputfield label { + top: 5px; } + body .ui-inputgroup .ui-chkbox, body .ui-inputgroup .ui-radiobutton { + margin-bottom: .125em; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only { + width: 1.643em; + height: 1.643em; + padding: 0; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only .ui-button-icon-left { + margin-left: -.45em; } + body .ui-inputtext.ng-dirty.ng-invalid, + body p-dropdown.ng-dirty.ng-invalid > .ui-dropdown, + body p-autocomplete.ng-dirty.ng-invalid > .ui-autocomplete > .ui-inputtext, + body p-calendar.ng-dirty.ng-invalid > .ui-inputtext, + body p-inputmask.ng-dirty.ng-invalid > .ui-inputtext, + body p-checkbox.ng-dirty.ng-invalid .ui-chkbox-box, + body p-radiobutton.ng-dirty.ng-invalid .ui-radiobutton-box, + body p-inputswitch.ng-dirty.ng-invalid .ui-inputswitch, + body p-listbox.ng-dirty.ng-invalid .ui-inputtext, + body p-multiselect.ng-dirty.ng-invalid > .ui-multiselect, + body p-spinner.ng-dirty.ng-invalid > .ui-inputtext, + body p-selectbutton.ng-dirty.ng-invalid .ui-button, + body p-togglebutton.ng-dirty.ng-invalid .ui-button { + border-bottom-color: #e62a10; } + +@media (max-width: 640px) { + body .ui-buttonset > .ui-button { + display: block; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-buttonset > .ui-button:first-child { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } + body .ui-buttonset > .ui-button:last-child { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton > .ui-button { + display: inline-block; } + body .ui-splitbutton > .ui-button:first-child { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; } + body .ui-splitbutton > .ui-button:last-child { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } } +body .ui-panel { + padding: 0; } + body .ui-panel .ui-panel-titlebar { + border: 0 none; + border-bottom: 1px solid #673AB7; + padding: 0.625em 1em; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-panel .ui-panel-titlebar .ui-panel-title { + line-height: 1.5em; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon { + position: relative; + width: 1.5em; + height: 1.5em; + color: #ffffff; + margin: 0; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon:hover { + background-color: #B39DDB; } + body .ui-panel .ui-panel-content { + height: 100%; + box-sizing: border-box; + padding: 0.625em 1em; } + body .ui-panel .ui-panel-footer { + padding: 0.625em 1em; + border: 0 none; + border-top: 1px solid #bdbdbd; + margin: 0; } +body .ui-fieldset { + padding: 0.625em 1em; } + body .ui-fieldset .ui-fieldset-legend { + padding: 0.625em 1em; + padding-left: .125em; + padding-right: .5em; + color: #673AB7; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler { + padding: .5em; + height: 2em; + width: 2em; + background-color: #673AB7; + color: #ffffff; + font-size: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + margin-right: .5em; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler:hover { + background-color: #4527A0; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-legend-text { + color: #673AB7; } + body .ui-fieldset .ui-fieldset-legend.ui-state-focus { + background-color: transparent; } +body .ui-accordion .ui-accordion-header { + background-color: #673AB7; + padding: 0; + color: #ffffff; + font-size: 1em; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-accordion .ui-accordion-header > a { + padding: 0.625em 1em; + color: #ffffff; } + body .ui-accordion .ui-accordion-header > a .ui-accordion-toggle-icon, + body .ui-accordion .ui-accordion-header > a .ui-accordion-header-text { + vertical-align: middle; } + body .ui-accordion .ui-accordion-header:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #4527A0; } + body .ui-accordion .ui-accordion-header.ui-state-active { + background-color: #00BCD4; + color: #ffffff; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-accordion .ui-accordion-header.ui-state-active > a { + color: #ffffff; } +body .ui-accordion .ui-accordion-content { + padding: 0.625em 1em; + line-height: 1.5em; } +body .ui-toolbar { + background-color: #4527A0; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + padding: .625em; } +body .ui-tabview { + padding: 0; } + body .ui-tabview .ui-tabview-nav { + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabview .ui-tabview-nav > li { + padding: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabview .ui-tabview-nav > li > a { + padding: 0.625em 1em; } + body .ui-tabview .ui-tabview-nav > li > a:focus { + outline: 0 none; } + body .ui-tabview .ui-tabview-nav > li > .fa-close { + margin: .325em 0 0 0; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + color: #757575; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-left-icon, body .ui-tabview .ui-tabview-nav > li .ui-tabview-right-icon { + color: #757575; + display: inline-block; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-title { + line-height: 1.5em; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li.ui-state-default a { + color: #757575; } + body .ui-tabview .ui-tabview-nav > li:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #ffffff; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active { + background-color: #ffffff; + border-color: #00BCD4; + border-style: solid; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active a { + color: #673AB7; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active > .fa-close { + color: #00BCD4; } + body .ui-tabview .ui-tabview-nav > li.ui-tabview-outline { + outline: 0 none; + border-color: #80DEEA; } + body .ui-tabview .ui-tabview-panel { + padding: 0.625em 1em; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav > li { + border-style: solid; + border-width: 0 0 2px 0; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav > li { + border-width: 2px 0 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + border-right: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 2px 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav { + padding: 0; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 0 0 2px; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li.ui-state-active > a { + padding-left: 0.875em; } + +@media (max-width: 640px) { + body .ui-toolbar .ui-toolbar-group-right { + margin-top: 1em; } } +body .ui-picklist .ui-picklist-caption { + font-size: 1em; + padding: 0.625em 1em; } +body .ui-picklist .ui-picklist-list { + padding: 0; } +body .ui-picklist .ui-picklist-filter-container .fa { + left: 0.3em; } +body .ui-picklist .ui-picklist-filter-container .ui-picklist-filter { + text-indent: 1.5em; } +body .ui-picklist li.ui-picklist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-picklist li.ui-picklist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-picklist li.ui-picklist-item.ui-state-highlight { + background-color: #00BCD4; + color: #ffffff; } +body .ui-picklist .ui-picklist-buttons { + width: 3em; } + body .ui-picklist .ui-picklist-buttons .ui-button.ui-button-icon-only { + width: 2.5em; + margin-right: 0; + display: inline-block; + margin-bottom: .5em; } +body .ui-picklist .ui-picklist-buttons-cell { + text-align: center; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + margin: 0 auto; + display: block; + margin-bottom: .5em; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox { + margin-right: .5em; + vertical-align: top; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox, body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox * { + box-sizing: content-box; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-organizationchart-selectable-node:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-state-highlight .ui-node-toggler i { + color: #004b55; } +body .ui-organizationchart .ui-organizationchart-line-down { + background-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-left { + border-right: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-top { + border-top: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content { + border-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler { + bottom: -1.3em; + margin-left: -.75em; + color: #bdbdbd; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down:before { + content: "keyboard_arrow_down"; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up:before { + content: "keyboard_arrow_up"; } +body .ui-orderlist .ui-orderlist-caption { + font-size: 1em; + padding: 0.625em 1em; + box-sizing: border-box; } +body .ui-orderlist .ui-orderlist-list { + padding: 0; + box-sizing: border-box; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item.ui-state-highlight { + background-color: #00BCD4; + color: #ffffff; } +body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 3.75em; } +body .ui-orderlist .ui-orderlist-controls { + width: 3.75em; + text-align: center; } + body .ui-orderlist .ui-orderlist-controls .ui-button.ui-button-icon-only { + width: 2.5em; + margin-bottom: .5em; + margin-right: 0; } +body .ui-paginator { + background-color: #4527A0; + padding: 0.625em 1em; } + body .ui-paginator > a { + box-sizing: border-box; + color: #ffffff; } + body .ui-paginator > a .fa { + display: none; } + body .ui-paginator > a:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #B39DDB; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-next { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-next:before { + content: "navigate_next"; } + body .ui-paginator .ui-paginator-last { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-last:before { + content: "last_page"; } + body .ui-paginator .ui-paginator-prev { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-prev:before { + content: "navigate_before"; } + body .ui-paginator .ui-paginator-first { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-first:before { + content: "first_page"; } + body .ui-paginator .ui-paginator-pages { + vertical-align: middle; + margin: 0 .375em 0 .375em; } + body .ui-paginator .ui-paginator-pages a { + padding: 0; + color: #ffffff; + min-width: 1.5em; + min-height: 1.5em; + line-height: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-pages a:not(.ui-state-active):hover { + background-color: #B39DDB; } + body .ui-paginator .ui-paginator-pages a.ui-state-active { + background-color: #00BCD4; + color: #ffffff; } +body .ui-datagrid .ui-datagrid-header { + padding: 0.625em 1em; } +body .ui-datagrid .ui-panel .ui-panel-titlebar { + background-color: #ffffff; + color: #212121; + border-color: #bdbdbd; } +body .ui-datalist .ui-datalist-header { + padding: 0.625em 1em; } +body .ui-table .ui-table-caption, +body .ui-table .ui-table-summary { + padding: 0.625em 1em; + text-align: center; + font-weight: normal; } +body .ui-table .ui-table-caption { + border-bottom: 0 none; } +body .ui-table .ui-table-summary { + border-top: 0 none; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tbody > tr > td, +body .ui-table .ui-table-tfoot > tr > td { + padding: 0.625em 1em; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tfoot > tr > td { + font-weight: 400; + background-color: #ffffff; + border: 1px solid #cacaca; } +body .ui-table .ui-sortable-column:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-table .ui-sortable-column.ui-state-highlight { + background-color: #00BCD4; + color: #ffffff; + border-top-color: #00BCD4; } + body .ui-table .ui-sortable-column.ui-state-highlight .fa { + color: #ffffff; } +body .ui-table .ui-sortable-column .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } +body .ui-table .ui-table-tbody > tr { + background: #ffffff; } + body .ui-table .ui-table-tbody > tr > td { + background: inherit; + border: 1px solid #cacaca; } + body .ui-table .ui-table-tbody > tr.ui-state-highlight { + background-color: #00BCD4; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr.ui-contextmenu-selected { + background-color: #00BCD4; + color: #ffffff; } +body .ui-table .ui-table-tbody > tr:nth-child(odd) { + background-color: #f4f4f4; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-state-highlight { + background-color: #00BCD4; + color: #ffffff; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-contextmenu-selected { + background-color: #00BCD4; + color: #ffffff; } +body .ui-table.ui-table-hoverable-rows .ui-table-tbody > tr:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable .ui-datatable-header, +body .ui-datatable .ui-datatable-footer { + padding: 0.625em 1em; } + body .ui-datatable .ui-datatable-header .ui-inputtext, + body .ui-datatable .ui-datatable-footer .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-header .ui-inputtext:focus, + body .ui-datatable .ui-datatable-footer .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-paginator { + padding: 0.625em 1em; } +body .ui-datatable .ui-datatable-thead > tr { + border-color: #cacaca; } + body .ui-datatable .ui-datatable-thead > tr th { + padding: .625em .875em; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-sortable-column:not(.ui-state-active):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datatable .ui-datatable-thead > tr th .ui-column-title { + display: inline-block; + vertical-align: middle; } + body .ui-datatable .ui-datatable-thead > tr th .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight { + background-color: #00BCD4; + color: #ffffff; + border-top-color: #00BCD4; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .fa, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .fa { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext.ui-state-focus, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext.ui-state-focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-selection-column .ui-chkbox-box { + box-sizing: content-box; } +body .ui-datatable tfoot th { + padding: .625em .875em; + border: 1px solid #bdbdbd; + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-datatable-even { + background-color: #f4f4f4; } + body .ui-datatable .ui-datatable-data tr.ui-datatable-even.ui-state-highlight { + background-color: #00BCD4; + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr { + border: 1px solid #cacaca; } + body .ui-datatable .ui-datatable-data tr td { + padding: .625em .875em; } + body .ui-datatable .ui-datatable-data tr td .ui-row-toggler { + display: inherit; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td input.ui-cell-editor { + padding: 2px 2px 1px 2px; + font-size: 1em; } + body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-chkbox-box, body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-radiobutton-box { + box-sizing: content-box; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight { + background-color: #00BCD4; + border-color:   #00BCD4; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr .ui-cell-editor-input input { + color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext, + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext.ui-state-error { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box .ui-radiobutton-icon { + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box { + border-color: #ffffff; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box .ui-chkbox-icon { + color: #757575; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-rowgroup-header td a { + height: 1.5em; + vertical-align: top; + display: inline-block; } +body .ui-datatable .ui-datatable-data.ui-datatable-hoverable-rows > tr.ui-widget-content:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer { + border: 0 none; + background-color: transparent; } + body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header .ui-datatable-data td, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer .ui-datatable-data td { + color: #212121; } +body .ui-datatable.ui-datatable-scrollable thead tr th { + color: #212121; + font-size: 16px; } +body .ui-datatable.ui-datatable-scrollable tfoot tr td { + color: #212121; + font-size: 16px; } +body .ui-datatable .ui-datatable-loading { + opacity: 0.3; + filter: alpha(opacity=30); } +body .ui-datatable .ui-datatable-loading-content { + top: 35%; } + body .ui-datatable .ui-datatable-loading-content .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-animation-delay: 0; + -webkit-animation-duration: 1000ms; + -webkit-animation-name: spin; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-delay: 0; + -moz-animation-duration: 1000ms; + -moz-animation-name: spin; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + animation-delay: 0; + animation-duration: 1000ms; + animation-name: spin; + animation-iteration-count: infinite; + animation-timing-function: linear; + font-size: 2em; } + body .ui-datatable .ui-datatable-loading-content .fa:before { + content: "refresh"; } +body .ui-carousel { + padding: 0; } + body .ui-carousel .ui-carousel-header { + padding: 0.625em 1em; + font-size: 1em; + overflow: visible; } + body .ui-carousel .ui-carousel-header .ui-carousel-header-title { + overflow: visible; } + body .ui-carousel .ui-carousel-header .fa { + color: #ffffff; } + body .ui-carousel .ui-carousel-header .ui-carousel-button { + margin: -1px 0 0 0; } + body .ui-carousel .ui-carousel-header .ui-carousel-page-links { + margin: -1px 0 0 0; } +body .ui-tree { + padding: 0.625em 1em/2; } + body .ui-tree .ui-treenode-children { + padding-left: 1.75em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin-right: .5em; } + body .ui-tree .ui-treenode-content .ui-chkbox .fa { + color: #757575; } + body .ui-tree .ui-treenode-content .ui-tree-toggler { + vertical-align: middle; + margin: 0 0 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-icon { + vertical-align: middle; + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-label { + margin: 0; + vertical-align: middle; } + body .ui-tree .ui-treenode-content.ui-treenode-selectable .ui-treenode-label:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal { + padding-left: 0; + padding-right: 0; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content { + background-color: #ffffff; + border: 1px solid #bdbdbd; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-tree-toggler { + vertical-align: top; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-treenode-icon { + vertical-align: top; + margin-right: .25em; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-treenode-selectable:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-state-highlight { + background-color: #00BCD4; + color: #ffffff; } +body .ui-tree-draghelper { + border: 1px solid #673AB7; } +body .fc .fc-toolbar .ui-icon-circle-triangle-e { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-icon-circle-triangle-w { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-state-active { + background-color: #00BCD4; } +body .fc .fc-event { + background-color: #B39DDB; + color: #ffffff; } +body .fc table { + box-sizing: border-box; } +body .ui-treetable .ui-treetable-header { + padding: 0.625em 1em; + font-size: 1em; } +body .ui-treetable thead tr { + border-bottom: 1px solid #bdbdbd; } + body .ui-treetable thead tr th { + background-color: #ffffff; + padding: .625em .875em; + border: 0 none; } + body .ui-treetable thead tr th .fa { + color: #757575; } + body .ui-treetable thead tr th:first-child { + border-left: 1px solid #bdbdbd; } + body .ui-treetable thead tr th:last-child { + border-right: 1px solid #bdbdbd; } + body .ui-treetable thead tr th .ui-sortable-column-icon { + vertical-align: middle; + margin: -.25em 0 0 0; } + body .ui-treetable thead tr th.ui-state-active { + background-color: #00BCD4; + color: #ffffff; } + body .ui-treetable thead tr th.ui-state-active .fa { + color: #ffffff; } + body .ui-treetable thead tr th .ui-column-resizer { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1em; + color: #757575; } + body .ui-treetable thead tr th .ui-column-resizer:before { + content: "code"; } +body .ui-treetable tfoot td { + border: 0 none; + padding: .625em .875em; } +body .ui-treetable tbody .ui-treetable-row { + background-color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row td { + border: 0 none; + padding: .625em .875em; } + body .ui-treetable tbody .ui-treetable-row td .ui-treetable-toggler { + display: inline-block; + vertical-align: middle; + margin: 0 .167em; + float: none; } + body .ui-treetable tbody .ui-treetable-row td .ui-chkbox { + margin-right: .5em; } + body .ui-treetable tbody .ui-treetable-row td.ui-treetable-child-table-container { + padding: 0; } + body .ui-treetable tbody .ui-treetable-row.ui-treetable-row-selectable:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight { + background-color: #00BCD4; + color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } +body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-header, body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-footer { + background-color: transparent; + border: 0 none; } +body .ui-treetable.ui-treetable-scrollable thead th { + background-color: #ffffff; + color: #212121; } + +@media (max-width: 40em) { + body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 100%; } } +@media (max-width: 640px) { + body .ui-picklist.ui-picklist-responsive .ui-picklist-list-wrapper { + margin-bottom: .5em; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons { + padding: .5em 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + display: inline-block; + margin-right: .25em; + margin-bottom: 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right:before { + content: "skip_previous"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left:before { + content: "skip_next"; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls { + text-align: center; + width: auto; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button { + margin-right: .25em; } } +body .ui-breadcrumb { + padding: 0.625em 1em; } + body .ui-breadcrumb ul li a { + color: #ffffff; + font-size: 1em; } +body .ui-steps { + position: relative; } + body .ui-steps .ui-steps-item { + background-color: transparent; } + body .ui-steps .ui-steps-item.ui-state-disabled { + opacity: 1; + filter: alpha(opacity=100); } + body .ui-steps .ui-steps-item .ui-menuitem-link { + display: inline-block; + text-align: left; + background-color: #ffffff; + overflow: hidden; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number { + display: inline-block; + background-color: #757575; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: .25em .75em; + font-size: 1em; + color: #ffffff; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: inline; + margin-left: .625em; + color: #757575; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-number { + background-color: #00BCD4; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-title { + font-weight: 700; + color: #212121; } + body .ui-steps .ui-steps-item:last-child .ui-menuitem-link { + display: block; } + body .ui-steps:before { + content: ' '; + border: 1px solid #bdbdbd; + width: 90%; + top: 45%; + left: 0; + display: block; + position: absolute; } +body .ui-menu .ui-menuitem-link, +body .ui-menubar .ui-menuitem-link, +body .ui-tieredmenu .ui-menuitem-link, +body .ui-contextmenu .ui-menuitem-link, +body .ui-megamenu .ui-menuitem-link, +body .ui-slidemenu .ui-menuitem-link { + padding: .625em 1em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-menu .ui-menuitem-link:hover, + body .ui-menubar .ui-menuitem-link:hover, + body .ui-tieredmenu .ui-menuitem-link:hover, + body .ui-contextmenu .ui-menuitem-link:hover, + body .ui-megamenu .ui-menuitem-link:hover, + body .ui-slidemenu .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link:focus, + body .ui-menubar .ui-menuitem-link:focus, + body .ui-tieredmenu .ui-menuitem-link:focus, + body .ui-contextmenu .ui-menuitem-link:focus, + body .ui-megamenu .ui-menuitem-link:focus, + body .ui-slidemenu .ui-menuitem-link:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link .ui-menuitem-text, + body .ui-menubar .ui-menuitem-link .ui-menuitem-text, + body .ui-tieredmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-contextmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-megamenu .ui-menuitem-link .ui-menuitem-text, + body .ui-slidemenu .ui-menuitem-link .ui-menuitem-text { + vertical-align: middle; } +body .ui-menubar .ui-submenu-list, body .ui-contextmenu .ui-submenu-list, +body .ui-slidemenu .ui-submenu-list, body .ui-tieredmenu .ui-submenu-list { + padding: .5em 0; } + body .ui-menubar .ui-submenu-list .ui-menuitem, body .ui-contextmenu .ui-submenu-list .ui-menuitem, + body .ui-slidemenu .ui-submenu-list .ui-menuitem, body .ui-tieredmenu .ui-submenu-list .ui-menuitem { + margin: 0; } +body .ui-menu { + width: 100%; + padding: .5em 0; } + body .ui-menu .ui-menuitem { + margin: 0; } + body .ui-menu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menu.ui-shadow, body .ui-menu .ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-menu .ui-submenu-header { + border: 0 none; + margin: 0; + padding: .625em 1em; + border-radius: 0; } +body .ui-menubar { + padding: 0; } + body .ui-menubar .ui-menubar-root-list > .ui-menuitem > .ui-menuitem-link { + padding: .625em 1em; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } +body .ui-contextmenu { + padding: .5em 0; } + body .ui-contextmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-contextmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-slidemenu { + padding: .5em 0; } + body .ui-slidemenu .ui-menuitem { + margin: 0; } + body .ui-slidemenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-slidemenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-slidemenu .ui-slidemenu-backward { + margin-bottom: .4em; + padding: 0.625em 1em; + width: 100%; + background-color: #673AB7; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border: 0 none; } + body .ui-slidemenu .ui-slidemenu-backward:hover { + background-color: #512e90; } +body .ui-tieredmenu { + padding: .5em 0; } + body .ui-tieredmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-tieredmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-tabmenu { + padding: 0; } + body .ui-tabmenu .ui-tabmenu-nav { + padding: 0; + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem { + top: auto; + margin: 0 .25em 0 0; + padding: 0; + border-style: solid; + border-width: 0 0 2px 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a { + padding: 0.625em 1em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a:focus { + outline: 0 none; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon, body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-text { + float: none; + display: inline-block; + vertical-align: middle; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon { + font-weight: 1em; + margin-right: .25em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a .fa { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem:not(.ui-state-active):hover { + background-color: #ffffff; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active { + background-color: #ffffff; + border-color: #00BCD4; + border-style: solid; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a { + color: #673AB7; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a .fa { + color: #673AB7; } +body .ui-megamenu { + padding: 0; } + body .ui-megamenu .ui-megamenu-submenu-header { + border-radius: 0; + padding: .5em; } + body .ui-megamenu .ui-submenu-list { + padding: 0; + border: 0 none; } + body .ui-megamenu .ui-submenu-list .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-panelmenu .ui-panelmenu-header { + background-color: #673AB7; + margin-bottom: 1px; } + body .ui-panelmenu .ui-panelmenu-header a { + padding: .625em 1em; + color: #ffffff; + font-size: 16px; + border-bottom: 1px solid #ffffff; } + body .ui-panelmenu .ui-panelmenu-header .fa { + color: #ffffff; + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header .ui-menuitem-text { + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active { + background-color: #00BCD4; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + margin-bottom: 0; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active a, body .ui-panelmenu .ui-panelmenu-header.ui-state-active .fa { + color: #ffffff; } +body .ui-panelmenu .ui-panelmenu-content { + padding: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem { + margin: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link { + border: 0 none; + padding: .625em 1em; + width: 100%; + min-height: 2.750em; + box-sizing: border-box; + color: #212121; + line-height: 1.5em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + position: relative; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .ui-menuitem-text { + display: inline-block; + vertical-align: middle; + float: none; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .fa { + position: static; + display: inline-block; + vertical-align: middle; } +body .ui-panelmenu .ui-menu-parent .ui-menu-list { + margin-left: 28px; } + +@media (max-width: 640px) { + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: none; } } +body { + /* Messages */ } + body .ui-messages { + padding: 0.625em 1em; } + body .ui-messages ul { + display: inline-block; + margin-left: 0; } + body .ui-messages.ui-messages-info { + background-color: #2196F3; + border-color: #2196F3; + color: #ffffff; } + body .ui-messages.ui-messages-warn { + background-color: #ffc107; + border-color: #ffc107; + color: #ffffff; } + body .ui-messages.ui-messages-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-messages.ui-messages-fatal { + background-color: #212121; + border-color: #212121; + color: #ffffff; } + body .ui-messages.ui-messages-success { + background-color: #8BC34A; + border-color: #8BC34A; + color: #ffffff; } + body .ui-messages .ui-messages-close { + text-decoration: none; + color: #fff; + right: .25em; } + body .ui-messages .ui-messages-icon { + background: none; + color: #fff; + margin-top: -2px; } + body .ui-messages .ui-messages-icon.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-info-circle:before { + content: "info"; } + body .ui-messages .ui-messages-icon.fa-warning { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-warning:before { + content: "warning"; } + body .ui-messages .ui-messages-icon.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-close:before { + content: "error_outline"; } + body .ui-messages .ui-messages-icon.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-check:before { + content: "check_circle"; } + body .ui-growl { + top: 90px; } + body .ui-growl > .ui-growl-item-container { + opacity: 1; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-info { + background-color: #2196F3; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-warn { + background-color: #ffc107; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-error { + background-color: #e62a10; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-fatal { + background-color: #212121; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-success { + background-color: #8BC34A; } + body .ui-growl > .ui-growl-item-container.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + body .ui-growl .ui-growl-item .ui-growl-image { + background: none; + color: #ffffff; + font-size: 36px; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle:before { + content: "info"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle:before { + content: "warning"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close:before { + content: "error_outline"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check:before { + content: "check_circle"; } + body .ui-growl .ui-growl-item .ui-growl-message { + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 24px; + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close:before { + content: "close"; } + +body .ui-dialog.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-dialog .ui-dialog-titlebar { + background-color: #ffffff; + color: #212121; + padding: 0.625em 1em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-title { + font-size: 1.25em; + letter-spacing: .005em; + margin-top: .25em; + line-height: 2em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon { + border: 0 none; + padding: 0; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + height: 1.5em; + width: 1.5em; + text-align: center; + margin-top: .5em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:hover, body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa { + color: #757575; + display: inline-block; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-extlink:before { + content: "fullscreen"; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-newwin:before { + content: "fullscreen_exit"; } +body .ui-dialog .ui-dialog-content { + padding: 0.625em 1em; } +body .ui-dialog .ui-dialog-footer { + text-align: right; + border: 0 none; + border-top: 1px solid #bdbdbd; } + body .ui-dialog .ui-dialog-footer .ui-button { + background-color: #ffffff; + color: #212121; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: auto; } + body .ui-dialog .ui-dialog-footer .ui-button .fa { + color: #757575; } + body .ui-dialog .ui-dialog-footer .ui-button:hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-dialog .ui-confirm-dialog-severity { + margin: 0px .75em; } +body .ui-lightbox.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-lightbox .ui-lightbox-caption { + padding: 0.625em 1em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-caption-text { + margin: 0; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + padding: 0; + margin: 0; + width: 1.5em; + height: 1.5em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close:hover { + background-color: #B39DDB; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } +body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left { + top: 40%; } + body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right .fa, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left .fa { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 3em; + color: #B39DDB; } +body .ui-overlaypanel.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-overlaypanel .ui-overlaypanel-close { + background-color: #00BCD4; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + right: -16px; + top: -16px; + width: 2em; + height: 2em; + line-height: 2em; + text-align: center; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-overlaypanel .ui-overlaypanel-close span { + color: #ffffff; + line-height: inherit; } + body .ui-overlaypanel .ui-overlaypanel-close:hover { + background-color: #00838F; } +body .ui-tooltip { + opacity: 0.9; + filter: alpha(opacity=90); } + body .ui-tooltip .ui-tooltip-text { + background-color: #323232; } + body .ui-tooltip.ui-tooltip-top .ui-tooltip-arrow { + border-top-color: #323232; } + body .ui-tooltip.ui-tooltip-bottom .ui-tooltip-arrow { + border-bottom-color: #323232; } + body .ui-tooltip.ui-tooltip-left .ui-tooltip-arrow { + border-left-color: #323232; } + body .ui-tooltip.ui-tooltip-right .ui-tooltip-arrow { + border-right-color: #323232; } + +body .ui-draggable-dragging.ui-state-default { + padding: 0.625em 1em !important; + background-color: #673AB7; } +body .jqplot-target { + font-family: "Roboto","Helvetica Neue",sans-serif; } +body .ui-progressbar { + height: .5em; + background-color: #B39DDB; + overflow: hidden; + border: 0 none; } + body .ui-progressbar .ui-progressbar-value { + height: .5em; } + body .ui-progressbar .ui-progressbar-label { + color: #ffffff; + display: none !important; } +body .ui-galleria .ui-galleria-nav-prev { + left: 0; } +body .ui-galleria .ui-galleria-nav-next { + right: 0; } +body .ui-inplace .ui-inplace-display { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-inplace .ui-inplace-display:hover { + background-color: #e8e8e8; } +body .ui-terminal .ui-terminal-input { + font-size: 16px; } diff --git a/src/assets/theme/theme-purple-cyan.scss b/src/assets/theme/theme-purple-cyan.scss new file mode 100644 index 0000000..3ecdff6 --- /dev/null +++ b/src/assets/theme/theme-purple-cyan.scss @@ -0,0 +1,9 @@ +$primaryColor: #673AB7; +$primaryDarkColor: #4527A0; +$primaryLightColor: #B39DDB; +$accentColor: #00BCD4; +$accentDarkColor: #00838F; +$accentLightColor: #80DEEA; +$accentTextColor: #ffffff; + +@import '../sass/theme/_theme'; \ No newline at end of file diff --git a/src/assets/theme/theme-teal.css b/src/assets/theme/theme-teal.css new file mode 100644 index 0000000..cdb8c3c --- /dev/null +++ b/src/assets/theme/theme-teal.css @@ -0,0 +1,6153 @@ +@charset "UTF-8"; +/* Common */ +/* Layout */ +/* Theme */ +/* Compact */ +.fa-sort:before { + content: "sort"; } + +.fa-sort-asc:before { + content: "keyboard_arrow_up"; } + +.fa-sort-desc:before { + content: "keyboard_arrow_down"; } + +.fa-angle-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-up:before { + content: "play_arrow"; } + +.fa-angle-double-up { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-up:before { + content: "skip_next"; } + +.fa-angle-down { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .fa-angle-down:before { + content: "play_arrow"; } + +.fa-angle-double-down { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .fa-angle-double-down:before { + content: "skip_previous"; } + +.fa-angle-right:before { + content: "play_arrow"; } + +.fa-angle-double-right:before { + content: "fast_forward"; } + +.fa-angle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-angle-left:before { + content: "play_arrow"; } + +.fa-angle-double-left:before { + content: "fast_rewind"; } + +.fa-check:before { + content: "check"; } + +.fa-caret-up:before { + content: "keyboard_arrow_up"; } + +.fa-caret-down:before { + content: "keyboard_arrow_down"; } + +.fa-caret-right:before { + content: "keyboard_arrow_right"; } + +.fa-caret-left:before { + content: "keyboard_arrow_left"; } + +.fa-search:before { + content: "search"; } + +.fa-close:before { + content: "close"; } + +.fa-minus:before { + content: "remove"; } + +.fa-plus:before { + content: "add"; } + +.fa-check:before { + content: "check"; } + +.fa-info-circle:before { + content: "info"; } + +.fa-upload:before { + content: "file_upload"; } + +.fa-chevron-circle-left:before { + content: "keyboard_arrow_left"; } + +.fa-chevron-circle-right:before { + content: "keyboard_arrow_right"; } + +.fa-chevron-circle-down:before { + content: "keyboard_arrow_down"; } + +.fa-chevron-circle-up:before { + content: "keyboard_arrow_up"; } + +.fa-home:before { + content: "home"; } + +.fa-chevron-right:before { + content: "chevron_right"; } + +.fa-chevron-left:before { + content: "chevron_left"; } + +.fa-circle-o:before { + content: "radio_button_unchecked"; } + +.fa-dot-circle-o:before { + content: "radio_button_checked"; } + +.fa-arrow-circle-right:before { + content: "play_circle_outline"; } + +.fa-arrow-circle-left { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .fa-arrow-circle-left:before { + content: "play_circle_outline"; } + +.fa-calendar:before { + content: "date_range"; } + +.fa-arrow-down:before { + content: "arrow_downward"; } + +.fa-arrow-up:before { + content: "arrow_upward"; } + +.ui-icon-carat-2-n-s:before { + content: "sort"; } + +.ui-icon-triangle-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-triangle-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-triangle-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-triangle-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-carat-1-n:before { + content: "keyboard_arrow_up"; } + +.ui-icon-carat-1-e:before { + content: "keyboard_arrow_right"; } + +.ui-icon-carat-1-s:before { + content: "keyboard_arrow_down"; } + +.ui-icon-carat-1-w:before { + content: "keyboard_arrow_left"; } + +.ui-icon-arrow-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrow-1-n:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-n:before { + content: "skip_next"; } + +.ui-icon-arrow-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrow-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-s { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowstop-1-s:before { + content: "skip_previous"; } + +.ui-icon-arrow-1-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-arrow-1-w:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-w:before { + content: "fast_rewind"; } + +.ui-icon-arrow-1-e:before { + content: "play_arrow"; } + +.ui-icon-arrowstop-1-e:before { + content: "fast_forward"; } + +.ui-icon-arrowthick-1-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-arrowthick-1-s:before { + content: "play_arrow"; } + +.ui-icon-arrowthick-1-n { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + .ui-icon-arrowthick-1-n:before { + content: "play_arrow"; } + +.ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } + +.ui-icon-circle-triangle-s { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + .ui-icon-circle-triangle-s:before { + content: "play_circle_outline"; } + +.ui-icon-radio-off:before { + content: "radio_button_unchecked"; } + +.ui-icon-radio-on:before { + content: "radio_button_checked"; } + +.ui-icon-folder-collapsed:before { + content: "folder"; } + +.ui-icon-document:before { + content: "content_paste"; } + +.ui-icon-video:before { + content: "movie"; } + +.ui-icon-music:before { + content: "music_note"; } + +.ui-icon-plus:before { + content: "add"; } + +.ui-icon-minus:before { + content: "remove"; } + +.ui-icon-plusthick:before { + content: "add"; } + +.ui-icon-minusthick:before { + content: "remove"; } + +.ui-icon-pencil:before { + content: "edit"; } + +.ui-icon-closethick:before { + content: "close"; } + +.ui-icon-circle-close:before { + content: "cancel"; } + +.ui-icon-gear:before { + content: "settings"; } + +.ui-icon-calendar:before { + content: "date_range"; } + +.ui-icon-trash:before { + content: "delete_forever"; } + +.ui-icon-notice:before { + content: "error_outline"; } + +.ui-icon-alert:before { + content: "warning"; } + +.ui-icon-circle-zoomin:before { + content: "zoom_in"; } + +.ui-icon-circle-zoomout:before { + content: "zoom_out"; } + +.ui-icon-circle-arrow-e:before { + content: "play_circle_outline"; } + +.ui-icon-circle-arrow-w { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + .ui-icon-circle-arrow-w:before { + content: "play_circle_outline"; } + +.ui-icon-3d-rotation:before { + content: "3d_rotation"; } + +.ui-icon-ac-unit:before { + content: "ac_unit"; } + +.ui-icon-access-alarm:before { + content: "access_alarm"; } + +.ui-icon-access-alarms:before { + content: "access_alarms"; } + +.ui-icon-access-time:before { + content: "access_time"; } + +.ui-icon-accessibility:before { + content: "accessibility"; } + +.ui-icon-accessible:before { + content: "accessible"; } + +.ui-icon-account-balance:before { + content: "account_balance"; } + +.ui-icon-account-balance-wallet:before { + content: "account_balance_wallet"; } + +.ui-icon-account-box:before { + content: "account_box"; } + +.ui-icon-account-circle:before { + content: "account_circle"; } + +.ui-icon-add:before { + content: "add"; } + +.ui-icon-add-a-photo:before { + content: "add_a_photo"; } + +.ui-icon-add-alarm:before { + content: "add_alarm"; } + +.ui-icon-add-alert:before { + content: "add_alert"; } + +.ui-icon-add-box:before { + content: "add_box"; } + +.ui-icon-add-circle:before { + content: "add_circle"; } + +.ui-icon-add-circle-outline:before { + content: "add_circle_outline"; } + +.ui-icon-add-location:before { + content: "add_location"; } + +.ui-icon-add-shopping-cart:before { + content: "add_shopping_cart"; } + +.ui-icon-add-to-photos:before { + content: "add_to_photos"; } + +.ui-icon-add-to-queue:before { + content: "add_to_queue"; } + +.ui-icon-adjust:before { + content: "adjust"; } + +.ui-icon-airline-seat-flat:before { + content: "airline_seat_flat"; } + +.ui-icon-airline-seat-flat-angled:before { + content: "airline_seat_flat_angled"; } + +.ui-icon-airline-seat-individual-suite:before { + content: "airline_seat_individual_suite"; } + +.ui-icon-airline-seat-legroom-extra:before { + content: "airline_seat_legroom_extra"; } + +.ui-icon-airline-seat-legroom-normal:before { + content: "airline_seat_legroom_normal"; } + +.ui-icon-airline-seat-legroom-reduced:before { + content: "airline_seat_legroom_reduced"; } + +.ui-icon-airline-seat-recline-extra:before { + content: "airline_seat_recline_extra"; } + +.ui-icon-airline-seat-recline-normal:before { + content: "airline_seat_recline_normal"; } + +.ui-icon-airplanemode-active:before { + content: "airplanemode_active"; } + +.ui-icon-airplanemode-inactive:before { + content: "airplanemode_inactive"; } + +.ui-icon-airplay:before { + content: "airplay"; } + +.ui-icon-airport-shuttle:before { + content: "airport_shuttle"; } + +.ui-icon-alarm:before { + content: "alarm"; } + +.ui-icon-alarm-add:before { + content: "alarm_add"; } + +.ui-icon-alarm-off:before { + content: "alarm_off"; } + +.ui-icon-alarm-on:before { + content: "alarm_on"; } + +.ui-icon-album:before { + content: "album"; } + +.ui-icon-all-inclusive:before { + content: "all_inclusive"; } + +.ui-icon-all-out:before { + content: "all_out"; } + +.ui-icon-android:before { + content: "android"; } + +.ui-icon-announcement:before { + content: "announcement"; } + +.ui-icon-apps:before { + content: "apps"; } + +.ui-icon-archive:before { + content: "archive"; } + +.ui-icon-arrow-back:before { + content: "arrow_back"; } + +.ui-icon-arrow-downward:before { + content: "arrow_downward"; } + +.ui-icon-arrow-drop-down:before { + content: "arrow_drop_down"; } + +.ui-icon-arrow-drop-down-circle:before { + content: "arrow_drop_down_circle"; } + +.ui-icon-arrow-drop-up:before { + content: "arrow_drop_up"; } + +.ui-icon-arrow-forward:before { + content: "arrow_forward"; } + +.ui-icon-arrow-upward:before { + content: "arrow_upward"; } + +.ui-icon-art-track:before { + content: "art_track"; } + +.ui-icon-aspect-ratio:before { + content: "aspect_ratio"; } + +.ui-icon-assessment:before { + content: "assessment"; } + +.ui-icon-assignment:before { + content: "assignment"; } + +.ui-icon-assignment-ind:before { + content: "assignment_ind"; } + +.ui-icon-assignment-late:before { + content: "assignment_late"; } + +.ui-icon-assignment-return:before { + content: "assignment_return"; } + +.ui-icon-assignment-returned:before { + content: "assignment_returned"; } + +.ui-icon-assignment-turned-in:before { + content: "assignment_turned_in"; } + +.ui-icon-assistant:before { + content: "assistant"; } + +.ui-icon-assistant-photo:before { + content: "assistant_photo"; } + +.ui-icon-attach-file:before { + content: "attach_file"; } + +.ui-icon-attach-money:before { + content: "attach_money"; } + +.ui-icon-attachment:before { + content: "attachment"; } + +.ui-icon-audiotrack:before { + content: "audiotrack"; } + +.ui-icon-autorenew:before { + content: "autorenew"; } + +.ui-icon-av-timer:before { + content: "av_timer"; } + +.ui-icon-backspace:before { + content: "backspace"; } + +.ui-icon-backup:before { + content: "backup"; } + +.ui-icon-battery-alert:before { + content: "battery_alert"; } + +.ui-icon-battery-charging-full:before { + content: "battery_charging_full"; } + +.ui-icon-battery-full:before { + content: "battery_full"; } + +.ui-icon-battery-std:before { + content: "battery_std"; } + +.ui-icon-battery-unknown:before { + content: "battery_unknown"; } + +.ui-icon-beach-access:before { + content: "beach_access"; } + +.ui-icon-beenhere:before { + content: "beenhere"; } + +.ui-icon-block:before { + content: "block"; } + +.ui-icon-bluetooth:before { + content: "bluetooth"; } + +.ui-icon-bluetooth-audio:before { + content: "bluetooth_audio"; } + +.ui-icon-bluetooth-connected:before { + content: "bluetooth_connected"; } + +.ui-icon-bluetooth-disabled:before { + content: "bluetooth_disabled"; } + +.ui-icon-bluetooth-searching:before { + content: "bluetooth_searching"; } + +.ui-icon-blur-circular:before { + content: "blur_circular"; } + +.ui-icon-blur-linear:before { + content: "blur_linear"; } + +.ui-icon-blur-off:before { + content: "blur_off"; } + +.ui-icon-blur-on:before { + content: "blur_on"; } + +.ui-icon-book:before { + content: "book"; } + +.ui-icon-bookmark:before { + content: "bookmark"; } + +.ui-icon-bookmark-border:before { + content: "bookmark_border"; } + +.ui-icon-border-all:before { + content: "border_all"; } + +.ui-icon-border-bottom:before { + content: "border_bottom"; } + +.ui-icon-border-clear:before { + content: "border_clear"; } + +.ui-icon-border-color:before { + content: "border_color"; } + +.ui-icon-border-horizontal:before { + content: "border_horizontal"; } + +.ui-icon-border-inner:before { + content: "border_inner"; } + +.ui-icon-border-left:before { + content: "border_left"; } + +.ui-icon-border-outer:before { + content: "border_outer"; } + +.ui-icon-border-right:before { + content: "border_right"; } + +.ui-icon-border-style:before { + content: "border_style"; } + +.ui-icon-border-top:before { + content: "border_top"; } + +.ui-icon-border-vertical:before { + content: "border_vertical"; } + +.ui-icon-branding-watermark:before { + content: "branding_watermark"; } + +.ui-icon-brightness-1:before { + content: "brightness_1"; } + +.ui-icon-brightness-2:before { + content: "brightness_2"; } + +.ui-icon-brightness-3:before { + content: "brightness_3"; } + +.ui-icon-brightness-4:before { + content: "brightness_4"; } + +.ui-icon-brightness-5:before { + content: "brightness_5"; } + +.ui-icon-brightness-6:before { + content: "brightness_6"; } + +.ui-icon-brightness-7:before { + content: "brightness_7"; } + +.ui-icon-brightness-auto:before { + content: "brightness_auto"; } + +.ui-icon-brightness-high:before { + content: "brightness_high"; } + +.ui-icon-brightness-low:before { + content: "brightness_low"; } + +.ui-icon-brightness-medium:before { + content: "brightness_medium"; } + +.ui-icon-broken-image:before { + content: "broken_image"; } + +.ui-icon-brush:before { + content: "brush"; } + +.ui-icon-bubble-chart:before { + content: "bubble_chart"; } + +.ui-icon-bug-report:before { + content: "bug_report"; } + +.ui-icon-build:before { + content: "build"; } + +.ui-icon-burst-mode:before { + content: "burst_mode"; } + +.ui-icon-business:before { + content: "business"; } + +.ui-icon-business-center:before { + content: "business_center"; } + +.ui-icon-cached:before { + content: "cached"; } + +.ui-icon-cake:before { + content: "cake"; } + +.ui-icon-call:before { + content: "call"; } + +.ui-icon-call-end:before { + content: "call_end"; } + +.ui-icon-call-made:before { + content: "call_made"; } + +.ui-icon-call-merge:before { + content: "call_merge"; } + +.ui-icon-call-missed:before { + content: "call_missed"; } + +.ui-icon-call-missed-outgoing:before { + content: "call_missed_outgoing"; } + +.ui-icon-call-received:before { + content: "call_received"; } + +.ui-icon-call-split:before { + content: "call_split"; } + +.ui-icon-call-to-action:before { + content: "call_to_action"; } + +.ui-icon-camera:before { + content: "camera"; } + +.ui-icon-camera-alt:before { + content: "camera_alt"; } + +.ui-icon-camera-enhance:before { + content: "camera_enhance"; } + +.ui-icon-camera-front:before { + content: "camera_front"; } + +.ui-icon-camera-rear:before { + content: "camera_rear"; } + +.ui-icon-camera-roll:before { + content: "camera_roll"; } + +.ui-icon-cancel:before { + content: "cancel"; } + +.ui-icon-card-giftcard:before { + content: "card_giftcard"; } + +.ui-icon-card-membership:before { + content: "card_membership"; } + +.ui-icon-card-travel:before { + content: "card_travel"; } + +.ui-icon-casino:before { + content: "casino"; } + +.ui-icon-cast:before { + content: "cast"; } + +.ui-icon-cast-connected:before { + content: "cast_connected"; } + +.ui-icon-center-focus-strong:before { + content: "center_focus_strong"; } + +.ui-icon-center-focus-weak:before { + content: "center_focus_weak"; } + +.ui-icon-change-history:before { + content: "change_history"; } + +.ui-icon-chat:before { + content: "chat"; } + +.ui-icon-chat-bubble:before { + content: "chat_bubble"; } + +.ui-icon-chat-bubble-outline:before { + content: "chat_bubble_outline"; } + +.ui-icon-check:before { + content: "check"; } + +.ui-icon-check-box:before { + content: "check_box"; } + +.ui-icon-check-box-outline-blank:before { + content: "check_box_outline_blank"; } + +.ui-icon-check-circle:before { + content: "check_circle"; } + +.ui-icon-chevron-left:before { + content: "chevron_left"; } + +.ui-icon-chevron-right:before { + content: "chevron_right"; } + +.ui-icon-child-care:before { + content: "child_care"; } + +.ui-icon-child-friendly:before { + content: "child_friendly"; } + +.ui-icon-chrome-reader-mode:before { + content: "chrome_reader_mode"; } + +.ui-icon-class:before { + content: "class"; } + +.ui-icon-clear:before { + content: "clear"; } + +.ui-icon-clear-all:before { + content: "clear_all"; } + +.ui-icon-close:before { + content: "close"; } + +.ui-icon-closed-caption:before { + content: "closed_caption"; } + +.ui-icon-cloud:before { + content: "cloud"; } + +.ui-icon-cloud-circle:before { + content: "cloud_circle"; } + +.ui-icon-cloud-done:before { + content: "cloud_done"; } + +.ui-icon-cloud-download:before { + content: "cloud_download"; } + +.ui-icon-cloud-off:before { + content: "cloud_off"; } + +.ui-icon-cloud-queue:before { + content: "cloud_queue"; } + +.ui-icon-cloud-upload:before { + content: "cloud_upload"; } + +.ui-icon-code:before { + content: "code"; } + +.ui-icon-collections:before { + content: "collections"; } + +.ui-icon-collections-bookmark:before { + content: "collections_bookmark"; } + +.ui-icon-color-lens:before { + content: "color_lens"; } + +.ui-icon-colorize:before { + content: "colorize"; } + +.ui-icon-comment:before { + content: "comment"; } + +.ui-icon-compare:before { + content: "compare"; } + +.ui-icon-compare-arrows:before { + content: "compare_arrows"; } + +.ui-icon-computer:before { + content: "computer"; } + +.ui-icon-confirmation-number:before { + content: "confirmation_number"; } + +.ui-icon-contact-mail:before { + content: "contact_mail"; } + +.ui-icon-contact-phone:before { + content: "contact_phone"; } + +.ui-icon-contacts:before { + content: "contacts"; } + +.ui-icon-content-copy:before { + content: "content_copy"; } + +.ui-icon-content-cut:before { + content: "content_cut"; } + +.ui-icon-content-paste:before { + content: "content_paste"; } + +.ui-icon-control-point:before { + content: "control_point"; } + +.ui-icon-control-point-duplicate:before { + content: "control_point_duplicate"; } + +.ui-icon-copyright:before { + content: "copyright"; } + +.ui-icon-create:before { + content: "create"; } + +.ui-icon-create-new-folder:before { + content: "create_new_folder"; } + +.ui-icon-credit-card:before { + content: "credit_card"; } + +.ui-icon-crop:before { + content: "crop"; } + +.ui-icon-crop-16-9:before { + content: "crop_16_9"; } + +.ui-icon-crop-3-2:before { + content: "crop_3_2"; } + +.ui-icon-crop-5-4:before { + content: "crop_5_4"; } + +.ui-icon-crop-7-5:before { + content: "crop_7_5"; } + +.ui-icon-crop-din:before { + content: "crop_din"; } + +.ui-icon-crop-free:before { + content: "crop_free"; } + +.ui-icon-crop-landscape:before { + content: "crop_landscape"; } + +.ui-icon-crop-original:before { + content: "crop_original"; } + +.ui-icon-crop-portrait:before { + content: "crop_portrait"; } + +.ui-icon-crop-rotate:before { + content: "crop_rotate"; } + +.ui-icon-crop-square:before { + content: "crop_square"; } + +.ui-icon-dashboard:before { + content: "dashboard"; } + +.ui-icon-data-usage:before { + content: "data_usage"; } + +.ui-icon-date-range:before { + content: "date_range"; } + +.ui-icon-dehaze:before { + content: "dehaze"; } + +.ui-icon-delete:before { + content: "delete"; } + +.ui-icon-delete-forever:before { + content: "delete_forever"; } + +.ui-icon-delete-sweep:before { + content: "delete_sweep"; } + +.ui-icon-description:before { + content: "description"; } + +.ui-icon-desktop-mac:before { + content: "desktop_mac"; } + +.ui-icon-desktop-windows:before { + content: "desktop_windows"; } + +.ui-icon-details:before { + content: "details"; } + +.ui-icon-developer-board:before { + content: "developer_board"; } + +.ui-icon-developer-mode:before { + content: "developer_mode"; } + +.ui-icon-device-hub:before { + content: "device_hub"; } + +.ui-icon-devices:before { + content: "devices"; } + +.ui-icon-devices-other:before { + content: "devices_other"; } + +.ui-icon-dialer-sip:before { + content: "dialer_sip"; } + +.ui-icon-dialpad:before { + content: "dialpad"; } + +.ui-icon-directions:before { + content: "directions"; } + +.ui-icon-directions-bike:before { + content: "directions_bike"; } + +.ui-icon-directions-boat:before { + content: "directions_boat"; } + +.ui-icon-directions-bus:before { + content: "directions_bus"; } + +.ui-icon-directions-car:before { + content: "directions_car"; } + +.ui-icon-directions-railway:before { + content: "directions_railway"; } + +.ui-icon-directions-run:before { + content: "directions_run"; } + +.ui-icon-directions-subway:before { + content: "directions_subway"; } + +.ui-icon-directions-transit:before { + content: "directions_transit"; } + +.ui-icon-directions-walk:before { + content: "directions_walk"; } + +.ui-icon-disc-full:before { + content: "disc_full"; } + +.ui-icon-dns:before { + content: "dns"; } + +.ui-icon-do-not-disturb:before { + content: "do_not_disturb"; } + +.ui-icon-do-not-disturb-alt:before { + content: "do_not_disturb_alt"; } + +.ui-icon-do-not-disturb-off:before { + content: "do_not_disturb_off"; } + +.ui-icon-do-not-disturb-on:before { + content: "do_not_disturb_on"; } + +.ui-icon-dock:before { + content: "dock"; } + +.ui-icon-domain:before { + content: "domain"; } + +.ui-icon-done:before { + content: "done"; } + +.ui-icon-done-all:before { + content: "done_all"; } + +.ui-icon-donut-large:before { + content: "donut_large"; } + +.ui-icon-donut-small:before { + content: "donut_small"; } + +.ui-icon-drafts:before { + content: "drafts"; } + +.ui-icon-drag-handle:before { + content: "drag_handle"; } + +.ui-icon-drive-eta:before { + content: "drive_eta"; } + +.ui-icon-dvr:before { + content: "dvr"; } + +.ui-icon-edit:before { + content: "edit"; } + +.ui-icon-edit-location:before { + content: "edit_location"; } + +.ui-icon-eject:before { + content: "eject"; } + +.ui-icon-email:before { + content: "email"; } + +.ui-icon-enhanced-encryption:before { + content: "enhanced_encryption"; } + +.ui-icon-equalizer:before { + content: "equalizer"; } + +.ui-icon-error:before { + content: "error"; } + +.ui-icon-error-outline:before { + content: "error_outline"; } + +.ui-icon-euro-symbol:before { + content: "euro_symbol"; } + +.ui-icon-ev-station:before { + content: "ev_station"; } + +.ui-icon-event:before { + content: "event"; } + +.ui-icon-event-available:before { + content: "event_available"; } + +.ui-icon-event-busy:before { + content: "event_busy"; } + +.ui-icon-event-note:before { + content: "event_note"; } + +.ui-icon-event-seat:before { + content: "event_seat"; } + +.ui-icon-exit-to-app:before { + content: "exit_to_app"; } + +.ui-icon-expand-less:before { + content: "expand_less"; } + +.ui-icon-expand-more:before { + content: "expand_more"; } + +.ui-icon-explicit:before { + content: "explicit"; } + +.ui-icon-explore:before { + content: "explore"; } + +.ui-icon-exposure:before { + content: "exposure"; } + +.ui-icon-exposure-neg-1:before { + content: "exposure_neg_1"; } + +.ui-icon-exposure-neg-2:before { + content: "exposure_neg_2"; } + +.ui-icon-exposure-plus-1:before { + content: "exposure_plus_1"; } + +.ui-icon-exposure-plus-2:before { + content: "exposure_plus_2"; } + +.ui-icon-exposure-zero:before { + content: "exposure_zero"; } + +.ui-icon-extension:before { + content: "extension"; } + +.ui-icon-face:before { + content: "face"; } + +.ui-icon-fast-forward:before { + content: "fast_forward"; } + +.ui-icon-fast-rewind:before { + content: "fast_rewind"; } + +.ui-icon-favorite:before { + content: "favorite"; } + +.ui-icon-favorite-border:before { + content: "favorite_border"; } + +.ui-icon-featured-play-list:before { + content: "featured_play_list"; } + +.ui-icon-featured-video:before { + content: "featured_video"; } + +.ui-icon-feedback:before { + content: "feedback"; } + +.ui-icon-fiber-dvr:before { + content: "fiber_dvr"; } + +.ui-icon-fiber-manual-record:before { + content: "fiber_manual_record"; } + +.ui-icon-fiber-new:before { + content: "fiber_new"; } + +.ui-icon-fiber-pin:before { + content: "fiber_pin"; } + +.ui-icon-fiber-smart-record:before { + content: "fiber_smart_record"; } + +.ui-icon-file-download:before { + content: "file_download"; } + +.ui-icon-file-upload:before { + content: "file_upload"; } + +.ui-icon-filter:before { + content: "filter"; } + +.ui-icon-filter-1:before { + content: "filter_1"; } + +.ui-icon-filter-2:before { + content: "filter_2"; } + +.ui-icon-filter-3:before { + content: "filter_3"; } + +.ui-icon-filter-4:before { + content: "filter_4"; } + +.ui-icon-filter-5:before { + content: "filter_5"; } + +.ui-icon-filter-6:before { + content: "filter_6"; } + +.ui-icon-filter-7:before { + content: "filter_7"; } + +.ui-icon-filter-8:before { + content: "filter_8"; } + +.ui-icon-filter-9:before { + content: "filter_9"; } + +.ui-icon-filter-9-plus:before { + content: "filter_9_plus"; } + +.ui-icon-filter-b-and-w:before { + content: "filter_b_and_w"; } + +.ui-icon-filter-center-focus:before { + content: "filter_center_focus"; } + +.ui-icon-filter-drama:before { + content: "filter_drama"; } + +.ui-icon-filter-frames:before { + content: "filter_frames"; } + +.ui-icon-filter-hdr:before { + content: "filter_hdr"; } + +.ui-icon-filter-list:before { + content: "filter_list"; } + +.ui-icon-filter-none:before { + content: "filter_none"; } + +.ui-icon-filter-tilt-shift:before { + content: "filter_tilt_shift"; } + +.ui-icon-filter-vintage:before { + content: "filter_vintage"; } + +.ui-icon-find-in-page:before { + content: "find_in_page"; } + +.ui-icon-find-replace:before { + content: "find_replace"; } + +.ui-icon-fingerprint:before { + content: "fingerprint"; } + +.ui-icon-first-page:before { + content: "first_page"; } + +.ui-icon-fitness-center:before { + content: "fitness_center"; } + +.ui-icon-flag:before { + content: "flag"; } + +.ui-icon-flare:before { + content: "flare"; } + +.ui-icon-flash-auto:before { + content: "flash_auto"; } + +.ui-icon-flash-off:before { + content: "flash_off"; } + +.ui-icon-flash-on:before { + content: "flash_on"; } + +.ui-icon-flight:before { + content: "flight"; } + +.ui-icon-flight-land:before { + content: "flight_land"; } + +.ui-icon-flight-takeoff:before { + content: "flight_takeoff"; } + +.ui-icon-flip:before { + content: "flip"; } + +.ui-icon-flip-to-back:before { + content: "flip_to_back"; } + +.ui-icon-flip-to-front:before { + content: "flip_to_front"; } + +.ui-icon-folder:before { + content: "folder"; } + +.ui-icon-folder-open:before { + content: "folder_open"; } + +.ui-icon-folder-shared:before { + content: "folder_shared"; } + +.ui-icon-folder-special:before { + content: "folder_special"; } + +.ui-icon-font-download:before { + content: "font_download"; } + +.ui-icon-format-align-center:before { + content: "format_align_center"; } + +.ui-icon-format-align-justify:before { + content: "format_align_justify"; } + +.ui-icon-format-align-left:before { + content: "format_align_left"; } + +.ui-icon-format-align-right:before { + content: "format_align_right"; } + +.ui-icon-format-bold:before { + content: "format_bold"; } + +.ui-icon-format-clear:before { + content: "format_clear"; } + +.ui-icon-format-color-fill:before { + content: "format_color_fill"; } + +.ui-icon-format-color-reset:before { + content: "format_color_reset"; } + +.ui-icon-format-color-text:before { + content: "format_color_text"; } + +.ui-icon-format-indent-decrease:before { + content: "format_indent_decrease"; } + +.ui-icon-format-indent-increase:before { + content: "format_indent_increase"; } + +.ui-icon-format-italic:before { + content: "format_italic"; } + +.ui-icon-format-line-spacing:before { + content: "format_line_spacing"; } + +.ui-icon-format-list-bulleted:before { + content: "format_list_bulleted"; } + +.ui-icon-format-list-numbered:before { + content: "format_list_numbered"; } + +.ui-icon-format-paint:before { + content: "format_paint"; } + +.ui-icon-format-quote:before { + content: "format_quote"; } + +.ui-icon-format-shapes:before { + content: "format_shapes"; } + +.ui-icon-format-size:before { + content: "format_size"; } + +.ui-icon-format-strikethrough:before { + content: "format_strikethrough"; } + +.ui-icon-format-textdirection-l-to-r:before { + content: "format_textdirection_l_to_r"; } + +.ui-icon-format-textdirection-r-to-l:before { + content: "format_textdirection_r_to_l"; } + +.ui-icon-format-underlined:before { + content: "format_underlined"; } + +.ui-icon-forum:before { + content: "forum"; } + +.ui-icon-forward:before { + content: "forward"; } + +.ui-icon-forward-10:before { + content: "forward_10"; } + +.ui-icon-forward-30:before { + content: "forward_30"; } + +.ui-icon-forward-5:before { + content: "forward_5"; } + +.ui-icon-free-breakfast:before { + content: "free_breakfast"; } + +.ui-icon-fullscreen:before { + content: "fullscreen"; } + +.ui-icon-fullscreen-exit:before { + content: "fullscreen_exit"; } + +.ui-icon-functions:before { + content: "functions"; } + +.ui-icon-g-translate:before { + content: "g_translate"; } + +.ui-icon-gamepad:before { + content: "gamepad"; } + +.ui-icon-games:before { + content: "games"; } + +.ui-icon-gavel:before { + content: "gavel"; } + +.ui-icon-gesture:before { + content: "gesture"; } + +.ui-icon-get-app:before { + content: "get_app"; } + +.ui-icon-gif:before { + content: "gif"; } + +.ui-icon-golf-course:before { + content: "golf_course"; } + +.ui-icon-gps-fixed:before { + content: "gps_fixed"; } + +.ui-icon-gps-not-fixed:before { + content: "gps_not_fixed"; } + +.ui-icon-gps-off:before { + content: "gps_off"; } + +.ui-icon-grade:before { + content: "grade"; } + +.ui-icon-gradient:before { + content: "gradient"; } + +.ui-icon-grain:before { + content: "grain"; } + +.ui-icon-graphic-eq:before { + content: "graphic_eq"; } + +.ui-icon-grid-off:before { + content: "grid_off"; } + +.ui-icon-grid-on:before { + content: "grid_on"; } + +.ui-icon-group:before { + content: "group"; } + +.ui-icon-group-add:before { + content: "group_add"; } + +.ui-icon-group-work:before { + content: "group_work"; } + +.ui-icon-hd:before { + content: "hd"; } + +.ui-icon-hdr-off:before { + content: "hdr_off"; } + +.ui-icon-hdr-on:before { + content: "hdr_on"; } + +.ui-icon-hdr-strong:before { + content: "hdr_strong"; } + +.ui-icon-hdr-weak:before { + content: "hdr_weak"; } + +.ui-icon-headset:before { + content: "headset"; } + +.ui-icon-headset-mic:before { + content: "headset_mic"; } + +.ui-icon-healing:before { + content: "healing"; } + +.ui-icon-hearing:before { + content: "hearing"; } + +.ui-icon-help:before { + content: "help"; } + +.ui-icon-help-outline:before { + content: "help_outline"; } + +.ui-icon-high-quality:before { + content: "high_quality"; } + +.ui-icon-highlight:before { + content: "highlight"; } + +.ui-icon-highlight-off:before { + content: "highlight_off"; } + +.ui-icon-history:before { + content: "history"; } + +.ui-icon-home:before { + content: "home"; } + +.ui-icon-hot-tub:before { + content: "hot_tub"; } + +.ui-icon-hotel:before { + content: "hotel"; } + +.ui-icon-hourglass-empty:before { + content: "hourglass_empty"; } + +.ui-icon-hourglass-full:before { + content: "hourglass_full"; } + +.ui-icon-http:before { + content: "http"; } + +.ui-icon-https:before { + content: "https"; } + +.ui-icon-image:before { + content: "image"; } + +.ui-icon-image-aspect-ratio:before { + content: "image_aspect_ratio"; } + +.ui-icon-import-contacts:before { + content: "import_contacts"; } + +.ui-icon-import-export:before { + content: "import_export"; } + +.ui-icon-important-devices:before { + content: "important_devices"; } + +.ui-icon-inbox:before { + content: "inbox"; } + +.ui-icon-indeterminate-check-box:before { + content: "indeterminate_check_box"; } + +.ui-icon-info:before { + content: "info"; } + +.ui-icon-info-outline:before { + content: "info_outline"; } + +.ui-icon-input:before { + content: "input"; } + +.ui-icon-insert-chart:before { + content: "insert_chart"; } + +.ui-icon-insert-comment:before { + content: "insert_comment"; } + +.ui-icon-insert-drive-file:before { + content: "insert_drive_file"; } + +.ui-icon-insert-emoticon:before { + content: "insert_emoticon"; } + +.ui-icon-insert-invitation:before { + content: "insert_invitation"; } + +.ui-icon-insert-link:before { + content: "insert_link"; } + +.ui-icon-insert-photo:before { + content: "insert_photo"; } + +.ui-icon-invert-colors:before { + content: "invert_colors"; } + +.ui-icon-invert-colors-off:before { + content: "invert_colors_off"; } + +.ui-icon-iso:before { + content: "iso"; } + +.ui-icon-keyboard:before { + content: "keyboard"; } + +.ui-icon-keyboard-arrow-down:before { + content: "keyboard_arrow_down"; } + +.ui-icon-keyboard-arrow-left:before { + content: "keyboard_arrow_left"; } + +.ui-icon-keyboard-arrow-right:before { + content: "keyboard_arrow_right"; } + +.ui-icon-keyboard-arrow-up:before { + content: "keyboard_arrow_up"; } + +.ui-icon-keyboard-backspace:before { + content: "keyboard_backspace"; } + +.ui-icon-keyboard-capslock:before { + content: "keyboard_capslock"; } + +.ui-icon-keyboard-hide:before { + content: "keyboard_hide"; } + +.ui-icon-keyboard-return:before { + content: "keyboard_return"; } + +.ui-icon-keyboard-tab:before { + content: "keyboard_tab"; } + +.ui-icon-keyboard-voice:before { + content: "keyboard_voice"; } + +.ui-icon-kitchen:before { + content: "kitchen"; } + +.ui-icon-label:before { + content: "label"; } + +.ui-icon-label-outline:before { + content: "label_outline"; } + +.ui-icon-landscape:before { + content: "landscape"; } + +.ui-icon-language:before { + content: "language"; } + +.ui-icon-laptop:before { + content: "laptop"; } + +.ui-icon-laptop-chromebook:before { + content: "laptop_chromebook"; } + +.ui-icon-laptop-mac:before { + content: "laptop_mac"; } + +.ui-icon-laptop-windows:before { + content: "laptop_windows"; } + +.ui-icon-last-page:before { + content: "last_page"; } + +.ui-icon-launch:before { + content: "launch"; } + +.ui-icon-layers:before { + content: "layers"; } + +.ui-icon-layers-clear:before { + content: "layers_clear"; } + +.ui-icon-leak-add:before { + content: "leak_add"; } + +.ui-icon-leak-remove:before { + content: "leak_remove"; } + +.ui-icon-lens:before { + content: "lens"; } + +.ui-icon-library-add:before { + content: "library_add"; } + +.ui-icon-library-books:before { + content: "library_books"; } + +.ui-icon-library-music:before { + content: "library_music"; } + +.ui-icon-lightbulb-outline:before { + content: "lightbulb_outline"; } + +.ui-icon-line-style:before { + content: "line_style"; } + +.ui-icon-line-weight:before { + content: "line_weight"; } + +.ui-icon-linear-scale:before { + content: "linear_scale"; } + +.ui-icon-link:before { + content: "link"; } + +.ui-icon-linked-camera:before { + content: "linked_camera"; } + +.ui-icon-list:before { + content: "list"; } + +.ui-icon-live-help:before { + content: "live_help"; } + +.ui-icon-live-tv:before { + content: "live_tv"; } + +.ui-icon-local-activity:before { + content: "local_activity"; } + +.ui-icon-local-airport:before { + content: "local_airport"; } + +.ui-icon-local-atm:before { + content: "local_atm"; } + +.ui-icon-local-bar:before { + content: "local_bar"; } + +.ui-icon-local-cafe:before { + content: "local_cafe"; } + +.ui-icon-local-car-wash:before { + content: "local_car_wash"; } + +.ui-icon-local-convenience-store:before { + content: "local_convenience_store"; } + +.ui-icon-local-dining:before { + content: "local_dining"; } + +.ui-icon-local-drink:before { + content: "local_drink"; } + +.ui-icon-local-florist:before { + content: "local_florist"; } + +.ui-icon-local-gas-station:before { + content: "local_gas_station"; } + +.ui-icon-local-grocery-store:before { + content: "local_grocery_store"; } + +.ui-icon-local-hospital:before { + content: "local_hospital"; } + +.ui-icon-local-hotel:before { + content: "local_hotel"; } + +.ui-icon-local-laundry-service:before { + content: "local_laundry_service"; } + +.ui-icon-local-library:before { + content: "local_library"; } + +.ui-icon-local-mall:before { + content: "local_mall"; } + +.ui-icon-local-movies:before { + content: "local_movies"; } + +.ui-icon-local-offer:before { + content: "local_offer"; } + +.ui-icon-local-parking:before { + content: "local_parking"; } + +.ui-icon-local-pharmacy:before { + content: "local_pharmacy"; } + +.ui-icon-local-phone:before { + content: "local_phone"; } + +.ui-icon-local-pizza:before { + content: "local_pizza"; } + +.ui-icon-local-play:before { + content: "local_play"; } + +.ui-icon-local-post-office:before { + content: "local_post_office"; } + +.ui-icon-local-printshop:before { + content: "local_printshop"; } + +.ui-icon-local-see:before { + content: "local_see"; } + +.ui-icon-local-shipping:before { + content: "local_shipping"; } + +.ui-icon-local-taxi:before { + content: "local_taxi"; } + +.ui-icon-location-city:before { + content: "location_city"; } + +.ui-icon-location-disabled:before { + content: "location_disabled"; } + +.ui-icon-location-off:before { + content: "location_off"; } + +.ui-icon-location-on:before { + content: "location_on"; } + +.ui-icon-location-searching:before { + content: "location_searching"; } + +.ui-icon-lock:before { + content: "lock"; } + +.ui-icon-lock-open:before { + content: "lock_open"; } + +.ui-icon-lock-outline:before { + content: "lock_outline"; } + +.ui-icon-looks:before { + content: "looks"; } + +.ui-icon-looks-3:before { + content: "looks_3"; } + +.ui-icon-looks-4:before { + content: "looks_4"; } + +.ui-icon-looks-5:before { + content: "looks_5"; } + +.ui-icon-looks-6:before { + content: "looks_6"; } + +.ui-icon-looks-one:before { + content: "looks_one"; } + +.ui-icon-looks-two:before { + content: "looks_two"; } + +.ui-icon-loop:before { + content: "loop"; } + +.ui-icon-loupe:before { + content: "loupe"; } + +.ui-icon-low-priority:before { + content: "low_priority"; } + +.ui-icon-loyalty:before { + content: "loyalty"; } + +.ui-icon-mail:before { + content: "mail"; } + +.ui-icon-mail-outline:before { + content: "mail_outline"; } + +.ui-icon-map:before { + content: "map"; } + +.ui-icon-markunread:before { + content: "markunread"; } + +.ui-icon-markunread-mailbox:before { + content: "markunread_mailbox"; } + +.ui-icon-memory:before { + content: "memory"; } + +.ui-icon-menu:before { + content: "menu"; } + +.ui-icon-merge-type:before { + content: "merge_type"; } + +.ui-icon-message:before { + content: "message"; } + +.ui-icon-mic:before { + content: "mic"; } + +.ui-icon-mic-none:before { + content: "mic_none"; } + +.ui-icon-mic-off:before { + content: "mic_off"; } + +.ui-icon-mms:before { + content: "mms"; } + +.ui-icon-mode-comment:before { + content: "mode_comment"; } + +.ui-icon-mode-edit:before { + content: "mode_edit"; } + +.ui-icon-monetization-on:before { + content: "monetization_on"; } + +.ui-icon-money-off:before { + content: "money_off"; } + +.ui-icon-monochrome-photos:before { + content: "monochrome_photos"; } + +.ui-icon-mood:before { + content: "mood"; } + +.ui-icon-mood-bad:before { + content: "mood_bad"; } + +.ui-icon-more:before { + content: "more"; } + +.ui-icon-more-horiz:before { + content: "more_horiz"; } + +.ui-icon-more-vert:before { + content: "more_vert"; } + +.ui-icon-motorcycle:before { + content: "motorcycle"; } + +.ui-icon-mouse:before { + content: "mouse"; } + +.ui-icon-move-to-inbox:before { + content: "move_to_inbox"; } + +.ui-icon-movie:before { + content: "movie"; } + +.ui-icon-movie-creation:before { + content: "movie_creation"; } + +.ui-icon-movie-filter:before { + content: "movie_filter"; } + +.ui-icon-multiline-chart:before { + content: "multiline_chart"; } + +.ui-icon-music-note:before { + content: "music_note"; } + +.ui-icon-music-video:before { + content: "music_video"; } + +.ui-icon-my-location:before { + content: "my_location"; } + +.ui-icon-nature:before { + content: "nature"; } + +.ui-icon-nature-people:before { + content: "nature_people"; } + +.ui-icon-navigate-before:before { + content: "navigate_before"; } + +.ui-icon-navigate-next:before { + content: "navigate_next"; } + +.ui-icon-navigation:before { + content: "navigation"; } + +.ui-icon-near-me:before { + content: "near_me"; } + +.ui-icon-network-cell:before { + content: "network_cell"; } + +.ui-icon-network-check:before { + content: "network_check"; } + +.ui-icon-network-locked:before { + content: "network_locked"; } + +.ui-icon-network-wifi:before { + content: "network_wifi"; } + +.ui-icon-new-releases:before { + content: "new_releases"; } + +.ui-icon-next-week:before { + content: "next_week"; } + +.ui-icon-nfc:before { + content: "nfc"; } + +.ui-icon-no-encryption:before { + content: "no_encryption"; } + +.ui-icon-no-sim:before { + content: "no_sim"; } + +.ui-icon-not-interested:before { + content: "not_interested"; } + +.ui-icon-note:before { + content: "note"; } + +.ui-icon-note-add:before { + content: "note_add"; } + +.ui-icon-notifications:before { + content: "notifications"; } + +.ui-icon-notifications-active:before { + content: "notifications_active"; } + +.ui-icon-notifications-none:before { + content: "notifications_none"; } + +.ui-icon-notifications-off:before { + content: "notifications_off"; } + +.ui-icon-notifications-paused:before { + content: "notifications_paused"; } + +.ui-icon-offline-pin:before { + content: "offline_pin"; } + +.ui-icon-ondemand-video:before { + content: "ondemand_video"; } + +.ui-icon-opacity:before { + content: "opacity"; } + +.ui-icon-open-in-browser:before { + content: "open_in_browser"; } + +.ui-icon-open-in-new:before { + content: "open_in_new"; } + +.ui-icon-open-with:before { + content: "open_with"; } + +.ui-icon-pages:before { + content: "pages"; } + +.ui-icon-pageview:before { + content: "pageview"; } + +.ui-icon-palette:before { + content: "palette"; } + +.ui-icon-pan-tool:before { + content: "pan_tool"; } + +.ui-icon-panorama:before { + content: "panorama"; } + +.ui-icon-panorama-fish-eye:before { + content: "panorama_fish_eye"; } + +.ui-icon-panorama-horizontal:before { + content: "panorama_horizontal"; } + +.ui-icon-panorama-vertical:before { + content: "panorama_vertical"; } + +.ui-icon-panorama-wide-angle:before { + content: "panorama_wide_angle"; } + +.ui-icon-party-mode:before { + content: "party_mode"; } + +.ui-icon-pause:before { + content: "pause"; } + +.ui-icon-pause-circle-filled:before { + content: "pause_circle_filled"; } + +.ui-icon-pause-circle-outline:before { + content: "pause_circle_outline"; } + +.ui-icon-payment:before { + content: "payment"; } + +.ui-icon-people:before { + content: "people"; } + +.ui-icon-people-outline:before { + content: "people_outline"; } + +.ui-icon-perm-camera-mic:before { + content: "perm_camera_mic"; } + +.ui-icon-perm-contact-calendar:before { + content: "perm_contact_calendar"; } + +.ui-icon-perm-data-setting:before { + content: "perm_data_setting"; } + +.ui-icon-perm-device-information:before { + content: "perm_device_information"; } + +.ui-icon-perm-identity:before { + content: "perm_identity"; } + +.ui-icon-perm-media:before { + content: "perm_media"; } + +.ui-icon-perm-phone-msg:before { + content: "perm_phone_msg"; } + +.ui-icon-perm-scan-wifi:before { + content: "perm_scan_wifi"; } + +.ui-icon-person:before { + content: "person"; } + +.ui-icon-person-add:before { + content: "person_add"; } + +.ui-icon-person-outline:before { + content: "person_outline"; } + +.ui-icon-person-pin:before { + content: "person_pin"; } + +.ui-icon-person-pin-circle:before { + content: "person_pin_circle"; } + +.ui-icon-personal-video:before { + content: "personal_video"; } + +.ui-icon-pets:before { + content: "pets"; } + +.ui-icon-phone:before { + content: "phone"; } + +.ui-icon-phone-android:before { + content: "phone_android"; } + +.ui-icon-phone-bluetooth-speaker:before { + content: "phone_bluetooth_speaker"; } + +.ui-icon-phone-forwarded:before { + content: "phone_forwarded"; } + +.ui-icon-phone-in-talk:before { + content: "phone_in_talk"; } + +.ui-icon-phone-iphone:before { + content: "phone_iphone"; } + +.ui-icon-phone-locked:before { + content: "phone_locked"; } + +.ui-icon-phone-missed:before { + content: "phone_missed"; } + +.ui-icon-phone-paused:before { + content: "phone_paused"; } + +.ui-icon-phonelink:before { + content: "phonelink"; } + +.ui-icon-phonelink-erase:before { + content: "phonelink_erase"; } + +.ui-icon-phonelink-lock:before { + content: "phonelink_lock"; } + +.ui-icon-phonelink-off:before { + content: "phonelink_off"; } + +.ui-icon-phonelink-ring:before { + content: "phonelink_ring"; } + +.ui-icon-phonelink-setup:before { + content: "phonelink_setup"; } + +.ui-icon-photo:before { + content: "photo"; } + +.ui-icon-photo-album:before { + content: "photo_album"; } + +.ui-icon-photo-camera:before { + content: "photo_camera"; } + +.ui-icon-photo-filter:before { + content: "photo_filter"; } + +.ui-icon-photo-library:before { + content: "photo_library"; } + +.ui-icon-photo-size-select-actual:before { + content: "photo_size_select_actual"; } + +.ui-icon-photo-size-select-large:before { + content: "photo_size_select_large"; } + +.ui-icon-photo-size-select-small:before { + content: "photo_size_select_small"; } + +.ui-icon-picture-as-pdf:before { + content: "picture_as_pdf"; } + +.ui-icon-picture-in-picture:before { + content: "picture_in_picture"; } + +.ui-icon-picture-in-picture-alt:before { + content: "picture_in_picture_alt"; } + +.ui-icon-pie-chart:before { + content: "pie_chart"; } + +.ui-icon-pie-chart-outlined:before { + content: "pie_chart_outlined"; } + +.ui-icon-pin-drop:before { + content: "pin_drop"; } + +.ui-icon-place:before { + content: "place"; } + +.ui-icon-play-arrow:before { + content: "play_arrow"; } + +.ui-icon-play-circle-filled:before { + content: "play_circle_filled"; } + +.ui-icon-play-circle-outline:before { + content: "play_circle_outline"; } + +.ui-icon-play-for-work:before { + content: "play_for_work"; } + +.ui-icon-playlist-add:before { + content: "playlist_add"; } + +.ui-icon-playlist-add-check:before { + content: "playlist_add_check"; } + +.ui-icon-playlist-play:before { + content: "playlist_play"; } + +.ui-icon-plus-one:before { + content: "plus_one"; } + +.ui-icon-poll:before { + content: "poll"; } + +.ui-icon-polymer:before { + content: "polymer"; } + +.ui-icon-pool:before { + content: "pool"; } + +.ui-icon-portable-wifi-off:before { + content: "portable_wifi_off"; } + +.ui-icon-portrait:before { + content: "portrait"; } + +.ui-icon-power:before { + content: "power"; } + +.ui-icon-power-input:before { + content: "power_input"; } + +.ui-icon-power-settings-new:before { + content: "power_settings_new"; } + +.ui-icon-pregnant-woman:before { + content: "pregnant_woman"; } + +.ui-icon-present-to-all:before { + content: "present_to_all"; } + +.ui-icon-print:before { + content: "print"; } + +.ui-icon-priority-high:before { + content: "priority_high"; } + +.ui-icon-public:before { + content: "public"; } + +.ui-icon-publish:before { + content: "publish"; } + +.ui-icon-query-builder:before { + content: "query_builder"; } + +.ui-icon-question-answer:before { + content: "question_answer"; } + +.ui-icon-queue:before { + content: "queue"; } + +.ui-icon-queue-music:before { + content: "queue_music"; } + +.ui-icon-queue-play-next:before { + content: "queue_play_next"; } + +.ui-icon-radio:before { + content: "radio"; } + +.ui-icon-radio-button-checked:before { + content: "radio_button_checked"; } + +.ui-icon-radio-button-unchecked:before { + content: "radio_button_unchecked"; } + +.ui-icon-rate-review:before { + content: "rate_review"; } + +.ui-icon-receipt:before { + content: "receipt"; } + +.ui-icon-recent-actors:before { + content: "recent_actors"; } + +.ui-icon-record-voice-over:before { + content: "record_voice_over"; } + +.ui-icon-redeem:before { + content: "redeem"; } + +.ui-icon-redo:before { + content: "redo"; } + +.ui-icon-refresh:before { + content: "refresh"; } + +.ui-icon-remove:before { + content: "remove"; } + +.ui-icon-remove-circle:before { + content: "remove_circle"; } + +.ui-icon-remove-circle-outline:before { + content: "remove_circle_outline"; } + +.ui-icon-remove-from-queue:before { + content: "remove_from_queue"; } + +.ui-icon-remove-red-eye:before { + content: "remove_red_eye"; } + +.ui-icon-remove-shopping-cart:before { + content: "remove_shopping_cart"; } + +.ui-icon-reorder:before { + content: "reorder"; } + +.ui-icon-repeat:before { + content: "repeat"; } + +.ui-icon-repeat-one:before { + content: "repeat_one"; } + +.ui-icon-replay:before { + content: "replay"; } + +.ui-icon-replay-10:before { + content: "replay_10"; } + +.ui-icon-replay-30:before { + content: "replay_30"; } + +.ui-icon-replay-5:before { + content: "replay_5"; } + +.ui-icon-reply:before { + content: "reply"; } + +.ui-icon-reply-all:before { + content: "reply_all"; } + +.ui-icon-report:before { + content: "report"; } + +.ui-icon-report-problem:before { + content: "report_problem"; } + +.ui-icon-restaurant:before { + content: "restaurant"; } + +.ui-icon-restaurant-menu:before { + content: "restaurant_menu"; } + +.ui-icon-restore:before { + content: "restore"; } + +.ui-icon-restore-page:before { + content: "restore_page"; } + +.ui-icon-ring-volume:before { + content: "ring_volume"; } + +.ui-icon-room:before { + content: "room"; } + +.ui-icon-room-service:before { + content: "room_service"; } + +.ui-icon-rotate-90-degrees-ccw:before { + content: "rotate_90_degrees_ccw"; } + +.ui-icon-rotate-left:before { + content: "rotate_left"; } + +.ui-icon-rotate-right:before { + content: "rotate_right"; } + +.ui-icon-rounded-corner:before { + content: "rounded_corner"; } + +.ui-icon-router:before { + content: "router"; } + +.ui-icon-rowing:before { + content: "rowing"; } + +.ui-icon-rss-feed:before { + content: "rss_feed"; } + +.ui-icon-rv-hookup:before { + content: "rv_hookup"; } + +.ui-icon-satellite:before { + content: "satellite"; } + +.ui-icon-save:before { + content: "save"; } + +.ui-icon-scanner:before { + content: "scanner"; } + +.ui-icon-schedule:before { + content: "schedule"; } + +.ui-icon-school:before { + content: "school"; } + +.ui-icon-screen-lock-landscape:before { + content: "screen_lock_landscape"; } + +.ui-icon-screen-lock-portrait:before { + content: "screen_lock_portrait"; } + +.ui-icon-screen-lock-rotation:before { + content: "screen_lock_rotation"; } + +.ui-icon-screen-rotation:before { + content: "screen_rotation"; } + +.ui-icon-screen-share:before { + content: "screen_share"; } + +.ui-icon-sd-card:before { + content: "sd_card"; } + +.ui-icon-sd-storage:before { + content: "sd_storage"; } + +.ui-icon-search:before { + content: "search"; } + +.ui-icon-security:before { + content: "security"; } + +.ui-icon-select-all:before { + content: "select_all"; } + +.ui-icon-send:before { + content: "send"; } + +.ui-icon-sentiment-dissatisfied:before { + content: "sentiment_dissatisfied"; } + +.ui-icon-sentiment-neutral:before { + content: "sentiment_neutral"; } + +.ui-icon-sentiment-satisfied:before { + content: "sentiment_satisfied"; } + +.ui-icon-sentiment-very-dissatisfied:before { + content: "sentiment_very_dissatisfied"; } + +.ui-icon-sentiment-very-satisfied:before { + content: "sentiment_very_satisfied"; } + +.ui-icon-settings:before { + content: "settings"; } + +.ui-icon-settings-applications:before { + content: "settings_applications"; } + +.ui-icon-settings-backup-restore:before { + content: "settings_backup_restore"; } + +.ui-icon-settings-bluetooth:before { + content: "settings_bluetooth"; } + +.ui-icon-settings-brightness:before { + content: "settings_brightness"; } + +.ui-icon-settings-cell:before { + content: "settings_cell"; } + +.ui-icon-settings-ethernet:before { + content: "settings_ethernet"; } + +.ui-icon-settings-input-antenna:before { + content: "settings_input_antenna"; } + +.ui-icon-settings-input-component:before { + content: "settings_input_component"; } + +.ui-icon-settings-input-composite:before { + content: "settings_input_composite"; } + +.ui-icon-settings-input-hdmi:before { + content: "settings_input_hdmi"; } + +.ui-icon-settings-input-svideo:before { + content: "settings_input_svideo"; } + +.ui-icon-settings-overscan:before { + content: "settings_overscan"; } + +.ui-icon-settings-phone:before { + content: "settings_phone"; } + +.ui-icon-settings-power:before { + content: "settings_power"; } + +.ui-icon-settings-remote:before { + content: "settings_remote"; } + +.ui-icon-settings-system-daydream:before { + content: "settings_system_daydream"; } + +.ui-icon-settings-voice:before { + content: "settings_voice"; } + +.ui-icon-share:before { + content: "share"; } + +.ui-icon-shop:before { + content: "shop"; } + +.ui-icon-shop-two:before { + content: "shop_two"; } + +.ui-icon-shopping-basket:before { + content: "shopping_basket"; } + +.ui-icon-shopping-cart:before { + content: "shopping_cart"; } + +.ui-icon-short-text:before { + content: "short_text"; } + +.ui-icon-show-chart:before { + content: "show_chart"; } + +.ui-icon-shuffle:before { + content: "shuffle"; } + +.ui-icon-signal-cellular-4-bar:before { + content: "signal_cellular_4_bar"; } + +.ui-icon-signal-cellular-connected-no-internet-4-bar:before { + content: "signal_cellular_connected_no_internet_4_bar"; } + +.ui-icon-signal-cellular-no-sim:before { + content: "signal_cellular_no_sim"; } + +.ui-icon-signal-cellular-null:before { + content: "signal_cellular_null"; } + +.ui-icon-signal-cellular-off:before { + content: "signal_cellular_off"; } + +.ui-icon-signal-wifi-4-bar:before { + content: "signal_wifi_4_bar"; } + +.ui-icon-signal-wifi-4-bar-lock:before { + content: "signal_wifi_4_bar_lock"; } + +.ui-icon-signal-wifi-off:before { + content: "signal_wifi_off"; } + +.ui-icon-sim-card:before { + content: "sim_card"; } + +.ui-icon-sim-card-alert:before { + content: "sim_card_alert"; } + +.ui-icon-skip-next:before { + content: "skip_next"; } + +.ui-icon-skip-previous:before { + content: "skip_previous"; } + +.ui-icon-slideshow:before { + content: "slideshow"; } + +.ui-icon-slow-motion-video:before { + content: "slow_motion_video"; } + +.ui-icon-smartphone:before { + content: "smartphone"; } + +.ui-icon-smoke-free:before { + content: "smoke_free"; } + +.ui-icon-smoking-rooms:before { + content: "smoking_rooms"; } + +.ui-icon-sms:before { + content: "sms"; } + +.ui-icon-sms-failed:before { + content: "sms_failed"; } + +.ui-icon-snooze:before { + content: "snooze"; } + +.ui-icon-sort:before { + content: "sort"; } + +.ui-icon-sort-by-alpha:before { + content: "sort_by_alpha"; } + +.ui-icon-spa:before { + content: "spa"; } + +.ui-icon-space-bar:before { + content: "space_bar"; } + +.ui-icon-speaker:before { + content: "speaker"; } + +.ui-icon-speaker-group:before { + content: "speaker_group"; } + +.ui-icon-speaker-notes:before { + content: "speaker_notes"; } + +.ui-icon-speaker-notes-off:before { + content: "speaker_notes_off"; } + +.ui-icon-speaker-phone:before { + content: "speaker_phone"; } + +.ui-icon-spellcheck:before { + content: "spellcheck"; } + +.ui-icon-star:before { + content: "star"; } + +.ui-icon-star-border:before { + content: "star_border"; } + +.ui-icon-star-half:before { + content: "star_half"; } + +.ui-icon-stars:before { + content: "stars"; } + +.ui-icon-stay-current-landscape:before { + content: "stay_current_landscape"; } + +.ui-icon-stay-current-portrait:before { + content: "stay_current_portrait"; } + +.ui-icon-stay-primary-landscape:before { + content: "stay_primary_landscape"; } + +.ui-icon-stay-primary-portrait:before { + content: "stay_primary_portrait"; } + +.ui-icon-stop:before { + content: "stop"; } + +.ui-icon-stop-screen-share:before { + content: "stop_screen_share"; } + +.ui-icon-storage:before { + content: "storage"; } + +.ui-icon-store:before { + content: "store"; } + +.ui-icon-store-mall-directory:before { + content: "store_mall_directory"; } + +.ui-icon-straighten:before { + content: "straighten"; } + +.ui-icon-streetview:before { + content: "streetview"; } + +.ui-icon-strikethrough-s:before { + content: "strikethrough_s"; } + +.ui-icon-style:before { + content: "style"; } + +.ui-icon-subdirectory-arrow-left:before { + content: "subdirectory_arrow_left"; } + +.ui-icon-subdirectory-arrow-right:before { + content: "subdirectory_arrow_right"; } + +.ui-icon-subject:before { + content: "subject"; } + +.ui-icon-subscriptions:before { + content: "subscriptions"; } + +.ui-icon-subtitles:before { + content: "subtitles"; } + +.ui-icon-subway:before { + content: "subway"; } + +.ui-icon-supervisor-account:before { + content: "supervisor_account"; } + +.ui-icon-surround-sound:before { + content: "surround_sound"; } + +.ui-icon-swap-calls:before { + content: "swap_calls"; } + +.ui-icon-swap-horiz:before { + content: "swap_horiz"; } + +.ui-icon-swap-vert:before { + content: "swap_vert"; } + +.ui-icon-swap-vertical-circle:before { + content: "swap_vertical_circle"; } + +.ui-icon-switch-camera:before { + content: "switch_camera"; } + +.ui-icon-switch-video:before { + content: "switch_video"; } + +.ui-icon-sync:before { + content: "sync"; } + +.ui-icon-sync-disabled:before { + content: "sync_disabled"; } + +.ui-icon-sync-problem:before { + content: "sync_problem"; } + +.ui-icon-system-update:before { + content: "system_update"; } + +.ui-icon-system-update-alt:before { + content: "system_update_alt"; } + +.ui-icon-tab:before { + content: "tab"; } + +.ui-icon-tab-unselected:before { + content: "tab_unselected"; } + +.ui-icon-tablet:before { + content: "tablet"; } + +.ui-icon-tablet-android:before { + content: "tablet_android"; } + +.ui-icon-tablet-mac:before { + content: "tablet_mac"; } + +.ui-icon-tag-faces:before { + content: "tag_faces"; } + +.ui-icon-tap-and-play:before { + content: "tap_and_play"; } + +.ui-icon-terrain:before { + content: "terrain"; } + +.ui-icon-text-fields:before { + content: "text_fields"; } + +.ui-icon-text-format:before { + content: "text_format"; } + +.ui-icon-textsms:before { + content: "textsms"; } + +.ui-icon-texture:before { + content: "texture"; } + +.ui-icon-theaters:before { + content: "theaters"; } + +.ui-icon-thumb-down:before { + content: "thumb_down"; } + +.ui-icon-thumb-up:before { + content: "thumb_up"; } + +.ui-icon-thumbs-up-down:before { + content: "thumbs_up_down"; } + +.ui-icon-time-to-leave:before { + content: "time_to_leave"; } + +.ui-icon-timelapse:before { + content: "timelapse"; } + +.ui-icon-timeline:before { + content: "timeline"; } + +.ui-icon-timer:before { + content: "timer"; } + +.ui-icon-timer-10:before { + content: "timer_10"; } + +.ui-icon-timer-3:before { + content: "timer_3"; } + +.ui-icon-timer-off:before { + content: "timer_off"; } + +.ui-icon-title:before { + content: "title"; } + +.ui-icon-toc:before { + content: "toc"; } + +.ui-icon-today:before { + content: "today"; } + +.ui-icon-toll:before { + content: "toll"; } + +.ui-icon-tonality:before { + content: "tonality"; } + +.ui-icon-touch-app:before { + content: "touch_app"; } + +.ui-icon-toys:before { + content: "toys"; } + +.ui-icon-track-changes:before { + content: "track_changes"; } + +.ui-icon-traffic:before { + content: "traffic"; } + +.ui-icon-train:before { + content: "train"; } + +.ui-icon-tram:before { + content: "tram"; } + +.ui-icon-transfer-within-a-station:before { + content: "transfer_within_a_station"; } + +.ui-icon-transform:before { + content: "transform"; } + +.ui-icon-translate:before { + content: "translate"; } + +.ui-icon-trending-down:before { + content: "trending_down"; } + +.ui-icon-trending-flat:before { + content: "trending_flat"; } + +.ui-icon-trending-up:before { + content: "trending_up"; } + +.ui-icon-tune:before { + content: "tune"; } + +.ui-icon-turned-in:before { + content: "turned_in"; } + +.ui-icon-turned-in-not:before { + content: "turned_in_not"; } + +.ui-icon-tv:before { + content: "tv"; } + +.ui-icon-unarchive:before { + content: "unarchive"; } + +.ui-icon-undo:before { + content: "undo"; } + +.ui-icon-unfold-less:before { + content: "unfold_less"; } + +.ui-icon-unfold-more:before { + content: "unfold_more"; } + +.ui-icon-update:before { + content: "update"; } + +.ui-icon-usb:before { + content: "usb"; } + +.ui-icon-verified-user:before { + content: "verified_user"; } + +.ui-icon-vertical-align-bottom:before { + content: "vertical_align_bottom"; } + +.ui-icon-vertical-align-center:before { + content: "vertical_align_center"; } + +.ui-icon-vertical-align-top:before { + content: "vertical_align_top"; } + +.ui-icon-vibration:before { + content: "vibration"; } + +.ui-icon-video-call:before { + content: "video_call"; } + +.ui-icon-video-label:before { + content: "video_label"; } + +.ui-icon-video-library:before { + content: "video_library"; } + +.ui-icon-videocam:before { + content: "videocam"; } + +.ui-icon-videocam-off:before { + content: "videocam_off"; } + +.ui-icon-videogame-asset:before { + content: "videogame_asset"; } + +.ui-icon-view-agenda:before { + content: "view_agenda"; } + +.ui-icon-view-array:before { + content: "view_array"; } + +.ui-icon-view-carousel:before { + content: "view_carousel"; } + +.ui-icon-view-column:before { + content: "view_column"; } + +.ui-icon-view-comfy:before { + content: "view_comfy"; } + +.ui-icon-view-compact:before { + content: "view_compact"; } + +.ui-icon-view-day:before { + content: "view_day"; } + +.ui-icon-view-headline:before { + content: "view_headline"; } + +.ui-icon-view-list:before { + content: "view_list"; } + +.ui-icon-view-module:before { + content: "view_module"; } + +.ui-icon-view-quilt:before { + content: "view_quilt"; } + +.ui-icon-view-stream:before { + content: "view_stream"; } + +.ui-icon-view-week:before { + content: "view_week"; } + +.ui-icon-vignette:before { + content: "vignette"; } + +.ui-icon-visibility:before { + content: "visibility"; } + +.ui-icon-visibility-off:before { + content: "visibility_off"; } + +.ui-icon-voice-chat:before { + content: "voice_chat"; } + +.ui-icon-voicemail:before { + content: "voicemail"; } + +.ui-icon-volume-down:before { + content: "volume_down"; } + +.ui-icon-volume-mute:before { + content: "volume_mute"; } + +.ui-icon-volume-off:before { + content: "volume_off"; } + +.ui-icon-volume-up:before { + content: "volume_up"; } + +.ui-icon-vpn-key:before { + content: "vpn_key"; } + +.ui-icon-vpn-lock:before { + content: "vpn_lock"; } + +.ui-icon-wallpaper:before { + content: "wallpaper"; } + +.ui-icon-warning:before { + content: "warning"; } + +.ui-icon-watch:before { + content: "watch"; } + +.ui-icon-watch-later:before { + content: "watch_later"; } + +.ui-icon-wb-auto:before { + content: "wb_auto"; } + +.ui-icon-wb-cloudy:before { + content: "wb_cloudy"; } + +.ui-icon-wb-incandescent:before { + content: "wb_incandescent"; } + +.ui-icon-wb-iridescent:before { + content: "wb_iridescent"; } + +.ui-icon-wb-sunny:before { + content: "wb_sunny"; } + +.ui-icon-wc:before { + content: "wc"; } + +.ui-icon-web:before { + content: "web"; } + +.ui-icon-web-asset:before { + content: "web_asset"; } + +.ui-icon-weekend:before { + content: "weekend"; } + +.ui-icon-whatshot:before { + content: "whatshot"; } + +.ui-icon-widgets:before { + content: "widgets"; } + +.ui-icon-wifi:before { + content: "wifi"; } + +.ui-icon-wifi-lock:before { + content: "wifi_lock"; } + +.ui-icon-wifi-tethering:before { + content: "wifi_tethering"; } + +.ui-icon-work:before { + content: "work"; } + +.ui-icon-wrap-text:before { + content: "wrap_text"; } + +.ui-icon-youtube-searched-for:before { + content: "youtube_searched_for"; } + +.ui-icon-zoom-in:before { + content: "zoom_in"; } + +.ui-icon-zoom-out:before { + content: "zoom_out"; } + +.ui-icon-zoom-out-map:before { + content: "zoom_out_map"; } + +.material-icons, .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + +body .ui-widget, +body .ui-widget .ui-widget { + font-family: "Roboto","Helvetica Neue",sans-serif; + text-decoration: none; } +body .ui-widget-content { + background-color: #ffffff; + font-size: 1em; + border: 1px solid #bdbdbd; } + body .ui-widget-content .fa { + color: #757575; } +body .ui-widget-header { + background-color: #009688; + color: #ffffff; + font-size: 1em; + border: 1px solid #009688; } + body .ui-widget-header .fa { + color: #ffffff; } +body .ui-state-active, body .ui-state-highlight { + background-color: #CDDC39; + color: #212121; } + body .ui-state-active .fa, body .ui-state-highlight .fa { + color: #ffffff; } +body .ui-widget:disabled, +body .ui-state-disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; + cursor: auto !important; } +body .ui-corner-all { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } +body .ui-corner-top { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } +body .ui-corner-bottom { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-corner-left { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; } +body .ui-corner-right { + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } +body .ui-widget-overlay { + background-color: #58575c; + opacity: .8; } + +body { + /* InputGroup */ + /* Validation */ } + body .ui-inputtext { + background: transparent; + border-width: 0 0 1px 0; + padding: 2px 2px 1px 2px; + font-size: 1em; + border-color: #bdbdbd; + border-style: solid; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + border-radius: 0px; } + body .ui-inputtext:focus, body .ui-inputtext.ui-state-focus { + border-width: 0 0 2px 0; + border-color: #009688; + padding-bottom: 0px; } + body .ui-inputtext:disabled { + border-bottom: 1px dotted; } + body .ui-inputtext.ui-widget-content { + border-width: 1px; } + body .ui-inputtext.ui-state-error { + border-color: #e62a10; } + body .md-inputfield { + display: block; + position: relative; } + body .md-inputfield label { + color: #999; + font-weight: normal; + position: absolute; + pointer-events: none; + left: 5px; + top: 1px; + transition: 0.3s ease all; + -moz-transition: 0.3s ease all; + -webkit-transition: 0.3s ease all; } + body .md-inputfield input:focus ~ label, + body .md-inputfield input.ui-state-filled ~ label, + body .md-inputfield .ui-inputwrapper-focus ~ label, + body .md-inputfield .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #009688; } + body .md-inputfield .input:-webkit-autofill ~ label { + top: -20px; + font-size: 12px; + color: #009688; } + body .md-inputfield input.ng-dirty.ng-invalid ~ label { + color: #e62a10; } + body .md-inputfield .ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .md-inputfield.md-inputfield-fill input { + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 4px; } + body .md-inputfield.md-inputfield-fill label { + top: 2px; } + body .md-inputfield.md-inputfield-fill input:focus ~ label, + body .md-inputfield.md-inputfield-fill input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-fill .ui-inputwrapper-filled ~ label { + top: -20px; + font-size: 12px; + color: #009688; } + body .md-inputfield.md-inputfield-box { + background-color: #f7f7f7; + height: 44px; } + body .md-inputfield.md-inputfield-box > *:not(label) { + bottom: 0px; + position: absolute; + background-color: #f7f7f7; + padding-left: 4px; + padding-right: 4px; + padding-top: 24px; } + body .md-inputfield.md-inputfield-box > label { + top: 23px; } + body .md-inputfield.md-inputfield-box input:focus ~ label, + body .md-inputfield.md-inputfield-box input.ui-state-filled ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-focus ~ label, + body .md-inputfield.md-inputfield-box .ui-inputwrapper-filled ~ label { + top: 1px; } + body .md-inputfield.md-inputfield-box .input:-webkit-autofill ~ label { + top: 1px; } + body .ui-material-message.ui-message.ui-messages-error { + background-color: transparent; + border: 0 none; + margin: 0px; + color: #e62a10; + font-size: .75em; } + body .ui-material-message.ui-message.ui-messages-error label { + top: 4px; } + body .ui-listbox { + min-width: 12.5em; + background-color: #ffffff; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-listbox.ui-inputtext { + padding: 0; } + body .ui-listbox .ui-listbox-list { + padding: 0; } + body .ui-listbox .ui-listbox-item { + overflow: hidden; + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + color: #212121; + position: relative; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-listbox .ui-listbox-item.ui-state-highlight { + background-color: #CDDC39; + color: #212121; } + body .ui-listbox:not(.ui-state-disabled) .ui-listbox-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-listbox .ui-listbox-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; } + body .ui-listbox .ui-listbox-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext { + color: #ffffff; + padding: 2px 2px 1px 2px; + padding-left: 1.5em; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .ui-inputtext:focus { + padding-bottom: 0; + border-bottom-color: #ffffff; } + body .ui-listbox .ui-listbox-header .ui-listbox-filter-container .fa { + top: 0; + left: 0; } + body .ui-button, body .ui-datepicker-buttonpane > button { + overflow: hidden; + background-color: #009688; + color: #ffffff; + font-size: 1em; + height: 2.25em; + padding: 0 1em; + border: 0 none; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button:enabled:not(:focus):hover { + background-color: #00695C; } + body .ui-button:focus, body .ui-datepicker-buttonpane > button:focus { + outline: 0 none; + background-color: #00c9b6; } + body .ui-button .ui-button-text, body .ui-datepicker-buttonpane > button .ui-button-text { + padding: 0; + line-height: 2.25em; } + body .ui-button .fa, body .ui-datepicker-buttonpane > button .fa { + color: #ffffff; } + body .ui-button.ui-button-icon-only, body .ui-datepicker-buttonpane > button.ui-button-icon-only { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 2.5em; + height: 2.5em; } + body .ui-button.ui-button-icon-only .fa, body .ui-datepicker-buttonpane > button.ui-button-icon-only .fa { + margin-left: -.5em; } + body .ui-button.ui-button-text-icon-left, body .ui-datepicker-buttonpane > button.ui-button-text-icon-left { + padding-left: 2.5em; } + body .ui-button.ui-button-text-icon-right, body .ui-datepicker-buttonpane > button.ui-button-text-icon-right { + padding-right: 2.5em; } + body .ui-button.secondary, body .ui-button.ui-secondary-button, body .ui-datepicker-buttonpane > button.secondary, body .ui-datepicker-buttonpane > button.ui-secondary-button { + background-color: #CDDC39; + color: #212121; } + body .ui-button.secondary:enabled:not(:focus):hover, body .ui-button.ui-secondary-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.secondary:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-secondary-button:enabled:not(:focus):hover { + background-color: #9E9D24; } + body .ui-button.secondary:focus, body .ui-button.ui-secondary-button:focus, body .ui-datepicker-buttonpane > button.secondary:focus, body .ui-datepicker-buttonpane > button.ui-secondary-button:focus { + outline: 0 none; + background-color: #d8e464; } + body .ui-button.blue-grey-btn, body .ui-datepicker-buttonpane > button.blue-grey-btn { + background-color: #607D8B; } + body .ui-button.blue-grey-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-grey-btn:enabled:not(:focus):hover { + background-color: #37474F; } + body .ui-button.blue-grey-btn:focus, body .ui-datepicker-buttonpane > button.blue-grey-btn:focus { + outline: 0 none; + background-color: #7b96a3; } + body .ui-button.cyan-btn, body .ui-datepicker-buttonpane > button.cyan-btn { + background-color: #00BCD4; } + body .ui-button.cyan-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.cyan-btn:enabled:not(:focus):hover { + background-color: #00838F; } + body .ui-button.cyan-btn:focus, body .ui-datepicker-buttonpane > button.cyan-btn:focus { + outline: 0 none; + background-color: #08e3ff; } + body .ui-button.teal-btn, body .ui-datepicker-buttonpane > button.teal-btn { + background-color: #009688; } + body .ui-button.teal-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.teal-btn:enabled:not(:focus):hover { + background-color: #00695C; } + body .ui-button.teal-btn:focus, body .ui-datepicker-buttonpane > button.teal-btn:focus { + outline: 0 none; + background-color: #00c9b6; } + body .ui-button.red-btn, body .ui-button.ui-danger-button, body .ui-datepicker-buttonpane > button.red-btn, body .ui-datepicker-buttonpane > button.ui-danger-button { + background-color: #F44336; } + body .ui-button.red-btn:enabled:not(:focus):hover, body .ui-button.ui-danger-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.red-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-danger-button:enabled:not(:focus):hover { + background-color: #C62828; } + body .ui-button.red-btn:focus, body .ui-button.ui-danger-button:focus, body .ui-datepicker-buttonpane > button.red-btn:focus, body .ui-datepicker-buttonpane > button.ui-danger-button:focus { + outline: 0 none; + background-color: #f77066; } + body .ui-button.green-btn, body .ui-button.ui-success-button, body .ui-datepicker-buttonpane > button.green-btn, body .ui-datepicker-buttonpane > button.ui-success-button { + background-color: #4CAF50; } + body .ui-button.green-btn:enabled:not(:focus):hover, body .ui-button.ui-success-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.green-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-success-button:enabled:not(:focus):hover { + background-color: #2E7D32; } + body .ui-button.green-btn:focus, body .ui-button.ui-success-button:focus, body .ui-datepicker-buttonpane > button.green-btn:focus, body .ui-datepicker-buttonpane > button.ui-success-button:focus { + outline: 0 none; + background-color: #6ec071; } + body .ui-button.deep-orange-btn, body .ui-datepicker-buttonpane > button.deep-orange-btn { + background-color: #FF5722; } + body .ui-button.deep-orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.deep-orange-btn:enabled:not(:focus):hover { + background-color: #D84315; } + body .ui-button.deep-orange-btn:focus, body .ui-datepicker-buttonpane > button.deep-orange-btn:focus { + outline: 0 none; + background-color: #ff7e55; } + body .ui-button.purple-btn, body .ui-datepicker-buttonpane > button.purple-btn { + background-color: #673AB7; } + body .ui-button.purple-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.purple-btn:enabled:not(:focus):hover { + background-color: #4527A0; } + body .ui-button.purple-btn:focus, body .ui-datepicker-buttonpane > button.purple-btn:focus { + outline: 0 none; + background-color: #8259cb; } + body .ui-button.pink-btn, body .ui-datepicker-buttonpane > button.pink-btn { + background-color: #E91E63; } + body .ui-button.pink-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.pink-btn:enabled:not(:focus):hover { + background-color: #AD1457; } + body .ui-button.pink-btn:focus, body .ui-datepicker-buttonpane > button.pink-btn:focus { + outline: 0 none; + background-color: #ee4c83; } + body .ui-button.amber-btn, body .ui-button.ui-warning-button, body .ui-datepicker-buttonpane > button.amber-btn, body .ui-datepicker-buttonpane > button.ui-warning-button { + background-color: #FFC107; + color: #212121; } + body .ui-button.amber-btn:enabled:not(:focus):hover, body .ui-button.ui-warning-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.amber-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-warning-button:enabled:not(:focus):hover { + background-color: #FF8F00; } + body .ui-button.amber-btn:focus, body .ui-button.ui-warning-button:focus, body .ui-datepicker-buttonpane > button.amber-btn:focus, body .ui-datepicker-buttonpane > button.ui-warning-button:focus { + outline: 0 none; + background-color: #ffce3a; } + body .ui-button.orange-btn, body .ui-datepicker-buttonpane > button.orange-btn { + background-color: #FF9800; } + body .ui-button.orange-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.orange-btn:enabled:not(:focus):hover { + background-color: #EF6C00; } + body .ui-button.orange-btn:focus, body .ui-datepicker-buttonpane > button.orange-btn:focus { + outline: 0 none; + background-color: #ffad33; } + body .ui-button.brown-btn, body .ui-datepicker-buttonpane > button.brown-btn { + background-color: #795548; } + body .ui-button.brown-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.brown-btn:enabled:not(:focus):hover { + background-color: #4E342E; } + body .ui-button.brown-btn:focus, body .ui-datepicker-buttonpane > button.brown-btn:focus { + outline: 0 none; + background-color: #996b5b; } + body .ui-button.indigo-btn, body .ui-datepicker-buttonpane > button.indigo-btn { + background-color: #3F51B5; } + body .ui-button.indigo-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.indigo-btn:enabled:not(:focus):hover { + background-color: #283593; } + body .ui-button.indigo-btn:focus, body .ui-datepicker-buttonpane > button.indigo-btn:focus { + outline: 0 none; + background-color: #606fc7; } + body .ui-button.blue-btn, body .ui-button.ui-info-button, body .ui-datepicker-buttonpane > button.blue-btn, body .ui-datepicker-buttonpane > button.ui-info-button { + background-color: #03A9F4; + color: #ffffff; } + body .ui-button.blue-btn:enabled:not(:focus):hover, body .ui-button.ui-info-button:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.blue-btn:enabled:not(:focus):hover, body .ui-datepicker-buttonpane > button.ui-info-button:enabled:not(:focus):hover { + background-color: #0277BD; } + body .ui-button.blue-btn:focus, body .ui-button.ui-info-button:focus, body .ui-datepicker-buttonpane > button.blue-btn:focus, body .ui-datepicker-buttonpane > button.ui-info-button:focus { + outline: 0 none; + background-color: #2ebcfc; } + body .ui-button.flat, body .ui-datepicker-buttonpane > button.flat { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-buttonset .ui-button:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #00695C; } + body .ui-buttonset .ui-button.ui-state-active { + background-color: #CDDC39; + color: #212121; } + body .ui-togglebutton:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #00695C; } + body .ui-togglebutton.ui-state-active { + background-color: #CDDC39; + color: #212121; } + body .ui-splitbutton { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 2.5px 0 rgba(0, 0, 0, 0.26), 0 1px 5px 0 rgba(0, 0, 0, 0.16); } + body .ui-splitbutton > .ui-button { + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-splitbutton > .ui-button:active { + background-color: #00c9b6; } + body .ui-splitbutton .ui-splitbutton-menubutton { + height: 2.25em; + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton .ui-menu { + min-width: 100%; } + body .ui-fluid .ui-splitbutton .ui-button:first-child { + width: calc(100% - 2em); } + body .ui-chkbox { + display: inline-block; + vertical-align: middle; + line-height: 1.25em; + width: 1.25em; + height: 1.25em; + cursor: default; } + body .ui-chkbox .ui-chkbox-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + overflow: hidden; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + font-size: 1.25em; + margin-left: -2px; + margin-top: -2px; } + body .ui-chkbox .ui-chkbox-box.ui-state-active { + border-color: #009688; + background-color: #009688; } + body .ui-chkbox .ui-chkbox-box.ui-state-focus { + border-color: #009688; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton { + position: relative; + margin: 0 .25em 0 0; + vertical-align: middle; } + body .ui-radiobutton .ui-radiobutton-box { + border: 2px solid #757575; + width: 1.25em; + height: 1.25em; + -moz-transition: box-shadow 0.3s; + -o-transition: box-shadow 0.3s; + -webkit-transition: box-shadow 0.3s; + transition: box-shadow 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-focus { + border-color: #009688; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-transition: box-shadow 0.3s, background-color 0.3s; + -o-transition: box-shadow 0.3s, background-color 0.3s; + -webkit-transition: box-shadow 0.3s, background-color 0.3s; + transition: box-shadow 0.3s, background-color 0.3s; } + body .ui-radiobutton .ui-radiobutton-box.ui-state-active { + border-color: #009688; + background-color: transparent; } + body .ui-radiobutton .ui-radiobutton-box .ui-radiobutton-icon { + display: block; + box-sizing: border-box; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-size: 1em; + transition: -webkit-transform ease .28s; + transition: transform ease .28s; + -webkit-transform: scale(0); + transform: scale(0); + margin: 0; } + body .ui-radiobutton .ui-radiobutton-box .fa-circle { + background-color: #009688; + -webkit-transform: scale(0.5); + transform: scale(0.5); } + body .ui-autocomplete-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-autocomplete-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-autocomplete-panel .ui-autocomplete-list { + padding: 0; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + font-size: 1em; + padding: 0.625em 0.875em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item .ui-autocomplete-query { + font-weight: 700; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-list-item.ui-state-highlight { + color: #212121; } + body .ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-group { + padding: 0.625em 0.875em; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only { + background-color: transparent; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + height: 1.5em; + width: 1.5em; + padding: 0; + right: 0; + bottom: 0; + margin-right: 0; + position: absolute; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .ui-button-text { + display: none; } + body .ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-button-icon-only .fa { + color: #757575; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-inputtext { + box-sizing: border-box; + padding: 2px 2px 1px 2px; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-focus { + padding-bottom: 0; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-multiple-container.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token { + float: none; + display: inline-block; + margin: 0 1px; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-token .ui-autocomplete-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-autocomplete.ui-autocomplete-multiple .ui-autocomplete-dropdown { + top: .75em; } + body .ui-fluid .ui-autocomplete.ui-autocomplete-dd > .ui-inputtext { + width: 100%; } + body .ui-dropdown { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-dropdown .ui-dropdown-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: 0; + margin-right: 0; } + body .ui-dropdown .ui-dropdown-trigger .fa { + color: #757575; + margin-top: 0; + margin-left: 0; } + body .ui-dropdown .ui-dropdown-label.ui-inputtext { + font: 1em "Roboto", "Helvetica Neue", sans-serif; } + body .ui-dropdown.ui-state-focus { + border-bottom: 2px solid #009688; } + body .ui-dropdown.ui-state-focus .ui-dropdown-label { + padding-bottom: 0; } + body .ui-dropdown-panel { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-list { + padding: 0; } + body .ui-dropdown-panel .ui-dropdown-item { + margin: 0; + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-dropdown-panel .ui-dropdown-item:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-dropdown-panel .ui-dropdown-item.ui-state-highlight { + background-color: #CDDC39; + color: #212121; } + body .ui-dropdown-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-dropdown-panel .ui-dropdown-filter-container { + display: block; + border-bottom: 1px solid #bdbdbd; + background-color: #009688; + padding: 0.625em 1em; } + body .ui-dropdown-panel .ui-dropdown-filter-container input { + color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container input:focus { + border-bottom-color: #ffffff; } + body .ui-dropdown-panel .ui-dropdown-filter-container .fa { + top: .325em; + right: .75em; + color: #ffffff; } + body .ui-multiselect { + border-bottom: 1px solid #bdbdbd; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-multiselect .ui-multiselect-label-container { + padding-right: 1.5em; } + body .ui-multiselect .ui-multiselect-label-container .ui-multiselect-label { + padding: 0px 2px 0px 2px; } + body .ui-multiselect .ui-multiselect-trigger { + height: 1.5em; + width: 1.5em; + margin-top: 0; + padding: 0; + top: .063em; } + body .ui-multiselect .ui-multiselect-trigger .fa { + color: #757575; + margin-top: auto; + margin-left: auto; } + body .ui-multiselect.ui-state-focus { + border-bottom: 2px solid #009688; } + body .ui-multiselect-panel.ui-widget { + padding: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + min-width: 12.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + padding: 0.625em 1em; + position: relative; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox { + float: none; + margin: 0 .5em 0 -.125em; + position: static; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-active .ui-chkbox-icon { + border-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-chkbox .ui-chkbox-box.ui-state-focus { + background-color: #80CBC4; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container { + width: 70%; + display: inline-block; + vertical-align: middle; + float: none; + margin-left: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .fa { + top: 0; + left: 0; + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext { + color: #ffffff; + padding-left: 1.5em; + width: 100%; + box-sizing: border-box; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-filter-container .ui-inputtext:focus { + border-bottom-color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close { + position: absolute; + right: .5em; + top: .625em; + height: 1.5em; + width: 1.5em; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close span { + color: #ffffff; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-header .ui-multiselect-close:hover { + background-color: #80CBC4; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item { + font-size: 1em; + padding: 0.625em 0.875em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-multiselect-panel.ui-widget .ui-multiselect-item.ui-state-highlight { + color: #212121; } + body .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; + padding: 0; + margin-right: .25em; + background-color: transparent; + color: #212121; + z-index: auto; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-n { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa-triangle-1-s { + color: #212121; } + body .ui-spinner .ui-spinner-button .fa { + top: 0px; + height: .5em; + color: #757575; } + body .ui-spinner .ui-spinner-button:enabled:hover, body .ui-spinner .ui-spinner-button:active { + background-color: transparent; } + body .ui-spinner .ui-spinner-up .fa { + top: .25em; } + body .ui-spinner .ui-spinner-down .fa { + top: .167em; } + body .ui-spinner .ui-spinner-input { + padding-right: 30px; } + body .ui-fluid .ui-spinner .ui-spinner-button { + width: 1em; + height: .75em; } + body .ui-fluid .ui-spinner .ui-spinner-button .fa { + left: auto; } + body .ui-inputswitch { + height: 14px; + width: 34px !important; + overflow: visible; + background-color: #9e9e9e; + border-color: #9e9e9e; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; } + body .ui-inputswitch .ui-inputswitch-handle { + top: -4px; + background-color: #ffffff; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + width: 20px !important; + height: 20px !important; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; + box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px 0px, rgba(0, 0, 0, 0.137255) 0px 1px 1px 0px, rgba(0, 0, 0, 0.117647) 0px 2px 1px -1px; } + body .ui-inputswitch .ui-inputswitch-on { + visibility: hidden; } + body .ui-inputswitch .ui-inputswitch-off span, body .ui-inputswitch .ui-inputswitch-on span { + visibility: hidden; } + body .ui-inputswitch.ui-inputswitch-checked { + background-color: #E6EE9C; + border-color: #E6EE9C; } + body .ui-inputswitch.ui-inputswitch-checked .ui-inputswitch-handle { + background-color: #CDDC39; + color: #212121; } + body .ui-slider .ui-slider-handle { + background-color: #CDDC39; + color: #212121; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + width: 1.25em; + height: 1.25em; + transform: scale(0.7); + -moz-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -o-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + body .ui-slider .ui-slider-handle.ui-state-focus { + transform: scale(1); } + body .ui-slider .ui-slider-handle:focus { + outline: 0 none; } + body .ui-slider.ui-slider-horizontal { + height: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-horizontal .ui-slider-handle { + top: -.55em; } + body .ui-slider.ui-slider-vertical { + width: 2px; + border: 0 none; + background-color: #bdbdbd; } + body .ui-slider.ui-slider-vertical .ui-slider-handle { + left: -.55em; } + body .ui-slider .ui-slider-range { + background-color: #CDDC39; + color: #212121; } + body .ui-slider:not(.ui-state-disabled) .ui-slider-handle:hover { + transform: scale(1); } + body .ui-calendar .ui-datepicker-trigger { + bottom: 2px; + right: 0; + background-color: transparent; + color: #212121; + height: 1.5em; + width: 1.5em; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-calendar .ui-datepicker-trigger .fa { + color: #757575; } + body .ui-calendar .ui-datepicker-trigger:enabled:hover { + background-color: transparent; } + body .ui-fluid .ui-calendar.ui-calendar-w-btn .ui-inputtext { + width: 100%; } + body .ui-datepicker { + padding: 0; + width: 17.5em; } + body .ui-datepicker.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-datepicker .ui-datepicker-header { + padding: 0.625em 1em; + font-size: 1em; + background: #00695C; + border-color: #00695C; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev { + cursor: pointer; + top: .4em; + left: .2em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before { + content: "keyboard_arrow_left"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover { + background-color: #80CBC4; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next { + cursor: pointer; + top: .4em; + right: .2em; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + color: #ffffff; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:before { + content: "keyboard_arrow_right"; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .fa { + display: none; } + body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover { + background-color: #80CBC4; } + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-month, + body .ui-datepicker .ui-datepicker-header select.ui-datepicker-year { + font-size: 14px; } + body .ui-datepicker table { + table-layout: fixed; + border-spacing: 0; + border-collapse: collapse; + font-size: 14px; } + body .ui-datepicker thead tr { + color: #ffffff; + background: #009688; } + body .ui-datepicker tbody td { + padding: .25em .125em; + box-sizing: border-box; } + body .ui-datepicker tbody td.ui-datepicker-today a { + color: #ffffff; + background: #00fce4; } + body .ui-datepicker tbody td.ui-datepicker-today a.ui-state-active { + color: #ffffff; + background-color: #CDDC39; + color: #212121; } + body .ui-datepicker tbody td a { + padding: .25em; + margin: 0; + text-align: center; + color: #212121; + display: inline-block; + height: 2.250em; + width: 2.250em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + line-height: 1.8em; } + body .ui-datepicker tbody td a.ui-state-active { + color: #ffffff; + background-color: #CDDC39; + color: #212121; } + body .ui-datepicker tbody td a:not(.ui-state-active):not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datepicker tbody td a span { + display: inline; + padding: 0; + text-align: center; } + body .ui-datepicker .ui-timepicker { + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-datepicker .ui-timepicker > div a { + height: 1.5em; } + body .ui-datepicker .ui-timepicker > div a > span { + display: inline-block; + margin-bottom: .25em; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-up:before { + content: "keyboard_arrow_up"; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down { + -webkit-transform: rotate(0); + -moz-transform: rotate(0); + -o-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-datepicker .ui-timepicker > div a .fa.fa-angle-down:before { + content: "keyboard_arrow_down"; } + body #ui-datepicker-div { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-rating { + min-height: 1.5em; } + body .ui-rating .fa-ban { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-ban:before { + content: "cancel"; } + body .ui-rating .fa-star { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star:before { + content: "star"; } + body .ui-rating .fa-star-o { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + color: #757575; } + body .ui-rating .fa-star-o:before { + content: "star_border"; } + body .ui-chips > ul.ui-inputtext { + padding: 2px 2px 1px 2px; } + body .ui-chips > ul.ui-inputtext.ui-state-disabled { + border-bottom: 1px dotted; } + body .ui-chips > ul.ui-inputtext.ui-state-focus { + padding-bottom: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token { + padding-bottom: 2px; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token > input { + padding: 0; + font-size: 16px; + margin: 0; + vertical-align: bottom; } + body .ui-chips > ul.ui-inputtext .ui-chips-input-token input:disabled { + width: 0; } + body .ui-chips > ul.ui-inputtext .ui-chips-token { + display: inline-block; + float: none; + vertical-align: middle; + font-size: 1em; } + body .ui-chips > ul.ui-inputtext .ui-chips-token .ui-chips-token-label { + display: inline-block; + vertical-align: middle; } + body .ui-password-panel.ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-fileupload .ui-fileupload-buttonbar { + padding: 0.625em 1em; } + body .ui-fileupload .ui-fileupload-buttonbar .fa-arrowreturnthick-1-n:before { + content: "file_upload"; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button { + background-color: #CDDC39; } + body .ui-fileupload .ui-fileupload-buttonbar .ui-button:enabled:hover { + background-color: #9E9D24; } + body .ui-fileupload .ui-fileupload-content .ui-messages-error .fa { + color: #ffffff; } + body .ui-fileupload-choose:not(.ui-state-disabled):hover.ui-button, + body .ui-fileupload-choose.ui-state-focus.ui-button { + background-color: #c6d626; } + body .ui-fileupload-choose:not(.ui-state-disabled):active.ui-button { + background-color: #b2c022; } + body .ui-editor-container .ui-editor-toolbar { + background-color: #e8e8e8; } + body .ui-editor-container .ql-picker.ql-expanded .ql-picker-label { + color: #444444; } + body .ui-inputgroup .ui-inputgroup-addon { + border-width: 0 0 1px 0; + border-color: #bdbdbd; + color: #757575; + padding: 2px 2px 1px 2px; + align-self: flex-end; } + body .ui-inputgroup .ui-inputgroup-addon > i { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + align-self: flex-end; } + body .ui-inputgroup .ui-inputtext { + align-self: flex-end; } + body .ui-inputgroup .md-inputfield { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + display: inherit; } + body .ui-inputgroup .md-inputfield label { + top: 5px; } + body .ui-inputgroup .ui-chkbox, body .ui-inputgroup .ui-radiobutton { + margin-bottom: .125em; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only { + width: 1.643em; + height: 1.643em; + padding: 0; } + body .ui-fluid .ui-inputgroup .ui-button-icon-only .ui-button-icon-left { + margin-left: -.45em; } + body .ui-inputtext.ng-dirty.ng-invalid, + body p-dropdown.ng-dirty.ng-invalid > .ui-dropdown, + body p-autocomplete.ng-dirty.ng-invalid > .ui-autocomplete > .ui-inputtext, + body p-calendar.ng-dirty.ng-invalid > .ui-inputtext, + body p-inputmask.ng-dirty.ng-invalid > .ui-inputtext, + body p-checkbox.ng-dirty.ng-invalid .ui-chkbox-box, + body p-radiobutton.ng-dirty.ng-invalid .ui-radiobutton-box, + body p-inputswitch.ng-dirty.ng-invalid .ui-inputswitch, + body p-listbox.ng-dirty.ng-invalid .ui-inputtext, + body p-multiselect.ng-dirty.ng-invalid > .ui-multiselect, + body p-spinner.ng-dirty.ng-invalid > .ui-inputtext, + body p-selectbutton.ng-dirty.ng-invalid .ui-button, + body p-togglebutton.ng-dirty.ng-invalid .ui-button { + border-bottom-color: #e62a10; } + +@media (max-width: 640px) { + body .ui-buttonset > .ui-button { + display: block; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-buttonset > .ui-button:first-child { + -moz-border-radius-topleft: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-topright: 3px; + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; } + body .ui-buttonset > .ui-button:last-child { + -moz-border-radius-bottomleft: 3px; + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; } + body .ui-splitbutton > .ui-button { + display: inline-block; } + body .ui-splitbutton > .ui-button:first-child { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; } + body .ui-splitbutton > .ui-button:last-child { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } } +body .ui-panel { + padding: 0; } + body .ui-panel .ui-panel-titlebar { + border: 0 none; + border-bottom: 1px solid #009688; + padding: 0.625em 1em; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-panel .ui-panel-titlebar .ui-panel-title { + line-height: 1.5em; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon { + position: relative; + width: 1.5em; + height: 1.5em; + color: #ffffff; + margin: 0; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; } + body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon:hover { + background-color: #80CBC4; } + body .ui-panel .ui-panel-content { + height: 100%; + box-sizing: border-box; + padding: 0.625em 1em; } + body .ui-panel .ui-panel-footer { + padding: 0.625em 1em; + border: 0 none; + border-top: 1px solid #bdbdbd; + margin: 0; } +body .ui-fieldset { + padding: 0.625em 1em; } + body .ui-fieldset .ui-fieldset-legend { + padding: 0.625em 1em; + padding-left: .125em; + padding-right: .5em; + color: #009688; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler { + padding: .5em; + height: 2em; + width: 2em; + background-color: #009688; + color: #ffffff; + font-size: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + margin-right: .5em; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-toggler:hover { + background-color: #00695C; } + body .ui-fieldset .ui-fieldset-legend .ui-fieldset-legend-text { + color: #009688; } + body .ui-fieldset .ui-fieldset-legend.ui-state-focus { + background-color: transparent; } +body .ui-accordion .ui-accordion-header { + background-color: #009688; + padding: 0; + color: #ffffff; + font-size: 1em; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-accordion .ui-accordion-header > a { + padding: 0.625em 1em; + color: #ffffff; } + body .ui-accordion .ui-accordion-header > a .ui-accordion-toggle-icon, + body .ui-accordion .ui-accordion-header > a .ui-accordion-header-text { + vertical-align: middle; } + body .ui-accordion .ui-accordion-header:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #00695C; } + body .ui-accordion .ui-accordion-header.ui-state-active { + background-color: #CDDC39; + color: #212121; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } + body .ui-accordion .ui-accordion-header.ui-state-active > a { + color: #212121; } +body .ui-accordion .ui-accordion-content { + padding: 0.625em 1em; + line-height: 1.5em; } +body .ui-toolbar { + background-color: #00695C; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + padding: .625em; } +body .ui-tabview { + padding: 0; } + body .ui-tabview .ui-tabview-nav { + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabview .ui-tabview-nav > li { + padding: 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabview .ui-tabview-nav > li > a { + padding: 0.625em 1em; } + body .ui-tabview .ui-tabview-nav > li > a:focus { + outline: 0 none; } + body .ui-tabview .ui-tabview-nav > li > .fa-close { + margin: .325em 0 0 0; + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + color: #757575; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-left-icon, body .ui-tabview .ui-tabview-nav > li .ui-tabview-right-icon { + color: #757575; + display: inline-block; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li .ui-tabview-title { + line-height: 1.5em; + vertical-align: middle; } + body .ui-tabview .ui-tabview-nav > li.ui-state-default a { + color: #757575; } + body .ui-tabview .ui-tabview-nav > li:not(.ui-state-active):not(.ui-state-disabled):hover { + background-color: #ffffff; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active { + background-color: #ffffff; + border-color: #CDDC39; + border-style: solid; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active a { + color: #009688; } + body .ui-tabview .ui-tabview-nav > li.ui-state-active > .fa-close { + color: #CDDC39; } + body .ui-tabview .ui-tabview-nav > li.ui-tabview-outline { + outline: 0 none; + border-color: #E6EE9C; } + body .ui-tabview .ui-tabview-panel { + padding: 0.625em 1em; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-top > .ui-tabview-nav > li { + border-style: solid; + border-width: 0 0 2px 0; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-top: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-bottom > .ui-tabview-nav > li { + border-width: 2px 0 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav { + padding: 0; + margin: 0; + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + border-right: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 2px 0 0; } + body .ui-tabview.ui-tabview-left > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav { + padding: 0; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left: 1px solid #bdbdbd; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li { + box-sizing: border-box; + border-width: 0 0 0 2px; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li > a { + width: 100%; + box-sizing: border-box; } + body .ui-tabview.ui-tabview-right > .ui-tabview-nav > li.ui-state-active > a { + padding-left: 0.875em; } + +@media (max-width: 640px) { + body .ui-toolbar .ui-toolbar-group-right { + margin-top: 1em; } } +body .ui-picklist .ui-picklist-caption { + font-size: 1em; + padding: 0.625em 1em; } +body .ui-picklist .ui-picklist-list { + padding: 0; } +body .ui-picklist .ui-picklist-filter-container .fa { + left: 0.3em; } +body .ui-picklist .ui-picklist-filter-container .ui-picklist-filter { + text-indent: 1.5em; } +body .ui-picklist li.ui-picklist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-picklist li.ui-picklist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-picklist li.ui-picklist-item.ui-state-highlight { + background-color: #CDDC39; + color: #212121; } +body .ui-picklist .ui-picklist-buttons { + width: 3em; } + body .ui-picklist .ui-picklist-buttons .ui-button.ui-button-icon-only { + width: 2.5em; + margin-right: 0; + display: inline-block; + margin-bottom: .5em; } +body .ui-picklist .ui-picklist-buttons-cell { + text-align: center; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + margin: 0 auto; + display: block; + margin-bottom: .5em; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox { + margin-right: .5em; + vertical-align: top; } +body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox, body .ui-picklist.ui-picklist-responsive .ui-picklist-list .ui-picklist-item .ui-chkbox * { + box-sizing: content-box; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-organizationchart-selectable-node:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-organizationchart .ui-organizationchart-node-content.ui-state-highlight .ui-node-toggler i { + color: #757f16; } +body .ui-organizationchart .ui-organizationchart-line-down { + background-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-left { + border-right: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-line-top { + border-top: 1px solid #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content { + border-color: #bdbdbd; } +body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler { + bottom: -1.3em; + margin-left: -.75em; + color: #bdbdbd; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-down:before { + content: "keyboard_arrow_down"; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-organizationchart .ui-organizationchart-node-content .ui-node-toggler .fa-chevron-up:before { + content: "keyboard_arrow_up"; } +body .ui-orderlist .ui-orderlist-caption { + font-size: 1em; + padding: 0.625em 1em; + box-sizing: border-box; } +body .ui-orderlist .ui-orderlist-list { + padding: 0; + box-sizing: border-box; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item { + font-size: 1em; + padding: 0.625em 0.875em; + margin: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + color: #212121; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-orderlist .ui-orderlist-list li.ui-orderlist-item.ui-state-highlight { + background-color: #CDDC39; + color: #212121; } +body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 3.75em; } +body .ui-orderlist .ui-orderlist-controls { + width: 3.75em; + text-align: center; } + body .ui-orderlist .ui-orderlist-controls .ui-button.ui-button-icon-only { + width: 2.5em; + margin-bottom: .5em; + margin-right: 0; } +body .ui-paginator { + background-color: #00695C; + padding: 0.625em 1em; } + body .ui-paginator > a { + box-sizing: border-box; + color: #ffffff; } + body .ui-paginator > a .fa { + display: none; } + body .ui-paginator > a:not(.ui-state-disabled):not(.ui-state-active):hover { + background-color: #80CBC4; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-next { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-next:before { + content: "navigate_next"; } + body .ui-paginator .ui-paginator-last { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-last:before { + content: "last_page"; } + body .ui-paginator .ui-paginator-prev { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-prev:before { + content: "navigate_before"; } + body .ui-paginator .ui-paginator-first { + padding: 0; + vertical-align: middle; + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; } + body .ui-paginator .ui-paginator-first:before { + content: "first_page"; } + body .ui-paginator .ui-paginator-pages { + vertical-align: middle; + margin: 0 .375em 0 .375em; } + body .ui-paginator .ui-paginator-pages a { + padding: 0; + color: #ffffff; + min-width: 1.5em; + min-height: 1.5em; + line-height: 1.5em; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } + body .ui-paginator .ui-paginator-pages a:not(.ui-state-active):hover { + background-color: #80CBC4; } + body .ui-paginator .ui-paginator-pages a.ui-state-active { + background-color: #CDDC39; + color: #212121; } +body .ui-datagrid .ui-datagrid-header { + padding: 0.625em 1em; } +body .ui-datagrid .ui-panel .ui-panel-titlebar { + background-color: #ffffff; + color: #212121; + border-color: #bdbdbd; } +body .ui-datalist .ui-datalist-header { + padding: 0.625em 1em; } +body .ui-table .ui-table-caption, +body .ui-table .ui-table-summary { + padding: 0.625em 1em; + text-align: center; + font-weight: normal; } +body .ui-table .ui-table-caption { + border-bottom: 0 none; } +body .ui-table .ui-table-summary { + border-top: 0 none; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tbody > tr > td, +body .ui-table .ui-table-tfoot > tr > td { + padding: 0.625em 1em; } +body .ui-table .ui-table-thead > tr > th, +body .ui-table .ui-table-tfoot > tr > td { + font-weight: 400; + background-color: #ffffff; + border: 1px solid #cacaca; } +body .ui-table .ui-sortable-column:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-table .ui-sortable-column.ui-state-highlight { + background-color: #CDDC39; + color: #212121; + border-top-color: #CDDC39; } + body .ui-table .ui-sortable-column.ui-state-highlight .fa { + color: #212121; } +body .ui-table .ui-sortable-column .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } +body .ui-table .ui-table-tbody > tr { + background: #ffffff; } + body .ui-table .ui-table-tbody > tr > td { + background: inherit; + border: 1px solid #cacaca; } + body .ui-table .ui-table-tbody > tr.ui-state-highlight { + background-color: #CDDC39; + color: #212121; } + body .ui-table .ui-table-tbody > tr.ui-contextmenu-selected { + background-color: #CDDC39; + color: #212121; } +body .ui-table .ui-table-tbody > tr:nth-child(odd) { + background-color: #f4f4f4; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-state-highlight { + background-color: #CDDC39; + color: #212121; } + body .ui-table .ui-table-tbody > tr:nth-child(odd).ui-contextmenu-selected { + background-color: #CDDC39; + color: #212121; } +body .ui-table.ui-table-hoverable-rows .ui-table-tbody > tr:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable .ui-datatable-header, +body .ui-datatable .ui-datatable-footer { + padding: 0.625em 1em; } + body .ui-datatable .ui-datatable-header .ui-inputtext, + body .ui-datatable .ui-datatable-footer .ui-inputtext { + color: #ffffff; } + body .ui-datatable .ui-datatable-header .ui-inputtext:focus, + body .ui-datatable .ui-datatable-footer .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-paginator { + padding: 0.625em 1em; } +body .ui-datatable .ui-datatable-thead > tr { + border-color: #cacaca; } + body .ui-datatable .ui-datatable-thead > tr th { + padding: .625em .875em; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-thead > tr th.ui-sortable-column:not(.ui-state-active):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-datatable .ui-datatable-thead > tr th .ui-column-title { + display: inline-block; + vertical-align: middle; } + body .ui-datatable .ui-datatable-thead > tr th .ui-sortable-column-icon { + vertical-align: middle; + color: #757575; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight { + background-color: #CDDC39; + color: #212121; + border-top-color: #CDDC39; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .fa, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .fa { + color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext { + color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-state-active .ui-inputtext.ui-state-focus, body .ui-datatable .ui-datatable-thead > tr th.ui-state-highlight .ui-inputtext.ui-state-focus { + border-color: #212121; } + body .ui-datatable .ui-datatable-thead > tr th.ui-selection-column .ui-chkbox-box { + box-sizing: content-box; } +body .ui-datatable tfoot th { + padding: .625em .875em; + border: 1px solid #bdbdbd; + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-datatable-even { + background-color: #f4f4f4; } + body .ui-datatable .ui-datatable-data tr.ui-datatable-even.ui-state-highlight { + background-color: #CDDC39; + color: #212121; } +body .ui-datatable .ui-datatable-data tr { + border: 1px solid #cacaca; } + body .ui-datatable .ui-datatable-data tr td { + padding: .625em .875em; } + body .ui-datatable .ui-datatable-data tr td .ui-row-toggler { + display: inherit; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr td input.ui-cell-editor { + padding: 2px 2px 1px 2px; + font-size: 1em; } + body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-chkbox-box, body .ui-datatable .ui-datatable-data tr td.ui-selection-column .ui-radiobutton-box { + box-sizing: content-box; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight { + background-color: #CDDC39; + border-color:   #CDDC39; + color: #212121; } + body .ui-datatable .ui-datatable-data tr .ui-cell-editor-input input { + color: #212121; } +body .ui-datatable .ui-datatable-data tr.ui-state-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext, + body .ui-datatable .ui-datatable-data tr.ui-state-error .ui-inputtext.ui-state-error { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box { + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-radiobutton-box .ui-radiobutton-icon { + background-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box { + border-color: #ffffff; + background-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight td.ui-selection-column .ui-chkbox-box .ui-chkbox-icon { + color: #757575; } +body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext { + color: #ffffff; + border-color: #ffffff; } + body .ui-datatable .ui-datatable-data tr.ui-state-highlight .ui-inputtext:focus { + border-color: #ffffff; } +body .ui-datatable .ui-datatable-data tr.ui-rowgroup-header td a { + height: 1.5em; + vertical-align: top; + display: inline-block; } +body .ui-datatable .ui-datatable-data.ui-datatable-hoverable-rows > tr.ui-widget-content:not(.ui-state-highlight):hover { + cursor: pointer; + background-color: #e8e8e8; + color: #000000; } +body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer { + border: 0 none; + background-color: transparent; } + body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-header .ui-datatable-data td, body .ui-datatable.ui-datatable-scrollable .ui-datatable-scrollable-footer .ui-datatable-data td { + color: #212121; } +body .ui-datatable.ui-datatable-scrollable thead tr th { + color: #212121; + font-size: 16px; } +body .ui-datatable.ui-datatable-scrollable tfoot tr td { + color: #212121; + font-size: 16px; } +body .ui-datatable .ui-datatable-loading { + opacity: 0.3; + filter: alpha(opacity=30); } +body .ui-datatable .ui-datatable-loading-content { + top: 35%; } + body .ui-datatable .ui-datatable-loading-content .fa { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-animation-delay: 0; + -webkit-animation-duration: 1000ms; + -webkit-animation-name: spin; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + -moz-animation-delay: 0; + -moz-animation-duration: 1000ms; + -moz-animation-name: spin; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + animation-delay: 0; + animation-duration: 1000ms; + animation-name: spin; + animation-iteration-count: infinite; + animation-timing-function: linear; + font-size: 2em; } + body .ui-datatable .ui-datatable-loading-content .fa:before { + content: "refresh"; } +body .ui-carousel { + padding: 0; } + body .ui-carousel .ui-carousel-header { + padding: 0.625em 1em; + font-size: 1em; + overflow: visible; } + body .ui-carousel .ui-carousel-header .ui-carousel-header-title { + overflow: visible; } + body .ui-carousel .ui-carousel-header .fa { + color: #ffffff; } + body .ui-carousel .ui-carousel-header .ui-carousel-button { + margin: -1px 0 0 0; } + body .ui-carousel .ui-carousel-header .ui-carousel-page-links { + margin: -1px 0 0 0; } +body .ui-tree { + padding: 0.625em 1em/2; } + body .ui-tree .ui-treenode-children { + padding-left: 1.75em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin-right: .5em; } + body .ui-tree .ui-treenode-content .ui-chkbox .fa { + color: #757575; } + body .ui-tree .ui-treenode-content .ui-tree-toggler { + vertical-align: middle; + margin: 0 0 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-icon { + vertical-align: middle; + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-chkbox { + margin: 0 .25em; } + body .ui-tree .ui-treenode-content .ui-treenode-label { + margin: 0; + vertical-align: middle; } + body .ui-tree .ui-treenode-content.ui-treenode-selectable .ui-treenode-label:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal { + padding-left: 0; + padding-right: 0; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content { + background-color: #ffffff; + border: 1px solid #bdbdbd; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-tree-toggler { + vertical-align: top; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content .ui-treenode-icon { + vertical-align: top; + margin-right: .25em; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-treenode-selectable:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-tree.ui-tree-horizontal .ui-treenode-content.ui-state-highlight { + background-color: #CDDC39; + color: #212121; } +body .ui-tree-draghelper { + border: 1px solid #009688; } +body .fc .fc-toolbar .ui-icon-circle-triangle-e { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-e:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-icon-circle-triangle-w { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + margin-top: .15em; } + body .fc .fc-toolbar .ui-icon-circle-triangle-w:before { + content: "play_circle_outline"; } +body .fc .fc-toolbar .ui-state-active { + background-color: #CDDC39; } +body .fc .fc-event { + background-color: #80CBC4; + color: #ffffff; } +body .fc table { + box-sizing: border-box; } +body .ui-treetable .ui-treetable-header { + padding: 0.625em 1em; + font-size: 1em; } +body .ui-treetable thead tr { + border-bottom: 1px solid #bdbdbd; } + body .ui-treetable thead tr th { + background-color: #ffffff; + padding: .625em .875em; + border: 0 none; } + body .ui-treetable thead tr th .fa { + color: #757575; } + body .ui-treetable thead tr th:first-child { + border-left: 1px solid #bdbdbd; } + body .ui-treetable thead tr th:last-child { + border-right: 1px solid #bdbdbd; } + body .ui-treetable thead tr th .ui-sortable-column-icon { + vertical-align: middle; + margin: -.25em 0 0 0; } + body .ui-treetable thead tr th.ui-state-active { + background-color: #CDDC39; + color: #212121; } + body .ui-treetable thead tr th.ui-state-active .fa { + color: #212121; } + body .ui-treetable thead tr th .ui-column-resizer { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1em; + color: #757575; } + body .ui-treetable thead tr th .ui-column-resizer:before { + content: "code"; } +body .ui-treetable tfoot td { + border: 0 none; + padding: .625em .875em; } +body .ui-treetable tbody .ui-treetable-row { + background-color: #ffffff; } + body .ui-treetable tbody .ui-treetable-row td { + border: 0 none; + padding: .625em .875em; } + body .ui-treetable tbody .ui-treetable-row td .ui-treetable-toggler { + display: inline-block; + vertical-align: middle; + margin: 0 .167em; + float: none; } + body .ui-treetable tbody .ui-treetable-row td .ui-chkbox { + margin-right: .5em; } + body .ui-treetable tbody .ui-treetable-row td.ui-treetable-child-table-container { + padding: 0; } + body .ui-treetable tbody .ui-treetable-row.ui-treetable-row-selectable:not(.ui-state-highlight):hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight { + background-color: #CDDC39; + color: #212121; } + body .ui-treetable tbody .ui-treetable-row.ui-state-highlight .ui-chkbox .ui-chkbox-box { + border-color: #212121; } +body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-header, body .ui-treetable.ui-treetable-scrollable .ui-treetable-scrollable-footer { + background-color: transparent; + border: 0 none; } +body .ui-treetable.ui-treetable-scrollable thead th { + background-color: #ffffff; + color: #212121; } + +@media (max-width: 40em) { + body .ui-orderlist.ui-orderlist-responsive .ui-orderlist-controls { + width: 100%; } } +@media (max-width: 640px) { + body .ui-picklist.ui-picklist-responsive .ui-picklist-list-wrapper { + margin-bottom: .5em; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons { + padding: .5em 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .ui-button.ui-button-icon-only { + display: inline-block; + margin-right: .25em; + margin-bottom: 0; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-right:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-right:before { + content: "skip_previous"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-left:before { + content: "play_arrow"; } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left { + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); } + body .ui-picklist.ui-picklist-responsive .ui-picklist-buttons .fa-angle-double-left:before { + content: "skip_next"; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls { + text-align: center; + width: auto; } + body .ui-orderlist.ui-grid-responsive .ui-orderlist-controls .ui-button { + margin-right: .25em; } } +body .ui-breadcrumb { + padding: 0.625em 1em; } + body .ui-breadcrumb ul li a { + color: #ffffff; + font-size: 1em; } +body .ui-steps { + position: relative; } + body .ui-steps .ui-steps-item { + background-color: transparent; } + body .ui-steps .ui-steps-item.ui-state-disabled { + opacity: 1; + filter: alpha(opacity=100); } + body .ui-steps .ui-steps-item .ui-menuitem-link { + display: inline-block; + text-align: left; + background-color: #ffffff; + overflow: hidden; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number { + display: inline-block; + background-color: #757575; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + padding: .25em .75em; + font-size: 1em; + color: #ffffff; } + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: inline; + margin-left: .625em; + color: #757575; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-number { + background-color: #CDDC39; } + body .ui-steps .ui-steps-item.ui-state-highlight .ui-steps-title { + font-weight: 700; + color: #212121; } + body .ui-steps .ui-steps-item:last-child .ui-menuitem-link { + display: block; } + body .ui-steps:before { + content: ' '; + border: 1px solid #bdbdbd; + width: 90%; + top: 45%; + left: 0; + display: block; + position: absolute; } +body .ui-menu .ui-menuitem-link, +body .ui-menubar .ui-menuitem-link, +body .ui-tieredmenu .ui-menuitem-link, +body .ui-contextmenu .ui-menuitem-link, +body .ui-megamenu .ui-menuitem-link, +body .ui-slidemenu .ui-menuitem-link { + padding: .625em 1em; + color: #212121; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-menu .ui-menuitem-link:hover, + body .ui-menubar .ui-menuitem-link:hover, + body .ui-tieredmenu .ui-menuitem-link:hover, + body .ui-contextmenu .ui-menuitem-link:hover, + body .ui-megamenu .ui-menuitem-link:hover, + body .ui-slidemenu .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link:focus, + body .ui-menubar .ui-menuitem-link:focus, + body .ui-tieredmenu .ui-menuitem-link:focus, + body .ui-contextmenu .ui-menuitem-link:focus, + body .ui-megamenu .ui-menuitem-link:focus, + body .ui-slidemenu .ui-menuitem-link:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-menu .ui-menuitem-link .ui-menuitem-text, + body .ui-menubar .ui-menuitem-link .ui-menuitem-text, + body .ui-tieredmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-contextmenu .ui-menuitem-link .ui-menuitem-text, + body .ui-megamenu .ui-menuitem-link .ui-menuitem-text, + body .ui-slidemenu .ui-menuitem-link .ui-menuitem-text { + vertical-align: middle; } +body .ui-menubar .ui-submenu-list, body .ui-contextmenu .ui-submenu-list, +body .ui-slidemenu .ui-submenu-list, body .ui-tieredmenu .ui-submenu-list { + padding: .5em 0; } + body .ui-menubar .ui-submenu-list .ui-menuitem, body .ui-contextmenu .ui-submenu-list .ui-menuitem, + body .ui-slidemenu .ui-submenu-list .ui-menuitem, body .ui-tieredmenu .ui-submenu-list .ui-menuitem { + margin: 0; } +body .ui-menu { + width: 100%; + padding: .5em 0; } + body .ui-menu .ui-menuitem { + margin: 0; } + body .ui-menu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menu.ui-shadow, body .ui-menu .ui-shadow { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + body .ui-menu .ui-submenu-header { + border: 0 none; + margin: 0; + padding: .625em 1em; + border-radius: 0; } +body .ui-menubar { + padding: 0; } + body .ui-menubar .ui-menubar-root-list > .ui-menuitem > .ui-menuitem-link { + padding: .625em 1em; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-menubar .ui-menuitem.ui-menuitem-active > .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } +body .ui-contextmenu { + padding: .5em 0; } + body .ui-contextmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-contextmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-slidemenu { + padding: .5em 0; } + body .ui-slidemenu .ui-menuitem { + margin: 0; } + body .ui-slidemenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-slidemenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } + body .ui-slidemenu .ui-slidemenu-backward { + margin-bottom: .4em; + padding: 0.625em 1em; + width: 100%; + background-color: #009688; + box-sizing: border-box; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + border: 0 none; } + body .ui-slidemenu .ui-slidemenu-backward:hover { + background-color: #00635a; } +body .ui-tieredmenu { + padding: .5em 0; } + body .ui-tieredmenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-tieredmenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-tabmenu { + padding: 0; } + body .ui-tabmenu .ui-tabmenu-nav { + padding: 0; + background-color: #ffffff; + border: 0 none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem { + top: auto; + margin: 0 .25em 0 0; + padding: 0; + border-style: solid; + border-width: 0 0 2px 0; + -moz-transition: border-color 0.3s; + -o-transition: border-color 0.3s; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a { + padding: 0.625em 1em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a:focus { + outline: 0 none; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon, body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-text { + float: none; + display: inline-block; + vertical-align: middle; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem > a .ui-menuitem-icon { + font-weight: 1em; + margin-right: .25em; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-default a .fa { + color: #757575; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem:not(.ui-state-active):hover { + background-color: #ffffff; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active { + background-color: #ffffff; + border-color: #CDDC39; + border-style: solid; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a { + color: #009688; } + body .ui-tabmenu .ui-tabmenu-nav > .ui-tabmenuitem.ui-state-active a .fa { + color: #009688; } +body .ui-megamenu { + padding: 0; } + body .ui-megamenu .ui-megamenu-submenu-header { + border-radius: 0; + padding: .5em; } + body .ui-megamenu .ui-submenu-list { + padding: 0; + border: 0 none; } + body .ui-megamenu .ui-submenu-list .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem { + margin: 0; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-menuitem-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem .ui-menuitem-link .ui-submenu-icon { + vertical-align: middle; } + body .ui-megamenu .ui-menuitem.ui-menuitem-active > .ui-menuitem-link { + background-color: #e8e8e8; + color: #000000; } +body .ui-panelmenu .ui-panelmenu-header { + background-color: #009688; + margin-bottom: 1px; } + body .ui-panelmenu .ui-panelmenu-header a { + padding: .625em 1em; + color: #ffffff; + font-size: 16px; + border-bottom: 1px solid #ffffff; } + body .ui-panelmenu .ui-panelmenu-header .fa { + color: #ffffff; + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header .ui-menuitem-text { + vertical-align: middle; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active { + background-color: #CDDC39; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + margin-bottom: 0; } + body .ui-panelmenu .ui-panelmenu-header.ui-state-active a, body .ui-panelmenu .ui-panelmenu-header.ui-state-active .fa { + color: #212121; } +body .ui-panelmenu .ui-panelmenu-content { + padding: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem { + margin: 0; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link { + border: 0 none; + padding: .625em 1em; + width: 100%; + min-height: 2.750em; + box-sizing: border-box; + color: #212121; + line-height: 1.5em; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; + position: relative; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link:hover { + background-color: #e8e8e8; + color: #000000; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .ui-menuitem-text { + display: inline-block; + vertical-align: middle; + float: none; } + body .ui-panelmenu .ui-panelmenu-content .ui-menuitem .ui-menuitem-link .fa { + position: static; + display: inline-block; + vertical-align: middle; } +body .ui-panelmenu .ui-menu-parent .ui-menu-list { + margin-left: 28px; } + +@media (max-width: 640px) { + body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-title { + display: none; } } +body { + /* Messages */ } + body .ui-messages { + padding: 0.625em 1em; } + body .ui-messages ul { + display: inline-block; + margin-left: 0; } + body .ui-messages.ui-messages-info { + background-color: #2196F3; + border-color: #2196F3; + color: #ffffff; } + body .ui-messages.ui-messages-warn { + background-color: #ffc107; + border-color: #ffc107; + color: #ffffff; } + body .ui-messages.ui-messages-error { + background-color: #e62a10; + border-color: #e62a10; + color: #ffffff; } + body .ui-messages.ui-messages-fatal { + background-color: #212121; + border-color: #212121; + color: #ffffff; } + body .ui-messages.ui-messages-success { + background-color: #8BC34A; + border-color: #8BC34A; + color: #ffffff; } + body .ui-messages .ui-messages-close { + text-decoration: none; + color: #fff; + right: .25em; } + body .ui-messages .ui-messages-icon { + background: none; + color: #fff; + margin-top: -2px; } + body .ui-messages .ui-messages-icon.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-info-circle:before { + content: "info"; } + body .ui-messages .ui-messages-icon.fa-warning { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-warning:before { + content: "warning"; } + body .ui-messages .ui-messages-icon.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-close:before { + content: "error_outline"; } + body .ui-messages .ui-messages-icon.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-messages .ui-messages-icon.fa-check:before { + content: "check_circle"; } + body .ui-growl { + top: 90px; } + body .ui-growl > .ui-growl-item-container { + opacity: 1; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-info { + background-color: #2196F3; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-warn { + background-color: #ffc107; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-error { + background-color: #e62a10; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-fatal { + background-color: #212121; } + body .ui-growl > .ui-growl-item-container.ui-growl-message-success { + background-color: #8BC34A; } + body .ui-growl > .ui-growl-item-container.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + body .ui-growl .ui-growl-item .ui-growl-image { + background: none; + color: #ffffff; + font-size: 36px; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-info-circle:before { + content: "info"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-exclamation-circle:before { + content: "warning"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-close:before { + content: "error_outline"; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 1.75em; } + body .ui-growl .ui-growl-item .ui-growl-image.fa-check:before { + content: "check_circle"; } + body .ui-growl .ui-growl-item .ui-growl-message { + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 1.5em; + /* Preferred icon size */ + display: inline-block; + width: 1em; + height: 1em; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + text-indent: 0; + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + /* Support for IE. */ + font-feature-settings: 'liga'; + font-size: 24px; + color: #ffffff; } + body .ui-growl .ui-growl-item .ui-growl-icon-close:before { + content: "close"; } + +body .ui-dialog.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-dialog .ui-dialog-titlebar { + background-color: #ffffff; + color: #212121; + padding: 0.625em 1em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-title { + font-size: 1.25em; + letter-spacing: .005em; + margin-top: .25em; + line-height: 2em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon { + border: 0 none; + padding: 0; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + height: 1.5em; + width: 1.5em; + text-align: center; + margin-top: .5em; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:hover, body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon:focus { + background-color: #e8e8e8; + color: #000000; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa { + color: #757575; + display: inline-block; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-extlink:before { + content: "fullscreen"; } + body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon .fa-newwin:before { + content: "fullscreen_exit"; } +body .ui-dialog .ui-dialog-content { + padding: 0.625em 1em; } +body .ui-dialog .ui-dialog-footer { + text-align: right; + border: 0 none; + border-top: 1px solid #bdbdbd; } + body .ui-dialog .ui-dialog-footer .ui-button { + background-color: #ffffff; + color: #212121; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + width: auto; } + body .ui-dialog .ui-dialog-footer .ui-button .fa { + color: #757575; } + body .ui-dialog .ui-dialog-footer .ui-button:hover { + background-color: #e8e8e8; + color: #000000; } +body .ui-dialog .ui-confirm-dialog-severity { + margin: 0px .75em; } +body .ui-lightbox.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-lightbox .ui-lightbox-caption { + padding: 0.625em 1em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-caption-text { + margin: 0; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close { + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + padding: 0; + margin: 0; + width: 1.5em; + height: 1.5em; } + body .ui-lightbox .ui-lightbox-caption .ui-lightbox-close:hover { + background-color: #80CBC4; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; } +body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left { + top: 40%; } + body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-right .fa, body .ui-lightbox .ui-lightbox-content-wrapper .ui-lightbox-nav-left .fa { + -moz-transition: color 0.3s; + -o-transition: color 0.3s; + -webkit-transition: color 0.3s; + transition: color 0.3s; + font-size: 3em; + color: #80CBC4; } +body .ui-overlaypanel.ui-shadow { + -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } +body .ui-overlaypanel .ui-overlaypanel-close { + background-color: #CDDC39; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + right: -16px; + top: -16px; + width: 2em; + height: 2em; + line-height: 2em; + text-align: center; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); + -moz-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 1px -1px rgba(0, 0, 0, 0.12); } + body .ui-overlaypanel .ui-overlaypanel-close span { + color: #212121; + line-height: inherit; } + body .ui-overlaypanel .ui-overlaypanel-close:hover { + background-color: #9E9D24; } +body .ui-tooltip { + opacity: 0.9; + filter: alpha(opacity=90); } + body .ui-tooltip .ui-tooltip-text { + background-color: #323232; } + body .ui-tooltip.ui-tooltip-top .ui-tooltip-arrow { + border-top-color: #323232; } + body .ui-tooltip.ui-tooltip-bottom .ui-tooltip-arrow { + border-bottom-color: #323232; } + body .ui-tooltip.ui-tooltip-left .ui-tooltip-arrow { + border-left-color: #323232; } + body .ui-tooltip.ui-tooltip-right .ui-tooltip-arrow { + border-right-color: #323232; } + +body .ui-draggable-dragging.ui-state-default { + padding: 0.625em 1em !important; + background-color: #009688; } +body .jqplot-target { + font-family: "Roboto","Helvetica Neue",sans-serif; } +body .ui-progressbar { + height: .5em; + background-color: #80CBC4; + overflow: hidden; + border: 0 none; } + body .ui-progressbar .ui-progressbar-value { + height: .5em; } + body .ui-progressbar .ui-progressbar-label { + color: #ffffff; + display: none !important; } +body .ui-galleria .ui-galleria-nav-prev { + left: 0; } +body .ui-galleria .ui-galleria-nav-next { + right: 0; } +body .ui-inplace .ui-inplace-display { + -moz-transition: background-color 0.3s; + -o-transition: background-color 0.3s; + -webkit-transition: background-color 0.3s; + transition: background-color 0.3s; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } + body .ui-inplace .ui-inplace-display:hover { + background-color: #e8e8e8; } +body .ui-terminal .ui-terminal-input { + font-size: 16px; } diff --git a/src/assets/theme/theme-teal.scss b/src/assets/theme/theme-teal.scss new file mode 100644 index 0000000..a045e4f --- /dev/null +++ b/src/assets/theme/theme-teal.scss @@ -0,0 +1,9 @@ +$primaryColor: #009688; +$primaryDarkColor: #00695C; +$primaryLightColor: #80CBC4; +$accentColor: #CDDC39; +$accentDarkColor: #9E9D24; +$accentLightColor: #E6EE9C; +$accentTextColor: #212121; + +@import '../sass/theme/_theme'; \ No newline at end of file diff --git a/src/assets/translations/of-en.json b/src/assets/translations/of-en.json new file mode 100644 index 0000000..929b0f6 --- /dev/null +++ b/src/assets/translations/of-en.json @@ -0,0 +1,19 @@ +{ + "App": { + "Title": "overFlow", + "Subtitle": "It's a small world", + "Home": "Home", + "Infra": "Infra", + "Map": "Map", + "Sensors": "Sensors", + "SensorSetting": "SensorSetting", + "Probes": "Probes", + "Monitor": "Monitor", + "Overview": "Overview", + "Dashboards": "Dashboards", + "Alert": "Alert", + "Report": "Report", + "Log": "Log", + "Setting":"Setting" + } +} diff --git a/src/assets/translations/of-kr.json b/src/assets/translations/of-kr.json new file mode 100644 index 0000000..bfd4ec3 --- /dev/null +++ b/src/assets/translations/of-kr.json @@ -0,0 +1,19 @@ +{ + "App": { + "Title": "오버플로우", + "Subtitle": "It's a small world", + "Home": "홈", + "Infra": "인프라", + "Map": "맵", + "Sensors": "센서", + "SensorSetting": "센서설정", + "Probes": "프로브", + "Monitor": "모니터", + "Overview": "오버뷰", + "Dashboards": "대시보드", + "Alert": "알림", + "Report": "리포트", + "Log": "기록", + "Setting":"설정" + } +} diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts new file mode 100644 index 0000000..d7df6d2 --- /dev/null +++ b/src/environments/environment.prod.ts @@ -0,0 +1,9 @@ +export const environment = { + production: true, + restBaseURL: 'http://192.168.1.103:19080', + webappRPCConfig: { + url: 'ws://192.168.1.101:19090/webapp', + reconnectInterval: 5000, + reconnectRetry: 10, + }, +}; diff --git a/src/environments/environment.ts b/src/environments/environment.ts new file mode 100644 index 0000000..a586811 --- /dev/null +++ b/src/environments/environment.ts @@ -0,0 +1,14 @@ +// The file contents for the current environment will overwrite these during build. +// The build system defaults to the dev environment which uses `environment.ts`, but if you do +// `ng build --env=prod` then `environment.prod.ts` will be used instead. +// The list of which env maps to which file can be found in `angular-cli.json`. + +export const environment = { + production: false, + restBaseURL: 'http://192.168.1.50:19080/webapp', + webappRPCConfig: { + url: 'ws://192.168.1.50:19090/webapp', + reconnectInterval: 5000, + reconnectRetry: 10, + }, +}; diff --git a/src/index.html b/src/index.html new file mode 100644 index 0000000..d6704d7 --- /dev/null +++ b/src/index.html @@ -0,0 +1,30 @@ + + + + + overFlow + + + + + + + + + + + + + + + +
      +
      + + + +
      +
      +
      + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..a671bec --- /dev/null +++ b/src/main.ts @@ -0,0 +1,11 @@ +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; +import { enableProdMode } from '@angular/core'; +import { environment } from './environments/environment'; +import { AppModule } from './app/app.module'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.log(err)); diff --git a/src/packages/alert/alert-logger.module.ts b/src/packages/alert/alert-logger.module.ts new file mode 100644 index 0000000..a8267ee --- /dev/null +++ b/src/packages/alert/alert-logger.module.ts @@ -0,0 +1,10 @@ +import { NgModule } from '@angular/core'; +import { LoggerModule } from '@loafer/ng-logger'; + + +@NgModule({ + imports: [ + LoggerModule.forFeature({}), + ], +}) +export class AlertLoggerModule { } diff --git a/src/packages/alert/alert-rpc.module.ts b/src/packages/alert/alert-rpc.module.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/alert/alert-store.module.ts b/src/packages/alert/alert-store.module.ts new file mode 100644 index 0000000..9f698df --- /dev/null +++ b/src/packages/alert/alert-store.module.ts @@ -0,0 +1,19 @@ +// import { NgModule } from '@angular/core'; +// import { StoreModule } from '@ngrx/store'; + +// import { EffectsModule } from '@ngrx/effects'; + +// import { +// REDUCERS, +// EFFECTS, +// } from './store'; + +// import { MODULE } from './alert.constant'; + +// @NgModule({ +// imports: [ +// StoreModule.forFeature(MODULE.name, REDUCERS), +// EffectsModule.forFeature(EFFECTS), +// ], +// }) +// export class DiscoveryStoreModule { } diff --git a/src/packages/alert/alert.constant.ts b/src/packages/alert/alert.constant.ts new file mode 100644 index 0000000..ff1301f --- /dev/null +++ b/src/packages/alert/alert.constant.ts @@ -0,0 +1,3 @@ +export const MODULE = { + name: 'alert' + }; diff --git a/src/packages/alert/alert.module.ts b/src/packages/alert/alert.module.ts new file mode 100644 index 0000000..7b33b6f --- /dev/null +++ b/src/packages/alert/alert.module.ts @@ -0,0 +1,35 @@ +import { NgModule, Inject } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + + +// import { InputChipModule } from 'packages/commons/component/input-chip/input-chip.module'; + +// import { DiscoveryStoreModule } from './discovery-store.module'; +// import { DiscoveryRPCModule } from './discovery-rpc.module'; +import { AlertLoggerModule } from './alert-logger.module'; + +import { COMPONENTS } from './component'; +// import { SERVICES } from './service'; +import { PrimeNGModules } from 'packages/commons/prime-ng/prime-ng.module'; + +@NgModule({ + imports: [ + CommonModule, + // InputChipModule, + FormsModule, + PrimeNGModules, + AlertLoggerModule, + ], + declarations: [ + COMPONENTS + ], + exports: [ + COMPONENTS, + ], + providers: [ + // SERVICES, + ], +}) +export class AlertModule { +} diff --git a/src/packages/alert/component/index.ts b/src/packages/alert/component/index.ts new file mode 100644 index 0000000..bd78b54 --- /dev/null +++ b/src/packages/alert/component/index.ts @@ -0,0 +1,5 @@ +import { ListComponent } from './list/list.component'; + +export const COMPONENTS = [ + ListComponent, +]; diff --git a/src/packages/alert/component/list/list.component.css b/src/packages/alert/component/list/list.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/alert/component/list/list.component.html b/src/packages/alert/component/list/list.component.html new file mode 100644 index 0000000..d8c60b7 --- /dev/null +++ b/src/packages/alert/component/list/list.component.html @@ -0,0 +1,52 @@ +
      +
      +

      Metric Alert

      +
      +
      + All : 13 +
      +
      + Down : 3 +
      +
      + Warn : 5 +
      +
      + Error : 5 +
      +
      + +
      + + +
      + +
      {{alert.created}}
      +
      + {{alert.msg}} +
      +
      {{alert.status}}
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +

      System Alert

      + + +
      +
      {{alert.created}}
      +
      + {{alert.msg}} +
      +
      {{alert.status}}
      +
      +
      +
      +
      +
      +
      \ No newline at end of file diff --git a/src/packages/alert/component/list/list.component.spec.ts b/src/packages/alert/component/list/list.component.spec.ts new file mode 100644 index 0000000..beacd15 --- /dev/null +++ b/src/packages/alert/component/list/list.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ListComponent } from './list.component'; + +describe('ListComponent', () => { + let component: ListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ListComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/alert/component/list/list.component.ts b/src/packages/alert/component/list/list.component.ts new file mode 100644 index 0000000..e821708 --- /dev/null +++ b/src/packages/alert/component/list/list.component.ts @@ -0,0 +1,115 @@ +import { Component, OnInit } from '@angular/core'; +import { AlertSystem, AlertMetric } from '../../model'; + +@Component({ + selector: 'of-alert-list', + templateUrl: './list.component.html', + styleUrls: ['./list.component.css'] +}) +export class ListComponent implements OnInit { + + metricAlerts: AlertMetric[] = exampleAlerts; + systemAlerts: AlertSystem[] = exampleSystemAlerts; + + bgMap: Map = new Map(); + + + constructor() { } + + ngOnInit() { + this.bgMap.set('Warn', '#ffc107'); + this.bgMap.set('Error', '#f30000'); + this.bgMap.set('Down', '#607D8B'); + } + +} + + + +const exampleSystemAlerts = [ + { + created: '2018-04-19', + msg: 'Geek 님이 새로운 Probe를 설치했습니다.', + }, + { + created: '2018-04-19', + msg: 'Geek 님이 새로운 Probe를 설치했습니다.', + }, + { + created: '2018-04-19', + msg: 'Geek 님이 새로운 Probe를 설치했습니다.', + }, + { + created: '2018-04-19', + msg: 'Geek 님이 새로운 Probe를 설치했습니다.', + }, + { + created: '2018-04-19', + msg: 'Geek 님이 새로운 Probe를 설치했습니다.', + }, + { + created: '2018-04-19', + msg: 'Geek 님이 새로운 Probe를 설치했습니다.', + }, + { + created: '2018-04-19', + msg: 'Geek 님이 새로운 Probe를 설치했습니다.', + }, + { + created: '2018-04-19', + msg: 'Geek 님이 새로운 Probe를 설치했습니다.', + }, + { + created: '2018-04-19', + msg: 'Geek 님이 새로운 Probe를 설치했습니다.', + }, +]; + + +const exampleAlerts = [ + { + created: '2018-04-19', + msg: 'Host 192.168.1.106 disk < 5%', + status: 'Warn' + }, + { + created: '2018-04-19', + msg: 'Host 192.168.1.106 disk < 5%', + status: 'Down' + }, + { + created: '2018-04-19', + msg: 'Host 192.168.1.106 disk < 5%', + status: 'Error' + }, + { + created: '2018-04-19', + msg: 'Host 192.168.1.106 disk < 5%', + status: 'Warn' + }, + { + created: '2018-04-19', + msg: 'Host 192.168.1.106 disk < 5%', + status: 'Warn' + }, + { + created: '2018-04-19', + msg: 'Host 192.168.1.106 disk < 5%', + status: 'Warn' + }, + { + created: '2018-04-19', + msg: 'Host 192.168.1.106 disk < 5%', + status: 'Warn' + }, + { + created: '2018-04-19', + msg: 'Host 192.168.1.106 disk < 5%', + status: 'Warn' + }, + { + created: '2018-04-19', + msg: 'Host 192.168.1.106 disk < 5%', + status: 'Warn' + } +]; diff --git a/src/packages/alert/model/Alert.ts b/src/packages/alert/model/Alert.ts new file mode 100644 index 0000000..fdd87c1 --- /dev/null +++ b/src/packages/alert/model/Alert.ts @@ -0,0 +1,6 @@ + +export interface Alert { + created: string; + msg: string; + + } diff --git a/src/packages/alert/model/AlertMetric.ts b/src/packages/alert/model/AlertMetric.ts new file mode 100644 index 0000000..0b6925f --- /dev/null +++ b/src/packages/alert/model/AlertMetric.ts @@ -0,0 +1,5 @@ +import {Alert} from './Alert'; + +export interface AlertMetric extends Alert { + status: string; + } diff --git a/src/packages/alert/model/AlertSystem.ts b/src/packages/alert/model/AlertSystem.ts new file mode 100644 index 0000000..933e283 --- /dev/null +++ b/src/packages/alert/model/AlertSystem.ts @@ -0,0 +1,6 @@ +import {Alert} from './Alert'; + + +export interface AlertSystem extends Alert { + status?: string; // test + } diff --git a/src/packages/alert/model/index.ts b/src/packages/alert/model/index.ts new file mode 100644 index 0000000..b242f4e --- /dev/null +++ b/src/packages/alert/model/index.ts @@ -0,0 +1,3 @@ +export * from './Alert'; +export * from './AlertMetric'; +export * from './AlertSystem'; diff --git a/src/packages/alert/service/index.ts b/src/packages/alert/service/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/alert/store/index.ts b/src/packages/alert/store/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/alert/subscriber/index.ts b/src/packages/alert/subscriber/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/commons/prime-ng/prime-ng.module.ts b/src/packages/commons/prime-ng/prime-ng.module.ts new file mode 100644 index 0000000..2f5ff07 --- /dev/null +++ b/src/packages/commons/prime-ng/prime-ng.module.ts @@ -0,0 +1,156 @@ +import { NgModule, ModuleWithProviders } from '@angular/core'; +import { AccordionModule, BlockUIModule, InplaceModule } from 'primeng/primeng'; +import { AutoCompleteModule } from 'primeng/primeng'; +import { BreadcrumbModule } from 'primeng/primeng'; +import { ButtonModule } from 'primeng/primeng'; +import { CalendarModule } from 'primeng/primeng'; +import { CarouselModule } from 'primeng/primeng'; +import { ColorPickerModule } from 'primeng/primeng'; +import { ChartModule } from 'primeng/primeng'; +import { CheckboxModule } from 'primeng/primeng'; +import { ChipsModule } from 'primeng/primeng'; +import { CodeHighlighterModule } from 'primeng/primeng'; +import { ConfirmDialogModule } from 'primeng/primeng'; +import { SharedModule } from 'primeng/primeng'; +import { ContextMenuModule } from 'primeng/primeng'; +import { DataGridModule } from 'primeng/primeng'; +import { DataListModule } from 'primeng/primeng'; +import { DataScrollerModule } from 'primeng/primeng'; +import { DataTableModule } from 'primeng/primeng'; +import { DialogModule } from 'primeng/primeng'; +import { DragDropModule } from 'primeng/primeng'; +import { DropdownModule } from 'primeng/primeng'; +import { EditorModule } from 'primeng/primeng'; +import { FieldsetModule } from 'primeng/primeng'; +import { FileUploadModule } from 'primeng/primeng'; +import { GalleriaModule } from 'primeng/primeng'; +import { GMapModule } from 'primeng/primeng'; +import { GrowlModule } from 'primeng/primeng'; +import { InputMaskModule } from 'primeng/primeng'; +import { InputSwitchModule } from 'primeng/primeng'; +import { InputTextModule } from 'primeng/primeng'; +import { InputTextareaModule } from 'primeng/primeng'; +import { LightboxModule } from 'primeng/primeng'; +import { ListboxModule } from 'primeng/primeng'; +import { MegaMenuModule } from 'primeng/primeng'; +import { MenuModule } from 'primeng/primeng'; +import { MenubarModule } from 'primeng/primeng'; +import { MessagesModule } from 'primeng/primeng'; +import { MultiSelectModule } from 'primeng/primeng'; +import { OrderListModule } from 'primeng/primeng'; +import { OrganizationChartModule } from 'primeng/primeng'; +import { OverlayPanelModule } from 'primeng/primeng'; +import { PaginatorModule } from 'primeng/primeng'; +import { PanelModule } from 'primeng/primeng'; +import { PanelMenuModule } from 'primeng/primeng'; +import { PasswordModule } from 'primeng/primeng'; +import { PickListModule } from 'primeng/primeng'; +import { ProgressBarModule, ProgressSpinner } from 'primeng/primeng'; +import { RadioButtonModule } from 'primeng/primeng'; +import { RatingModule } from 'primeng/primeng'; +import { ScheduleModule } from 'primeng/primeng'; +import { ScrollPanelModule } from 'primeng/scrollpanel'; +import { SelectButtonModule } from 'primeng/primeng'; +import { SlideMenuModule } from 'primeng/primeng'; +import { SliderModule } from 'primeng/primeng'; +import { SpinnerModule } from 'primeng/primeng'; +import { SplitButtonModule } from 'primeng/primeng'; +import { StepsModule } from 'primeng/primeng'; +import { TableModule } from 'primeng/table'; +import { TabMenuModule } from 'primeng/primeng'; +import { TabViewModule } from 'primeng/primeng'; +import { TerminalModule } from 'primeng/primeng'; +import { TieredMenuModule } from 'primeng/primeng'; +import { ToggleButtonModule } from 'primeng/primeng'; +import { ToolbarModule } from 'primeng/primeng'; +import { TooltipModule } from 'primeng/primeng'; +import { TreeModule } from 'primeng/primeng'; +import { TreeTableModule } from 'primeng/primeng'; +import { CardModule } from 'primeng/card'; +import { DataViewModule } from 'primeng/dataview'; +import { SidebarModule } from 'primeng/sidebar'; + +const PRIME_NG_MODULES: any[] = [ + AccordionModule, + AutoCompleteModule, + BreadcrumbModule, + ButtonModule, + CalendarModule, + CarouselModule, + ColorPickerModule, + ChartModule, + CheckboxModule, + ChipsModule, + CodeHighlighterModule, + ConfirmDialogModule, + SharedModule, + ContextMenuModule, + DataGridModule, + DataListModule, + DataScrollerModule, + DataTableModule, + DialogModule, + DragDropModule, + DropdownModule, + EditorModule, + FieldsetModule, + FileUploadModule, + GalleriaModule, + GMapModule, + GrowlModule, + InputMaskModule, + InputSwitchModule, + InputTextModule, + InputTextareaModule, + LightboxModule, + ListboxModule, + MegaMenuModule, + MenuModule, + MenubarModule, + MessagesModule, + MultiSelectModule, + OrderListModule, + OrganizationChartModule, + OverlayPanelModule, + PaginatorModule, + PanelModule, + PanelMenuModule, + PasswordModule, + PickListModule, + ProgressBarModule, + RadioButtonModule, + RatingModule, + ScheduleModule, + ScrollPanelModule, + SelectButtonModule, + SlideMenuModule, + SliderModule, + SpinnerModule, + SplitButtonModule, + StepsModule, + TableModule, + TabMenuModule, + TabViewModule, + TerminalModule, + TieredMenuModule, + ToggleButtonModule, + ToolbarModule, + TooltipModule, + TreeModule, + TreeTableModule, + CardModule, + DataViewModule, + SidebarModule, + BlockUIModule, + InplaceModule +]; + +@NgModule({ + imports: [ + PRIME_NG_MODULES + ], + exports: [ + PRIME_NG_MODULES + ], +}) +export class PrimeNGModules { } diff --git a/src/packages/core/ngrx/store/index.ts b/src/packages/core/ngrx/store/index.ts new file mode 100644 index 0000000..8c9698f --- /dev/null +++ b/src/packages/core/ngrx/store/index.ts @@ -0,0 +1 @@ +export * from './selectors'; diff --git a/src/packages/core/ngrx/store/selectors.ts b/src/packages/core/ngrx/store/selectors.ts new file mode 100644 index 0000000..7f4e1f6 --- /dev/null +++ b/src/packages/core/ngrx/store/selectors.ts @@ -0,0 +1,16 @@ +import { + createSelector, + MemoizedSelector, +} from '@ngrx/store'; + +export class StateSelector { + public constructor(private _selector: MemoizedSelector) { + } + + public select = (propertyPath: string) => createSelector(this._selector, (state: State) => { + return propertyPath.split('.').reduce( + (prev, curr) => { + return prev ? prev[curr] : undefined; + }, state); + }) +} diff --git a/src/packages/discovery/component/index.ts b/src/packages/discovery/component/index.ts new file mode 100644 index 0000000..2686ec6 --- /dev/null +++ b/src/packages/discovery/component/index.ts @@ -0,0 +1,15 @@ +import { SettingComponent } from './setting/setting.component'; +import { ProbeSelectorComponent } from './setting/probe-selector/probe-selector.component'; +import { ServiceSelectorComponent } from './setting/filter/service-selector/service-selector.component'; +import { FilterComponent } from './setting/filter/filter.component'; +import { ResultComponent } from './setting/result/result.component'; +import { FilterSummaryComponent } from './setting/filter-summary/filter-summary.component'; + +export const COMPONENTS = [ + SettingComponent, + FilterComponent, + ServiceSelectorComponent, + ProbeSelectorComponent, + ResultComponent, + FilterSummaryComponent +]; diff --git a/src/packages/discovery/component/setting.1/filter/filter.component.html b/src/packages/discovery/component/setting.1/filter/filter.component.html new file mode 100644 index 0000000..51eb2cb --- /dev/null +++ b/src/packages/discovery/component/setting.1/filter/filter.component.html @@ -0,0 +1,66 @@ +
      +
      +
      +
      + +
      +
      + +
      +
      + + + + +
      +
      + + + + +
      +
      + + +
      +
      + +
      +
      +
      + TCP   + +
      +
      + UDP   + +
      +
      +
      + +
      +
      + + + + +
      + +
      + + + + +
      +
      + +
      +
      + +
      + + + +
      +
      +
      \ No newline at end of file diff --git a/src/packages/discovery/component/setting.1/filter/filter.component.ts b/src/packages/discovery/component/setting.1/filter/filter.component.ts new file mode 100644 index 0000000..d101bbb --- /dev/null +++ b/src/packages/discovery/component/setting.1/filter/filter.component.ts @@ -0,0 +1,116 @@ +import { Component, OnInit, Input, AfterContentInit, Output, EventEmitter, OnDestroy, OnChanges, SimpleChanges } from '@angular/core'; +import * as CIDR from 'ip-cidr'; +import { Probe } from '@overflow/commons-typescript/model/probe'; +import { DiscoverZone, DiscoverPort, DiscoverService } from '@overflow/commons-typescript/model/discovery'; + +@Component({ + selector: 'of-discovery-filter', + templateUrl: './filter.component.html', +}) +export class FilterComponent implements OnInit, AfterContentInit, OnDestroy, OnChanges { + + @Input() probe: Probe; + @Input() requestStart: boolean; + @Output() discoveryRequested = new EventEmitter(); + + private startIP: string; + private endIP: string; + private startPort: string; + private endPort: string; + private includeServices = []; + + private hostChecked = true; + private portChecked = true; + private serviceChecked = true; + private tcpChecked = true; + private udpChecked = true; + + constructor( + ) { + } + + ngOnInit() { + } + + ngAfterContentInit() { + } + + ngOnDestroy() { + } + + hostRange() { + if (!this.probe || this.probe === undefined) { + return; + } + const cidr = new CIDR(this.probe.cidr); + if (!cidr.isValid()) { + alert('Invalid cidr : ' + this.probe.cidr); + return; + } + this.startIP = cidr.addressStart.address; + this.endIP = cidr.addressEnd.address; + } + + portRange() { + this.startPort = '1'; + this.endPort = '1024'; + } + + ngOnChanges(changes: SimpleChanges): void { + if (changes['probe']) { + this.hostRange(); + this.portRange(); + } + if (changes['requestStart'] && this.requestStart) { + this.onStart(); + } + } + + onPortCheckChange(serviceCheckbox, checked) { + if (!checked) { + serviceCheckbox.checked = false; + this.serviceChecked = false; + } + } + + onServiceCheckChange(portCheckbox, checked) { + if (checked) { + portCheckbox.checked = true; + this.portChecked = true; + } + } + + onStart() { + let discoverPort: DiscoverPort = null; + let discoverService: DiscoverService = null; + + if (this.serviceChecked) { + const services = new Array(); + for (const service of this.includeServices) { + services.push(service.description); // FIXME to const name + } + discoverService = { + includeServices: services, + }; + } + if (this.portChecked) { + discoverPort = { + firstScanRange: Number(this.startPort), + lastScanRange: Number(this.endPort), + includeTCP: this.tcpChecked, + includeUDP: this.udpChecked, + excludePorts: null, + discoverService: discoverService + }; + } + const discoverZone: DiscoverZone = { + discoverHost: { + firstScanRangev4: this.startIP, + lastScanRangev4: this.endIP, + discoverPort: discoverPort + }, + }; + + this.discoveryRequested.emit(discoverZone); + } +} diff --git a/src/packages/discovery/component/setting.1/filter/service-selector/service-selector.component.html b/src/packages/discovery/component/setting.1/filter/service-selector/service-selector.component.html new file mode 100644 index 0000000..8a0623a --- /dev/null +++ b/src/packages/discovery/component/setting.1/filter/service-selector/service-selector.component.html @@ -0,0 +1,10 @@ +
      + + +
      +
      {{crawler.description}}
      +
      +
      +
      +
      diff --git a/src/packages/discovery/component/setting.1/filter/service-selector/service-selector.component.ts b/src/packages/discovery/component/setting.1/filter/service-selector/service-selector.component.ts new file mode 100644 index 0000000..54d07bb --- /dev/null +++ b/src/packages/discovery/component/setting.1/filter/service-selector/service-selector.component.ts @@ -0,0 +1,52 @@ +import { Component, OnInit, Input, AfterContentInit, Output, EventEmitter, OnDestroy } from '@angular/core'; +import { Store, select, StateObservable } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as ListStore from 'packages/meta/crawler/store/list'; +import { ReadAllCrawlerSelector } from 'packages/meta/crawler/store'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; +import { Subscription } from 'rxjs/Subscription'; + +@Component({ + selector: 'of-service-selector', + templateUrl: './service-selector.component.html', +}) +export class ServiceSelectorComponent implements OnInit, AfterContentInit, OnDestroy { + + crawlersSubscription$: Subscription; + crawlers$: StateObservable; + crawlers: MetaCrawler[]; + @Output() crawlerSelected = new EventEmitter(); + @Input() includeServices; + + @Input() disabled: boolean; + + constructor( + private listStore: Store, + ) { + this.crawlers$ = listStore.pipe(select(ReadAllCrawlerSelector.select('metaCrawlerList'))); + } + + ngOnInit() { + this.crawlersSubscription$ = this.crawlers$.subscribe( + (list: MetaCrawler[]) => { + if (list !== null) { + this.crawlers = []; + this.includeServices = list; + } + }, + (error: RPCClientError) => { + console.log(error); + } + ); + } + + ngAfterContentInit() { + this.listStore.dispatch(new ListStore.ReadAll()); + } + + ngOnDestroy() { + if (this.crawlersSubscription$) { + this.crawlersSubscription$.unsubscribe(); + } + } +} diff --git a/src/packages/discovery/component/setting.1/probe-selector/probe-selector.component.html b/src/packages/discovery/component/setting.1/probe-selector/probe-selector.component.html new file mode 100644 index 0000000..c4b990d --- /dev/null +++ b/src/packages/discovery/component/setting.1/probe-selector/probe-selector.component.html @@ -0,0 +1,4 @@ +
      + +
      \ No newline at end of file diff --git a/src/packages/discovery/component/setting.1/probe-selector/probe-selector.component.ts b/src/packages/discovery/component/setting.1/probe-selector/probe-selector.component.ts new file mode 100644 index 0000000..b838f40 --- /dev/null +++ b/src/packages/discovery/component/setting.1/probe-selector/probe-selector.component.ts @@ -0,0 +1,82 @@ +import { + Component, OnInit, Input, AfterContentInit, Output, + EventEmitter, OnDestroy, OnChanges, SimpleChanges, ViewChild +} from '@angular/core'; +import { Store, select, StateObservable } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as ListStore from 'packages/probe/store/list'; +import { ListSelector } from 'packages/probe/store'; +import { Subscription } from 'rxjs/Subscription'; +import { Probe } from '@overflow/commons-typescript/model/probe'; +import { AuthSelector } from 'packages/member/store'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { Dropdown } from 'primeng/primeng'; + +@Component({ + selector: 'of-probe-selector', + templateUrl: './probe-selector.component.html', +}) +export class ProbeSelectorComponent implements OnInit, AfterContentInit, OnDestroy, OnChanges { + + @Input() visible: boolean; + @Input() preProbe: Probe; + probesSubscription$: Subscription; + probes$: StateObservable; + probes: Probe[]; + + selected: Probe; + + @Output() probeSelected = new EventEmitter(); + + constructor( + private listStore: Store, + ) { + this.probes$ = listStore.pipe(select(ListSelector.select('probes'))); + } + + ngOnInit() { + this.probesSubscription$ = this.probes$.subscribe( + (list: Probe[]) => { + if (list !== null) { + this.probes = list; + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + this.getProbes(); + } + + ngOnDestroy() { + if (this.probesSubscription$) { + this.probesSubscription$.unsubscribe(); + } + } + + ngOnChanges(changes: SimpleChanges): void { + if (changes['visible']) { + this.selected = null; + this.getProbes(); + } + } + + getProbes() { + this.listStore.select(AuthSelector.select('domain')).subscribe( + (domain: Domain) => { + this.listStore.dispatch(new ListStore.ReadAllByDomain(domain)); + }, + (error) => { + console.log(error); + } + ); + } + + onProbeSelect(event) { + this.selected = event.value; + this.probeSelected.emit(this.selected); + } +} diff --git a/src/packages/discovery/component/setting.1/result/result.component.html b/src/packages/discovery/component/setting.1/result/result.component.html new file mode 100644 index 0000000..f09b77c --- /dev/null +++ b/src/packages/discovery/component/setting.1/result/result.component.html @@ -0,0 +1,11 @@ +
      +
      + +
      + + + + + + +
      diff --git a/src/packages/discovery/component/setting.1/result/result.component.ts b/src/packages/discovery/component/setting.1/result/result.component.ts new file mode 100644 index 0000000..a9bbfec --- /dev/null +++ b/src/packages/discovery/component/setting.1/result/result.component.ts @@ -0,0 +1,191 @@ +import { Component, OnInit, Input, AfterContentInit, Output, EventEmitter, OnDestroy } from '@angular/core'; +import { Store, select, StateObservable } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Subscription } from 'rxjs/Subscription'; +import { TreeNode } from 'primeng/primeng'; + +import * as DiscoveredStore from 'packages/discovery/store/setting'; +import { SettingSelector, DiscoverSelector } from 'packages/discovery/store'; +import * as DiscoverStore from 'packages/discovery/store/discover'; +import * as RegistStore from 'packages/discovery/store/regist'; + +import { Zone } from '@overflow/commons-typescript/model/discovery'; +import { Host } from '@overflow/commons-typescript/model/discovery'; +import { Port } from '@overflow/commons-typescript/model/discovery'; +import { Service } from '@overflow/commons-typescript/model/discovery'; + +@Component({ + selector: 'of-discovery-result', + templateUrl: './result.component.html', +}) +export class ResultComponent implements OnInit, AfterContentInit, OnDestroy { + + treeNodes = []; + selectedNodes = []; + zones: Map = null; + checkedSet = new Set(); + + resultSubscription$: Subscription; + result$: any; + startedSubscription$: Subscription; + started$: any; + endedSubscription$: Subscription; + ended$: any; + + inProgress = false; + + + selectedDiscoveryResult: TreeNode[]; + + constructor( + private discoverdStore: Store, + private discoverStore: Store, + private registStore: Store, + ) { + this.result$ = discoverStore.pipe(select(DiscoverSelector.select('zones'))); + this.started$ = discoverStore.pipe(select(DiscoverSelector.select('isStart'))); + this.ended$ = discoverStore.pipe(select(DiscoverSelector.select('isEnd'))); + } + + ngOnInit() { + alert('init'); + this.resultSubscription$ = this.result$.subscribe( + (zones: Map) => { + if (zones !== undefined && zones !== null) { + console.log(zones); + this.treeNodes = this.convertTreeViewZone(zones); + this.zones = zones; + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + this.startedSubscription$ = this.started$.subscribe( + (isStart: boolean) => { + if (isStart !== undefined && isStart !== null && isStart) { + this.inProgress = true; + console.log('##Discovery has started.##'); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + this.endedSubscription$ = this.ended$.subscribe( + (isEnd: boolean) => { + if (isEnd !== undefined && isEnd !== null && isEnd) { + console.log('##Discovery has done.##'); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + } + + ngOnDestroy() { + if (this.startedSubscription$) { + this.startedSubscription$.unsubscribe(); + } + if (this.endedSubscription$) { + this.endedSubscription$.unsubscribe(); + } + if (this.resultSubscription$) { + this.resultSubscription$.unsubscribe(); + } + } + + save() { + } + + convertTreeViewZone(zones: Map) { + + if (zones === undefined || zones === null) { + return; + } + + const treeNodes: any[] = []; + + zones.forEach((value: Zone, key: string, map) => { + const jZone: any = { + label: 'Zone - ' + value.iface, + // className: 'cn' + value.ip, + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + }; + jZone.obj = value; + jZone.children = this.convertViewHost(value.hosts); + treeNodes.push(jZone); + }); + + return treeNodes; + } + + convertViewHost(hosts): any[] { + if (hosts === undefined || hosts === null) { + return null; + } + const hostNodes: any[] = []; + + hosts.forEach((host, hostKey) => { + + const jHost: any = { + label: 'Host - ' + host.ipv4, + // className: 'cn' + host.ip + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + }; + jHost.obj = host; + jHost.children = this.convertViewPort(host.ports); + hostNodes.push(jHost); + + }); + + return hostNodes; + + } + + convertViewPort(ports): any[] { + if (ports === undefined || ports === null || ports.size < 0) { + return null; + } + const portChildren: any[] = []; + ports.forEach((port, portKey) => { + const jPort: any = { + label: 'Port - ' + port.portNumber, + // className: 'cn' + port.portNumber, + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + }; + jPort.obj = port; + jPort.children = this.convertViewService(port.services); + portChildren.push(jPort); + }); + + return portChildren; + } + + convertViewService(services): any[] { + if (services === undefined || services === null || services.size <= 0) { + return null; + } + const serviceChildren: any[] = []; + services.forEach((service, serviceKey) => { + const jService: any = { + label: 'Service - ' + service.serviceName, + // className: 'cn' + service.serviceName, + }; + jService.obj = service; + + serviceChildren.push(jService); + }); + + return serviceChildren; + } + + +} diff --git a/src/packages/discovery/component/setting.1/setting.component.html b/src/packages/discovery/component/setting.1/setting.component.html new file mode 100644 index 0000000..55844b4 --- /dev/null +++ b/src/packages/discovery/component/setting.1/setting.component.html @@ -0,0 +1,30 @@ +
      +
      + +
      + +
      + + + + + + + +
      + + +
      +
      + + + + +
      + + +
      +
      +
      \ No newline at end of file diff --git a/src/packages/discovery/component/setting.1/setting.component.spec.ts b/src/packages/discovery/component/setting.1/setting.component.spec.ts new file mode 100644 index 0000000..009aeb2 --- /dev/null +++ b/src/packages/discovery/component/setting.1/setting.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SettingComponent } from './setting.component'; + +describe('SettingComponent', () => { + let component: SettingComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SettingComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SettingComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/discovery/component/setting.1/setting.component.ts b/src/packages/discovery/component/setting.1/setting.component.ts new file mode 100644 index 0000000..bd9c26a --- /dev/null +++ b/src/packages/discovery/component/setting.1/setting.component.ts @@ -0,0 +1,93 @@ +import { Component, OnInit, AfterContentInit, Output, EventEmitter, + Input, OnDestroy, OnChanges, SimpleChanges, ViewChild } from '@angular/core'; +import { Store, select, StateObservable } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { + DiscoveryStartInfo, + DiscoverZone, + Zone, + DiscoverPort, + DiscoverService +} from '@overflow/commons-typescript/model/discovery'; +import * as CIDR from 'ip-cidr'; +import * as DiscoveredStore from '../../store/setting'; +import { SettingSelector, DiscoverSelector } from '../../store'; +import * as DiscoverStore from '../../store/discover'; +import * as RegistStore from '../../store/regist'; +import { Host } from '@overflow/commons-typescript/model/discovery'; +import { Port } from '@overflow/commons-typescript/model/discovery'; +import { Service } from '@overflow/commons-typescript/model/discovery'; +import * as ProbeDetailStore from 'packages/probe/store'; +import { Probe } from '@overflow/commons-typescript/model/probe'; +import { TreeNode } from 'primeng/primeng'; +import { ListSelector as ProbeListSelector } from 'packages/probe/store'; +import * as ProbeListStore from 'packages/probe/store/list'; +import { AuthSelector } from 'packages/member/store'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { Subscription } from 'rxjs/Subscription'; +import { ResultComponent } from './result/result.component'; + +@Component({ + selector: 'of-discovery-setting', + templateUrl: './setting.component.html', +}) +export class SettingComponent implements OnInit, AfterContentInit, OnDestroy, OnChanges { + + @Input() visible: boolean; + @Input() probe: Probe; + @Output() close = new EventEmitter(); + private requestStart = false; + private started = false; + + private selectedProbe: Probe; + private height: number; + + @ViewChild('resultComponent') resultComponent: ResultComponent; + + constructor( + private discoverStore: Store, + ) { + } + + ngOnInit() { + this.height = window.innerHeight * 0.9; + } + + ngAfterContentInit() { + } + + ngOnChanges(changes: SimpleChanges): void { + if (changes['probe'] && this.probe) { + this.selectedProbe = this.probe; + } + } + + ngOnDestroy() { + } + + onProbeSelect(probe: Probe) { + this.selectedProbe = probe; + } + + onDiscoveryStart(discoverZone: DiscoverZone) { + this.discoverStore.dispatch(new DiscoverStore.DiscoverZone( + { probeID: this.selectedProbe.probeKey, discoverZone: discoverZone })); + + setTimeout(() => { + this.started = true; + this.requestStart = false; + }); + } + + onCancel() { + this.selectedProbe = null; + this.started = false; + this.close.emit(); + } + + onSave() { + this.resultComponent.ngOnInit(); + this.resultComponent.save(); + } + +} diff --git a/src/packages/discovery/component/setting/filter-summary/filter-summary.component.html b/src/packages/discovery/component/setting/filter-summary/filter-summary.component.html new file mode 100644 index 0000000..13f3ef0 --- /dev/null +++ b/src/packages/discovery/component/setting/filter-summary/filter-summary.component.html @@ -0,0 +1,11 @@ +
      + + + + TCP + + + UDP + + +
      \ No newline at end of file diff --git a/src/packages/discovery/component/setting/filter-summary/filter-summary.component.ts b/src/packages/discovery/component/setting/filter-summary/filter-summary.component.ts new file mode 100644 index 0000000..712cea5 --- /dev/null +++ b/src/packages/discovery/component/setting/filter-summary/filter-summary.component.ts @@ -0,0 +1,59 @@ +import { Component, OnInit, Input, AfterContentInit, Output, EventEmitter, OnDestroy, OnChanges, SimpleChanges } from '@angular/core'; +import { DiscoverZone } from '@overflow/commons-typescript/model/discovery'; + +@Component({ + selector: 'of-discovery-filter-summary', + templateUrl: './filter-summary.component.html', +}) +export class FilterSummaryComponent implements OnInit, AfterContentInit, OnDestroy, OnChanges { + + @Output() click = new EventEmitter(); + @Input() data: DiscoverZone; + + private hostRange: string; + private portRange: string; + private includeTCP: boolean; + private includeUDP: boolean; + private services: string; + + constructor( + ) { + this.services = ''; + } + + ngOnInit() { + } + + ngAfterContentInit() { + } + + ngOnChanges(changes: SimpleChanges): void { + if (!this.data) { + return; + } + this.hostRange = this.data.discoverHost.firstScanRangev4 + ' ~ ' + this.data.discoverHost.lastScanRangev4; + if (this.data.discoverHost.discoverPort) { + this.portRange = this.data.discoverHost.discoverPort.firstScanRange + ' ~ ' + this.data.discoverHost.discoverPort.lastScanRange; + this.includeTCP = this.data.discoverHost.discoverPort.includeTCP; + this.includeUDP = this.data.discoverHost.discoverPort.includeUDP; + } + + if (this.data.discoverHost.discoverPort.discoverService) { + const services = this.data.discoverHost.discoverPort.discoverService.includeServices; + if (services.length > 3) { + this.services = String(services.length) + ' services selected.'; + return; + } + for (const service of services) { + this.services += service; + } + } + } + + ngOnDestroy() { + } + + onClick() { + this.click.emit(); + } +} diff --git a/src/packages/discovery/component/setting/filter/filter.component.html b/src/packages/discovery/component/setting/filter/filter.component.html new file mode 100644 index 0000000..51eb2cb --- /dev/null +++ b/src/packages/discovery/component/setting/filter/filter.component.html @@ -0,0 +1,66 @@ +
      +
      +
      +
      + +
      +
      + +
      +
      + + + + +
      +
      + + + + +
      +
      + + +
      +
      + +
      +
      +
      + TCP   + +
      +
      + UDP   + +
      +
      +
      + +
      +
      + + + + +
      + +
      + + + + +
      +
      + +
      +
      + +
      + + + +
      +
      +
      \ No newline at end of file diff --git a/src/packages/discovery/component/setting/filter/filter.component.ts b/src/packages/discovery/component/setting/filter/filter.component.ts new file mode 100644 index 0000000..d101bbb --- /dev/null +++ b/src/packages/discovery/component/setting/filter/filter.component.ts @@ -0,0 +1,116 @@ +import { Component, OnInit, Input, AfterContentInit, Output, EventEmitter, OnDestroy, OnChanges, SimpleChanges } from '@angular/core'; +import * as CIDR from 'ip-cidr'; +import { Probe } from '@overflow/commons-typescript/model/probe'; +import { DiscoverZone, DiscoverPort, DiscoverService } from '@overflow/commons-typescript/model/discovery'; + +@Component({ + selector: 'of-discovery-filter', + templateUrl: './filter.component.html', +}) +export class FilterComponent implements OnInit, AfterContentInit, OnDestroy, OnChanges { + + @Input() probe: Probe; + @Input() requestStart: boolean; + @Output() discoveryRequested = new EventEmitter(); + + private startIP: string; + private endIP: string; + private startPort: string; + private endPort: string; + private includeServices = []; + + private hostChecked = true; + private portChecked = true; + private serviceChecked = true; + private tcpChecked = true; + private udpChecked = true; + + constructor( + ) { + } + + ngOnInit() { + } + + ngAfterContentInit() { + } + + ngOnDestroy() { + } + + hostRange() { + if (!this.probe || this.probe === undefined) { + return; + } + const cidr = new CIDR(this.probe.cidr); + if (!cidr.isValid()) { + alert('Invalid cidr : ' + this.probe.cidr); + return; + } + this.startIP = cidr.addressStart.address; + this.endIP = cidr.addressEnd.address; + } + + portRange() { + this.startPort = '1'; + this.endPort = '1024'; + } + + ngOnChanges(changes: SimpleChanges): void { + if (changes['probe']) { + this.hostRange(); + this.portRange(); + } + if (changes['requestStart'] && this.requestStart) { + this.onStart(); + } + } + + onPortCheckChange(serviceCheckbox, checked) { + if (!checked) { + serviceCheckbox.checked = false; + this.serviceChecked = false; + } + } + + onServiceCheckChange(portCheckbox, checked) { + if (checked) { + portCheckbox.checked = true; + this.portChecked = true; + } + } + + onStart() { + let discoverPort: DiscoverPort = null; + let discoverService: DiscoverService = null; + + if (this.serviceChecked) { + const services = new Array(); + for (const service of this.includeServices) { + services.push(service.description); // FIXME to const name + } + discoverService = { + includeServices: services, + }; + } + if (this.portChecked) { + discoverPort = { + firstScanRange: Number(this.startPort), + lastScanRange: Number(this.endPort), + includeTCP: this.tcpChecked, + includeUDP: this.udpChecked, + excludePorts: null, + discoverService: discoverService + }; + } + const discoverZone: DiscoverZone = { + discoverHost: { + firstScanRangev4: this.startIP, + lastScanRangev4: this.endIP, + discoverPort: discoverPort + }, + }; + + this.discoveryRequested.emit(discoverZone); + } +} diff --git a/src/packages/discovery/component/setting/filter/service-selector/service-selector.component.html b/src/packages/discovery/component/setting/filter/service-selector/service-selector.component.html new file mode 100644 index 0000000..8a0623a --- /dev/null +++ b/src/packages/discovery/component/setting/filter/service-selector/service-selector.component.html @@ -0,0 +1,10 @@ +
      + + +
      +
      {{crawler.description}}
      +
      +
      +
      +
      diff --git a/src/packages/discovery/component/setting/filter/service-selector/service-selector.component.ts b/src/packages/discovery/component/setting/filter/service-selector/service-selector.component.ts new file mode 100644 index 0000000..9f203d8 --- /dev/null +++ b/src/packages/discovery/component/setting/filter/service-selector/service-selector.component.ts @@ -0,0 +1,52 @@ +import { Component, OnInit, Input, AfterContentInit, Output, EventEmitter, OnDestroy } from '@angular/core'; +import { Store, select, StateObservable } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as ListStore from 'packages/meta/crawler/store/list'; +import { ReadAllCrawlerSelector } from 'packages/meta/crawler/store'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; +import { Subscription } from 'rxjs/Subscription'; + +@Component({ + selector: 'of-service-selector', + templateUrl: './service-selector.component.html', +}) +export class ServiceSelectorComponent implements OnInit, AfterContentInit, OnDestroy { + + crawlersSubscription$: Subscription; + crawlers$: StateObservable; + crawlers: MetaCrawler[]; + @Output() crawlerSelected = new EventEmitter(); + @Input() includeServices; + + @Input() disabled: boolean; + + constructor( + private listStore: Store, + ) { + this.crawlers$ = listStore.pipe(select(ReadAllCrawlerSelector.select('metaCrawlerList'))); + } + + ngOnInit() { + this.crawlersSubscription$ = this.crawlers$.subscribe( + (list: MetaCrawler[]) => { + if (list !== null) { + this.crawlers = []; + this.crawlers = list; + } + }, + (error: RPCClientError) => { + console.log(error); + } + ); + } + + ngAfterContentInit() { + this.listStore.dispatch(new ListStore.ReadAll()); + } + + ngOnDestroy() { + if (this.crawlersSubscription$) { + this.crawlersSubscription$.unsubscribe(); + } + } +} diff --git a/src/packages/discovery/component/setting/probe-selector/probe-selector.component.html b/src/packages/discovery/component/setting/probe-selector/probe-selector.component.html new file mode 100644 index 0000000..c4b990d --- /dev/null +++ b/src/packages/discovery/component/setting/probe-selector/probe-selector.component.html @@ -0,0 +1,4 @@ +
      + +
      \ No newline at end of file diff --git a/src/packages/discovery/component/setting/probe-selector/probe-selector.component.ts b/src/packages/discovery/component/setting/probe-selector/probe-selector.component.ts new file mode 100644 index 0000000..83432c9 --- /dev/null +++ b/src/packages/discovery/component/setting/probe-selector/probe-selector.component.ts @@ -0,0 +1,75 @@ +import { + Component, OnInit, Input, AfterContentInit, Output, + EventEmitter, OnDestroy, ViewChild +} from '@angular/core'; +import { Store, select, StateObservable } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as ListStore from 'packages/probe/store/list'; +import { ListSelector } from 'packages/probe/store'; +import { Subscription } from 'rxjs/Subscription'; +import { Probe } from '@overflow/commons-typescript/model/probe'; +import { AuthSelector } from 'packages/member/store'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { Dropdown } from 'primeng/primeng'; + +@Component({ + selector: 'of-probe-selector', + templateUrl: './probe-selector.component.html', +}) +export class ProbeSelectorComponent implements OnInit, AfterContentInit, OnDestroy { + + @Input() preProbe: Probe; + probesSubscription$: Subscription; + probes$: StateObservable; + probes: Probe[]; + selected: Probe; + + @Output() probeSelected = new EventEmitter(); + + constructor( + private listStore: Store, + ) { + this.probes$ = listStore.pipe(select(ListSelector.select('probes'))); + } + + ngOnInit() { + this.probesSubscription$ = this.probes$.subscribe( + (list: Probe[]) => { + if (list !== null) { + this.probes = list; + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + this.getProbes(); + } + + ngOnDestroy() { + if (this.probesSubscription$) { + this.probesSubscription$.unsubscribe(); + } + this.selected = null; + this.probes = null; + } + + getProbes() { + this.listStore.select(AuthSelector.select('domain')).subscribe( + (domain: Domain) => { + this.listStore.dispatch(new ListStore.ReadAllByDomain(domain)); + }, + (error) => { + console.log(error); + } + ); + } + + onProbeSelect(event) { + this.selected = event.value; + this.probeSelected.emit(this.selected); + } +} diff --git a/src/packages/discovery/component/setting/result/result.component.1.ts b/src/packages/discovery/component/setting/result/result.component.1.ts new file mode 100644 index 0000000..9e741b7 --- /dev/null +++ b/src/packages/discovery/component/setting/result/result.component.1.ts @@ -0,0 +1,190 @@ +import { Component, OnInit, Input, AfterContentInit, Output, EventEmitter, OnDestroy } from '@angular/core'; +import { Store, select, StateObservable } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Subscription } from 'rxjs/Subscription'; +import { TreeNode } from 'primeng/primeng'; + +import * as DiscoveredStore from 'packages/discovery/store/setting'; +import { SettingSelector, DiscoverSelector } from 'packages/discovery/store'; +import * as DiscoverStore from 'packages/discovery/store/discover'; +import * as RegistStore from 'packages/discovery/store/regist'; + +import { Zone } from '@overflow/commons-typescript/model/discovery'; +import { Host } from '@overflow/commons-typescript/model/discovery'; +import { Port } from '@overflow/commons-typescript/model/discovery'; +import { Service } from '@overflow/commons-typescript/model/discovery'; + +@Component({ + selector: 'of-discovery-result', + templateUrl: './result.component.html', +}) +export class ResultComponent implements OnInit, AfterContentInit, OnDestroy { + + treeNodes = []; + selectedNodes = []; + zones: Map = null; + checkedSet = new Set(); + + resultSubscription$: Subscription; + result$: any; + startedSubscription$: Subscription; + started$: any; + endedSubscription$: Subscription; + ended$: any; + + inProgress = false; + + + selectedDiscoveryResult: TreeNode[]; + + constructor( + private discoverdStore: Store, + private discoverStore: Store, + private registStore: Store, + ) { + this.result$ = discoverStore.pipe(select(DiscoverSelector.select('zones'))); + this.started$ = discoverStore.pipe(select(DiscoverSelector.select('isStart'))); + this.ended$ = discoverStore.pipe(select(DiscoverSelector.select('isEnd'))); + } + + ngOnInit() { + this.resultSubscription$ = this.result$.subscribe( + (zones: Map) => { + if (zones !== undefined && zones !== null) { + console.log(zones); + this.treeNodes = this.convertTreeViewZone(zones); + this.zones = zones; + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + this.startedSubscription$ = this.started$.subscribe( + (isStart: boolean) => { + if (isStart !== undefined && isStart !== null && isStart) { + this.inProgress = true; + console.log('##Discovery has started.##'); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + this.endedSubscription$ = this.ended$.subscribe( + (isEnd: boolean) => { + if (isEnd !== undefined && isEnd !== null && isEnd) { + console.log('##Discovery has done.##'); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + } + + ngOnDestroy() { + if (this.startedSubscription$) { + this.startedSubscription$.unsubscribe(); + } + if (this.endedSubscription$) { + this.endedSubscription$.unsubscribe(); + } + if (this.resultSubscription$) { + this.resultSubscription$.unsubscribe(); + } + } + + save() { + } + + convertTreeViewZone(zones: Map) { + + if (zones === undefined || zones === null) { + return; + } + + const treeNodes: any[] = []; + + zones.forEach((value: Zone, key: string, map) => { + const jZone: any = { + label: 'Zone - ' + value.iface, + // className: 'cn' + value.ip, + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + }; + jZone.obj = value; + jZone.children = this.convertViewHost(value.hosts); + treeNodes.push(jZone); + }); + + return treeNodes; + } + + convertViewHost(hosts): any[] { + if (hosts === undefined || hosts === null) { + return null; + } + const hostNodes: any[] = []; + + hosts.forEach((host, hostKey) => { + + const jHost: any = { + label: 'Host - ' + host.ipv4, + // className: 'cn' + host.ip + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + }; + jHost.obj = host; + jHost.children = this.convertViewPort(host.ports); + hostNodes.push(jHost); + + }); + + return hostNodes; + + } + + convertViewPort(ports): any[] { + if (ports === undefined || ports === null || ports.size < 0) { + return null; + } + const portChildren: any[] = []; + ports.forEach((port, portKey) => { + const jPort: any = { + label: 'Port - ' + port.portNumber, + // className: 'cn' + port.portNumber, + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + }; + jPort.obj = port; + jPort.children = this.convertViewService(port.services); + portChildren.push(jPort); + }); + + return portChildren; + } + + convertViewService(services): any[] { + if (services === undefined || services === null || services.size <= 0) { + return null; + } + const serviceChildren: any[] = []; + services.forEach((service, serviceKey) => { + const jService: any = { + label: 'Service - ' + service.serviceName, + // className: 'cn' + service.serviceName, + }; + jService.obj = service; + + serviceChildren.push(jService); + }); + + return serviceChildren; + } + + +} diff --git a/src/packages/discovery/component/setting/result/result.component.html b/src/packages/discovery/component/setting/result/result.component.html new file mode 100644 index 0000000..1e05858 --- /dev/null +++ b/src/packages/discovery/component/setting/result/result.component.html @@ -0,0 +1,13 @@ +
      +
      + +
      + + + +
      + result +
      + +
      +
      diff --git a/src/packages/discovery/component/setting/result/result.component.ts b/src/packages/discovery/component/setting/result/result.component.ts new file mode 100644 index 0000000..55d4b8f --- /dev/null +++ b/src/packages/discovery/component/setting/result/result.component.ts @@ -0,0 +1,198 @@ +import { Component, OnInit, Input, AfterContentInit, Output, EventEmitter, OnDestroy, OnChanges, SimpleChanges } from '@angular/core'; +import { Store, select, StateObservable } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Subscription } from 'rxjs/Subscription'; +import { TreeNode } from 'primeng/primeng'; + +import * as DiscoveredStore from 'packages/discovery/store/setting'; +import { SettingSelector, DiscoverSelector } from 'packages/discovery/store'; +import * as DiscoverStore from 'packages/discovery/store/discover'; +import * as RegistStore from 'packages/discovery/store/regist'; + +import { Zone } from '@overflow/commons-typescript/model/discovery'; +import { Host } from '@overflow/commons-typescript/model/discovery'; +import { Port } from '@overflow/commons-typescript/model/discovery'; +import { Service } from '@overflow/commons-typescript/model/discovery'; + +@Component({ + selector: 'of-discovery-result', + templateUrl: './result.component.html', +}) +export class ResultComponent implements OnInit, AfterContentInit, OnDestroy, OnChanges { + + @Input() started: boolean; + + treeNodes = []; + selectedNodes = []; + zones: Map = null; + checkedSet = new Set(); + + resultSubscription$: Subscription; + result$: any; + startedSubscription$: Subscription; + started$: any; + endedSubscription$: Subscription; + ended$: any; + + inProgress = false; + + + selectedDiscoveryResult: TreeNode[]; + + constructor( + private discoverdStore: Store, + private discoverStore: Store, + private registStore: Store, + ) { + this.result$ = discoverStore.pipe(select(DiscoverSelector.select('zones'))); + this.started$ = discoverStore.pipe(select(DiscoverSelector.select('isStart'))); + this.ended$ = discoverStore.pipe(select(DiscoverSelector.select('isEnd'))); + } + + ngOnInit() { + this.inProgress = true; + this.resultSubscription$ = this.result$.subscribe( + (zones: Map) => { + if (zones !== undefined && zones !== null) { + console.log(zones); + this.treeNodes = this.convertTreeViewZone(zones); + this.zones = zones; + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + this.startedSubscription$ = this.started$.subscribe( + (isStart: boolean) => { + if (isStart !== undefined && isStart !== null && isStart) { + console.log('##Discovery has started.##'); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + this.endedSubscription$ = this.ended$.subscribe( + (isEnd: boolean) => { + if (isEnd !== undefined && isEnd !== null && isEnd) { + console.log('##Discovery has done.##'); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + } + + ngOnChanges(changes: SimpleChanges): void { + if (changes['started'] && !changes['started'].currentValue) { + this.inProgress = false; + } + } + + ngOnDestroy() { + if (this.startedSubscription$) { + this.startedSubscription$.unsubscribe(); + } + if (this.endedSubscription$) { + this.endedSubscription$.unsubscribe(); + } + if (this.resultSubscription$) { + this.resultSubscription$.unsubscribe(); + } + } + + save() { + } + + convertTreeViewZone(zones: Map) { + + if (zones === undefined || zones === null) { + return; + } + + const treeNodes: any[] = []; + + zones.forEach((value: Zone, key: string, map) => { + const jZone: any = { + label: 'Zone - ' + value.iface, + // className: 'cn' + value.ip, + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + }; + jZone.obj = value; + jZone.children = this.convertViewHost(value.hosts); + treeNodes.push(jZone); + }); + + return treeNodes; + } + + convertViewHost(hosts): any[] { + if (hosts === undefined || hosts === null) { + return null; + } + const hostNodes: any[] = []; + + hosts.forEach((host, hostKey) => { + + const jHost: any = { + label: 'Host - ' + host.ipv4, + // className: 'cn' + host.ip + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + }; + jHost.obj = host; + jHost.children = this.convertViewPort(host.ports); + hostNodes.push(jHost); + + }); + + return hostNodes; + + } + + convertViewPort(ports): any[] { + if (ports === undefined || ports === null || ports.size < 0) { + return null; + } + const portChildren: any[] = []; + ports.forEach((port, portKey) => { + const jPort: any = { + label: 'Port - ' + port.portNumber, + // className: 'cn' + port.portNumber, + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + }; + jPort.obj = port; + jPort.children = this.convertViewService(port.services); + portChildren.push(jPort); + }); + + return portChildren; + } + + convertViewService(services): any[] { + if (services === undefined || services === null || services.size <= 0) { + return null; + } + const serviceChildren: any[] = []; + services.forEach((service, serviceKey) => { + const jService: any = { + label: 'Service - ' + service.serviceName, + // className: 'cn' + service.serviceName, + }; + jService.obj = service; + + serviceChildren.push(jService); + }); + + return serviceChildren; + } + + +} diff --git a/src/packages/discovery/component/setting/setting.component.html b/src/packages/discovery/component/setting/setting.component.html new file mode 100644 index 0000000..b616aa4 --- /dev/null +++ b/src/packages/discovery/component/setting/setting.component.html @@ -0,0 +1,36 @@ +
      +
      + +
      + +
      + + + + +
      +
      + +
      +
      + +
      +
      +
      + +
      + + +
      +
      + +
      + +
      + + +
      +
      +
      diff --git a/src/packages/discovery/component/setting/setting.component.ts b/src/packages/discovery/component/setting/setting.component.ts new file mode 100644 index 0000000..089c5c6 --- /dev/null +++ b/src/packages/discovery/component/setting/setting.component.ts @@ -0,0 +1,174 @@ +import { + Component, OnInit, AfterContentInit, Output, EventEmitter, + Input, OnDestroy, OnChanges, SimpleChanges, ViewChild +} from '@angular/core'; +import { Store, select, StateObservable } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { + DiscoveryStartInfo, + DiscoverZone, + Zone, + DiscoverPort, + DiscoverService +} from '@overflow/commons-typescript/model/discovery'; +import * as CIDR from 'ip-cidr'; +import * as DiscoveredStore from '../../store/setting'; +import { SettingSelector, DiscoverSelector } from '../../store'; +import * as DiscoverStore from '../../store/discover'; +import * as RegistStore from '../../store/regist'; +import { Host } from '@overflow/commons-typescript/model/discovery'; +import { Port } from '@overflow/commons-typescript/model/discovery'; +import { Service } from '@overflow/commons-typescript/model/discovery'; +import * as ProbeDetailStore from 'packages/probe/store'; +import { Probe } from '@overflow/commons-typescript/model/probe'; +import { TreeNode } from 'primeng/primeng'; +import { ListSelector as ProbeListSelector } from 'packages/probe/store'; +import * as ProbeListStore from 'packages/probe/store/list'; +import { AuthSelector } from 'packages/member/store'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { Subscription } from 'rxjs/Subscription'; +import { ResultComponent } from './result/result.component'; +import { ProbeSelectorComponent } from './probe-selector/probe-selector.component'; +import { FilterComponent } from './filter/filter.component'; + +import { trigger, state, transition, style, animate } from '@angular/core'; + +@Component({ + selector: 'of-discovery-setting', + templateUrl: './setting.component.html', + animations: [ + trigger( + 'discoveryFilter', [ + state('summary', style({ + height: '70px', + opacity: 0.9, + })), + state('full', style({ + height: '500px', + opacity: 1, + })), + transition('* => *', animate('200ms ease-in')), + ]), + trigger( + 'result', [ + state('show', style({ + height: '300px', + opacity: 1, + })), + state('hidden', style({ + height: '0px', + opacity: 0, + })), + transition('* => *', animate('200ms ease-in')), + ] + ) + ] +}) +export class SettingComponent implements OnInit, AfterContentInit, OnDestroy, OnChanges { + + @Input() visible: boolean; + @Input() probe: Probe; + @Output() close = new EventEmitter(); + private requestStart = false; + private started = false; + private filterData: DiscoverZone; + + private selectedProbe: Probe; + private height: number; + + @ViewChild('probeSelectorComponent') probeSelectorComponent: ProbeSelectorComponent; + @ViewChild('filterComponent') filterComponent: FilterComponent; + @ViewChild('resultComponent') resultComponent: ResultComponent; + + constructor( + private discoverStore: Store, + ) { + this.height = window.innerHeight * 0.9; + } + + ngOnInit() { + this.selectedProbe = this.probe; + } + + ngAfterContentInit() { + } + + ngOnChanges(changes: SimpleChanges): void { + if (changes['visible']) { + const change = changes['visible']; + if (!change.previousValue && change.currentValue) { + this.initAll(); + } else if (change.previousValue && !change.currentValue) { + this.destroyAll(); + } + } + } + + ngOnDestroy() { + this.selectedProbe = null; + this.started = false; + this.close.emit(); + this.requestStart = false; + } + + initAll() { + this.ngOnInit(); + if (this.probeSelectorComponent) { + this.probeSelectorComponent.ngOnInit(); + } + if (this.filterComponent) { + this.filterComponent.ngOnInit(); + } + if (this.resultComponent) { + this.resultComponent.ngOnInit(); + } + } + + destroyAll() { + this.ngOnDestroy(); + if (this.probeSelectorComponent) { + this.probeSelectorComponent.ngOnDestroy(); + } + if (this.filterComponent) { + this.filterComponent.ngOnDestroy(); + } + if (this.resultComponent) { + this.resultComponent.ngOnDestroy(); + } + } + + onProbeSelect(probe: Probe) { + this.selectedProbe = probe; + } + + onDiscoveryStart(discoverZone: DiscoverZone) { + this.filterData = discoverZone; + this.discoverStore.dispatch(new DiscoverStore.DiscoverZone( + { probeID: this.selectedProbe.probeKey, discoverZone: discoverZone })); + + setTimeout(() => { + this.started = true; + // this.requestStart = false; + }); + } + + onCancel() { + this.destroyAll(); + } + + onSave() { + this.resultComponent.save(); + } + + onStop() { + this.started = false; + } + + onSummaryClick() { + if (this.started) { + return; + } + this.requestStart = false; + } + +} diff --git a/src/packages/discovery/component/temp/setting.component.1.html b/src/packages/discovery/component/temp/setting.component.1.html new file mode 100644 index 0000000..6e964be --- /dev/null +++ b/src/packages/discovery/component/temp/setting.component.1.html @@ -0,0 +1,124 @@ +
      + + +
      + +
      + {{probe.cidr}} +
      + +
      + +
      + +
      +
      +
      + +
      +
      + +
      +
      + + + + +
      +
      + + + + +
      +
      + + +
      +
      + +
      +
      +
      + TCP   + +
      +
      + UDP   + +
      +
      +
      + +
      +
      + + + + +
      + +
      + + + + +
      +
      + + +
      +
      + +
      + + + +
      + +
      +
      + + +
      +
      + +
      +
      + + + +
      + + + + + +
      + +
      + + +
      + + +
      +
      +
      + + + +
      \ No newline at end of file diff --git a/src/packages/discovery/component/temp/setting.component.1.ts b/src/packages/discovery/component/temp/setting.component.1.ts new file mode 100644 index 0000000..05b37ce --- /dev/null +++ b/src/packages/discovery/component/temp/setting.component.1.ts @@ -0,0 +1,793 @@ +import { Component, OnInit, AfterContentInit, Output, EventEmitter, Input, OnDestroy } from '@angular/core'; +import { Store, select, StateObservable } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { + DiscoveryStartInfo, + DiscoverZone, + Zone, + DiscoverPort, + DiscoverService +} from '@overflow/commons-typescript/model/discovery'; +import * as CIDR from 'ip-cidr'; +import * as DiscoveredStore from '../../store/setting'; +import { SettingSelector, DiscoverSelector } from '../../store'; +import * as DiscoverStore from '../../store/discover'; +import * as RegistStore from '../../store/regist'; +import { Host } from '@overflow/commons-typescript/model/discovery'; +import { Port } from '@overflow/commons-typescript/model/discovery'; +import { Service } from '@overflow/commons-typescript/model/discovery'; +import * as ProbeDetailStore from 'packages/probe/store'; +import { Probe } from '@overflow/commons-typescript/model/probe'; +import { TreeNode } from 'primeng/primeng'; +import { ListSelector as ProbeListSelector } from 'packages/probe/store'; +import * as ProbeListStore from 'packages/probe/store/list'; +import { AuthSelector } from 'packages/member/store'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { Subscription } from 'rxjs/Subscription'; + +@Component({ + selector: 'of-discovery-setting', + templateUrl: './setting.component.html', +}) +export class SettingComponent implements OnInit, AfterContentInit, OnDestroy { + + @Input() probe: Probe; /* To determine valid range. */ + @Output() close = new EventEmitter(); + + settingSucceed$: any; + discoveryResult$: any; + + discoveryReq$: any; + discoveryStart$: any; + discoveryEnd$: any; + + started = false; + + startIP; + endIP; + startPort; + endPort; + hostChecked = ['host']; + portChecked = []; + serviceChecked = []; + tcpChecked = true; + udpChecked = true; + includeServices = []; + + treeNodes = []; + selectedNodes = []; + zones: Map = null; + + checkedSet = new Set(); + + testObj: any[] = testDiscovery; + selectedDiscoveryResult: TreeNode[]; + + constructor( + private discoverdstore: Store, + private discoverstore: Store, + private registStore: Store, + private probeListStore: Store + ) { + this.settingSucceed$ = discoverdstore.pipe(select(SettingSelector.select('isStart'))); + this.discoveryResult$ = discoverstore.pipe(select(DiscoverSelector.select('zones'))); + this.discoveryReq$ = discoverstore.pipe(select(DiscoverSelector.select('isReq'))); + this.discoveryStart$ = discoverstore.pipe(select(DiscoverSelector.select('isStart'))); + this.discoveryEnd$ = discoverstore.pipe(select(DiscoverSelector.select('isEnd'))); + } + + ngOnInit() { + + // this.settingSucceed$.subscribe( + // (succeed: boolean) => { + // if (succeed) { + // this.started = true; + // } + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + + // this.discoveryResult$.subscribe( + // (zones: Map) => { + + // if (zones !== undefined && zones !== null) { + // console.log('ZoneZoneZoneZoneZoneZoneZone'); + // // console.log(JSON.stringify(zones)); + // this.treeNodes = this.convertTreeViewZone(zones); + // this.zones = zones; + // } + + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + + // this.discoveryReq$.subscribe( + // (isReq: boolean) => { + + // if (isReq !== undefined && isReq !== null) { + // console.log('isReqisReqisReqisReq'); + // } + + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + + // this.discoveryStart$.subscribe( + // (isStart: boolean) => { + + // if (isStart !== undefined && isStart !== null) { + // console.log('isStartisStartisStart'); + // } + + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + + // this.discoveryEnd$.subscribe( + // (isEnd: boolean) => { + + // if (isEnd !== undefined && isEnd !== null) { + // console.log('isEndisEndisEndisEnd'); + // } + + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + } + + ngAfterContentInit() { + if (this.probe === undefined || this.probe === null) { + } else { + this.hostRange(); + this.portRange(); + } + } + + ngOnDestroy() { + } + + + onProbeSelect(event) { + this.probe = event.value; + this.hostRange(); + this.portRange(); + } + + closeDialog() { + this.close.emit(); + } + + isZone(zone: Zone): boolean { + + // for (let i = 0; i < this.treeNodes.length; ++i) { + // if (zone.iface === this.treeNodes[i].iface) { + // return true; + // } + // } + + return false; + } + + + hostRange() { + const cidr = new CIDR(this.probe.cidr); + if (!cidr.isValid()) { + alert('Invalid cidr : ' + this.probe.cidr); + return; + } + this.startIP = cidr.addressStart.address; + this.endIP = cidr.addressEnd.address; + } + + portRange() { + this.startPort = '1'; + this.endPort = '1024'; + } + + handleHostCheckChange(e: any) { + this.hostChecked = ['host']; + } + + handlePortCheckChange(e: any) { + this.serviceChecked = []; + } + + handleServiceCheckChange(e: any) { + if (e) { + this.portChecked = ['port']; + } + } + + handleServiceChange(list: any) { + this.includeServices = list; + } + + discovery() { + console.log(this.startIP); + console.log(this.startPort); + console.log(this.endPort); + + let discoverPort: DiscoverPort = null; + let discoverService: DiscoverService = null; + + if (this.serviceChecked.length > 0) { + const services = new Array(); + for (const service of this.includeServices) { + services.push(service.name); + } + discoverService = { + includeServices: services, + }; + } + if (this.portChecked.length > 0) { + discoverPort = { + firstScanRange: this.startPort, + lastScanRange: this.endPort, + includeTCP: this.tcpChecked, + includeUDP: this.udpChecked, + excludePorts: null, + discoverService: discoverService + }; + } + const discoverZone: DiscoverZone = { + discoverHost: { + firstScanRangev4: this.startIP, + lastScanRangev4: this.endIP, + discoverPort: discoverPort, + }, + }; + + + console.log(discoverZone); + + // console.log('start discovery - ' + this.probe.probeKey); + this.discoverstore.dispatch(new DiscoverStore.DiscoverZone( + { probeID: this.probe.probeKey, discoverZone: discoverZone })); + + this.started = true; + } + + checkDiscoveryResult(node) { + + node.toggleActivated(true); + + if (node.isActive) { + if (node.data.obj !== undefined) { + node.data.obj.target = true; + } + } else { + if (node.data.obj !== undefined) { + node.data.obj.target = false; + } + } + + console.log(this.zones); + + } + + convertMapToList(map: Map): Array { + + if (undefined === map || null === map || map.size < 0) { + return null; + } + + const retArr = new Array(); + + map.forEach((v: any, k: any) => { + retArr.push(v); + }); + + return retArr; + } + + + discoveryResultSave() { + // console.log(this.checkedSet); + + // send discovery save this.zones; + + // this.registStore.dispatch(new DiscoverStore.DiscoverZone( + // {probeID: '52abd6fd57e511e7ac52080027658d13', discoveryZone: discoveryZone})); + + // console.log(this.zones); + // isTarget Check + + + for (const sn of this.selectedNodes) { + if (sn.obj !== undefined && sn.obj !== null) { + if (sn.obj.target !== undefined && sn.obj.target !== null) { + sn.obj.target = true; + } + } + } + + this.zones.forEach((zone: Zone, key: string) => { + if (zone.hosts !== undefined && zone.hosts !== null && zone.hosts.size > 0) { + // FIXME: getHosts + const hosts: Host[] = []; + zone.hosts.forEach((h: Host, hKey: string) => { + + h.zone = null; + if (h.ports !== undefined && h.ports !== null) { + h.portList = []; + h.ports.forEach((p: Port, pKey: number) => { + + p.host = null; + if (p.services !== undefined && p.services !== null) { + p.serviceList = []; + + p.services.forEach((s: Service, sKey: string) => { + s.port = null; + + p.serviceList.push(s); + }); + + } + + h.portList.push(p); + }); + } + + hosts.push(h); + }); + + if (hosts.length > 0) { + const sd: any = { hosts: hosts, probe: { id: 1 } }; + console.log(JSON.stringify(sd)); + console.log('--------'); + this.registStore.dispatch(new RegistStore.DiscoverySaveAllTarget(sd)); + } + + } + }); + } + + handleClick(event) { + // console.log(this.filesTree4); + + this.checkTarget(this.selectedDiscoveryResult); + + console.log(this.testObj); + + } + + checkTarget(treeList: any[]) { + + if (treeList === undefined || treeList === null) { + return; + } + + for (let i = 0; i < treeList.length; ++i) { + treeList[i].obj.target = true; + + this.checkTarget(treeList[i].children); + } + + } + + convertTreeViewZone(zones: Map) { + + if (zones === undefined || zones === null) { + return; + } + + // console.log('convertTreeViewZone'); + const treeNodes: any[] = []; + + zones.forEach((value: Zone, key: string, map) => { + if (this.isZone(value)) { + return; + } + const jZone: any = { + label: 'Zone - ' + value.iface, + // className: 'cn' + value.ip, + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + }; + jZone.obj = value; + jZone.children = this.convertViewHost(value.hosts); + treeNodes.push(jZone); + }); + + return treeNodes; + } + + convertViewHost(hosts): any[] { + + if (hosts === undefined || hosts === null) { + return null; + } + + + const hostNodes: any[] = []; + + hosts.forEach((host, hostKey) => { + + const jHost: any = { + label: 'Host - ' + host.ipv4, + // className: 'cn' + host.ip + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + }; + jHost.obj = host; + + jHost.children = this.convertViewPort(host.ports); + + hostNodes.push(jHost); + + }); + + return hostNodes; + + } + + convertViewPort(ports): any[] { + + if (ports === undefined || ports === null || ports.size < 0) { + return null; + } + + const portChildren: any[] = []; + + ports.forEach((port, portKey) => { + + const jPort: any = { + label: 'Port - ' + port.portNumber, + // className: 'cn' + port.portNumber, + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + }; + jPort.obj = port; + + jPort.children = this.convertViewService(port.services); + + portChildren.push(jPort); + }); + + + return portChildren; + } + + convertViewService(services): any[] { + + if (services === undefined || services === null || services.size <= 0) { + return null; + } + + const serviceChildren: any[] = []; + + services.forEach((service, serviceKey) => { + const jService: any = { + label: 'Service - ' + service.serviceName, + // className: 'cn' + service.serviceName, + }; + jService.obj = service; + + serviceChildren.push(jService); + }); + + return serviceChildren; + } + +} + + +const testDiscovery: any[] = [ + { + id: 0, + ip: '192.168.1.254', + mac: '64:e5:99:63:e7:80', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: [ + { + id: 0, + portType: 'UDP', + portNumber: 53, + discoveredDate: -62135596800000, + host: null, + services: [ + { + id: 0, + cryptoType: null, + serviceName: 'DNS', + discoveredDate: -62135596800000, + port: null, + target: false + } + ] + } + ] + }, + { + id: 0, + ip: '192.168.1.99', + mac: '00:25:b3:fa:ca:9b', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: [ + { + id: 0, + portType: 'UDP', + portNumber: 161, + discoveredDate: -62135596800000, + host: null, + services: [ + { + id: 0, + cryptoType: null, + serviceName: 'SNMP_V2', + discoveredDate: -62135596800000, + port: null, + target: false + } + ] + }, + { + id: 0, + portType: 'TCP', + portNumber: 7, + discoveredDate: -62135596800000, + host: null, + services: null + } + ] + }, + { + id: 0, + ip: '192.168.1.206', + mac: '30:9c:23:15:a3:09', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: null + }, + { + id: 0, + ip: '192.168.1.50', + mac: '6c:f0:49:7a:60:68', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: [ + { + id: 0, + portType: 'TCP', + portNumber: 22, + discoveredDate: -62135596800000, + host: null, + services: [ + { + id: 0, + cryptoType: 'TCP', + serviceName: 'SSH', + discoveredDate: -62135596800000, + port: null, + target: false + } + ] + } + ] + }, + { + id: 0, + ip: '192.168.1.15', + mac: '00:19:b9:35:8e:a6', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: [ + { + id: 0, + portType: 'TCP', + portNumber: 22, + discoveredDate: -62135596800000, + host: null, + services: null + }, + { + id: 0, + portType: 'TCP', + portNumber: 25, + discoveredDate: -62135596800000, + host: null, + services: null + } + ] + }, + { + id: 0, + ip: '192.168.1.100', + mac: '00:17:08:8d:cf:f7', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: [ + { + id: 0, + portType: 'UDP', + portNumber: 161, + discoveredDate: -62135596800000, + host: null, + services: [ + { + id: 0, + cryptoType: null, + serviceName: 'SNMP_V2', + discoveredDate: -62135596800000, + port: null, + target: false + } + ] + }, + { + id: 0, + portType: 'TCP', + portNumber: 23, + discoveredDate: -62135596800000, + host: null, + services: null + }, + { + id: 0, + portType: 'TCP', + portNumber: 21, + discoveredDate: -62135596800000, + host: null, + services: null + } + ] + }, + { + id: 0, + ip: '192.168.1.16', + mac: '00:19:b9:19:7e:c7', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: [ + { + id: 0, + portType: 'TCP', + portNumber: 22, + discoveredDate: -62135596800000, + host: null, + services: null + } + ] + }, + { + id: 0, + ip: '192.168.1.106', + mac: '44:8a:5b:f1:3a:7d', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: [ + { + id: 0, + portType: 'UDP', + portNumber: 161, + discoveredDate: -62135596800000, + host: null, + services: [ + { + id: 0, + cryptoType: null, + serviceName: 'SNMP_V2', + discoveredDate: -62135596800000, + port: null, + target: false + } + ] + }, + { + id: 0, + portType: 'TCP', + portNumber: 21, + discoveredDate: -62135596800000, + host: null, + services: null + } + ] + }, + { + id: 0, + ip: '192.168.1.101', + mac: '44:8a:5b:f1:f1:f3', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: null + }, + { + id: 0, + ip: '192.168.1.102', + mac: '44:8a:5b:f1:f2:d3', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: null + }, + { + id: 0, + ip: '192.168.1.205', + mac: '40:98:ad:7b:d0:43', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: null + }, + { + id: 0, + ip: '192.168.1.103', + mac: '44:8a:5b:44:8c:e8', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: [ + { + id: 0, + portType: 'TCP', + portNumber: 21, + discoveredDate: -62135596800000, + host: null, + services: null + } + ] + }, + { + id: 0, + ip: '192.168.1.10', + mac: 'd0:50:99:97:5d:99', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: [ + { + id: 0, + portType: 'TCP', + portNumber: 22, + discoveredDate: -62135596800000, + host: null, + services: null + } + ] + }, + { + id: 0, + ip: '192.168.1.203', + mac: 'a8:e5:39:5b:c9:62', + os: null, + discoveredDate: -62135596800000, + target: false, + zone: null, + ports: null + } +]; + diff --git a/src/packages/discovery/discovery-logger.module.ts b/src/packages/discovery/discovery-logger.module.ts new file mode 100644 index 0000000..2431e36 --- /dev/null +++ b/src/packages/discovery/discovery-logger.module.ts @@ -0,0 +1,10 @@ +import { NgModule } from '@angular/core'; +import { LoggerModule } from '@loafer/ng-logger'; + + +@NgModule({ + imports: [ + LoggerModule.forFeature({}), + ], +}) +export class DiscoveryLoggerModule { } diff --git a/src/packages/discovery/discovery-rpc.module.ts b/src/packages/discovery/discovery-rpc.module.ts new file mode 100644 index 0000000..0dc1006 --- /dev/null +++ b/src/packages/discovery/discovery-rpc.module.ts @@ -0,0 +1,13 @@ +import { NgModule } from '@angular/core'; +import { RPCModule } from '@loafer/ng-rpc'; + +import { + SUBSCRIBERS, +} from './subscriber'; + +@NgModule({ + imports: [ + RPCModule.forFeature({subscribers: SUBSCRIBERS}), + ], +}) +export class DiscoveryRPCModule { } diff --git a/src/packages/discovery/discovery-store.module.ts b/src/packages/discovery/discovery-store.module.ts new file mode 100644 index 0000000..b8f2310 --- /dev/null +++ b/src/packages/discovery/discovery-store.module.ts @@ -0,0 +1,19 @@ +import { NgModule } from '@angular/core'; +import { StoreModule } from '@ngrx/store'; + +import { EffectsModule } from '@ngrx/effects'; + +import { + REDUCERS, + EFFECTS, +} from './store'; + +import { MODULE } from './discovery.constant'; + +@NgModule({ + imports: [ + StoreModule.forFeature(MODULE.name, REDUCERS), + EffectsModule.forFeature(EFFECTS), + ], +}) +export class DiscoveryStoreModule { } diff --git a/src/packages/discovery/discovery.constant.ts b/src/packages/discovery/discovery.constant.ts new file mode 100644 index 0000000..e3c6d68 --- /dev/null +++ b/src/packages/discovery/discovery.constant.ts @@ -0,0 +1,3 @@ +export const MODULE = { + name: 'discovery' + }; diff --git a/src/packages/discovery/discovery.module.ts b/src/packages/discovery/discovery.module.ts new file mode 100644 index 0000000..d7faa20 --- /dev/null +++ b/src/packages/discovery/discovery.module.ts @@ -0,0 +1,35 @@ +import { NgModule, Inject } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { DiscoveryStoreModule } from './discovery-store.module'; +import { DiscoveryRPCModule } from './discovery-rpc.module'; +import { DiscoveryLoggerModule } from './discovery-logger.module'; + +import { COMPONENTS } from './component'; +import { SERVICES } from './service'; +import { PrimeNGModules } from 'packages/commons/prime-ng/prime-ng.module'; +import { KeyValueModule } from 'app/commons/component/key-value/key-value.module'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + PrimeNGModules, + DiscoveryStoreModule, + DiscoveryRPCModule, + DiscoveryLoggerModule, + KeyValueModule, + ], + declarations: [ + COMPONENTS + ], + exports: [ + COMPONENTS, + ], + providers: [ + SERVICES, + ], +}) +export class DiscoveryModule { +} diff --git a/src/packages/discovery/service/discovery.service.spec.ts b/src/packages/discovery/service/discovery.service.spec.ts new file mode 100644 index 0000000..7859d24 --- /dev/null +++ b/src/packages/discovery/service/discovery.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { DiscoveryService } from './discovery.service'; + +describe('DiscoveryService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [DiscoveryService] + }); + }); + + it('should be created', inject([DiscoveryService], (service: DiscoveryService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/src/packages/discovery/service/discovery.service.ts b/src/packages/discovery/service/discovery.service.ts new file mode 100644 index 0000000..b66a540 --- /dev/null +++ b/src/packages/discovery/service/discovery.service.ts @@ -0,0 +1,42 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; +import { RPCService } from '@loafer/ng-rpc/service'; +import { + DiscoveryStartInfo, + DiscoverZone as MDDiscoverZone, + DiscoverHost as MDDiscoverHost, + DiscoverPort as MDDiscoverPort, + DiscoverService as MDDiscoverService, + Zone, + Host, + Port, + Service, +} from '@overflow/commons-typescript/model/discovery'; + +@Injectable() +export class DiscoveryService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public start(dsInfo: DiscoveryStartInfo): Observable { + + return this.rpcService.call('DiscoveryService.startDiscovery', dsInfo); + } + + public discoverZone(probeID: string, discoverZone: MDDiscoverZone): void { + this.rpcService.send('DiscoveryService.discoverZone', probeID, discoverZone); + } + public discoverHost(probeID: string, zone: Zone, discoverHost: MDDiscoverHost): void { + this.rpcService.send('DiscoveryService.discoverHost', probeID, zone, discoverHost); + } + public discoverPort(probeID: string, host: Host, discoverPort: MDDiscoverPort): void { + this.rpcService.send('DiscoveryService.discoverPort', probeID, host, discoverPort); + } + public discoverService(probeID: string, port: Port, discoverService: MDDiscoverService): void { + this.rpcService.send('DiscoveryService.discoverService', probeID, port, discoverService); + } +} diff --git a/src/packages/discovery/service/index.ts b/src/packages/discovery/service/index.ts new file mode 100644 index 0000000..d227ad7 --- /dev/null +++ b/src/packages/discovery/service/index.ts @@ -0,0 +1,7 @@ +import { DiscoveryService } from './discovery.service'; +import { TargetDiscoveryService } from './target-discovery.service'; + +export const SERVICES = [ + DiscoveryService, + TargetDiscoveryService, +]; diff --git a/src/packages/discovery/service/target-discovery.service.spec.ts b/src/packages/discovery/service/target-discovery.service.spec.ts new file mode 100644 index 0000000..6e58f64 --- /dev/null +++ b/src/packages/discovery/service/target-discovery.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { TargetDiscoveryService } from './target-discovery.service'; + +describe('TargetDiscoveryService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [TargetDiscoveryService] + }); + }); + + it('should be created', inject([TargetDiscoveryService], (service: TargetDiscoveryService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/src/packages/discovery/service/target-discovery.service.ts b/src/packages/discovery/service/target-discovery.service.ts new file mode 100644 index 0000000..1f60a7a --- /dev/null +++ b/src/packages/discovery/service/target-discovery.service.ts @@ -0,0 +1,31 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; +import { RPCService } from '@loafer/ng-rpc/service'; +import { + DiscoveryStartInfo, + DiscoverZone as MDDiscoverZone, + DiscoverHost as MDDiscoverHost, + DiscoverPort as MDDiscoverPort, + DiscoverService as MDDiscoverService, + Zone, + Host, + Port, + Service, +} from '@overflow/commons-typescript/model/discovery'; +import { Probe } from '@overflow/commons-typescript/model/probe'; + +@Injectable() +export class TargetDiscoveryService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public saveAllTarget(hosts: Host[], probe: Probe): Observable { + + return this.rpcService.call('TargetDiscoveryService.saveAllTarget', hosts, probe); + } + +} diff --git a/src/packages/discovery/store/discover/discover.action.ts b/src/packages/discovery/store/discover/discover.action.ts new file mode 100644 index 0000000..8450f40 --- /dev/null +++ b/src/packages/discovery/store/discover/discover.action.ts @@ -0,0 +1,97 @@ +import { Action } from '@ngrx/store'; + +import { + Zone, + Host, + Port, + Service, + DiscoverZone as MDDiscoverZone, + DiscoverHost as MDDiscoverHost, + DiscoverPort as MDDiscoverPort, + DiscoverService as MDiscoverService, +} from '@overflow/commons-typescript/model/discovery'; + + export enum ActionType { + DiscoverZone = '[discovery.discovery] discoverZone', + DiscoverHost = '[discovery.discovery] discoverHost', + DiscoverPort = '[discovery.discovery] discoverPort', + DiscoverService = '[discovery.discovery] discoverService', + + DiscoveryStart = '[discovery.discovery] DiscoveryService.discoveryStart', + DiscoveryStop = '[discovery.discovery] DiscoveryService.discoveryStop', + DiscoveredZone = '[discovery.discovery] DiscoveryService.discoveredZone', + DiscoveredHost = '[discovery.discovery] DiscoveryService.discoveredHost', + DiscoveredPort = '[discovery.discovery] DiscoveryService.discoveredPort', + DiscoveredService = '[discovery.discovery] DiscoveryService.discoveredService', +} + +export class DiscoverZone implements Action { + readonly type = ActionType.DiscoverZone; + + constructor(public payload: {probeID: string, discoverZone: MDDiscoverZone}) {} +} + +export class DiscoverHost implements Action { + readonly type = ActionType.DiscoverHost; + + constructor(public payload: {probeID: string, zone: Zone, discoverHost: MDDiscoverHost}) {} +} + +export class DiscoverPort implements Action { + readonly type = ActionType.DiscoverPort; + + constructor(public payload: {probeID: string, host: Host, discoverPort: MDDiscoverPort}) {} +} + +export class DiscoverService implements Action { + readonly type = ActionType.DiscoverService; + constructor(public payload: {probeID: string, port: Port, discoverService: MDiscoverService}) {} +} + +export class DiscoveryStart implements Action { + readonly type = ActionType.DiscoveryStart; + + constructor(public payload: Date) {} +} + +export class DiscoveryStop implements Action { + readonly type = ActionType.DiscoveryStop; + + constructor(public payload: Date) {} +} + +export class DiscoveredZone implements Action { + readonly type = ActionType.DiscoveredZone; + + constructor(public payload: Zone) {} +} + +export class DiscoveredHost implements Action { + readonly type = ActionType.DiscoveredHost; + + constructor(public payload: Host) {} +} + +export class DiscoveredPort implements Action { + readonly type = ActionType.DiscoveredPort; + + constructor(public payload: Port) {} +} + +export class DiscoveredService implements Action { + readonly type = ActionType.DiscoveredService; + constructor(public payload: Service) {} +} + +export type Actions = + | DiscoverZone + | DiscoverHost + | DiscoverPort + | DiscoverService + | DiscoveryStart + | DiscoveryStop + | DiscoveredZone + | DiscoveredHost + | DiscoveredPort + | DiscoveredService +; diff --git a/src/packages/discovery/store/discover/discover.effect.spec.ts b/src/packages/discovery/store/discover/discover.effect.spec.ts new file mode 100644 index 0000000..f868840 --- /dev/null +++ b/src/packages/discovery/store/discover/discover.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './discover.effect'; + +describe('Discover.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/discovery/store/discover/discover.effect.ts b/src/packages/discovery/store/discover/discover.effect.ts new file mode 100644 index 0000000..92b1448 --- /dev/null +++ b/src/packages/discovery/store/discover/discover.effect.ts @@ -0,0 +1,66 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { + DiscoverZone, + DiscoverHost, + DiscoverPort, + DiscoverService, + ActionType +} from './discover.action'; +import {DiscoveryService} from '../../service/discovery.service'; + + +@Injectable() +export class Effects { + + constructor(private actions$: Actions, + private discoveryService: DiscoveryService, + private router: Router) { + } + + @Effect({ dispatch: false }) + discoveryZone$ = this.actions$ + .ofType(ActionType.DiscoverZone) + .map((action: DiscoverZone) => action.payload) + .do(payload => { + this.discoveryService.discoverZone(payload.probeID, payload.discoverZone); + }); + + @Effect({ dispatch: false }) + discoveryHost$ = this.actions$ + .ofType(ActionType.DiscoverHost) + .map((action: DiscoverHost) => action.payload) + .do(payload => { + this.discoveryService.discoverHost(payload.probeID, payload.zone, payload.discoverHost); + }); + + @Effect({ dispatch: false }) + discoveryPort$ = this.actions$ + .ofType(ActionType.DiscoverPort) + .map((action: DiscoverPort) => action.payload) + .do(payload => { + this.discoveryService.discoverPort(payload.probeID, payload.host, payload.discoverPort); + }); + + @Effect({ dispatch: false }) + discoveryService$ = this.actions$ + .ofType(ActionType.DiscoverService) + .map((action: DiscoverService) => action.payload) + .do(payload => { + this.discoveryService.discoverService(payload.probeID, payload.port, payload.discoverService); + }); +} diff --git a/src/packages/discovery/store/discover/discover.reducer.ts b/src/packages/discovery/store/discover/discover.reducer.ts new file mode 100644 index 0000000..5da1790 --- /dev/null +++ b/src/packages/discovery/store/discover/discover.reducer.ts @@ -0,0 +1,227 @@ +import { + Actions, + ActionType, +} from './discover.action'; + +import { + State, + initialState, +} from './discover.state'; + +import { + Zone, + Host, + Port, + Service, +} from '@overflow/commons-typescript/model/discovery'; + +// import * as _ 'lodash'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.DiscoveryStart: { + + return { + ...state, + isStart: true + }; + } + case ActionType.DiscoveryStop: { + return { + ...state, + isEnd: true + }; + } + case ActionType.DiscoveredZone: { + const zone: Zone = action.payload; + const zones: Map = null === state.zones ? new Map() : state.zones; + + zones.set(zone.network, zone); + + const newZones: Map = new Map(); + + zones.forEach(function(value, key) { + newZones.set(key, value); + }); + + return { + ...state, + zones : newZones, + }; + } + + case ActionType.DiscoveredHost: { + const host: Host = action.payload; + let zone = null; + + let zones: Map = state.zones; + + if (zones === undefined || zones === null) { + zones = new Map(); + zone = host.zone; + // zones.set(zone.network, zone); + } else { + zone = zones.get(host.zone.network); + } + + if (undefined === zone) { + // console.error(`Discovery.discoveredHost: Zone[${host.zone.network}] is not exist`); + zone = new Map(); + } + if (null === zone.hosts || undefined === zone.hosts) { + zone.hosts = new Map(); + zone.hosts.set(host.ipv4, host); + } else { + if (zone.hosts.has(host.ipv4) === false) { + zone.hosts.set(host.ipv4, host); + } + } + + zones.set(zone.network, zone); + + const newZones: Map = new Map(); + + zones.forEach(function(value, key) { + newZones.set(key, value); + }); + + return { + ...state, + zones: newZones + }; + } + + case ActionType.DiscoveredPort: { + const port: Port = action.payload; + let zone = state.zones.get(port.host.zone.network); + + let zones: Map = state.zones; + + if (zones === undefined || zones === null) { + zones = new Map(); + } + + if (zone === undefined || zone === null) { + zone = port.host.zone; + } + + // if (undefined === zone) { + // console.error(`Discovery.DiscoveredPort: Zone[${port.host.zone.network}] is not exist`); + // } + + // if (null === zone.hosts || undefined === zone.hosts.get(port.host.ip)) { + // console.error(`Discovery.DiscoveredPort: Host[${port.host.ip}] is not exist`); + // return state; + // } + + if (zone.hosts === undefined || zone.hosts === null) { + zone.hosts = new Map(); + } + let host: Host = null; + host = zone.hosts.get(port.host.ipv4); + + if (host === undefined || host === null) { + host = port.host; + } + + if (null === host.ports || undefined === host.ports) { + host.ports = new Map(); + host.ports.set(port.portNumber, port); + } else { + if (host.ports.has(port.portNumber) === false) { + host.ports.set(port.portNumber, port); + } + } + + zone.hosts.set(host.ipv4, host); + zones.set(zone.network, zone); + + const newZones: Map = new Map(); + + zones.forEach(function(value, key) { + newZones.set(key, value); + }); + + return { + ...state, + zones: newZones + }; + + } + + case ActionType.DiscoveredService: { + const service: Service = action.payload; + let zone = state.zones.get(service.port.host.zone.network); + + let zones: Map = state.zones; + + if (zones === undefined || zones === null) { + zones = new Map(); + } + + if (zone === undefined || zone === null) { + zone = service.port.host.zone; + } + + if (zone.hosts === undefined || zone.hosts === null) { + zone.hosts = new Map(); + } + + // if (undefined === zone) { + // console.error(`Discovery.DiscoveredService: Zone[${service.port.host.zone.network}] is not exist`); + // } + // if (null === zone.hosts || undefined === zone.hosts.get(service.port.host.ip)) { + // console.error(`Discovery.DiscoveredPort: Host[${service.port.host.ip}] is not exist`); + // } + let host: Host = null; + host = zone.hosts.get(service.port.host.ipv4); + + if (host === undefined || host === null) { + zone.hosts.set(service.port.host.ipv4, service.port.host); + host = service.port.host; + } + + if (undefined === host.ports || null === host.ports) { + host.ports = new Map(); + host.ports.set(service.port.portNumber, service.port); + } + + let port: Port = null; + port = host.ports.get(service.port.portNumber); + + if (undefined === port || null === port) { + port = service.port; + } + + if ( undefined === port.services || null === port.services) { + port.services = new Map(); + } + port.services.set(service.serviceName, service); + + host.ports.set(service.port.portNumber, port); + zone.hosts.set(host.ipv4, host); + zones.set(zone.network, zone); + + const newZones: Map = new Map(); + + zones.forEach(function(value, key) { + newZones.set(key, value); + }); + + return { + ...state, + zones: newZones + }; + } + + default: { + return state; + } + } +} + + +// function checkZone(state, pZone: Zone) : { + + +// } diff --git a/src/packages/discovery/store/discover/discover.state.ts b/src/packages/discovery/store/discover/discover.state.ts new file mode 100644 index 0000000..4f46885 --- /dev/null +++ b/src/packages/discovery/store/discover/discover.state.ts @@ -0,0 +1,22 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Zone } from '@overflow/commons-typescript/model/discovery'; + +export interface State { + error: RPCClientError | null; + processing: boolean; + zones: Map | null; + isReq: boolean; + isStart: boolean; + isEnd: boolean; +} + +export const initialState: State = { + error: null, + processing: false, + zones: null, + isReq: false, + isStart: false, + isEnd: false +}; + diff --git a/src/packages/discovery/store/discover/index.ts b/src/packages/discovery/store/discover/index.ts new file mode 100644 index 0000000..cdd131c --- /dev/null +++ b/src/packages/discovery/store/discover/index.ts @@ -0,0 +1,4 @@ +export * from './discover.action'; +export * from './discover.reducer'; +export * from './discover.state'; +export * from './discover.effect'; diff --git a/src/packages/discovery/store/index.ts b/src/packages/discovery/store/index.ts new file mode 100644 index 0000000..d54fd4a --- /dev/null +++ b/src/packages/discovery/store/index.ts @@ -0,0 +1,42 @@ +import { + createSelector, + createFeatureSelector, + ActionReducerMap, + Selector, +} from '@ngrx/store'; + +import { StateSelector } from 'packages/core/ngrx/store'; + +import { MODULE } from '../discovery.constant'; + + +import * as DiscoverStore from './discover'; +import * as SettingStore from './setting'; + + +export interface State { + discover: DiscoverStore.State; + setting: SettingStore.State; +} + +export const REDUCERS = { + discover: DiscoverStore.reducer, + setting: SettingStore.reducer, +}; + +export const EFFECTS = [ + SettingStore.Effects, + DiscoverStore.Effects, +]; + +export const selectDiscoveryState = createFeatureSelector(MODULE.name); + +export const DiscoverSelector = new StateSelector(createSelector( + selectDiscoveryState, + (state: State) => state.discover +)); + +export const SettingSelector = new StateSelector(createSelector( + selectDiscoveryState, + (state: State) => state.setting +)); diff --git a/src/packages/discovery/store/regist/index.ts b/src/packages/discovery/store/regist/index.ts new file mode 100644 index 0000000..f6da3fb --- /dev/null +++ b/src/packages/discovery/store/regist/index.ts @@ -0,0 +1,4 @@ +export * from './regist.action'; +export * from './regist.effect'; +export * from './regist.reducer'; +export * from './regist.state'; diff --git a/src/packages/discovery/store/regist/regist.action.ts b/src/packages/discovery/store/regist/regist.action.ts new file mode 100644 index 0000000..07b72da --- /dev/null +++ b/src/packages/discovery/store/regist/regist.action.ts @@ -0,0 +1,45 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { + Zone, + Host, + Port, + Service, + DiscoverZone as MDDiscoverZone, + DiscoverHost as MDDiscoverHost, + DiscoverPort as MDDiscoverPort, + DiscoverService as MDiscoverService, +} from '@overflow/commons-typescript/model/discovery'; +import { Probe } from '@overflow/commons-typescript/model/probe'; + + export enum ActionType { + SaveAllTarget = '[@@REGIST] TargetDiscoveryService.saveAllTarget', + SaveAllTargetSuccess = '[@@REGIST] TargetDiscoveryService.SaveAllTargetSuccess', + SaveAllTargetFailure = '[@@REGIST] TargetDiscoveryService.SaveAllTargetFailure', +} + +export class DiscoverySaveAllTarget implements Action { + readonly type = ActionType.SaveAllTarget; + + constructor(public payload: {hosts: Host[], probe: Probe}) {} +} + +export class DiscoverySaveAllTargetSuccess implements Action { + readonly type = ActionType.SaveAllTargetSuccess; + + constructor(public payload: Boolean) {} +} + +export class DiscoverySaveAllTargetFailure implements Action { + readonly type = ActionType.SaveAllTargetFailure; + + constructor(public payload: RPCClientError) {} +} + +export type Actions = + | DiscoverySaveAllTarget + | DiscoverySaveAllTargetSuccess + | DiscoverySaveAllTargetFailure +; diff --git a/src/packages/discovery/store/regist/regist.effect.spec.ts b/src/packages/discovery/store/regist/regist.effect.spec.ts new file mode 100644 index 0000000..2b298f3 --- /dev/null +++ b/src/packages/discovery/store/regist/regist.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './regist.effect'; + +describe('Regist.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/discovery/store/regist/regist.effect.ts b/src/packages/discovery/store/regist/regist.effect.ts new file mode 100644 index 0000000..d94d273 --- /dev/null +++ b/src/packages/discovery/store/regist/regist.effect.ts @@ -0,0 +1,51 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { DiscoveryStartInfo } from '@overflow/commons-typescript/model/discovery'; +import { TargetDiscoveryService } from '../../service/target-discovery.service'; + +import { + DiscoverySaveAllTarget, + DiscoverySaveAllTargetSuccess, + DiscoverySaveAllTargetFailure, + ActionType +} from './regist.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private targetDiscoveryService: TargetDiscoveryService, + private router: Router + ) { } + + @Effect() + saveAllTargetResult$: Observable = this.actions$ + .ofType(ActionType.SaveAllTarget) + .map((action: DiscoverySaveAllTarget) => action.payload) + .switchMap(payload => this.targetDiscoveryService.saveAllTarget(payload.hosts, payload.probe)) + .map(result => { + return new DiscoverySaveAllTargetSuccess(result); + }) + .catch((error: RPCClientError) => { + console.log(error.response.message); + return of(new DiscoverySaveAllTargetFailure(error)); + }); + +} diff --git a/src/packages/discovery/store/regist/regist.reducer.ts b/src/packages/discovery/store/regist/regist.reducer.ts new file mode 100644 index 0000000..3e34b2f --- /dev/null +++ b/src/packages/discovery/store/regist/regist.reducer.ts @@ -0,0 +1,45 @@ +import { + Actions, + ActionType, +} from './regist.action'; + +import { + State, + initialState, +} from './regist.state'; + +import { DiscoveryStartInfo } from '@overflow/commons-typescript/model/discovery'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.SaveAllTarget: { + return { + ...state, + error: null, + isPending: true, + }; + } + + case ActionType.SaveAllTargetSuccess: { + return { + ...state, + error: null, + isPending: false, + isSuccess: action.payload, + }; + } + + case ActionType.SaveAllTargetFailure: { + return { + ...state, + error: action.payload, + isPending: false, + isSuccess: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/discovery/store/regist/regist.state.ts b/src/packages/discovery/store/regist/regist.state.ts new file mode 100644 index 0000000..d0cfad4 --- /dev/null +++ b/src/packages/discovery/store/regist/regist.state.ts @@ -0,0 +1,18 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { DiscoveryStartInfo } from '@overflow/commons-typescript/model/discovery'; + +export interface State { + error: RPCClientError | null; + isPending: boolean; + isSuccess: Boolean | null; +} + +export const initialState: State = { + error: null, + isPending: false, + isSuccess: null, +}; + +export const getSuccess = (state: State) => state.isSuccess; + diff --git a/src/packages/discovery/store/setting/index.ts b/src/packages/discovery/store/setting/index.ts new file mode 100644 index 0000000..1393479 --- /dev/null +++ b/src/packages/discovery/store/setting/index.ts @@ -0,0 +1,4 @@ +export * from './setting.action'; +export * from './setting.effect'; +export * from './setting.reducer'; +export * from './setting.state'; diff --git a/src/packages/discovery/store/setting/setting.action.ts b/src/packages/discovery/store/setting/setting.action.ts new file mode 100644 index 0000000..1048146 --- /dev/null +++ b/src/packages/discovery/store/setting/setting.action.ts @@ -0,0 +1,42 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { DiscoveryStartInfo } from '@overflow/commons-typescript/model/discovery'; + +export enum ActionType { + Setting = '[discovery.setting] Setting', + SettingSuccess = '[discovery.setting] SettingSuccess', + SettingFailure = '[discovery.setting] SettingFailure', + SettingRedirect = '[discovery.setting] SettingRedirect', +} + +export class Setting implements Action { + readonly type = ActionType.Setting; + + constructor(public payload: DiscoveryStartInfo) {} +} + +export class SettingSuccess implements Action { + readonly type = ActionType.SettingSuccess; + + constructor(public payload: DiscoveryStartInfo) {} +} + +export class SettingFailure implements Action { + readonly type = ActionType.SettingFailure; + + constructor(public payload: RPCClientError) {} +} + +export class SettingRedirect implements Action { + readonly type = ActionType.SettingRedirect; +} + + +export type Actions = + | Setting + | SettingSuccess + | SettingFailure + | SettingRedirect +; diff --git a/src/packages/discovery/store/setting/setting.effect.spec.ts b/src/packages/discovery/store/setting/setting.effect.spec.ts new file mode 100644 index 0000000..cbfff71 --- /dev/null +++ b/src/packages/discovery/store/setting/setting.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './setting.effect'; + +describe('Auth.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/discovery/store/setting/setting.effect.ts b/src/packages/discovery/store/setting/setting.effect.ts new file mode 100644 index 0000000..1647b90 --- /dev/null +++ b/src/packages/discovery/store/setting/setting.effect.ts @@ -0,0 +1,51 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { DiscoveryStartInfo } from '@overflow/commons-typescript/model/discovery'; +import { DiscoveryService } from '../../service/discovery.service'; + +import { + Setting, + SettingSuccess, + SettingFailure, + ActionType, +} from './setting.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private discoveryService: DiscoveryService, + private router: Router + ) { } + + @Effect() + startDiscovery$: Observable = this.actions$ + .ofType(ActionType.Setting) + .map((action: Setting) => action.payload) + .switchMap(payload => this.discoveryService.start(payload)) + .map(discoveryStartInfo => { + return new SettingSuccess(discoveryStartInfo); + }) + .catch((error: RPCClientError) => { + console.log(error.response.message); + return of(new SettingFailure(error)); + }); + +} diff --git a/src/packages/discovery/store/setting/setting.reducer.ts b/src/packages/discovery/store/setting/setting.reducer.ts new file mode 100644 index 0000000..6a62cf5 --- /dev/null +++ b/src/packages/discovery/store/setting/setting.reducer.ts @@ -0,0 +1,48 @@ +import { + Actions, + ActionType, + Setting, +} from './setting.action'; + +import { + State, + initialState, +} from './setting.state'; + +import { DiscoveryStartInfo } from '@overflow/commons-typescript/model/discovery'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.Setting: { + return { + ...state, + error: null, + isPending: true, + }; + } + + case ActionType.SettingSuccess: { + return { + ...state, + isStart: true, + error: null, + isPending: false, + discoveryStartInfo: action.payload, + }; + } + + case ActionType.SettingFailure: { + return { + ...state, + isStart: false, + error: action.payload, + isPending: false, + discoveryStartInfo: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/discovery/store/setting/setting.state.ts b/src/packages/discovery/store/setting/setting.state.ts new file mode 100644 index 0000000..072ec8b --- /dev/null +++ b/src/packages/discovery/store/setting/setting.state.ts @@ -0,0 +1,22 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { DiscoveryStartInfo } from '@overflow/commons-typescript/model/discovery'; + +export interface State { + isStart: boolean; + error: RPCClientError | null; + isPending: boolean; + discoveryStartInfo: DiscoveryStartInfo | null; +} + +export const initialState: State = { + isStart: false, + error: null, + isPending: false, + discoveryStartInfo: null, +}; + +export const isStart = (state: State) => state.isStart; +export const getDiscoveryStartInfo = (state: State) => state.discoveryStartInfo; +export const getError = (state: State) => state.error; +export const isPending = (state: State) => state.isPending; diff --git a/src/packages/discovery/subscriber/discovery.subscriber.ts b/src/packages/discovery/subscriber/discovery.subscriber.ts new file mode 100644 index 0000000..d4f0dc5 --- /dev/null +++ b/src/packages/discovery/subscriber/discovery.subscriber.ts @@ -0,0 +1,61 @@ +import { Injectable } from '@angular/core'; +import { Store, select } from '@ngrx/store'; + +import { RPCSubscriber } from '@loafer/ng-rpc/decorator'; +import { LoggerService } from '@loafer/ng-logger/service'; + +import * as DiscoverStore from '../store/discover'; + +import { + Zone, + Host, + Port, + Service, +} from '@overflow/commons-typescript/model/discovery'; + +@Injectable() +export class DiscoverySubscriber { + + public constructor( + private store: Store, + private loggerService: LoggerService, + ) { + } + + @RPCSubscriber({method: 'DiscoveryService.discoveryStart'}) + public discoveryStart(startDate: Date): void { + this.loggerService.debug('DiscoverySubscriber.discoveryStart startDate:', startDate); + + this.store.dispatch(new DiscoverStore.DiscoveryStart(startDate)); + } + + @RPCSubscriber({method: 'DiscoveryService.discoveryStop'}) + public discoveryStop(stopDate: Date): void { + this.loggerService.debug('DiscoverySubscriber.discoveryStop stopDate:', stopDate); + + this.store.dispatch(new DiscoverStore.DiscoveryStop(stopDate)); + } + + + @RPCSubscriber({method: 'DiscoveryService.discoveredZone'}) + public discoveredZone(zone: Zone): void { + this.loggerService.debug('DiscoverySubscriber.discoveredZone zone:', zone); + + this.store.dispatch(new DiscoverStore.DiscoveredZone(zone)); + } + @RPCSubscriber({method: 'DiscoveryService.discoveredHost'}) + public discoveredHost(host: Host): void { + this.loggerService.debug('DiscoverySubscriber.discoveredHost host:', host); + + this.store.dispatch(new DiscoverStore.DiscoveredHost(host)); + } + @RPCSubscriber({method: 'DiscoveryService.discoveredPort'}) + public discoveredPort(port: Port): void { + this.store.dispatch(new DiscoverStore.DiscoveredPort(port)); + } + @RPCSubscriber({method: 'DiscoveryService.discoveredService'}) + public discoveredService(service: Service): void { + this.loggerService.debug('DiscoverySubscriber.discoveredService service:', service); + this.store.dispatch(new DiscoverStore.DiscoveredService(service)); + } +} diff --git a/src/packages/discovery/subscriber/index.ts b/src/packages/discovery/subscriber/index.ts new file mode 100644 index 0000000..c2a5515 --- /dev/null +++ b/src/packages/discovery/subscriber/index.ts @@ -0,0 +1,5 @@ +import { DiscoverySubscriber } from './discovery.subscriber'; + +export const SUBSCRIBERS = [ + DiscoverySubscriber, +]; diff --git a/src/packages/infra/component/host-summary/host-summary.component.html b/src/packages/infra/component/host-summary/host-summary.component.html new file mode 100644 index 0000000..fe36ce1 --- /dev/null +++ b/src/packages/infra/component/host-summary/host-summary.component.html @@ -0,0 +1,5 @@ +
      + + + +
      \ No newline at end of file diff --git a/src/packages/infra/component/host-summary/host-summary.component.ts b/src/packages/infra/component/host-summary/host-summary.component.ts new file mode 100644 index 0000000..33c59ee --- /dev/null +++ b/src/packages/infra/component/host-summary/host-summary.component.ts @@ -0,0 +1,27 @@ +import { Component, OnInit, AfterContentInit, Input, OnChanges } from '@angular/core'; +import { InfraHost } from '@overflow/commons-typescript/model/infra'; + + +@Component({ + selector: 'of-host-summary', + templateUrl: './host-summary.component.html', +}) +export class HostSummaryComponent implements OnInit, AfterContentInit, OnChanges { + + @Input() host: InfraHost; + @Input() visible: boolean; + + constructor( + ) { } + + ngOnInit() { + } + + ngAfterContentInit() { + } + + ngOnChanges() { + } + +} + diff --git a/src/packages/infra/component/index.ts b/src/packages/infra/component/index.ts new file mode 100644 index 0000000..9894e82 --- /dev/null +++ b/src/packages/infra/component/index.ts @@ -0,0 +1,11 @@ +import { MapComponent } from './map/map.component'; +import { ProbeSummaryComponent } from './probe-summary/probe-summary.component'; +import { HostSummaryComponent } from './host-summary/host-summary.component'; +import { ServiceSummaryComponent } from './service-summary/service-summary.component'; + +export const COMPONENTS = [ + MapComponent, + ProbeSummaryComponent, + HostSummaryComponent, + ServiceSummaryComponent +]; diff --git a/src/packages/infra/component/map/map.component.html b/src/packages/infra/component/map/map.component.html new file mode 100644 index 0000000..37e5359 --- /dev/null +++ b/src/packages/infra/component/map/map.component.html @@ -0,0 +1,176 @@ + + + + +
      +

      Map

      +
      +
      +
      + +
      +
      +
      + + +
      +
      + Up + Down + Warn + Error +
      +
      +
      +
      +
      + + + +
      {{node.label}}
      +
      + + +
      +
      {{node.label}}
      +
      +
      + + +
      +
      {{node.label}}
      +
      +
      + + +
      +
      {{node.label}}
      + +
      +
      + + +
      +
      {{node.label}}
      +
      +
      + + +
      +
      + {{node.label}} +
      +
      + {{node.obj.itemCount}} SensorItems +
      +
      +
      + +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/infra/component/map/map.component.spec.ts b/src/packages/infra/component/map/map.component.spec.ts new file mode 100644 index 0000000..62c3b6b --- /dev/null +++ b/src/packages/infra/component/map/map.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MapComponent } from './map.component'; + +describe('MapComponent', () => { + let component: MapComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [MapComponent] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(MapComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/infra/component/map/map.component.ts b/src/packages/infra/component/map/map.component.ts new file mode 100644 index 0000000..5603d76 --- /dev/null +++ b/src/packages/infra/component/map/map.component.ts @@ -0,0 +1,668 @@ +import { + Component, + OnInit, + AfterViewInit, + AfterContentInit, + ViewChild +} from '@angular/core'; +import { Router } from '@angular/router'; +import { TreeNode, MenuItem, ContextMenu } from 'primeng/primeng'; +import { Store, select } from '@ngrx/store'; +import * as ListStore from '../../store/list'; +import { ListSelector } from '../../store'; +import { Page, PageParams } from 'app/commons/model'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Target } from '@overflow/commons-typescript/model/target'; +import { Infra, InfraHost, InfraOSApplication, InfraService } from '@overflow/commons-typescript/model/infra'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { AuthSelector } from 'packages/member/store'; + +import { sensorListSelector } from 'packages/sensor/store'; + +import * as SensorListStore from 'packages/sensor/store/list'; +import { Sensor } from '@overflow/commons-typescript/model/sensor'; + +import * as _ from 'lodash'; + +interface HostData { + id: string; + target?: Target; + host: InfraHost; + services: InfraService[]; +} + +@Component({ + selector: 'of-infra-map', + templateUrl: './map.component.html' +}) +export class MapComponent implements OnInit, AfterContentInit { + infraTree: TreeNode[] = []; + + infras$ = this.listStore.pipe(select(ListSelector.select('page'))); + sensors$ = this.sensorListStore.pipe(select(sensorListSelector.select('page'))); + display = false; + loading = false; + renameProbeVisible = false; + totalList: Infra[]; + hostDataList: HostData[] = new Array(); + sensorMap: Map> = new Map(); + targetTreeMap: Map = new Map(); + + DEFAULT_EXPANDED: Boolean = true; + + contextMenuProbe: MenuItem[]; + contextMenuHost: MenuItem[]; + contextMenuService: MenuItem[]; + contextMenuSensor: MenuItem[]; + + @ViewChild('cmProbe') cmProbe: ContextMenu; + @ViewChild('cmHost') cmHost: ContextMenu; + @ViewChild('cmService') cmService: ContextMenu; + @ViewChild('cmSensor') cmSensor: ContextMenu; + + selectedNode: TreeNode = null; + + sensorSettingDisplay = false; + target: Target = null; + + constructor(private router: Router, + private listStore: Store, + private sensorListStore: Store + ) { } + + ngAfterContentInit() { + + this.listStore.select(AuthSelector.select('domain')).subscribe( + (domain: Domain) => { + + const pageParams: PageParams = { + pageNo: '0', + countPerPage: '99999', + sortCol: 'id', + sortDirection: 'descending' + }; + + this.listStore.dispatch(new ListStore.ReadAllByDomain({ domain: domain, pageParams: pageParams })); + }, + (error) => { + console.log(error); + } + ); + } + + ngOnInit() { + this.infras$.subscribe( + (page: Page) => { + if (page !== null) { + this.totalList = page.content; + this.infraTree = this.generateInfraHostData(); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + }); + + this.sensors$.subscribe( + (page: Page) => { + if (page !== null) { + const sensorList = page.content; + this.addTreeForSensor(sensorList); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + this.initContextMenu(); + } + + initContextMenu() { + this.contextMenuProbe = [ + { label: 'Probe Menu', command: (event) => this.closeContextMenu() }, + { label: 'View this Probe', icon: 'fa-plus', command: (event) => this.viewInfo() }, + { label: 'Discovery', icon: 'fa-plus', command: (event) => this.discovery() }, + { label: 'Edit Alias', icon: 'fa-plus', command: (event) => this.editProbeAlias() }, + ]; + this.contextMenuHost = [ + { label: 'Host Menu', command: (event) => this.closeContextMenu() }, + { label: 'View this Host', icon: 'fa-plus', command: (event) => this.viewInfo() }, + { label: 'Add sensor', icon: 'fa-plus', command: (event) => this.addSensorWithTarget() }, + { label: 'Traceroute', icon: 'fa-plus', command: (event) => this.testTraceroute() }, + { label: 'ARP Test', icon: 'fa-plus', command: (event) => this.testARP() }, + { label: 'Ping Test', icon: 'fa-plus', command: (event) => this.testPing() }, + ]; + this.contextMenuService = [ + { label: 'Service Menu', command: (event) => this.closeContextMenu() }, + { label: 'View this Service', icon: 'fa-plus', command: (event) => this.viewInfo() }, + { label: 'Add sensor', icon: 'fa-plus', command: (event) => this.addSensorWithTarget() }, + ]; + this.contextMenuSensor = [ + { label: 'Sensor Menu', command: (event) => this.closeContextMenu() }, + { label: 'View this Sensor', icon: 'fa-plus', command: (event) => this.viewInfo() }, + { label: 'Edit', icon: 'fa-plus', command: (event) => this.editSensor() }, + { label: 'Remove', icon: 'fa-plus', command: (event) => this.removeSensor() }, + ]; + } + + closeContextMenu() { + this.cmProbe.hide(); + this.cmHost.hide(); + this.cmService.hide(); + this.cmSensor.hide(); + + } + + searchObj(treeList: any[], target: Target, searchList: any[]) { + + if (treeList === undefined || treeList === null) { + return; + } + + for (const t of treeList) { + if (t.obj !== undefined && t.obj == null) { + if (t.obj.target.id === target.id) { + searchList.push(t); + } else { + this.searchObj(t.children, target, searchList); + } + } + } + + } + + addTreeForSensor(sensorList: Array) { + + if (sensorList === undefined || sensorList === null || sensorList.length <= 0) { + return; + } + + // const tInfraTree = _.clone(this.infraTree); + + // const it = tInfraTree[0]; + // const it = this.infraTree[0]; + // // for (const it of this.infraTree) { + // if (it.children === null || it.children === undefined) { + // it.children = []; + // } + + // for (const itt of this.infraTree) { + + // } + // } + + for (const sensor of sensorList) { + const st = { + label: 'Sensors - ' + sensor.crawler.name, + type: 'sensor', + obj: sensor, + expanded: true + }; + + // FIXME:: target test id .... + const tt = this.targetTreeMap.get(4); + // const tt = this.targetTreeMap.get(sensor.target.id); + if (tt !== undefined && tt !== null) { + tt.children.push(st); + } + + + // it.children.push(st); + + } + + // this.infraTree = tInfraTree; + + } + + + generateInfraHostData(filterStr?: string): TreeNode[] { + + const itl: TreeNode[] = []; + + const probeMap: Map = new Map(); + + const hostMap: Map = new Map(); + + this.loading = true; + + this.sortInfraToMap(probeMap, hostMap, filterStr); + + this.targetTreeMap.clear(); + + const infraTree: TreeNode = this.generateInfraTree(probeMap, hostMap); + + for (const infra of this.totalList) { + this.getSensorByInfra(infra); + } + + this.loading = false; + + itl.push(infraTree); + + return itl; + + } + + generateInfraTree(probeMap: Map, hostMap: Map): TreeNode { + + const infraTree = { + label: 'Infra', + type: 'infra', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [], + }; + + probeMap.forEach((ifhl: InfraHost[], key: number) => { + const tp = { + label: ifhl[0].probe.displayName, + type: 'probe', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: this.DEFAULT_EXPANDED.valueOf(), + obj: { + id: key + }, + children: [], + }; + + + ifhl.map((ih: InfraHost, idx: number) => { + + const th = { + label: 'Host - ' + ih.ipv4, + type: 'host', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: this.DEFAULT_EXPANDED.valueOf(), + obj: ih, + children: [], + }; + + this.targetTreeMap.set(ih.target.id, th); + + if (hostMap.has(ih.ipv4)) { + + const ifsl = hostMap.get(ih.ipv4); + + + + for (let i = 0; i < ifsl.length; ++i) { + const ts = { + label: 'Service - ' + ifsl[i].vendor.name, + type: 'service', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: this.DEFAULT_EXPANDED.valueOf(), + obj: ifsl[i], + children: [], + }; + + this.targetTreeMap.set(ifsl[i].target.id, ts); + + th.children.push(ts); + } + + } + + + tp.children.push(th); + + }); + + // ProbeTree.children.push(tp); + infraTree.children.push(tp); + }); + + return infraTree; + } + + sortInfraToMap(probeMap: Map, hostMap: Map, filterStr: string) { + + for (const infra of this.totalList) { + const infraType = infra.infraType.name; + if (infraType === 'HOST') { + const infraHost: InfraHost = infra; + if (filterStr && String(infraHost.ipv4).indexOf(filterStr) < 0) { + continue; + } + + if (probeMap.has(infraHost.probe.id) === false) { + probeMap.set(infraHost.probe.id, []); + } + + const ihl: InfraHost[] = probeMap.get(infraHost.probe.id); + ihl.push(infraHost); + probeMap.set(infraHost.probe.id, ihl); + + } else if (infraType === 'OS_SERVICE') { + const infraService: InfraService = infra; + if (filterStr && this.checkFilterString(infraService, filterStr)) { + continue; + } + + if (hostMap.has(infraService.host.ipv4) === false) { + hostMap.set(infraService.host.ipv4, []); + } + + const isl = hostMap.get(infraService.host.ipv4); + isl.push(infraService); + + } + + } + + } + + getSensorByInfra(infra: Infra) { + + const pageParams: PageParams = { + pageNo: '0', + countPerPage: '10', + sortCol: 'id', + sortDirection: 'descending' + }; + + this.sensorListStore.dispatch(new SensorListStore.ReadAllByInfra({ id: String(infra.id), pageParams: pageParams })); + + } + + + checkFilterString(infraService: InfraService, filterStr: string) { + const upperCased = filterStr.toUpperCase().toUpperCase(); + if (infraService.vendor.name.toUpperCase().indexOf(upperCased) < 0 && + String(infraService.port).toUpperCase().indexOf(upperCased) < 0 && + infraService.portType.toUpperCase().indexOf(upperCased)) { + return true; + } + return false; + } + + getExistHost(infraHost: InfraHost): HostData { + let node = null; + for (const data of this.hostDataList) { + if (data.host.ipv4 === infraHost.ipv4) { + node = data; + } + } + return node; + } + + showDialog() { + this.display = true; + } + + closeDialog() { + this.display = false; + } + + expandAll() { + this.infraTree.forEach(node => { + this.expandRecursive(node, true); + }); + } + + collapseAll() { + this.infraTree.forEach(node => { + this.expandRecursive(node, false); + }); + } + + private expandRecursive(node: TreeNode, isExpand: boolean) { + node.expanded = isExpand; + if (node.children) { + node.children.forEach(childNode => { + this.expandRecursive(childNode, isExpand); + }); + } + } + + onNodeSelect(event) { + const nodeType = event.node.type; + this.selectedNode = event.node; + if (nodeType === 'probe') { + this.router.navigate(['probe', event.node.obj.id, 'info']); + } else if (nodeType === 'host' || nodeType === 'service') { + this.router.navigate(['target', event.node.obj.id, 'info']); + } else if (nodeType === 'sensor') { + this.router.navigate(['sensor', event.node.obj.id, 'info']); + } + } + + viewInfo() { + this.onNodeSelect({ + node : this.selectedNode, + }); + } + + nodeMenu(event: MouseEvent, node: any) { + this.selectedNode = node; + + this.cmProbe.hide(); + this.cmHost.hide(); + this.cmService.hide(); + this.cmSensor.hide(); + + if (node.type === 'probe') { + this.cmProbe.show(event); + } else if (node.type === 'host') { + this.cmHost.show(event); + } else if (node.type === 'service') { + this.cmService.show(event); + } else if (node.type === 'sensor') { + this.cmSensor.show(event); + } + + return false; + } + + testTraceroute() { + } + + testARP() { + } + + testPing() { + } + + editProbeAlias() { + this.renameProbeVisible = true; + } + + editSensor() { + } + + removeSensor() { + } + + discovery() { + this.display = true; + } + + addSensorWithTarget() { + this.target = this.selectedNode['obj'].target; + this.sensorSettingDisplay = true; + } + + onSensorSettingClose() { + this.target = null; + this.sensorSettingDisplay = false; + } + + onSaveProbeName(value) { + const probeName = this.selectedNode.label; + console.log(probeName); + } +} + +const testInfraList = [ + { + label: 'Infra', + type: 'infra', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [ + { + label: 'Zone - 192.168.1.0/24', + type: 'zone', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [ + { + label: 'Host - 192.168.1.106 - Snoop Host', + type: 'host', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [ + { + label: 'Sensors - WMI, SSH, SNMP', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true + }, + { + label: 'Service - FTP(21)', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [ + { + label: 'Sensors - FTP, Sensor', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true + } + ] + } + ] + }, + { + label: 'Host - 192.168.1.103 - Geek Host', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [ + { + label: 'Sensors - WMI, SSH, SNMP', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true + }, + { + label: 'Service - MySQL(3306)', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [ + { + label: 'Sensors - MySQL, PING', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true + } + ] + }, + { + label: 'Service - PostgreSQL(5555)', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [ + { + label: 'Sensors - PostgreSQL, PING', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true + } + ] + } + ] + } + ] + }, + { + label: 'Zone - 192.168.10.0/24', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [ + { + label: 'Host - 192.168.10.106 - Snoop Host', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [ + { + label: 'Sensors - WMI, SSH, SNMP', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true + }, + { + label: 'Service - FTP(21)', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [ + { + label: 'Sensors - FTP, Sensor', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true + } + ] + } + ] + }, + { + label: 'Host - 192.168.10.103 - Geek Host', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [ + { + label: 'Sensors - WMI, SSH, SNMP', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true + }, + { + label: 'Service - MySQL(3306)', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [ + { + label: 'Sensors - MySQL, PING', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true + } + ] + }, + { + label: 'Service - PostgreSQL(5555)', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true, + children: [ + { + label: 'Sensors - PostgreSQL, PING', + expandedIcon: 'fa-folder-open', + collapsedIcon: 'fa-folder', + expanded: true + } + ] + } + ] + } + ] + } + ] + } +]; + diff --git a/src/packages/infra/component/probe-summary/probe-summary.component.html b/src/packages/infra/component/probe-summary/probe-summary.component.html new file mode 100644 index 0000000..7b5b6a3 --- /dev/null +++ b/src/packages/infra/component/probe-summary/probe-summary.component.html @@ -0,0 +1,13 @@ +
      + + + + + + + + + + + +
      \ No newline at end of file diff --git a/src/packages/infra/component/probe-summary/probe-summary.component.ts b/src/packages/infra/component/probe-summary/probe-summary.component.ts new file mode 100644 index 0000000..04d7336 --- /dev/null +++ b/src/packages/infra/component/probe-summary/probe-summary.component.ts @@ -0,0 +1,53 @@ +import { Component, OnInit, AfterContentInit, Input, OnChanges } from '@angular/core'; +import { Store, select } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import * as DetailStore from 'packages/probe/store/probe-host'; +import { ProbeHostSelector } from 'packages/probe/store'; +import { Probe, ProbeHost } from '@overflow/commons-typescript/model/probe'; + + +@Component({ + selector: 'of-probe-summary', + templateUrl: './probe-summary.component.html', +}) +export class ProbeSummaryComponent implements OnInit, AfterContentInit, OnChanges { + + @Input() probe: Object; + @Input() visible: boolean; + + probeHost$ = this.detailStore.pipe(select(ProbeHostSelector.select('probeHost'))); + probeHost: ProbeHost; + + constructor( + private detailStore: Store, + ) { } + + ngOnInit() { + this.probeHost$.subscribe( + (probeHost: ProbeHost) => { + if (probeHost) { + console.log(probeHost); + this.probeHost = probeHost; + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + console.log('$$$$$$$$$$'); + console.log(this.probe); + console.log('$$$$$$$$$$'); + this.detailStore.dispatch( + new DetailStore.ReadByProbe(this.probe) + ); + } + + ngOnChanges() { + } + +} + diff --git a/src/packages/infra/component/service-summary/service-summary.component.html b/src/packages/infra/component/service-summary/service-summary.component.html new file mode 100644 index 0000000..451c6db --- /dev/null +++ b/src/packages/infra/component/service-summary/service-summary.component.html @@ -0,0 +1,5 @@ +
      + {{ service.vendor.name }} + {{ service.port }} + {{ service.portType }} +
      \ No newline at end of file diff --git a/src/packages/infra/component/service-summary/service-summary.component.ts b/src/packages/infra/component/service-summary/service-summary.component.ts new file mode 100644 index 0000000..e02954e --- /dev/null +++ b/src/packages/infra/component/service-summary/service-summary.component.ts @@ -0,0 +1,29 @@ +import { Component, OnInit, AfterContentInit, Input, OnChanges } from '@angular/core'; +import { InfraHost } from '@overflow/commons-typescript/model/infra'; +import { InfraService } from '../../service/infra.service'; + + +@Component({ + selector: 'of-service-summary', + templateUrl: './service-summary.component.html', +}) +export class ServiceSummaryComponent implements OnInit, AfterContentInit, OnChanges { + + @Input() service: InfraService; + @Input() visible: boolean; + + constructor( + ) { } + + ngOnInit() { + } + + ngAfterContentInit() { + console.log(this.service); + } + + ngOnChanges() { + } + +} + diff --git a/src/packages/infra/infra-store.module.ts b/src/packages/infra/infra-store.module.ts new file mode 100644 index 0000000..efcb0bc --- /dev/null +++ b/src/packages/infra/infra-store.module.ts @@ -0,0 +1,19 @@ +import { NgModule } from '@angular/core'; +import { StoreModule } from '@ngrx/store'; + +import { EffectsModule } from '@ngrx/effects'; + +import { + REDUCERS, + EFFECTS, +} from './store'; + +import { MODULE } from './infra.constant'; + +@NgModule({ + imports: [ + StoreModule.forFeature(MODULE.name, REDUCERS), + EffectsModule.forFeature(EFFECTS), + ], +}) +export class InfraStoreModule { } diff --git a/src/packages/infra/infra.constant.ts b/src/packages/infra/infra.constant.ts new file mode 100644 index 0000000..d8a2e8a --- /dev/null +++ b/src/packages/infra/infra.constant.ts @@ -0,0 +1,3 @@ +export const MODULE = { + name: 'infra' + }; diff --git a/src/packages/infra/infra.module.ts b/src/packages/infra/infra.module.ts new file mode 100644 index 0000000..8a92946 --- /dev/null +++ b/src/packages/infra/infra.module.ts @@ -0,0 +1,37 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { InfraStoreModule } from './infra-store.module'; +import { COMPONENTS } from './component'; +import { SERVICES } from './service'; +import { FormsModule } from '@angular/forms'; +import { PrimeNGModules } from '../commons/prime-ng/prime-ng.module'; +import { DiscoveryModule } from 'packages/discovery/discovery.module'; +import { SensorModule } from '../sensor/sensor.module'; +import { KeyValueModule } from 'app/commons/component/key-value/key-value.module'; +import { ProbeModule } from '../probe/probe.module'; +import { MetaCrawlerModule } from '../meta/crawler/crawler.module'; + + +@NgModule({ + imports: [ + CommonModule, + InfraStoreModule, + FormsModule, + PrimeNGModules, + DiscoveryModule, + SensorModule, + KeyValueModule, + ProbeModule, + MetaCrawlerModule + ], + declarations: [ + COMPONENTS, + ], + exports: [ + COMPONENTS, + ], + providers: [ + SERVICES + ] +}) +export class InfraModule { } diff --git a/src/packages/infra/service/index.ts b/src/packages/infra/service/index.ts new file mode 100644 index 0000000..089ea50 --- /dev/null +++ b/src/packages/infra/service/index.ts @@ -0,0 +1,5 @@ +import { InfraService } from './infra.service'; + +export const SERVICES = [ + InfraService, +]; diff --git a/src/packages/infra/service/infra.service.spec.ts b/src/packages/infra/service/infra.service.spec.ts new file mode 100644 index 0000000..9d6ab70 --- /dev/null +++ b/src/packages/infra/service/infra.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { InfraService } from './infra.service'; + +describe('InfraService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [InfraService] + }); + }); + + it('should be created', inject([InfraService], (service: InfraService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/src/packages/infra/service/infra.service.ts b/src/packages/infra/service/infra.service.ts new file mode 100644 index 0000000..1bf92e0 --- /dev/null +++ b/src/packages/infra/service/infra.service.ts @@ -0,0 +1,33 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; + +import 'rxjs/add/operator/map'; + +import { RPCService } from '@loafer/ng-rpc/service'; + +import { Infra } from '@overflow/commons-typescript/model/infra'; +import { Page, PageParams } from 'app/commons/model'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { Probe } from '@overflow/commons-typescript/model/probe'; + +@Injectable() +export class InfraService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public readAllByDomain(domain: Domain, pageParams: PageParams): Observable { + return this.rpcService.call('InfraService.readAllByDomain', domain, pageParams); + } + + public readAllByProbe(probe: Probe, pageParams: PageParams): Observable { + return this.rpcService.call('InfraService.readAllByProbe', probe, pageParams); + } + + public read(id: string): Observable { + return this.rpcService.call('InfraService.read', id); + } +} diff --git a/src/packages/infra/store/detail/detail.action.ts b/src/packages/infra/store/detail/detail.action.ts new file mode 100644 index 0000000..c2c7776 --- /dev/null +++ b/src/packages/infra/store/detail/detail.action.ts @@ -0,0 +1,35 @@ +import { Action } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Infra } from '@overflow/commons-typescript/model/infra'; + +export enum ActionType { + Read = '[Infra.list] Read', + ReadSuccess = '[Infra.list] ReadSuccess', + ReadFailure = '[Infra.list] ReadFailure', +} + +export class Read implements Action { + readonly type = ActionType.Read; + + constructor(public payload: { id: string }) { } +} + +export class ReadSuccess implements Action { + readonly type = ActionType.ReadSuccess; + + constructor(public payload: Infra) { } +} + +export class ReadFailure implements Action { + readonly type = ActionType.ReadFailure; + + constructor(public payload: RPCClientError) { } +} + + + +export type Actions = + | Read + | ReadSuccess + | ReadFailure + ; diff --git a/src/packages/infra/store/detail/detail.effect.spec.ts b/src/packages/infra/store/detail/detail.effect.spec.ts new file mode 100644 index 0000000..a77b6b1 --- /dev/null +++ b/src/packages/infra/store/detail/detail.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './list.effect'; + +describe('list.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/infra/store/detail/detail.effect.ts b/src/packages/infra/store/detail/detail.effect.ts new file mode 100644 index 0000000..88f06a0 --- /dev/null +++ b/src/packages/infra/store/detail/detail.effect.ts @@ -0,0 +1,49 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Infra } from '@overflow/commons-typescript/model/infra'; + +import { + Read, + ReadSuccess, + ReadFailure, + ActionType, +} from './detail.action'; +import { InfraService } from '../../service/infra.service'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private infraService: InfraService, + private router: Router + ) { } + + @Effect() + read$: Observable = this.actions$ + .ofType(ActionType.Read) + .map((action: Read) => action.payload) + .switchMap(payload => this.infraService.read(payload.id)) + .map(infra => { + return new ReadSuccess(infra); + }) + .catch((error: RPCClientError) => { + return of(new ReadFailure(error)); + }); + +} diff --git a/src/packages/infra/store/detail/detail.reducer.ts b/src/packages/infra/store/detail/detail.reducer.ts new file mode 100644 index 0000000..5aa2ac9 --- /dev/null +++ b/src/packages/infra/store/detail/detail.reducer.ts @@ -0,0 +1,38 @@ +import { Actions, ActionType } from './detail.action'; +import { State, initialState } from './detail.state'; + +import { Infra } from '@overflow/commons-typescript/model/infra'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.Read: { + return { + ...state, + error: null, + isPending: true, + }; + } + + case ActionType.ReadSuccess: { + return { + ...state, + error: null, + isPending: false, + infra: action.payload + }; + } + + case ActionType.ReadFailure: { + return { + ...state, + error: action.payload, + isPending: false, + infra: null + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/infra/store/detail/detail.state.ts b/src/packages/infra/store/detail/detail.state.ts new file mode 100644 index 0000000..81ed549 --- /dev/null +++ b/src/packages/infra/store/detail/detail.state.ts @@ -0,0 +1,16 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Infra } from '@overflow/commons-typescript/model/infra'; + +export interface State { + error: RPCClientError | null; + isPending: boolean; + infra: Infra | null; +} + +export const initialState: State = { + error: null, + isPending: false, + infra: null, +}; + diff --git a/src/packages/infra/store/detail/index.ts b/src/packages/infra/store/detail/index.ts new file mode 100644 index 0000000..23ae8ab --- /dev/null +++ b/src/packages/infra/store/detail/index.ts @@ -0,0 +1,4 @@ +export * from './detail.action'; +export * from './detail.effect'; +export * from './detail.reducer'; +export * from './detail.state'; diff --git a/src/packages/infra/store/index.ts b/src/packages/infra/store/index.ts new file mode 100644 index 0000000..05b6b69 --- /dev/null +++ b/src/packages/infra/store/index.ts @@ -0,0 +1,38 @@ +import { + createSelector, + createFeatureSelector, + ActionReducerMap, +} from '@ngrx/store'; + +import { MODULE } from '../infra.constant'; + +import * as ListStore from './list'; +import * as DetailStore from './detail'; +import { StateSelector } from 'packages/core/ngrx/store'; + +export interface State { + list: ListStore.State; + sensor: DetailStore.State; +} + +export const REDUCERS = { + list: ListStore.reducer, + sensor: DetailStore.reducer +}; + +export const EFFECTS = [ + ListStore.Effects, + DetailStore.Effects +]; + +export const selectInfraState = createFeatureSelector(MODULE.name); + +export const ListSelector = new StateSelector(createSelector( + selectInfraState, + (state: State) => state.list +)); + +export const DetailSelector = new StateSelector(createSelector( + selectInfraState, + (state: State) => state.sensor +)); diff --git a/src/packages/infra/store/list/index.ts b/src/packages/infra/store/list/index.ts new file mode 100644 index 0000000..7fd86e0 --- /dev/null +++ b/src/packages/infra/store/list/index.ts @@ -0,0 +1,4 @@ +export * from './list.action'; +export * from './list.effect'; +export * from './list.reducer'; +export * from './list.state'; diff --git a/src/packages/infra/store/list/list.action.ts b/src/packages/infra/store/list/list.action.ts new file mode 100644 index 0000000..1d5deb4 --- /dev/null +++ b/src/packages/infra/store/list/list.action.ts @@ -0,0 +1,63 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { PageParams, Page } from 'app/commons/model'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { Probe } from '@overflow/commons-typescript/model/probe'; + +export enum ActionType { + ReadAllByDomain = '[Infra.list] ReadAllByDomain', + ReadAllByDomainSuccess = '[Infra.list] ReadAllByDomainSuccess', + ReadAllByDomainFailure = '[Infra.list] ReadAllByDomainFailure', + + ReadAllByProbe = '[Infra.list] ReadAllByProbe', + ReadAllByProbeSuccess = '[Infra.list] ReadAllByProbeSuccess', + ReadAllByProbeFailure = '[Infra.list] ReadAllByProbeFailure', +} + +export class ReadAllByDomain implements Action { + readonly type = ActionType.ReadAllByDomain; + + constructor(public payload: { domain: Domain, pageParams: PageParams }) { } +} + +export class ReadAllByDomainSuccess implements Action { + readonly type = ActionType.ReadAllByDomainSuccess; + + constructor(public payload: Page) { } +} + +export class ReadAllByDomainFailure implements Action { + readonly type = ActionType.ReadAllByDomainFailure; + + constructor(public payload: RPCClientError) { } +} + +export class ReadAllByProbe implements Action { + readonly type = ActionType.ReadAllByProbe; + + constructor(public payload: { probe: Probe, pageParams: PageParams }) { } +} + +export class ReadAllByProbeSuccess implements Action { + readonly type = ActionType.ReadAllByProbeSuccess; + + constructor(public payload: Page) { } +} + +export class ReadAllByProbeFailure implements Action { + readonly type = ActionType.ReadAllByProbeFailure; + + constructor(public payload: RPCClientError) { } +} + + +export type Actions = + | ReadAllByDomain + | ReadAllByDomainSuccess + | ReadAllByDomainFailure + | ReadAllByProbe + | ReadAllByProbeSuccess + | ReadAllByProbeFailure + ; diff --git a/src/packages/infra/store/list/list.effect.spec.ts b/src/packages/infra/store/list/list.effect.spec.ts new file mode 100644 index 0000000..a77b6b1 --- /dev/null +++ b/src/packages/infra/store/list/list.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './list.effect'; + +describe('list.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/infra/store/list/list.effect.ts b/src/packages/infra/store/list/list.effect.ts new file mode 100644 index 0000000..b7cd946 --- /dev/null +++ b/src/packages/infra/store/list/list.effect.ts @@ -0,0 +1,64 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Infra } from '@overflow/commons-typescript/model/infra'; +import { InfraService } from '../../service/infra.service'; + +import { + ReadAllByDomain, + ReadAllByDomainSuccess, + ReadAllByDomainFailure, + ReadAllByProbe, + ReadAllByProbeSuccess, + ReadAllByProbeFailure, + ActionType, +} from './list.action'; +import { Domain } from '@overflow/commons-typescript/model/domain'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private infraService: InfraService, + private router: Router + ) { } + + @Effect() + readAllByDomain$: Observable = this.actions$ + .ofType(ActionType.ReadAllByDomain) + .map((action: ReadAllByDomain) => action.payload) + .switchMap(payload => this.infraService.readAllByDomain(payload.domain, payload.pageParams)) + .map(page => { + return new ReadAllByDomainSuccess(page); + }) + .catch((error: RPCClientError) => { + return of(new ReadAllByDomainFailure(error)); + }); + + @Effect() + readAllByProbe$: Observable = this.actions$ + .ofType(ActionType.ReadAllByProbe) + .map((action: ReadAllByProbe) => action.payload) + .switchMap(payload => this.infraService.readAllByProbe(payload.probe, payload.pageParams)) + .map(page => { + return new ReadAllByProbeSuccess(page); + }) + .catch((error: RPCClientError) => { + return of(new ReadAllByProbeFailure(error)); + }); +} diff --git a/src/packages/infra/store/list/list.reducer.ts b/src/packages/infra/store/list/list.reducer.ts new file mode 100644 index 0000000..13c35b7 --- /dev/null +++ b/src/packages/infra/store/list/list.reducer.ts @@ -0,0 +1,65 @@ +import { Actions, ActionType } from './list.action'; + +import { State, initialState } from './list.state'; + +import { Infra } from '@overflow/commons-typescript/model/infra'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.ReadAllByDomain: { + return { + ...state, + error: null, + isPending: true, + }; + } + + case ActionType.ReadAllByDomainSuccess: { + return { + ...state, + error: null, + isPending: false, + page: action.payload + }; + } + + case ActionType.ReadAllByDomainFailure: { + return { + ...state, + error: action.payload, + isPending: false, + page: null + }; + } + + case ActionType.ReadAllByProbe: { + return { + ...state, + error: null, + isPending: true, + }; + } + + case ActionType.ReadAllByProbeSuccess: { + return { + ...state, + error: null, + isPending: false, + page: action.payload + }; + } + + case ActionType.ReadAllByProbeFailure: { + return { + ...state, + error: action.payload, + isPending: false, + page: null + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/infra/store/list/list.state.ts b/src/packages/infra/store/list/list.state.ts new file mode 100644 index 0000000..ba5521e --- /dev/null +++ b/src/packages/infra/store/list/list.state.ts @@ -0,0 +1,17 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Infra } from '@overflow/commons-typescript/model/infra'; +import { Page } from 'app/commons/model'; + +export interface State { + error: RPCClientError | null; + isPending: boolean; + page: Page | null; +} + +export const initialState: State = { + error: null, + isPending: false, + page: null, +}; + diff --git a/src/packages/member/component/index.ts b/src/packages/member/component/index.ts new file mode 100644 index 0000000..3258093 --- /dev/null +++ b/src/packages/member/component/index.ts @@ -0,0 +1,19 @@ +import { ProfileComponent } from './profile/profile.component'; +import { SigninComponent } from './signin/signin.component'; +import { SignupComponent } from './signup/signup.component'; +import { ResetPasswordComponent } from './reset-password/reset-password.component'; +import { SETTINGS_COMPONENTS } from './settings'; +import { PolicyComponent } from './policy/policy.component'; +import { TermsComponent } from './terms/terms.component'; +import { ModifyPasswordComponent } from './reset-password/modify-password.component'; + +export const COMPONENTS = [ + ProfileComponent, + SigninComponent, + SignupComponent, + ResetPasswordComponent, + ModifyPasswordComponent, + PolicyComponent, + TermsComponent, + SETTINGS_COMPONENTS, +]; diff --git a/src/packages/member/component/policy/policy.component.html b/src/packages/member/component/policy/policy.component.html new file mode 100644 index 0000000..cd88513 --- /dev/null +++ b/src/packages/member/component/policy/policy.component.html @@ -0,0 +1,134 @@ +
      + +
      + +
      + 개인정보 취급방침 +
      +“㈜와탭랩스”는(이하 “회사”는) 고객님의 개인정보를 중요시하며, “정보통신망 이용촉진 및 정보보호”에 관한 법률을 준수하고 있습니다.
      +
      +회사는 개인정보 취급방침을 통하여 고객님께서 제공하시는 개인정보가 어떠한 용도와 방식으로 이용되고 있으며, 개인정보 보호를 위해 어떠한 조치가 취해지고 있는지 알려드립니다.
      +
      +회사는 개인정보취급방침을 개정하는 경우 웹사이트 공지사항(또는 개별공지)을 통하여 공지할 것입니다.
      +
      +본 방침은 : 2015년 4월 1일부터 시행됩니다.
      +
      +
      +
      +*수집하는 개인정보 항목
      +회사는 회원가입, 상담, 서비스 신청 등등을 위해 아래와 같은 개인정보를 수집하고 있습니다.
      +
      +-       수집항목 : 이름, 이메일 ID, 암호화 된 비밀번호, 휴대전화번호, 회사명, 서비스 이용기록, 결제기록
      +
      +-       개인정보 수집방법 : 홈페이지(회원가입, 서비스 신청), 세미나 등 행사 응모
      +
      +
      +
      +*개인정보의 수집 및 이용목적
      +회사는 수집한 개인정보를 다음의 목적을 위해 활용합니다.
      +
      +
      +
      +-      서비스 제공에 관한 계약 이행 및 서비스 제공에 따른 요금정산 콘텐츠 제공, 구매 및 요금 결제
      +
      +-      회원 관리
      +회원제 서비스 이용에 따른 본인 확인, 개인 식별, 불량회원의 부정 이용 방지와 비인가 사용 방지, 불만처리 등 민원처리, 고지사항 전달
      +
      +-      마케팅 및 광고에 활용
      +이벤트 등 광고성 정보 전달, 접속 빈도 파악 또는 회원의 서비스 이용에 대한 통계
      +
      +
      +
      +
      +
      +*개인정보의 보유 및 이용기간
      +원칙적으로, 개인정보 수집 및 이용목적이 달성된 후에는 해당 정보를 지체 없이 파기합니다.
      +단, 관계법령의 규정에 의하여 보존할 필요가 있는 경우 회사는 아래와 같이 관계법령에서 정한 일정한 기간 동안 회원정보를 보관합니다.
      +
      +
      +
      +-      보존 항목 : 서비스 이용기록
      +
      +-      보존 근거 : 전자상거래 등에서의 소비자보호에 관한 법률
      +
      +-      보존 기간 : 3년
      +
      +-      계약 또는 청약철회 등에 관한 기록 : 5년 (전자상거래 등에서의 소비자보호에 관한 법률)
      +
      +-      대금결제 및 재화 등의 공급에 관한 기록 : 5년 (전자상거래 등에서의 소비자보호에 관한 법률)
      +
      +
      +
      +
      +
      +*개인정보 자동수집 장치의 설치, 운영 및 그 거부에 관한 사항
      +회사는 귀하의 정보를 수시로 저장하고 찾아내는 “쿠키(cookie)”를 자동 로그인 등의 목적으로 사용합니다.
      +
      +
      +
      +
      +
      +*개인정보의 취급위탁
      +회사는 다음과 같이 개인정보 취급업무를 외부 전문업체에 위탁하여 운영하고 있습니다. 아래 각 수탁업자는 계약기간 동안 필요한 범위 내에서 회원의 개인정보를 보유하는 것을 원칙으로 하며, 수탁업자에 대하여 관계법령에서 법정 보유기간을 명시하고 있는 경우는 해당 업체업체는 해당 기간 동안 보유합니다.
      +
      +
      +
      +-      수탁업체명 : 주식회사 케이지이니시스
      +
      +-      위탁업무 : 신용카드, 계좌이체 결제 대행
      +
      +-      위탁기간 : 위탁계약 종료시까지
      +
      +
      +
      +위탁업무계약서 내지 별도의 정보보호서약(특약) 등을 통하여 개인정보보호 관련 법규의 준수, 개인정보에 관한 비밀유지, 제3자 제공에 대한 금지, 사고시의 책임부담, 위탁기간, 처리 종료 후의 개인정보의 반환 또는 파기 의무 등을 규정하고, 이를 준수하도록 관리하고 있습니다.
      +
      +
      +
      +
      +
      +*개인정보의 파기절차 및 방법
      +회사는 원칙적으로 개인정보 수집 및 이용목적이 달성된 후에는 해당 정보를 지체 없이 파기합니다. 파기절차 및 방법은 다음과 같습니다.
      +
      +
      +
      +-      파기절차
      +회원님이 회원가입 등을 위해 입력하신 정보는 목적이 달성된 후 별도의 DB로 옮겨져(종이의 경우 별도의 서류함) 내부 방침 및 기타 관련 법령에 의한 정보보호 사유에 따라(보유 및 이용기간 참조) 일정 기간 저장된 후 파기됩니다. 별도 DB로 옮겨진 개인정보는 법률에 의한 경우가 아니고서는 보유 이외의 다른 목적으로 이용되지 않습니다.
      +
      +
      +
      +-      파기방법
      +전자적 파일형태로 저장된 개인정보는 기록을 재생할 수 없는 기술적 방법을 사용하여 삭제합니다.
      +
      +
      +
      +
      +
      +*개인정보에 관한 민원서비스
      +회사는 고객의 개인정보를 보호하고 원활한 운영을 위하여 아래와 책임자를 지정하고 있습니다.
      +
      +개인정보관리 책임자 : loafle
      +전화번호 : 031-460-5677
      +이메일 : overflow@loafle.com
      +
      +
      +
      +
      +
      +귀하께서는 회사의 서비스를 이용하시며 발생하는 모든 개인정보보호 관련 민원을 개인정보관리 책임자에게 신고하실 수 있습니다.
      +회사는 이용자들의 신고사항에 대해 신속하게 충분한 답변을 드릴 것입니다.
      +
      +
      +
      +기타 개인정보침해에 대한 신고나 상담이 필요하신 경우에는 아래 기관에 문의하시기 바랍니다.
      +
      1. KISA 개인정보보호 http://www.1336.or.kr
      + +
      2. 정보보호마크인증제도 http://www.eprivacy.or.kr
      + +
      3. 경찰청 사이버테러대응센터 http://www.ctrc.go.kr
      +
      + +
      +
      +
      +
      diff --git a/src/packages/member/component/policy/policy.component.spec.ts b/src/packages/member/component/policy/policy.component.spec.ts new file mode 100644 index 0000000..8dbbd37 --- /dev/null +++ b/src/packages/member/component/policy/policy.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PolicyComponent } from './profile.component'; + +describe('ProfileComponent', () => { + let component: PolicyComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PolicyComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PolicyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/member/component/policy/policy.component.ts b/src/packages/member/component/policy/policy.component.ts new file mode 100644 index 0000000..19a919c --- /dev/null +++ b/src/packages/member/component/policy/policy.component.ts @@ -0,0 +1,36 @@ +import {Component, OnInit, OnDestroy, EventEmitter, Input, Output} from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { PagesComponent } from 'app/pages/pages.component'; + + +@Component({ + selector: 'of-member-policy', + templateUrl: './policy.component.html', +}) +export class PolicyComponent implements OnInit, OnDestroy { + + @Input() policyDisplay; + @Output() close = new EventEmitter(); + + constructor( + private activatedRoute: ActivatedRoute, + private router: Router, + ) { + } + + + ngOnInit() { + + } + + ngOnDestroy() { + } + + onTermsClose() { + this.policyDisplay = false; + } + + onCancel() { + this.close.emit(); + } +} diff --git a/src/packages/member/component/profile/profile.component.html b/src/packages/member/component/profile/profile.component.html new file mode 100644 index 0000000..4613f90 --- /dev/null +++ b/src/packages/member/component/profile/profile.component.html @@ -0,0 +1,47 @@ +
      +
      +
      +
      +
      + +
      + +
      +
      + +
      +
      +
      + + + + +
      +
      + + + + +
      +
      + + + + +
      +
      + + + + +
      +
      +
      +
      + +
      +
      +
      diff --git a/src/packages/member/component/profile/profile.component.spec.ts b/src/packages/member/component/profile/profile.component.spec.ts new file mode 100644 index 0000000..692b234 --- /dev/null +++ b/src/packages/member/component/profile/profile.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ProfileComponent } from './profile.component'; + +describe('ProfileComponent', () => { + let component: ProfileComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/member/component/profile/profile.component.ts b/src/packages/member/component/profile/profile.component.ts new file mode 100644 index 0000000..c695174 --- /dev/null +++ b/src/packages/member/component/profile/profile.component.ts @@ -0,0 +1,92 @@ +import { Component, OnInit, OnDestroy } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { PagesComponent } from 'app/pages/pages.component'; + +import * as AuthStore from '../../store/auth'; +import * as ModifyStore from '../../store/modify'; + +import { Member } from '@overflow/commons-typescript/model/member'; +import { AuthSelector } from '../../store'; +import { Store, select } from '@ngrx/store'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { ModifySelector } from '../../store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + + +@Component({ + selector: 'of-member-profile', + templateUrl: './profile.component.html', +}) +export class ProfileComponent implements OnInit, OnDestroy { + + member: Member; + modifyForm: FormGroup; + + modifiedMember$ = this.modifyStore.pipe(select(ModifySelector.select('member'))); + + constructor( + public app: PagesComponent, + private activatedRoute: ActivatedRoute, + private router: Router, + private store: Store, + private formBuilder: FormBuilder, + private modifyStore: Store + ) { + } + + + ngOnInit() { + this.store.select(AuthSelector.select('member')).subscribe( + (member: Member) => { + this.member = member; + }, + (error) => { + console.log(error); + } + ); + this.initForm(); + } + + ngOnDestroy() { + } + + initForm() { + this.modifyForm = this.formBuilder.group({ + 'email': [this.member.email, + [ + Validators.required, + Validators.email + ]], + 'name': [this.member.name, []], + 'companyName': [this.member.companyName, []], + 'phone': [this.member.phone, []], + }); + } + + modifyProfile() { + const modifyValue = Object.assign({}, this.modifyForm.value); + const member: Member = { + email: this.member.email, + name: modifyValue.name, + phone: modifyValue.phone, + companyName: modifyValue.companyName, + }; + this.modifyStore.dispatch(new ModifyStore.Modify(member)); + + const modifiedMemberSubscription$ = this.modifiedMember$.subscribe( + (m: Member) => { + if (m) { + console.log(m); + } + + if (modifiedMemberSubscription$) { + modifiedMemberSubscription$.unsubscribe(); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + +} diff --git a/src/packages/member/component/reset-password/modify-password.component.html b/src/packages/member/component/reset-password/modify-password.component.html new file mode 100644 index 0000000..63bf9f8 --- /dev/null +++ b/src/packages/member/component/reset-password/modify-password.component.html @@ -0,0 +1,46 @@ +
      + + + + + +
      diff --git a/src/packages/member/component/reset-password/modify-password.component.spec.ts b/src/packages/member/component/reset-password/modify-password.component.spec.ts new file mode 100644 index 0000000..2a7b14d --- /dev/null +++ b/src/packages/member/component/reset-password/modify-password.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ModifyPasswordComponent } from './modify-password-page.component'; + +describe('ModifyPasswordPageComponent', () => { + let component: ModifyPasswordComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ModifyPasswordComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ModifyPasswordComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/member/component/reset-password/modify-password.component.ts b/src/packages/member/component/reset-password/modify-password.component.ts new file mode 100644 index 0000000..bfb40b0 --- /dev/null +++ b/src/packages/member/component/reset-password/modify-password.component.ts @@ -0,0 +1,63 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import * as ModifyPasswordStore from '../../store/reset-password'; +import {select, Store} from '@ngrx/store'; +import { ResetPasswordSelector } from '../../store'; + +@Component({ + selector: 'of-member-modify-password', + templateUrl: './modify-password.component.html', +}) +export class ModifyPasswordComponent implements OnInit { + + modifyPwForm: FormGroup; + tokenURL: string; + formErrors = { + 'pw': '', + 'confirmPw': '' + }; + + constructor( + private router: Router, + private activatedRoute: ActivatedRoute, + private formBuilder: FormBuilder, + private modifyPasswordStore: Store, + ) { } + + ngOnInit() { + this.tokenURL = this.activatedRoute.snapshot.queryParams['token']; + console.log(this.tokenURL); + this.initForm(); + } + + initForm() { + this.modifyPwForm = this.formBuilder.group({ + 'pw': [ + '', + [ + // Validators.required, + ] + ], + 'confirmPw': [ + '', + [ + // Validators.pattern('^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$'), + // Validators.minLength(6), + // Validators.maxLength(25) + ] + ], + }); + + } + + modifyPw() { + const modifyPwValue = Object.assign({}, this.modifyPwForm.value); + const m = {token: this.tokenURL, pw: modifyPwValue.pw, confirmPw: modifyPwValue.confirmPw}; + this.modifyPasswordStore.dispatch(new ModifyPasswordStore.ModifyPassword(m)); + } + + signinBtn() { + this.router.navigateByUrl('/auth/signin'); + } +} diff --git a/src/packages/member/component/reset-password/reset-password.component.html b/src/packages/member/component/reset-password/reset-password.component.html new file mode 100644 index 0000000..837e777 --- /dev/null +++ b/src/packages/member/component/reset-password/reset-password.component.html @@ -0,0 +1,36 @@ +
      + + + + + +
      + diff --git a/src/packages/member/component/reset-password/reset-password.component.spec.ts b/src/packages/member/component/reset-password/reset-password.component.spec.ts new file mode 100644 index 0000000..3f03471 --- /dev/null +++ b/src/packages/member/component/reset-password/reset-password.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ResetPasswordComponent } from './reset-password.component'; + +describe('ResetPasswordComponent', () => { + let component: ResetPasswordComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ResetPasswordComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ResetPasswordComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/member/component/reset-password/reset-password.component.ts b/src/packages/member/component/reset-password/reset-password.component.ts new file mode 100644 index 0000000..88a75b6 --- /dev/null +++ b/src/packages/member/component/reset-password/reset-password.component.ts @@ -0,0 +1,58 @@ +import { Component, OnInit } from '@angular/core'; +import { Router } from '@angular/router'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import * as ResetPasswordStore from '../../store/reset-password'; +import {select, Store} from '@ngrx/store'; +import { ResetPasswordSelector } from '../../store'; +import {RPCClientError} from '../../../../@loafer/ng-rpc/protocol'; +import {Member} from '@overflow/commons-typescript/model/member/index'; + +@Component({ + selector: 'of-member-reset-password', + templateUrl: './reset-password.component.html', +}) +export class ResetPasswordComponent implements OnInit { + + resetPassword$ = this.resetPasswordStore.pipe(select(ResetPasswordSelector.select('member'))); + + resetPassword: FormGroup; + formErrors = { + 'email': '' + }; + + constructor( + private resetPasswordStore: Store, + private router: Router, + private formBuilder: FormBuilder) { } + + ngOnInit() { + this.resetPassword = this.formBuilder.group({ + 'email': ['', [ + Validators.required, + Validators.email + ] + ] + }); + } + + sendResetPassword() { + const emailValue = Object.assign({}, this.resetPassword.value); + console.log(emailValue.email); + this.resetPasswordStore.dispatch(new ResetPasswordStore.ResetPassword(emailValue.email)); + + const resetPasswordSubscription$ = this.resetPassword$.subscribe( + (m: Member) => { + if (m) { + console.log(m); + } + + if (resetPasswordSubscription$) { + resetPasswordSubscription$.unsubscribe(); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } +} diff --git a/src/packages/member/component/settings/index.ts b/src/packages/member/component/settings/index.ts new file mode 100644 index 0000000..18391ee --- /dev/null +++ b/src/packages/member/component/settings/index.ts @@ -0,0 +1,7 @@ +import { TotpComponent } from './totp/totp.component'; +import { ConfigSettingComponent } from './totp/config/config-setting.component'; + +export const SETTINGS_COMPONENTS = [ + TotpComponent, + ConfigSettingComponent, +]; diff --git a/src/packages/member/component/settings/totp/config/config-setting.component.html b/src/packages/member/component/settings/totp/config/config-setting.component.html new file mode 100644 index 0000000..5118096 --- /dev/null +++ b/src/packages/member/component/settings/totp/config/config-setting.component.html @@ -0,0 +1,96 @@ +
      +
      + 구글 인증기(OTP)는 암호 기능 중 하나입니다. 작동 원리는 SMS 인증 방식과 유사합니다. + 연동 후 30초 마다 보안 코드가 생성되고, 보안 코드는 로그인, 인출, 보안 설정 변경등의 보안 인증을 하는 곳에 사용됩니다. +
      + +
      +
      + +

      App Store에서 "Authenticator" 검색 후 다운로드 해주세요.

      + +
      +
      +
      + +

      구글 플레이 스토어 또는 핸드폰 브라우저를 통해 "구글 인증기(OTP)" 검색 후 다운로드 해주세요.

      + +
      +
      +
      + +
      +

      Key & Backup Code

      +
      + +
      + +
      +
      +
      {{totp.key}}, {{totp.uri}}
      + + + +
      + + +
      +
      + + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/packages/member/component/settings/totp/config/config-setting.component.scss b/src/packages/member/component/settings/totp/config/config-setting.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/member/component/settings/totp/config/config-setting.component.ts b/src/packages/member/component/settings/totp/config/config-setting.component.ts new file mode 100644 index 0000000..30db395 --- /dev/null +++ b/src/packages/member/component/settings/totp/config/config-setting.component.ts @@ -0,0 +1,91 @@ +import { + AfterContentInit, + Component, + EventEmitter, + Input, + OnInit, + Output +} from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Store, select } from '@ngrx/store'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; + +import * as TotpStore from 'packages/member/store/totp'; +import { AuthSelector } from 'packages/member/store'; +import { TotpSelector } from 'packages/member/store'; +import { Member } from '@overflow/commons-typescript/model/member'; +import {RPCClientError} from '../../../../../../@loafer/ng-rpc/protocol'; + +@Component({ + selector: 'of-config-setting', + templateUrl: './config-setting.component.html', + styleUrls: ['./config-setting.component.scss'] +}) +export class ConfigSettingComponent implements OnInit, AfterContentInit { + member: Member; + totpState$ = this.store.pipe(select(TotpSelector.select('totp'))); + totp: any; + totpForm: FormGroup; + qrData: string; + + @Input() selectedItem: any; + @Output() close = new EventEmitter(); + @Input() totpSettingDisplay; + + constructor(private activatedRoute: ActivatedRoute, + private router: Router, + private store: Store, + private formBuilder: FormBuilder, + ) { } + + ngOnInit() { + this.totpForm = this.formBuilder.group({ + 'code': [ + [ + ] + ] + }); + this.totpState$.subscribe( + (obj: any) => { + console.log(obj); + this.totp = obj; + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + + this.store.select(AuthSelector.select('member')).subscribe( + (member: Member) => { + this.member = member; + this.store.dispatch(new TotpStore.CreateTotp(this.member)); + }, + (error) => { + console.log(error); + } + ); + + } + + + totpRegistClick() { + const code = this.totpForm.value['code']; + const secretCode = 'X6AWAK573M5372NM'; + + this.store.select(AuthSelector.select('member')).subscribe( + (member: Member) => { + this.store.dispatch(new TotpStore.Regist({ member, secretCode, code })); + }, + (error) => { + console.log(error); + } + ); + } + + onCancel() { + this.close.emit(); + } +} diff --git a/src/packages/member/component/settings/totp/totp.component.html b/src/packages/member/component/settings/totp/totp.component.html new file mode 100644 index 0000000..fded6df --- /dev/null +++ b/src/packages/member/component/settings/totp/totp.component.html @@ -0,0 +1,25 @@ +

      Settings

      + + + + + + 이중보안 + + +
      + + +
      {{item.name }}
      +
      {{item.value }}
      +
      {{item.description }}
      + +
      + + + +
      +
      +
      +
      + diff --git a/src/packages/member/component/settings/totp/totp.component.spec.ts b/src/packages/member/component/settings/totp/totp.component.spec.ts new file mode 100644 index 0000000..61cfca2 --- /dev/null +++ b/src/packages/member/component/settings/totp/totp.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TotpComponent } from './totp.component'; + +describe('TotpComponent', () => { + let component: TotpComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ TotpComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(TotpComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/member/component/settings/totp/totp.component.ts b/src/packages/member/component/settings/totp/totp.component.ts new file mode 100644 index 0000000..b3fce8b --- /dev/null +++ b/src/packages/member/component/settings/totp/totp.component.ts @@ -0,0 +1,72 @@ +import {AfterContentInit, Component, OnInit} from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Store, select } from '@ngrx/store'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; + +import * as TotpStore from 'packages/member/store/totp'; +import { AuthSelector } from 'packages/member/store'; +import { Member } from '@overflow/commons-typescript/model/member'; + +@Component({ + selector: 'of-settings-totp', + templateUrl: './totp.component.html', +}) +export class TotpComponent implements OnInit, AfterContentInit { + member: Member; + selectedItem: any; + totpSettingDisplay = false; + totpForm: FormGroup; + headerItem: string; + + formErrors = { + 'code': '', + }; + + lists = []; + + constructor(private activatedRoute: ActivatedRoute, + private router: Router, + private store: Store, + private formBuilder: FormBuilder, + ) { } + + ngOnInit() { + this.totpForm = this.formBuilder.group({ + 'code': [ + [ + ] + ] + }); + } + + ngAfterContentInit() { + + this.store.select(AuthSelector.select('member')).subscribe( + (member: Member) => { + this.member = member; + this.lists = [ + {id: 1, name: 'Email', value: this.member.email, description: 'blabla', }, + {id: 2, name: 'Phone', value: this.member.phone, description: 'blabla', }, + {id: 3, name: 'Google 2factor', value: this.member.totpType, description: 'blabla', }, + ]; + }, + (error) => { + console.log(error); + } + ); + } + + on2factorConfig(event: Event, item: any) { + this.selectedItem = item; + + // server totp regist member info modify + if (this.selectedItem.id === 3) { + this.headerItem = '구글 인증기 설정하기'; + this.totpSettingDisplay = true; + } + } + + onTotpSettingClose() { + this.totpSettingDisplay = false; + } +} diff --git a/src/packages/member/component/signin/signin.component.html b/src/packages/member/component/signin/signin.component.html new file mode 100644 index 0000000..a3655ca --- /dev/null +++ b/src/packages/member/component/signin/signin.component.html @@ -0,0 +1,34 @@ +
      + + + + + +
      diff --git a/src/packages/member/component/signin/signin.component.spec.ts b/src/packages/member/component/signin/signin.component.spec.ts new file mode 100644 index 0000000..c64b0b2 --- /dev/null +++ b/src/packages/member/component/signin/signin.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SigninComponent } from './signin.component'; + +describe('SigninComponent', () => { + let component: SigninComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SigninComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SigninComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/member/component/signin/signin.component.ts b/src/packages/member/component/signin/signin.component.ts new file mode 100644 index 0000000..fbc8894 --- /dev/null +++ b/src/packages/member/component/signin/signin.component.ts @@ -0,0 +1,92 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { Store, select } from '@ngrx/store'; + +import * as AuthStore from '../../store/auth'; +import { AuthSelector } from '../../store'; + +@Component({ + selector: 'of-member-signin', + templateUrl: './signin.component.html', +}) +export class SigninComponent implements OnInit { + pending$ = this.store.pipe(select(AuthSelector.select('pending'))); + error$ = this.store.pipe(select(AuthSelector.select('error'))); + + errorMessage: string | null; + returnURL: string; + + signinForm: FormGroup; + formErrors = { + 'email': '', + 'password': '' + }; + + constructor( + private activatedRoute: ActivatedRoute, + private router: Router, + private store: Store, + private formBuilder: FormBuilder, + ) { + } + + ngOnInit() { + this.initForm(); + + this.returnURL = this.activatedRoute.snapshot.queryParams['returnURL'] || '/'; + + this.pending$.subscribe((pending: boolean) => { + if (pending) { + this.signinForm.disable(); + } else { + this.signinForm.enable(); + } + }); + + this.error$.subscribe((error) => { + if (error) { + this.errorMessage = error.exception; + } else { + this.errorMessage = null; + } + }); + } + + initForm() { + this.signinForm = this.formBuilder.group({ + 'email': [ + '', + [ + Validators.required, + Validators.email + ] + ], + 'password': [ + '', + [ + Validators.pattern('^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$'), + Validators.minLength(6), + Validators.maxLength(25) + ] + ], + }); + + } + + resetPasswordBtnClick() { + this.router.navigateByUrl('/auth/reset-password'); + } + + signupBtnClick() { + this.router.navigateByUrl('/auth/signup'); + } + signin() { + const signinValue = Object.assign({}, this.signinForm.value); + signinValue.returnURL = this.returnURL; + + this.store.dispatch(new AuthStore.Signin(signinValue)); + console.log('signin component signin fnc'); + } + +} diff --git a/src/packages/member/component/signup/signup.component.html b/src/packages/member/component/signup/signup.component.html new file mode 100644 index 0000000..3b91add --- /dev/null +++ b/src/packages/member/component/signup/signup.component.html @@ -0,0 +1,107 @@ + + + + + + + + +
      + + + + + +
      diff --git a/src/packages/member/component/signup/signup.component.spec.ts b/src/packages/member/component/signup/signup.component.spec.ts new file mode 100644 index 0000000..43e46a5 --- /dev/null +++ b/src/packages/member/component/signup/signup.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SignupComponent } from './signup.component'; + +describe('SignupComponent', () => { + let component: SignupComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SignupComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SignupComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/member/component/signup/signup.component.ts b/src/packages/member/component/signup/signup.component.ts new file mode 100644 index 0000000..15ca8ee --- /dev/null +++ b/src/packages/member/component/signup/signup.component.ts @@ -0,0 +1,221 @@ +import { + AfterContentInit, + AfterViewInit, + Component, + ElementRef, + EventEmitter, + Input, + NgZone, + OnDestroy, + OnInit, + Output +} from '@angular/core'; +import { Router } from '@angular/router'; +import { FormGroup, FormBuilder, Validators, AbstractControl, FormControl } from '@angular/forms'; +import { Member } from '@overflow/commons-typescript/model/member'; +import * as AuthStore from '../../store/signup'; +import {Store} from '@ngrx/store'; +import { Message } from 'primeng/api'; + +@Component({ + selector: 'of-member-signup', + templateUrl: './signup.component.html', +}) +export class SignupComponent implements OnInit, AfterViewInit, AfterContentInit, OnDestroy { + myRecaptcha = new FormControl(false); + + signupForm: FormGroup; + email: AbstractControl; + password: AbstractControl; + pwConfirm: AbstractControl; + name: AbstractControl; + phone: AbstractControl; + company: AbstractControl; + termsDisplay = false; + policyDisplay = false; + msgs: Message[] = []; + + // private _instance: any = null; + + // @Input() initCallback = 'initRecaptcha'; + // @Input() siteKey = '6Ldld1gUAAAAAKBn115dpJcFpsI4G0ZTCcmP29iA'; + // @Input() theme = 'light'; + // @Input() type = 'image'; + // @Input() size = 'normal'; + // @Input() tabindex = 0; + // @Input() language: string = null; + + // @Output() onResponse: EventEmitter = new EventEmitter(); + // @Output() onExpire: EventEmitter = new EventEmitter(); + + constructor( + private router: Router, + private formBuilder: FormBuilder, + private store: Store, + public el: ElementRef, + public _zone: NgZone, + ) { } + + ngAfterViewInit() { + // console.log('ddddd'); + } + + ngAfterContentInit() { + // if ((window).grecaptcha) { + // console.log((window).grecaptcha); + // this.init(); + // } else { + // (window)[this.initCallback] = () => { + // this.init(); + // }; + // } + } + + init() { + // console.log(this.el.nativeElement.children[2]); + // console.log((window).grecaptcha.render()); + // + // + // + // this._instance = (window).grecaptcha.render(this.el.nativeElement.children[2], { + // 'sitekey': this.siteKey, + // 'theme': this.theme, + // 'type': this.type, + // 'size': this.size, + // 'tabindex': this.tabindex, + // 'hl': this.language, + // 'callback': (response: string) => {this._zone.run(() => this.recaptchaCallback(response)); }, + // 'expired-callback': () => {this._zone.run(() => this.recaptchaExpiredCallback()); }, + // }); + } + + ngOnInit() { + this.initForm(); + } + + ngOnDestroy() { + // if (this._instance != null) { + // (window).grecaptcha.reset(this._instance); + // } + } + + reset() { + // if (this._instance === null) + // return; + // + // (window).grecaptcha.reset(this._instance); + } + + initForm() { + this.signupForm = this.formBuilder.group({ + 'email': [ + 'geekhot@hotmail.co.kr', + [ + Validators.required, + Validators.email + ] + ], + 'password': [ + '!@#$Qwer1234', + [ + Validators.required, + Validators.pattern('^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{6,}$'), + Validators.minLength(6), + Validators.maxLength(25), + ] + ], + 'pwConfirm': [ + '!@#$Qwer1234', + [ + Validators.compose([ + Validators.required, this.pwMatchValidator + ]) + ] + ], + 'name': [ + 'Park', + [ + Validators.required + ] + ], + 'phone': [ + '010-3040-0303', + [ + Validators.required + ] + ], + 'company': [ + 'atgame', + [ + Validators.required + ] + ], + }); + this.email = this.signupForm.controls['email']; + this.password = this.signupForm.controls['password']; + this.pwConfirm = this.signupForm.controls['pwConfirm']; + this.name = this.signupForm.controls['name']; + this.phone = this.signupForm.controls['phone']; + this.company = this.signupForm.controls['company']; + } + + pwMatchValidator(control: FormControl): { [s: string]: boolean } { + let pw; + if (control.parent) { + pw = control.parent.controls['password'].value; + } + if (control.value !== pw) { + return { notMatched: true }; + } + } + + signup() { + const signupValue = Object.assign({}, this.signupForm.value); + const password = signupValue.password; + const member: Member = { + email: signupValue.email, + name: signupValue.name, + phone: signupValue.phone, + companyName: signupValue.company, + }; + this.store.dispatch(new AuthStore.Signup({member, password})); + console.log(member); + } + + termsDisplayOpen() { + this.termsDisplay = true; + } + onTermsDisplayClose() { + this.termsDisplay = false; + } + + policyDisplayOpen() { + this.policyDisplay = true; + } + + onPolicyDisplayClose() { + this.policyDisplay = false; + } + + // showResponse(event) { + // this.msgs = []; + // this.msgs.push({severity: 'info', summary: 'Succees', detail: 'User Responded'}); + // } + + recaptchaCallback(response: string) { + // this.onResponse.emit({ + // response: response + // }); + } + + recaptchaExpiredCallback() { + // this.onExpire.emit(); + } + onScriptLoad() { + console.log('Google reCAPTCHA loaded and is ready for use!'); + } + + onScriptError() { + console.log('Something went long when loading the Google reCAPTCHA'); + } +} diff --git a/src/packages/member/component/terms/terms.component.html b/src/packages/member/component/terms/terms.component.html new file mode 100644 index 0000000..0dfe111 --- /dev/null +++ b/src/packages/member/component/terms/terms.component.html @@ -0,0 +1,104 @@ +
      + +
      + +
      + + 이용약관 +
      +제 1 장 총칙
      +제1조 (목적)
      +본 약관은 ㈜와탭(이하 "갑"이라 합니다)이 제공하는 각종 서비스에 대한 고객(이하 "을"이라 합니다) 간의 이용조건 및 절차에 관한 제반사항의 규정을 목적으로 합니다.
      +제2조 (약관의 효력 및 개정)
      +본 약관은 전기통신사업법 규정에 의하여 제정한 것이며, 공시 함으로서 효력을 발생합니다. 본 약관의 공시는 "갑"의 홈페이지를 통해 공시됩니다. (홈페이지 : http://www.whatap.io)
      +본 약관은 "갑"의 서비스를 "을"이 이용 신청한 시점부터 서비스가 종료된 후 이용 요금 정산이 완료된 시점까지 효력을 가집니다.
      +"갑"은 합리적인 사유가 발생할 경우 본 약관을 변경할 수 있으며, 약관이 변경된 경우에는 이를 즉시 공시합니다. 단, 요금 등 고객의 권리 또는 의무에 관련된 중요사항의 변경은 공시 후 7일이 경과한 후에 그 효력이 있습니다.
      +제3조 (약관의 적용)
      +본 약관에 명시되지 아니한 사항에 대해서는 관계 법령, 본 약관의 취지 및 동종업계의 관행에 따라 해석 적용됩니다.
      +제 2 장 계약의 체결
      +제4조 (계약의 성립)
      +서비스의 이용 계약은 "갑"의 서비스에 대한 이용약관에 대한 "을"의 동의 및 이용 신청과 "갑"의 이용 승낙에 의하여 성립됩니다.
      +계약기간은 홈페이지에 게시된 상품 중 고객이 선택한 상품의 서비스 개시일로부터 선택한 기간에 따라 서비스를 받을 수 있습니다.
      +서비스 개시일은 "을"이 서비스 이용을 시작한 날짜로 합니다. 단, 유료서비스는 무료에서 유료서비스로 변경한 날짜로 합니다.
      +서비스 신청은 "갑"의 홈페이지에서 온라인으로 신청합니다.
      +제5조 (이용 신청의 승낙)
      +"갑"은 "을"에 대하여 업무상 또는 기술상 특별한 사유가 없는 한 접수 순서에 따라 서비스 이용을 승낙합니다.
      +"갑"은 "을"의 서비스 이용 신청을 승낙한 때에는 다음 각 호의 사항을 "을"에게 mail, 서면 또는 유선 등의 방법으로 통보합니다.
      +① 서비스 시작일
      +② 요금 등에 관한 사항
      +③ 고객의 권익보호 및 의무 등에 관한 사항
      +④ 기타 "갑"이 필요하다고 인정하는 사항
      +"갑" 이 "을" 또는 기존 서비스를 이용 중인 "을"의 신규 계약 및 재 계약에 대해 승낙하지 아니할 경우 계약은 성립되지 아니합니다.
      +"갑"은 다음 각 호에 해당하는 경우에 "을"의 서비스 신청 및 재 계약에 대하여 이를 승낙하지 아니할 수 있습니다. 이 경우에는 그 사유를 "을"에게 즉시 통보합니다.
      +① 타인의 명의를 사용하여 서비스 이용을 신청하였을 때
      +② 신청서의 내용을 허위로 기재하였거나 허위의 서류를 첨부하여 신청하였을 때
      +③ 기타 "을"의 귀책사유로 승낙이 곤란한 경우와 "갑"의 서비스 제공에 지장을 초래하였거나, 초래할 가능성이 있는 "을"의 신규 계약의 경우
      +"을"은 서비스 이용신충 후 "갑"의 승낙이 있는 시점부터 서비스를 이용할 수 있으며 서비스의 이용시간은 특별한 사유가 없는 한 1년 365일, 1일 24시간을 원칙으로 합니다.
      +5 항의 서비스 이용사간에서 "갑"과 "을"이 합의하여 서비스를 제공하지 아니한 날 또는 시간, 정기점검 등의 필요로 "갑"이 정한 날 또는 시간은 예외로 합니다.
      +제 3 장 계약의 변경 및 해지
      +제6조 (계약 내용의 변경)
      +"을"이 서비스 이용에 관한 내용 중 다음 각 호에 해당하는 사항이 변경된 경우에는 "갑"의 홈페이지를 통해 온라인 이용 변경을 하여야 합니다. (http://www.whatap.io)
      +① "을"의 상호, 성명, 주소 또는 연락처의 변경
      +② 서비스 내용의 변경
      +③ 요금납부방식 및 결제계좌번호 변경
      +제1항 제2호에 의하여 서비스 내용이 변경된 경우에는 새로운 서비스 이용 신청에 의한 요금이 적용됩니다.
      +제7조 (계약의 갱신)
      +서비스 이용 기간은 매월 서비스 이용 시작일부터 매월 말일까지로 합니다. 서비스 이용 기간 내에 "갑"과 "을" 상호간에 별도의 의사표시가 없을 경우 이전의 계약 내용과 동일한 조건으로 1개월씩 자동 연장됩니다.
      +제8조 (양도)
      +"갑"과 "을"은 사전 승인 없이는 계약상의 권리와 의무를 제3자에게 양도할 수 없습니다.
      +"을"의 지위 승계 및 양도를 원할 경우 기존의 미납된 서비스 이용 요금 납입이 되어야 승계가 가능합니다. "을"의 지위의 승계는 사명의 변경, 대표자의 변경, 요금납입책임자의 변경(서비스 이용고객과 요금납입책임자가 다른 경우)등 고객의 동일성을 판단할 수 있는 주요 사항이 변경된 경우를 말합니다
      +합병, 분할, 영업양수 등으로 "을"의 지위 승계 사유가 발생한 경우에는 그 사유 발생일로부터 30일 이내에 사업자등록증사본(법인에 한함)과 지위 승계를 입증할 수 있는 관련 서류를 첨부하여 "갑"에게 통보하여야 합니다
      +제9조 (계약의 해지)
      +서비스 이용 계약을 해지한 경우에는 해당 월 서비스 시작일로부터 사용일까지 월 이용요금을 일할 계산하여 청구합니다.
      +"갑"이나 "을" 중 어느 일방이 파산신청, 압류, 가압류, 부도, 경매, 회사정리 등의 사유에 해당하는 경우에는 즉시 계약을 해지 할 수 있습니다.
      +"을"이 서비스 해지를 원할 경우 "갑"은 해지 신청서를 접수한 후 정산절차를 거쳐 "을"의 요청일 까지 해지를 완료합니다. 단, 미납요금 정산이 완료되지 않을 경우 해지를 할 수 없습니다.
      +"갑"은 "을"의 서비스 이용 내용이 본 약관에 따른 서비스 이용의 제한사항에 해당하는 경우, 고객이 일정기간(5일) 내에 그 원인된 사유를 해소하지 않거나, 정당한 사유 없이 회사의 의견 진술 요청에 응하지 않는 경우 직권에 의하여 계약을 해지할 수 있습니다.
      +"갑"은 서비스 제공에 있어 "을"이 영업적 손실을 입혔을 경우와 서비스 제공에 합당하지 아니하다고 판단하였을 경우 그 사유를 서면 통보 후 해지할 수 있습니다.
      +계약 해지가 완료되면 "갑"은 "을"의 서버 모니터링 데이터를 즉시 삭제합니다.
      +"을"이 청구일을 기준으로 30일 내에 사용료를 정산하지 않은 경우 "갑"은 "을"의 서버 모니터링 데이터를 삭제합니다.
      +전자상거래법 17조에 의하여 단순변심 착오구매로 인한 철회는 상품신청 30일이 경과한 경우에는 청약철회가 불가능합니다. 단, 이용 상의 중대한 오류가 있는 경우 전자상거래법 및 소비자분쟁해결기준(공정거래위원회 고시)에 따라 처리됩니다.
      +제10조 (이용자격의 박탈)
      +다음의 경우에 "을"이 해당되는 경우 "갑"은 "을"의 서비스를 정지 할 수 있습니다.
      +미풍양속에 어긋난 정보를 제공한 경우
      +소프트웨어 보호법에 저촉된 행위를 한 경우
      +법률에 반하는 행위를 한 경우
      +"을"이 가입 신청 시 허위로 계약 신청을 하였을 경우
      +"을"이 "갑"의 서비스를 이용하며 "갑"의 다른 서비스 이용자들에게 피해를 입힌 경우
      +"을"이 "갑"의 영업 및 관리 상의 손실을 발생하였거나, 또는 발생할 가능성이 있을 경우
      +타인의 회원정보 및 비밀번호를 도용한 경우
      +부정한 상거래 행위로 서비스 이용을 제한 당한 이용자가 재등록을 신청한 경우
      +제 4 장 서비스 종류 및 요금
      +제11조 (이용요금)
      +서비스 이용요금의 세부 내역은 "갑"의 홈페이지에 명기합니다. (http://www.whatap.io)
      +제12조 (이용요금 변경)
      +① 이용요금 변경이란 요금이 인상 또는 인하되는 것을 말하며, "갑"이 "을"에게 통지한 달의 다음달부터 변경된 이용요금을 적용합니다. 단, 계약기간이 사전에 정해진 경우나 선납의 경우, 요금인하를 제외하고는 해당계약 기간이 종료할 때까지 요금을 변경할 수 없습니다.
      +② "갑"은 ①의 이용요금 변경 사유를 홈페이지에 게시하여야 합니다.
      +제13조 (손해배상)
      +① "갑"은 "갑"의 책임 있는 사유로 장애가 발생하여 월 가용률(아래 정의)구간을 달성하지 못하거나 장애로 인해 "을"이 손해를 입은 경우, "을"이 청구하는 경우에 한하여 본 조 제 2항에 따라 손해를 배상합니다.
      +장애시간 : 서비스를 이용하지 못한 사실을 ”을“이 ”갑“에 통지한 때(”을“의 통지 전에 ”갑“이 그러한 사실을 알게 된 경우는 ”갑“ 이 그러한 사실을 알게 된 때)로부터 ”갑”이 장애 상황을 해소하여 장애 조치가 완료된 때까지의 시간을 측정.(“갑“이 장애 조치를 완료하였으 ”을”의 추가 조치가 지연되어 장애가 연장된 경우, 해당 연장 시간은 장애시간에 포함하지 않음.)
      +가용율 기준
      +손해배상
      +가용률 99.9% 미만 99.5% 이상
      +이용 요금의 10%
      +가용률 99.5% 미만 99.0% 이상
      +이용 요금의 20%
      +가용률 99.0% 미만
      +이용 요금의 30%
      +* 가용률(%)=100 * [1 - 장애시간(분)의 합/최대 사용가능시간(분)]
      +② "을"의 손해배상 청구권은 그 사유가 발생한 날로부터 1개월이 경과한 후에 소멸됩니다.
      +제14조 (면책)
      +① "갑"은 "을"이 "갑"의 서비스를 이용하여 행한 모든 행위의 결과에 따른 손해 및 불법행위에 대한 모든 민, 형사상 책임 및 배상의 책임을 지지 않으며 그 책임은 "을"에게 있습니다.
      +② "갑"이 의무를 다했을 경우에 발생하는 피해에 대해서는 일체의 책임을 지지 않습니다.
      +③ 외부 침입에 의한 "을"의 정보자료의 유출과 훼손에 대해 "갑"은 책임이 없습니다.
      +제15조(약관의 효력)
      +"을"이 서비스 이용 신청을 하고, "갑"이 "을"에게 사용권한을 부여하면 본 약관은 효력이 발생합니다.
      +제16조 (관할법원)
      +① 본 약관에 별도로 규정한 것을 제외하고는 일반 상관례 및 약관법에 따르며, 약관의 해석이나 이행에 관한 분쟁은 "갑"과 "을"의 합의에 의하여 해결합니다.
      +② ①의 합의가 성립되지 못할 때의 관할 법원은 "갑" 주소지 관할 지방 법원으로 합니다.
      +ο 본 약관은 : 2017년 8월 1일부터 시행됩니다.
      +
      + +
      +
      +
      +
      diff --git a/src/packages/member/component/terms/terms.component.spec.ts b/src/packages/member/component/terms/terms.component.spec.ts new file mode 100644 index 0000000..2d884b4 --- /dev/null +++ b/src/packages/member/component/terms/terms.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TermsComponent } from './profile.component'; + +describe('ProfileComponent', () => { + let component: TermsComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ TermsComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(TermsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/member/component/terms/terms.component.ts b/src/packages/member/component/terms/terms.component.ts new file mode 100644 index 0000000..2806da1 --- /dev/null +++ b/src/packages/member/component/terms/terms.component.ts @@ -0,0 +1,34 @@ +import {Component, OnInit, OnDestroy, Input, EventEmitter, Output} from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { PagesComponent } from 'app/pages/pages.component'; + +@Component({ + selector: 'of-member-terms', + templateUrl: './terms.component.html', +}) +export class TermsComponent implements OnInit, OnDestroy { + + @Input() termsDisplay; + @Output() close = new EventEmitter(); + + constructor( + private activatedRoute: ActivatedRoute, + private router: Router, + ) { + } + + + ngOnInit() { + + } + + ngOnDestroy() { + } + + onTermsClose() { + this.termsDisplay = false; + } + onCancel() { + this.close.emit(); + } +} diff --git a/src/packages/member/member-rest.module.ts b/src/packages/member/member-rest.module.ts new file mode 100644 index 0000000..39bf0a4 --- /dev/null +++ b/src/packages/member/member-rest.module.ts @@ -0,0 +1,9 @@ +import { NgModule } from '@angular/core'; +import { RESTModule } from '@loafer/ng-rest'; + +@NgModule({ + imports: [ + RESTModule.forFeature({}), + ], +}) +export class MemberRESTModule { } diff --git a/src/packages/member/member-store.module.ts b/src/packages/member/member-store.module.ts new file mode 100644 index 0000000..31cd1f3 --- /dev/null +++ b/src/packages/member/member-store.module.ts @@ -0,0 +1,18 @@ +import { NgModule } from '@angular/core'; +import { StoreModule } from '@ngrx/store'; +import { EffectsModule } from '@ngrx/effects'; + +import { + REDUCERS, + EFFECTS, +} from './store'; + +import { MODULE } from './member.constant'; + +@NgModule({ + imports: [ + StoreModule.forFeature(MODULE.name, REDUCERS), + EffectsModule.forFeature(EFFECTS), + ], +}) +export class MemberStoreModule { } diff --git a/src/packages/member/member.constant.ts b/src/packages/member/member.constant.ts new file mode 100644 index 0000000..99769e5 --- /dev/null +++ b/src/packages/member/member.constant.ts @@ -0,0 +1,3 @@ +export const MODULE = { + name: 'member' +}; diff --git a/src/packages/member/member.module.ts b/src/packages/member/member.module.ts new file mode 100644 index 0000000..202587c --- /dev/null +++ b/src/packages/member/member.module.ts @@ -0,0 +1,39 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { RouterModule } from '@angular/router'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { MemberStoreModule } from './member-store.module'; +import { MemberRESTModule } from './member-rest.module'; + +import { COMPONENTS } from './component'; +import { SERVICES } from './service'; +import { PrimeNGModules } from '../commons/prime-ng/prime-ng.module'; +import { QRCodeModule } from 'angularx-qrcode'; +import { CaptchaModule } from 'primeng/captcha'; +import { RecaptchaModule } from 'angular-google-recaptcha'; + +@NgModule({ + imports: [ + CommonModule, + RouterModule, + FormsModule, + ReactiveFormsModule, + MemberStoreModule, + MemberRESTModule, + PrimeNGModules, + QRCodeModule, + RecaptchaModule.forRoot({ + siteKey: '6Ldld1gUAAAAAKBn115dpJcFpsI4G0ZTCcmP29iA', + }), + ], + declarations: [ + COMPONENTS, + ], + exports: [ + COMPONENTS, + ], + providers: [ + SERVICES, + ], +}) +export class MemberModule { } diff --git a/src/packages/member/service/index.ts b/src/packages/member/service/index.ts new file mode 100644 index 0000000..60b23b3 --- /dev/null +++ b/src/packages/member/service/index.ts @@ -0,0 +1,7 @@ +import { MemberService } from './member.service'; +import {MemberTotpService} from './member-totp.service'; + +export const SERVICES = [ + MemberService, + MemberTotpService, +]; diff --git a/src/packages/member/service/member-totp.service.spec.ts b/src/packages/member/service/member-totp.service.spec.ts new file mode 100644 index 0000000..a8305ef --- /dev/null +++ b/src/packages/member/service/member-totp.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { MemberTotpService } from './member-totp.service'; + +describe('MemberTotpService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [MemberTotpService] + }); + }); + + it('should be created', inject([MemberTotpService], (service: MemberTotpService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/src/packages/member/service/member-totp.service.ts b/src/packages/member/service/member-totp.service.ts new file mode 100644 index 0000000..af25dfc --- /dev/null +++ b/src/packages/member/service/member-totp.service.ts @@ -0,0 +1,32 @@ +import { Injectable } from '@angular/core'; +import { RPCService } from '@loafer/ng-rpc/service'; +import { Observable } from 'rxjs/Observable'; +import { MemberTotp } from '@overflow/commons-typescript/model/member'; +import { Member } from '@overflow/commons-typescript/model/member'; + +@Injectable() +export class MemberTotpService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public createTotp(member: Member): Observable { + return this.rpcService.call('MemberTotpService.createTotp', member); + } + + public regist(member: Member, secretCode: string, code: string): Observable { + // const param = { + // Member: {id: 1, }, + // MemberTotp: {id: 1, secretCode: 'dkdkdkdk'}, + // code: '123123' + // }; + return this.rpcService.call('MemberTotpService.regist', member, secretCode, code); + } + + public checkCodeForMember(member: Member, code: string): Observable { + return this.rpcService.call('MemberTotpService.checkCodeForMember', member, code); + } +} diff --git a/src/packages/member/service/member.service.spec.ts b/src/packages/member/service/member.service.spec.ts new file mode 100644 index 0000000..703f7bd --- /dev/null +++ b/src/packages/member/service/member.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { MemberService } from './member.service'; + +describe('MemberService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [MemberService] + }); + }); + + it('should be created', inject([MemberService], (service: MemberService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/src/packages/member/service/member.service.ts b/src/packages/member/service/member.service.ts new file mode 100644 index 0000000..6862462 --- /dev/null +++ b/src/packages/member/service/member.service.ts @@ -0,0 +1,70 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; + +import 'rxjs/add/operator/map'; + +import { RESTService } from '@loafer/ng-rest/service'; +import { RPCService } from '@loafer/ng-rpc/service'; +import { DomainMember } from '@overflow/commons-typescript/model/domain'; + +import { Member } from '@overflow/commons-typescript/model/member'; + +@Injectable() +export class MemberService { + + public constructor( + private restService: RESTService, + private rpcService: RPCService, + ) { + + } + + public signin(email: string, password: string): Observable { + return this.restService.request('post', '/account/signin', { + body: { + signinID: email, + signinPW: password, + }, + }); + } + + public signin_cookie(authToken: string): Observable { + return this.restService.request('post', '/account/signin_cookie', { + body: { + authToken: authToken, + }, + }); + } + + public signup(member: Member, password: string): Observable { + return this.restService.request('post', '/account/signup', { + body: { + member: member, + password: password, + }, + }); + } + + public modify(member: Member): Observable { + return this.rpcService.call('MemberService.modify', member, ''); + } + + public sendEmailResetPassword(email: string): Observable { + // return this.rpcService.call('MemberService.sendEmailForPassword', email); + return this.restService.request('post', '/account/send_email_pw', { + body: { + signinID: email, + }, + }); + } + public resetPassword(token: string, pw: string, confirmPw: string): Observable { + // return this.rpcService.call('MemberService.sendEmailForPassword', email); + return this.restService.request('post', '/account/reset_password', { + body: { + token: token, + pw: pw, + confirmPw: confirmPw, + }, + }); + } +} diff --git a/src/packages/member/store/auth/auth.action.ts b/src/packages/member/store/auth/auth.action.ts new file mode 100644 index 0000000..29aa1de --- /dev/null +++ b/src/packages/member/store/auth/auth.action.ts @@ -0,0 +1,89 @@ +import { Action } from '@ngrx/store'; + +import { RESTClientError } from '@loafer/ng-rest/protocol'; + +import { DomainMember } from '@overflow/commons-typescript/model/domain'; +import { Member } from '@overflow/commons-typescript/model/member'; + +export enum ActionType { + Signin = '[member.auth] Signin', + SigninSuccess = '[member.auth] SigninSuccess', + SigninFailure = '[member.auth] SigninFailure', + SigninRedirect = '[member.auth] SigninRedirect', + + SigninCookie = '[member.auth] SigninCookie', + SigninCookieSuccess = '[member.auth] SigninCookieSuccess', + SigninCookieFailure = '[member.auth] SigninCookieFailure', + + Signout = '[member.auth] Signout', + SignoutSuccess = '[member.auth] SignoutSuccess', + SignoutFailure = '[member.auth] SignoutFailure', +} + +export class Signin implements Action { + readonly type = ActionType.Signin; + + constructor(public payload: {email: string, password: string, returnURL: string}) {} +} + +export class SigninSuccess implements Action { + readonly type = ActionType.SigninSuccess; + + constructor(public payload: {authToken: string, domainMember: DomainMember}) {} +} + +export class SigninFailure implements Action { + readonly type = ActionType.SigninFailure; + + constructor(public payload: RESTClientError) {} +} + +export class SigninRedirect implements Action { + readonly type = ActionType.SigninRedirect; + constructor(public payload: string) {} +} + +export class SigninCookie implements Action { + readonly type = ActionType.SigninCookie; + + constructor(public payload: {authToken: string, returnURL: string}) {} +} + +export class SigninCookieSuccess implements Action { + readonly type = ActionType.SigninCookieSuccess; + + constructor(public payload: DomainMember) {} +} + +export class SigninCookieFailure implements Action { + readonly type = ActionType.SigninCookieFailure; + + constructor(public payload: RESTClientError) {} +} + +export class Signout implements Action { + readonly type = ActionType.Signout; +} + +export class SignoutSuccess implements Action { + readonly type = ActionType.SignoutSuccess; +} + +export class SignoutFailure implements Action { + readonly type = ActionType.SignoutFailure; + + constructor(public payload: RESTClientError) {} +} + +export type Actions = + | Signin + | SigninSuccess + | SigninFailure + | SigninRedirect + | SigninCookie + | SigninCookieSuccess + | SigninCookieFailure + | Signout + | SignoutSuccess + | SignoutFailure +; diff --git a/src/packages/member/store/auth/auth.effect.spec.ts b/src/packages/member/store/auth/auth.effect.spec.ts new file mode 100644 index 0000000..da764e2 --- /dev/null +++ b/src/packages/member/store/auth/auth.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './auth.effect'; + +describe('Auth.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/member/store/auth/auth.effect.ts b/src/packages/member/store/auth/auth.effect.ts new file mode 100644 index 0000000..a9dc7a4 --- /dev/null +++ b/src/packages/member/store/auth/auth.effect.ts @@ -0,0 +1,107 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RESTClientError } from '@loafer/ng-rest/protocol'; + +import { DomainMember } from '@overflow/commons-typescript/model/domain'; + +import { Member } from '@overflow/commons-typescript/model/member'; +import { MemberService } from '../../service/member.service'; + +import { + Signin, + SigninSuccess, + SigninFailure, + SigninRedirect, + SigninCookie, + SigninCookieSuccess, + SigninCookieFailure, + + ActionType, +} from './auth.action'; + +@Injectable() +export class Effects { + private _returnURL: any; + + constructor( + private actions$: Actions, + private memberService: MemberService, + private router: Router + ) { } + + @Effect() + signin$: Observable = this.actions$ + .ofType(ActionType.Signin) + .map((action: Signin) => action.payload) + .switchMap(payload => { + this._returnURL = payload.returnURL; + return this.memberService.signin(payload.email, payload.password); + }) + .map((result: any) => { + const authToken = result['authToken']; + const domainMember = result['domainMember']; + return new SigninSuccess({authToken: authToken, domainMember: domainMember}); + }) + .catch((error: RESTClientError) => { + return of(new SigninFailure(error)); + }); + + @Effect({ dispatch: false }) + signinSuccess$ = this.actions$ + .ofType(ActionType.SigninSuccess) + .do(() => { + this.router.navigateByUrl(this._returnURL); + }); + + @Effect({ dispatch: false }) + signinRedirect$ = this.actions$ + .ofType(ActionType.SigninRedirect, ActionType.Signout) + .map((action: SigninRedirect) => action.payload) + .do(returnURL => { + this.router.navigate(['/auth/signin'], {queryParams: {returnURL: returnURL}}); + }); + + + @Effect() + signinCookie$: Observable = this.actions$ + .ofType(ActionType.SigninCookie) + .map((action: SigninCookie) => action.payload) + .switchMap((payload) => { + this._returnURL = payload.returnURL; + return this.memberService.signin_cookie(payload.authToken); + }) + .map((domainMember: DomainMember) => { + return new SigninCookieSuccess(domainMember); + }) + .catch((error: RESTClientError) => { + return of(new SigninFailure(error)); + }); + + @Effect({ dispatch: false }) + signinCookieSuccess$ = this.actions$ + .ofType(ActionType.SigninCookieSuccess) + .do(() => { + this.router.navigateByUrl(this._returnURL); + }); + + @Effect({ dispatch: false }) + signinCookieFailure$ = this.actions$ + .ofType(ActionType.SigninCookieFailure) + .map(() => { + return new SigninRedirect(this._returnURL); + }); +} diff --git a/src/packages/member/store/auth/auth.reducer.ts b/src/packages/member/store/auth/auth.reducer.ts new file mode 100644 index 0000000..c74e735 --- /dev/null +++ b/src/packages/member/store/auth/auth.reducer.ts @@ -0,0 +1,102 @@ +import { + Actions, + ActionType, + Signin, +} from './auth.action'; + +import { + State, + initialState, +} from './auth.state'; + +import { Member } from '@overflow/commons-typescript/model/member'; +import { DomainMember } from '@overflow/commons-typescript/model/domain'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.Signin: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.SigninSuccess: { + const domainMember = action.payload.domainMember; + return { + ...state, + signined: true, + error: null, + pending: false, + member: domainMember.member, + domain: domainMember.domain, + }; + } + + case ActionType.SigninFailure: { + return { + ...state, + signined: false, + error: action.payload, + pending: false, + member: null, + domain: null, + }; + } + + case ActionType.SigninCookieSuccess: { + return { + ...state, + signined: true, + error: null, + pending: false, + member: action.payload.member, + domain: action.payload.domain, + }; + } + + case ActionType.SigninCookieFailure: { + return { + ...state, + signined: false, + error: action.payload, + pending: false, + member: null, + domain: null, + }; + } + + + case ActionType.Signout: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.SignoutSuccess: { + return { + ...state, + signined: false, + error: null, + pending: false, + member: null, + domain: null, + }; + } + + case ActionType.SignoutFailure: { + return { + ...state, + error: action.payload, + pending: false, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/member/store/auth/auth.state.ts b/src/packages/member/store/auth/auth.state.ts new file mode 100644 index 0000000..318da15 --- /dev/null +++ b/src/packages/member/store/auth/auth.state.ts @@ -0,0 +1,19 @@ +import { RESTClientError } from '@loafer/ng-rest/protocol'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { Member } from '@overflow/commons-typescript/model/member'; + +export interface State { + signined: boolean; + error: RESTClientError | null; + pending: boolean; + member: Member | null; + domain: Domain | null; +} + +export const initialState: State = { + signined: false, + error: null, + pending: false, + member: null, + domain: null, +}; diff --git a/src/packages/member/store/auth/index.ts b/src/packages/member/store/auth/index.ts new file mode 100644 index 0000000..aa2085e --- /dev/null +++ b/src/packages/member/store/auth/index.ts @@ -0,0 +1,4 @@ +export * from './auth.action'; +export * from './auth.effect'; +export * from './auth.reducer'; +export * from './auth.state'; diff --git a/src/packages/member/store/index.ts b/src/packages/member/store/index.ts new file mode 100644 index 0000000..637e61d --- /dev/null +++ b/src/packages/member/store/index.ts @@ -0,0 +1,66 @@ +import { + createSelector, + createFeatureSelector, +} from '@ngrx/store'; + +import { StateSelector } from 'packages/core/ngrx/store'; + +import { MODULE } from '../member.constant'; + +import * as AuthStore from './auth'; +import * as SignupStore from './signup'; +import * as TotpStore from './totp'; +import * as ModifyStore from './modify'; +import * as ResetPasswordStore from './reset-password'; + +export interface State { + auth: AuthStore.State; + signup: SignupStore.State; + totp: TotpStore.State; + modify: ModifyStore.State; + resetPassword: ResetPasswordStore.State; +} + +export const REDUCERS = { + auth: AuthStore.reducer, + signup: SignupStore.reducer, + totp: TotpStore.reducer, + modify: ModifyStore.reducer, + resetPassword: ResetPasswordStore.reducer, +}; + +export const EFFECTS = [ + AuthStore.Effects, + SignupStore.Effects, + TotpStore.Effects, + ModifyStore.Effects, + ResetPasswordStore.Effects, +]; + +export const selectMemberState = createFeatureSelector(MODULE.name); + +export const AuthSelector = new StateSelector(createSelector( + selectMemberState, + (state: State) => state.auth +)); + +export const SignupSelector = new StateSelector(createSelector( + selectMemberState, + (state: State) => state.signup +)); + +export const TotpSelector = new StateSelector(createSelector( + selectMemberState, + (state: State) => state.totp +)); + +export const ModifySelector = new StateSelector(createSelector( + selectMemberState, + (state: State) => state.modify +)); + +export const ResetPasswordSelector = new StateSelector(createSelector( + selectMemberState, + (state: State) => state.resetPassword +)); + diff --git a/src/packages/member/store/modify/index.ts b/src/packages/member/store/modify/index.ts new file mode 100644 index 0000000..c5c34eb --- /dev/null +++ b/src/packages/member/store/modify/index.ts @@ -0,0 +1,5 @@ +export * from './modify.action'; +export * from './modify.effect'; +export * from './modify.reducer'; +export * from './modify.state'; + diff --git a/src/packages/member/store/modify/modify.action.ts b/src/packages/member/store/modify/modify.action.ts new file mode 100644 index 0000000..e0bc33d --- /dev/null +++ b/src/packages/member/store/modify/modify.action.ts @@ -0,0 +1,35 @@ +import { Action } from '@ngrx/store'; + +import { RESTClientError } from '@loafer/ng-rest/protocol'; + +import { Member } from '@overflow/commons-typescript/model/member'; + +export enum ActionType { + Modify = '[member.modify] Modify', + ModifySuccess = '[member.modify] ModifySuccess', + ModifyFailure = '[member.modify] ModifyFailure', +} + +export class Modify implements Action { + readonly type = ActionType.Modify; + + constructor(public payload: Member ) {} +} + +export class ModifySuccess implements Action { + readonly type = ActionType.ModifySuccess; + + constructor(public payload: Member) {} +} + +export class ModifyFailure implements Action { + readonly type = ActionType.ModifyFailure; + + constructor(public payload: RESTClientError) {} +} + +export type Actions = + | Modify + | ModifySuccess + | ModifyFailure +; diff --git a/src/packages/member/store/modify/modify.effect.spec.ts b/src/packages/member/store/modify/modify.effect.spec.ts new file mode 100644 index 0000000..213f4c8 --- /dev/null +++ b/src/packages/member/store/modify/modify.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './modify.effect'; + +describe('Modify.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/member/store/modify/modify.effect.ts b/src/packages/member/store/modify/modify.effect.ts new file mode 100644 index 0000000..f4e8bce --- /dev/null +++ b/src/packages/member/store/modify/modify.effect.ts @@ -0,0 +1,50 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { MemberService } from '../../service/member.service'; + +import { + Modify, + ModifySuccess, + ModifyFailure, + ActionType +} from './modify.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private memberService: MemberService, + private router: Router + ) { } + + @Effect() + modify$: Observable = this.actions$ + .ofType(ActionType.Modify) + .map((action: Modify) => action.payload) + .exhaustMap(payload => + this.memberService + .modify(payload) + .map(_member => new ModifySuccess(_member)) + .catch(error => of(new ModifyFailure(error))) + ); + + // @Effect({ dispatch: false }) + // modifySuccess$ = this.actions$ + // .ofType(ActionType.ModifySuccess) + // .do(() => this.router.navigate(['/'])); + +} diff --git a/src/packages/member/store/modify/modify.reducer.ts b/src/packages/member/store/modify/modify.reducer.ts new file mode 100644 index 0000000..7e7fcfc --- /dev/null +++ b/src/packages/member/store/modify/modify.reducer.ts @@ -0,0 +1,43 @@ +import { + Actions, + ActionType, +} from './modify.action'; + +import { + State, + initialState, +} from './modify.state'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.Modify: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.ModifySuccess: { + return { + ...state, + error: null, + pending: false, + member: action.payload, + }; + } + + case ActionType.ModifyFailure: { + return { + ...state, + error: action.payload, + pending: false, + member: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/member/store/modify/modify.state.ts b/src/packages/member/store/modify/modify.state.ts new file mode 100644 index 0000000..e987617 --- /dev/null +++ b/src/packages/member/store/modify/modify.state.ts @@ -0,0 +1,15 @@ +import { RESTClientError } from '@loafer/ng-rest/protocol'; + +import { Member } from '@overflow/commons-typescript/model/member'; + +export interface State { + error: RESTClientError | null; + pending: boolean; + member: Member | null; +} + +export const initialState: State = { + error: null, + pending: false, + member: null, +}; diff --git a/src/packages/member/store/reset-password/index.ts b/src/packages/member/store/reset-password/index.ts new file mode 100644 index 0000000..ee04fbb --- /dev/null +++ b/src/packages/member/store/reset-password/index.ts @@ -0,0 +1,5 @@ +export * from './reset-password.action'; +export * from './reset-password.effect'; +export * from './reset-password.reducer'; +export * from './reset-password.state'; + diff --git a/src/packages/member/store/reset-password/reset-password.action.ts b/src/packages/member/store/reset-password/reset-password.action.ts new file mode 100644 index 0000000..a870fac --- /dev/null +++ b/src/packages/member/store/reset-password/reset-password.action.ts @@ -0,0 +1,63 @@ +import { Action } from '@ngrx/store'; + +import { RESTClientError } from '@loafer/ng-rest/protocol'; + +import { Member } from '@overflow/commons-typescript/model/member'; + +export enum ActionType { + ResetPassword = '[member.resetPassword] ResetPassword', + ResetPasswordSuccess = '[member.resetPassword] ResetPasswordSuccess', + ResetPasswordFailure = '[member.resetPassword] ResetPasswordFailure', +} + +export class ResetPassword implements Action { + readonly type = ActionType.ResetPassword; + + constructor(public payload: string ) {} +} + +export class ResetPasswordSuccess implements Action { + readonly type = ActionType.ResetPasswordSuccess; + + constructor(public payload: Member) {} +} + +export class ResetPasswordFailure implements Action { + readonly type = ActionType.ResetPasswordFailure; + + constructor(public payload: RESTClientError) {} +} + +export type Actions = + | ResetPassword + | ResetPasswordSuccess + | ResetPasswordFailure + | ModifyPassword + | ModifyPasswordSuccess + | ModifyPasswordFailure +; + + +export enum ActionType { + ModifyPassword = '[member.modifyPassword] ModifyPassword', + ModifyPasswordSuccess = '[member.modifyPassword] ModifyPasswordSuccess', + ModifyPasswordFailure = '[member.modifyPassword] ModifyPasswordFailure', +} + +export class ModifyPassword implements Action { + readonly type = ActionType.ModifyPassword; + + constructor(public payload: { token: string, pw: string, confirmPw: string } ) {} +} + +export class ModifyPasswordSuccess implements Action { + readonly type = ActionType.ModifyPasswordSuccess; + + constructor(public payload: Member) {} +} + +export class ModifyPasswordFailure implements Action { + readonly type = ActionType.ModifyPasswordFailure; + + constructor(public payload: RESTClientError) {} +} diff --git a/src/packages/member/store/reset-password/reset-password.effect.spec.ts b/src/packages/member/store/reset-password/reset-password.effect.spec.ts new file mode 100644 index 0000000..59f5118 --- /dev/null +++ b/src/packages/member/store/reset-password/reset-password.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './reset-password.effect'; + +describe('ResetPassword.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/member/store/reset-password/reset-password.effect.ts b/src/packages/member/store/reset-password/reset-password.effect.ts new file mode 100644 index 0000000..376b933 --- /dev/null +++ b/src/packages/member/store/reset-password/reset-password.effect.ts @@ -0,0 +1,64 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { MemberService } from '../../service/member.service'; + +import { + ResetPassword, + ResetPasswordSuccess, + ResetPasswordFailure, + ModifyPassword, + ModifyPasswordSuccess, + ModifyPasswordFailure, + ActionType +} from './reset-password.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private memberService: MemberService, + private router: Router + ) { } + + @Effect() + ResetPassword$: Observable = this.actions$ + .ofType(ActionType.ResetPassword) + .map((action: ResetPassword) => action.payload) + .exhaustMap(payload => + this.memberService + .sendEmailResetPassword(payload) + .map(_member => new ResetPasswordSuccess(_member)) + .catch(error => of(new ResetPasswordFailure(error))) + ); + + @Effect() + ModifyPassword$: Observable = this.actions$ + .ofType(ActionType.ModifyPassword) + .map((action: ModifyPassword) => action.payload) + .exhaustMap(payload => + this.memberService + .resetPassword(payload.token, payload.pw, payload.confirmPw) + .map(_member => new ModifyPasswordSuccess(_member)) + .catch(error => of(new ModifyPasswordFailure(error))) + ); + // + // @Effect({ dispatch: false }) + // ResetPasswordSuccess$ = this.actions$ + // .ofType(ActionType.ResetPasswordSuccess) + // .do(() => this.router.navigate(['/'])); + +} diff --git a/src/packages/member/store/reset-password/reset-password.reducer.ts b/src/packages/member/store/reset-password/reset-password.reducer.ts new file mode 100644 index 0000000..7a13c7b --- /dev/null +++ b/src/packages/member/store/reset-password/reset-password.reducer.ts @@ -0,0 +1,70 @@ +import { + Actions, + ActionType, +} from './reset-password.action'; + +import { + State, + initialState, +} from './reset-password.state'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.ResetPassword: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.ResetPasswordSuccess: { + return { + ...state, + error: null, + pending: false, + member: action.payload, + }; + } + + case ActionType.ResetPasswordFailure: { + return { + ...state, + error: action.payload, + pending: false, + member: null, + }; + } + + case ActionType.ModifyPassword: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.ModifyPasswordSuccess: { + return { + ...state, + error: null, + pending: false, + member: action.payload, + }; + } + + case ActionType.ModifyPasswordFailure: { + return { + ...state, + error: action.payload, + pending: false, + member: null, + }; + } + + default: { + return state; + } + } +} + diff --git a/src/packages/member/store/reset-password/reset-password.state.ts b/src/packages/member/store/reset-password/reset-password.state.ts new file mode 100644 index 0000000..e987617 --- /dev/null +++ b/src/packages/member/store/reset-password/reset-password.state.ts @@ -0,0 +1,15 @@ +import { RESTClientError } from '@loafer/ng-rest/protocol'; + +import { Member } from '@overflow/commons-typescript/model/member'; + +export interface State { + error: RESTClientError | null; + pending: boolean; + member: Member | null; +} + +export const initialState: State = { + error: null, + pending: false, + member: null, +}; diff --git a/src/packages/member/store/signup/index.ts b/src/packages/member/store/signup/index.ts new file mode 100644 index 0000000..d5700f1 --- /dev/null +++ b/src/packages/member/store/signup/index.ts @@ -0,0 +1,5 @@ +export * from './signup.action'; +export * from './signup.effect'; +export * from './signup.reducer'; +export * from './signup.state'; + diff --git a/src/packages/member/store/signup/signup.action.ts b/src/packages/member/store/signup/signup.action.ts new file mode 100644 index 0000000..11b438f --- /dev/null +++ b/src/packages/member/store/signup/signup.action.ts @@ -0,0 +1,35 @@ +import { Action } from '@ngrx/store'; + +import { RESTClientError } from '@loafer/ng-rest/protocol'; + +import { Member } from '@overflow/commons-typescript/model/member'; + +export enum ActionType { + Signup = '[member.signup] Signup', + SignupSuccess = '[member.signup] SignupSuccess', + SignupFailure = '[member.signup] SignupFailure', +} + +export class Signup implements Action { + readonly type = ActionType.Signup; + + constructor(public payload: {member: Member, password: string}) {} +} + +export class SignupSuccess implements Action { + readonly type = ActionType.SignupSuccess; + + constructor(public payload: Member) {} +} + +export class SignupFailure implements Action { + readonly type = ActionType.SignupFailure; + + constructor(public payload: RESTClientError) {} +} + +export type Actions = + | Signup + | SignupSuccess + | SignupFailure +; diff --git a/src/packages/member/store/signup/signup.effect.spec.ts b/src/packages/member/store/signup/signup.effect.spec.ts new file mode 100644 index 0000000..2325646 --- /dev/null +++ b/src/packages/member/store/signup/signup.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './signup.effect'; + +describe('Signup.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/member/store/signup/signup.effect.ts b/src/packages/member/store/signup/signup.effect.ts new file mode 100644 index 0000000..a838bfe --- /dev/null +++ b/src/packages/member/store/signup/signup.effect.ts @@ -0,0 +1,51 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { Member } from '@overflow/commons-typescript/model/member'; +import { MemberService } from '../../service/member.service'; + +import { + Signup, + SignupSuccess, + SignupFailure, + ActionType, +} from './signup.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private memberService: MemberService, + private router: Router + ) { } + + @Effect() + signup$: Observable = this.actions$ + .ofType(ActionType.Signup) + .map((action: Signup) => action.payload) + .exhaustMap(payload => + this.memberService + .signup(payload.member, payload.password) + .map(_member => new SignupSuccess(_member)) + .catch(error => of(new SignupFailure(error))) + ); + + @Effect({ dispatch: false }) + signupSuccess$ = this.actions$ + .ofType(ActionType.SignupSuccess) + .do(() => this.router.navigate(['/'])); + +} diff --git a/src/packages/member/store/signup/signup.reducer.ts b/src/packages/member/store/signup/signup.reducer.ts new file mode 100644 index 0000000..f6c5ed4 --- /dev/null +++ b/src/packages/member/store/signup/signup.reducer.ts @@ -0,0 +1,45 @@ +import { + Actions, + ActionType, +} from './signup.action'; + +import { + State, + initialState, +} from './signup.state'; + +import { Member } from '@overflow/commons-typescript/model/member'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.Signup: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.SignupSuccess: { + return { + ...state, + error: null, + pending: false, + member: action.payload, + }; + } + + case ActionType.SignupFailure: { + return { + ...state, + error: action.payload, + pending: false, + member: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/member/store/signup/signup.state.ts b/src/packages/member/store/signup/signup.state.ts new file mode 100644 index 0000000..e987617 --- /dev/null +++ b/src/packages/member/store/signup/signup.state.ts @@ -0,0 +1,15 @@ +import { RESTClientError } from '@loafer/ng-rest/protocol'; + +import { Member } from '@overflow/commons-typescript/model/member'; + +export interface State { + error: RESTClientError | null; + pending: boolean; + member: Member | null; +} + +export const initialState: State = { + error: null, + pending: false, + member: null, +}; diff --git a/src/packages/member/store/totp/index.ts b/src/packages/member/store/totp/index.ts new file mode 100644 index 0000000..d32dabd --- /dev/null +++ b/src/packages/member/store/totp/index.ts @@ -0,0 +1,4 @@ +export * from './totp.action'; +export * from './totp.effect'; +export * from './totp.reducer'; +export * from './totp.state'; diff --git a/src/packages/member/store/totp/totp.action.ts b/src/packages/member/store/totp/totp.action.ts new file mode 100644 index 0000000..b51a0f5 --- /dev/null +++ b/src/packages/member/store/totp/totp.action.ts @@ -0,0 +1,89 @@ +import { Action } from '@ngrx/store'; + +import { RESTClientError } from '@loafer/ng-rest/protocol'; + +import { Member } from '@overflow/commons-typescript/model/member'; + +export enum ActionType { + CreateTotp = '[member.totp] CreateTotp', + CreateTotpSuccess = '[member.totp] CreateTotpSuccess', + CreateTotpFailure = '[member.totp] CreateTotpFailure', + + Regist = '[member.totp] Regist', + RegistSuccess = '[member.totp] RegistSuccess', + RegistFailure = '[member.totp] RegistFailure', + + CheckCodeForMember = '[member.totp] CheckCodeForMember', + CheckCodeForMemberSuccess = '[member.totp] CheckCodeForMemberSuccess', + CheckCodeForMemberFailure = '[member.totp] CheckCodeForMemberFailure', +} + +export class CreateTotp implements Action { + readonly type = ActionType.CreateTotp; + + constructor(public payload: Member) {} +} + +export class CreateTotpSuccess implements Action { + readonly type = ActionType.CreateTotpSuccess; + + constructor(public payload: {key: string, uri: string}) {} +} + +export class CreateTotpFailure implements Action { + readonly type = ActionType.CreateTotpFailure; + + constructor(public payload: RESTClientError) {} +} + +// ---------------------------------------------------------------------------------------- + +export class Regist implements Action { + readonly type = ActionType.Regist; + + constructor(public payload: {member: Member, secretCode: string, code: string}) {} +} + +export class RegistSuccess implements Action { + readonly type = ActionType.RegistSuccess; + + constructor(public payload: void) {} +} + +export class RegistFailure implements Action { + readonly type = ActionType.RegistFailure; + + constructor(public payload: RESTClientError) {} +} + +// ---------------------------------------------------------------------------------------- + +export class CheckCodeForMember implements Action { + readonly type = ActionType.CheckCodeForMember; + + constructor(public payload: {member: Member, code: string}) {} +} + +export class CheckCodeForMemberSuccess implements Action { + readonly type = ActionType.CheckCodeForMemberSuccess; + + constructor(public payload: void) {} +} + +export class CheckCodeForMemberFailure implements Action { + readonly type = ActionType.CheckCodeForMemberFailure; + + constructor(public payload: RESTClientError) {} +} + +export type Actions = + | CreateTotp + | CreateTotpSuccess + | CreateTotpFailure + | Regist + | RegistSuccess + | RegistFailure + | CheckCodeForMember + | CheckCodeForMemberSuccess + | CheckCodeForMemberFailure + ; diff --git a/src/packages/member/store/totp/totp.effect.spec.ts b/src/packages/member/store/totp/totp.effect.spec.ts new file mode 100644 index 0000000..30746b8 --- /dev/null +++ b/src/packages/member/store/totp/totp.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './totp.effect'; + +describe('ProbeList.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/member/store/totp/totp.effect.ts b/src/packages/member/store/totp/totp.effect.ts new file mode 100644 index 0000000..7e3261c --- /dev/null +++ b/src/packages/member/store/totp/totp.effect.ts @@ -0,0 +1,93 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RESTClientError } from '@loafer/ng-rest/protocol'; +import { MemberTotpService } from '../../service/member-totp.service'; + +import { + CreateTotp, + CreateTotpSuccess, + CreateTotpFailure, + + Regist, + RegistSuccess, + RegistFailure, + + CheckCodeForMember, + CheckCodeForMemberSuccess, + CheckCodeForMemberFailure, + + ActionType, +} from './totp.action'; + +@Injectable() +export class Effects { + private _returnURL: any; + + constructor( + private actions$: Actions, + private memberTotpService: MemberTotpService, + private router: Router + ) { } + + @Effect() + createTotp$: Observable = this.actions$ + .ofType(ActionType.CreateTotp) + .map((action: CreateTotp) => action.payload) + .switchMap(payload => { + // this._returnURL = payload.returnURL; + return this.memberTotpService.createTotp(payload); + }) + .map((result: any) => { + const key = result['key']; + const uri = result['uri']; + return new CreateTotpSuccess({key: key, uri: uri}); + }) + .catch((error: RESTClientError) => { + return of(new CreateTotpFailure(error)); + }); + + @Effect() + regist: Observable = this.actions$ + .ofType(ActionType.Regist) + .map((action: Regist) => action.payload) + .switchMap((payload) => { + // this._returnURL = payload.returnURL; + return this.memberTotpService.regist(payload.member, payload.secretCode, payload.code); + }) + .map((result: any) => { + return new RegistSuccess(result); + }) + .catch((error: RESTClientError) => { + return of(new RegistFailure(error)); + }); + + + @Effect() + checkCodeForMember: Observable = this.actions$ + .ofType(ActionType.CheckCodeForMember) + .map((action: Regist) => action.payload) + .switchMap((payload) => { + // this._returnURL = payload.returnURL; + return this.memberTotpService.checkCodeForMember(payload.member, payload.code); + }) + .map((result: any) => { + return new CheckCodeForMemberSuccess(result); + }) + .catch((error: RESTClientError) => { + return of(new CheckCodeForMemberFailure(error)); + }); +} diff --git a/src/packages/member/store/totp/totp.reducer.ts b/src/packages/member/store/totp/totp.reducer.ts new file mode 100644 index 0000000..612e05b --- /dev/null +++ b/src/packages/member/store/totp/totp.reducer.ts @@ -0,0 +1,72 @@ +import { + Actions, + ActionType, +} from './totp.action'; + +import { + State, + initialState, +} from './totp.state'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.CreateTotp: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.CreateTotpSuccess: { + const secretKey = action.payload.key; + const keyURI = action.payload.uri; + return { + ...state, + totp: {key: secretKey, uri: keyURI}, + error: null, + pending: false, + secretKey: secretKey, + keyURI: keyURI, + }; + } + + case ActionType.CreateTotpFailure: { + return { + ...state, + error: action.payload, + pending: false, + secretKey: null, + keyURI: null, + }; + } + + case ActionType.Regist: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.RegistSuccess: { + return { + ...state, + error: null, + pending: false, + }; + } + + case ActionType.RegistFailure: { + return { + ...state, + error: action.payload, + pending: false, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/member/store/totp/totp.state.ts b/src/packages/member/store/totp/totp.state.ts new file mode 100644 index 0000000..32a2f86 --- /dev/null +++ b/src/packages/member/store/totp/totp.state.ts @@ -0,0 +1,17 @@ +import { RESTClientError } from '@loafer/ng-rest/protocol'; + +export interface State { + totp: any; + secretKey: string; + keyURI: string; + error: RESTClientError | null; + pending: boolean; +} + +export const initialState: State = { + totp: null, + secretKey: null, + keyURI: null, + error: null, + pending: false, +}; diff --git a/src/packages/meta/crawler-input-item/crawler-input-store.module.ts b/src/packages/meta/crawler-input-item/crawler-input-store.module.ts new file mode 100644 index 0000000..588d1a1 --- /dev/null +++ b/src/packages/meta/crawler-input-item/crawler-input-store.module.ts @@ -0,0 +1,24 @@ +import { NgModule } from '@angular/core'; +import { StoreModule } from '@ngrx/store'; +import { StoreDevtoolsModule } from '@ngrx/store-devtools'; +import { + StoreRouterConnectingModule, + RouterStateSerializer, +} from '@ngrx/router-store'; +import { EffectsModule } from '@ngrx/effects'; +import { combineReducers, ActionReducer, ActionReducerMap, MetaReducer } from '@ngrx/store'; + +import { + REDUCERS, + EFFECTS, +} from './store'; + +import { MODULE } from './crawler-input.constant'; + +@NgModule({ + imports: [ + StoreModule.forFeature(MODULE.name, REDUCERS), + EffectsModule.forFeature(EFFECTS), + ], +}) +export class MetaCrawlerInputItemStoreModule { } diff --git a/src/packages/meta/crawler-input-item/crawler-input.constant.ts b/src/packages/meta/crawler-input-item/crawler-input.constant.ts new file mode 100644 index 0000000..54329f5 --- /dev/null +++ b/src/packages/meta/crawler-input-item/crawler-input.constant.ts @@ -0,0 +1,3 @@ +export const MODULE = { + name: 'metaCrawlerInputItem' +}; diff --git a/src/packages/meta/crawler-input-item/crawler-input.module.ts b/src/packages/meta/crawler-input-item/crawler-input.module.ts new file mode 100644 index 0000000..5f327dc --- /dev/null +++ b/src/packages/meta/crawler-input-item/crawler-input.module.ts @@ -0,0 +1,22 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { } from './crawler.module'; + +import { SERVICES } from './service'; +import { MetaCrawlerInputItemStoreModule } from './crawler-input-store.module'; + +@NgModule({ + imports: [ + CommonModule, + MetaCrawlerInputItemStoreModule + ], + declarations: [ + ], + exports: [ + ], + providers: [ + SERVICES, + ] +}) +export class MetaCrawlerInputItemModule { } diff --git a/src/packages/meta/crawler-input-item/service/crawler-input-item.service.ts b/src/packages/meta/crawler-input-item/service/crawler-input-item.service.ts new file mode 100644 index 0000000..02ee3e3 --- /dev/null +++ b/src/packages/meta/crawler-input-item/service/crawler-input-item.service.ts @@ -0,0 +1,23 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; + +import 'rxjs/add/operator/map'; + +import { RPCService } from '@loafer/ng-rpc/service'; +import { MetaCrawlerInputItem } from '@overflow/commons-typescript/model/meta'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; + + +@Injectable() +export class MetaCrawlerInputItemService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public readAllByMetaCrawler(c: MetaCrawler): Observable { + return this.rpcService.call('MetaCrawlerInputItemService.readAllByMetaCrawler', c); + } +} diff --git a/src/packages/meta/crawler-input-item/service/index.ts b/src/packages/meta/crawler-input-item/service/index.ts new file mode 100644 index 0000000..2d26125 --- /dev/null +++ b/src/packages/meta/crawler-input-item/service/index.ts @@ -0,0 +1,5 @@ +import { MetaCrawlerInputItemService } from './crawler-input-item.service'; + +export const SERVICES = [ + MetaCrawlerInputItemService, +]; diff --git a/src/packages/meta/crawler-input-item/store/index.ts b/src/packages/meta/crawler-input-item/store/index.ts new file mode 100644 index 0000000..76b4226 --- /dev/null +++ b/src/packages/meta/crawler-input-item/store/index.ts @@ -0,0 +1,30 @@ +import { + createSelector, + createFeatureSelector, + ActionReducerMap, +} from '@ngrx/store'; + +import { StateSelector } from 'packages/core/ngrx/store'; + + +import * as ListStore from './list'; +import { MODULE } from '../crawler-input.constant'; + +export interface State { + list: ListStore.State; +} + +export const REDUCERS = { + list: ListStore.reducer, +}; + +export const EFFECTS = [ + ListStore.Effects, +]; + +export const selectState = createFeatureSelector(MODULE.name); + +export const ReadCrawlerInputItemSelector = new StateSelector(createSelector( + selectState, + (state: State) => state.list +)); diff --git a/src/packages/meta/crawler-input-item/store/list/index.ts b/src/packages/meta/crawler-input-item/store/list/index.ts new file mode 100644 index 0000000..7fd86e0 --- /dev/null +++ b/src/packages/meta/crawler-input-item/store/list/index.ts @@ -0,0 +1,4 @@ +export * from './list.action'; +export * from './list.effect'; +export * from './list.reducer'; +export * from './list.state'; diff --git a/src/packages/meta/crawler-input-item/store/list/list.action.ts b/src/packages/meta/crawler-input-item/store/list/list.action.ts new file mode 100644 index 0000000..020bbd3 --- /dev/null +++ b/src/packages/meta/crawler-input-item/store/list/list.action.ts @@ -0,0 +1,37 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; +import { MetaCrawlerInputItem } from '@overflow/commons-typescript/model/meta'; + + +export enum ActionType { + ReadAll = '[meta.crawler-input-list] ReadAll', + ReadAllSuccess = '[meta.crawler-input-list] ReadAllSuccess', + ReadAllFailure = '[meta.crawler-input-list] ReadAllFailure', +} + +export class ReadAll implements Action { + readonly type = ActionType.ReadAll; + + constructor(public payload: MetaCrawler) {} +} + +export class ReadAllSuccess implements Action { + readonly type = ActionType.ReadAllSuccess; + + constructor(public payload: MetaCrawlerInputItem[]) {} +} + +export class ReadAllFailure implements Action { + readonly type = ActionType.ReadAllFailure; + + constructor(public payload: RPCClientError) {} +} + +export type Actions = + | ReadAll + | ReadAllSuccess + | ReadAllFailure + +; diff --git a/src/packages/meta/crawler-input-item/store/list/list.effect.spec.ts b/src/packages/meta/crawler-input-item/store/list/list.effect.spec.ts new file mode 100644 index 0000000..d8f6227 --- /dev/null +++ b/src/packages/meta/crawler-input-item/store/list/list.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './list.effect'; + +describe('List.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/meta/crawler-input-item/store/list/list.effect.ts b/src/packages/meta/crawler-input-item/store/list/list.effect.ts new file mode 100644 index 0000000..4a35a28 --- /dev/null +++ b/src/packages/meta/crawler-input-item/store/list/list.effect.ts @@ -0,0 +1,51 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { DomainMember } from '@overflow/commons-typescript/model/domain'; + + +import { + ReadAll, + ReadAllSuccess, + ReadAllFailure, + ActionType, +} from './list.action'; +import { MetaCrawlerInputItemService } from '../../service/crawler-input-item.service'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private service: MetaCrawlerInputItemService, + private router: Router + ) { } + + @Effect() + readAll$: Observable = this.actions$ + .ofType(ActionType.ReadAll) + .map((action: ReadAll) => action.payload) + .switchMap(payload => this.service.readAllByMetaCrawler(payload)) + .map(list => { + return new ReadAllSuccess(list); + }) + .catch((error: RPCClientError) => { + return of(new ReadAllFailure(error)); + }); + +} diff --git a/src/packages/meta/crawler-input-item/store/list/list.reducer.ts b/src/packages/meta/crawler-input-item/store/list/list.reducer.ts new file mode 100644 index 0000000..ecb84ec --- /dev/null +++ b/src/packages/meta/crawler-input-item/store/list/list.reducer.ts @@ -0,0 +1,43 @@ +import { + Actions, + ActionType, +} from './list.action'; + +import { + State, + initialState, +} from './list.state'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.ReadAll: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.ReadAllSuccess: { + return { + ...state, + error: null, + pending: false, + inputs: action.payload + }; + } + + case ActionType.ReadAllFailure: { + return { + ...state, + error: action.payload, + pending: false, + inputs: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/meta/crawler-input-item/store/list/list.state.ts b/src/packages/meta/crawler-input-item/store/list/list.state.ts new file mode 100644 index 0000000..e8c9941 --- /dev/null +++ b/src/packages/meta/crawler-input-item/store/list/list.state.ts @@ -0,0 +1,15 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { MetaCrawlerInputItem } from '@overflow/commons-typescript/model/meta'; + + +export interface State { + error: RPCClientError | null; + pending: boolean; + inputs: MetaCrawlerInputItem[] | null; +} + +export const initialState: State = { + error: null, + pending: false, + inputs: null, +}; diff --git a/src/packages/meta/crawler/crawler-store.module.ts b/src/packages/meta/crawler/crawler-store.module.ts new file mode 100644 index 0000000..f47c903 --- /dev/null +++ b/src/packages/meta/crawler/crawler-store.module.ts @@ -0,0 +1,24 @@ +import { NgModule } from '@angular/core'; +import { StoreModule } from '@ngrx/store'; +import { StoreDevtoolsModule } from '@ngrx/store-devtools'; +import { + StoreRouterConnectingModule, + RouterStateSerializer, +} from '@ngrx/router-store'; +import { EffectsModule } from '@ngrx/effects'; +import { combineReducers, ActionReducer, ActionReducerMap, MetaReducer } from '@ngrx/store'; + +import { + REDUCERS, + EFFECTS, +} from './store'; + +import { MODULE } from './crawler.constant'; + +@NgModule({ + imports: [ + StoreModule.forFeature(MODULE.name, REDUCERS), + EffectsModule.forFeature(EFFECTS), + ], +}) +export class MetaCrawlerStoreModule { } diff --git a/src/packages/meta/crawler/crawler.constant.ts b/src/packages/meta/crawler/crawler.constant.ts new file mode 100644 index 0000000..5edb6c9 --- /dev/null +++ b/src/packages/meta/crawler/crawler.constant.ts @@ -0,0 +1,3 @@ +export const MODULE = { + name: 'metaCrawler' +}; diff --git a/src/packages/meta/crawler/crawler.module.ts b/src/packages/meta/crawler/crawler.module.ts new file mode 100644 index 0000000..39510da --- /dev/null +++ b/src/packages/meta/crawler/crawler.module.ts @@ -0,0 +1,22 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { } from './crawler.module'; + +import { SERVICES } from './service'; +import { MetaCrawlerStoreModule } from './crawler-store.module'; + +@NgModule({ + imports: [ + CommonModule, + MetaCrawlerStoreModule + ], + declarations: [ + ], + exports: [ + ], + providers: [ + SERVICES, + ] +}) +export class MetaCrawlerModule { } diff --git a/src/packages/meta/crawler/service/crawler.service.ts b/src/packages/meta/crawler/service/crawler.service.ts new file mode 100644 index 0000000..03201e1 --- /dev/null +++ b/src/packages/meta/crawler/service/crawler.service.ts @@ -0,0 +1,22 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; + +import 'rxjs/add/operator/map'; + +import { RPCService } from '@loafer/ng-rpc/service'; + +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; + +@Injectable() +export class MetaCrawlerService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public readAll(): Observable { + return this.rpcService.call('MetaCrawlerService.readAll'); + } +} diff --git a/src/packages/meta/crawler/service/index.ts b/src/packages/meta/crawler/service/index.ts new file mode 100644 index 0000000..e4f7b70 --- /dev/null +++ b/src/packages/meta/crawler/service/index.ts @@ -0,0 +1,5 @@ +import { MetaCrawlerService } from './crawler.service'; + +export const SERVICES = [ + MetaCrawlerService, +]; diff --git a/src/packages/meta/crawler/store/index.ts b/src/packages/meta/crawler/store/index.ts new file mode 100644 index 0000000..1b7f256 --- /dev/null +++ b/src/packages/meta/crawler/store/index.ts @@ -0,0 +1,30 @@ +import { + createSelector, + createFeatureSelector, + ActionReducerMap, +} from '@ngrx/store'; + +import { StateSelector } from 'packages/core/ngrx/store'; + +import { MODULE } from '../crawler.constant'; + +import * as ListStore from './list'; + +export interface State { + crawlers: ListStore.State; +} + +export const REDUCERS = { + crawlers: ListStore.reducer, +}; + +export const EFFECTS = [ + ListStore.Effects, +]; + +export const selectCrawlerState = createFeatureSelector(MODULE.name); + +export const ReadAllCrawlerSelector = new StateSelector(createSelector( + selectCrawlerState, + (state: State) => state.crawlers +)); diff --git a/src/packages/meta/crawler/store/list/index.ts b/src/packages/meta/crawler/store/list/index.ts new file mode 100644 index 0000000..7fd86e0 --- /dev/null +++ b/src/packages/meta/crawler/store/list/index.ts @@ -0,0 +1,4 @@ +export * from './list.action'; +export * from './list.effect'; +export * from './list.reducer'; +export * from './list.state'; diff --git a/src/packages/meta/crawler/store/list/list.action.ts b/src/packages/meta/crawler/store/list/list.action.ts new file mode 100644 index 0000000..e15938d --- /dev/null +++ b/src/packages/meta/crawler/store/list/list.action.ts @@ -0,0 +1,36 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; + + +export enum ActionType { + ReadAll = '[meta.crawler-readall] ReadAll', + ReadAllSuccess = '[meta.crawler-readall] ReadAllSuccess', + ReadAllFailure = '[meta.crawler-readall] ReadAllFailure', +} + +export class ReadAll implements Action { + readonly type = ActionType.ReadAll; + + constructor() {} +} + +export class ReadAllSuccess implements Action { + readonly type = ActionType.ReadAllSuccess; + + constructor(public payload: MetaCrawler[]) {} +} + +export class ReadAllFailure implements Action { + readonly type = ActionType.ReadAllFailure; + + constructor(public payload: RPCClientError) {} +} + +export type Actions = + | ReadAll + | ReadAllSuccess + | ReadAllFailure + +; diff --git a/src/packages/meta/crawler/store/list/list.effect.spec.ts b/src/packages/meta/crawler/store/list/list.effect.spec.ts new file mode 100644 index 0000000..d8f6227 --- /dev/null +++ b/src/packages/meta/crawler/store/list/list.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './list.effect'; + +describe('List.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/meta/crawler/store/list/list.effect.ts b/src/packages/meta/crawler/store/list/list.effect.ts new file mode 100644 index 0000000..d8aaffa --- /dev/null +++ b/src/packages/meta/crawler/store/list/list.effect.ts @@ -0,0 +1,51 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { DomainMember } from '@overflow/commons-typescript/model/domain'; + + +import { + ReadAll, + ReadAllSuccess, + ReadAllFailure, + ActionType, +} from './list.action'; +import { MetaCrawlerService } from '../../service/crawler.service'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private crawlerService: MetaCrawlerService, + private router: Router + ) { } + + @Effect() + readAll$: Observable = this.actions$ + .ofType(ActionType.ReadAll) + .map((action: ReadAll) => action) + .switchMap(payload => this.crawlerService.readAll()) + .map(list => { + return new ReadAllSuccess(list); + }) + .catch((error: RPCClientError) => { + return of(new ReadAllFailure(error)); + }); + +} diff --git a/src/packages/meta/crawler/store/list/list.reducer.ts b/src/packages/meta/crawler/store/list/list.reducer.ts new file mode 100644 index 0000000..42e1225 --- /dev/null +++ b/src/packages/meta/crawler/store/list/list.reducer.ts @@ -0,0 +1,43 @@ +import { + Actions, + ActionType, +} from './list.action'; + +import { + State, + initialState, +} from './list.state'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.ReadAll: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.ReadAllSuccess: { + return { + ...state, + error: null, + pending: false, + metaCrawlerList: action.payload + }; + } + + case ActionType.ReadAllFailure: { + return { + ...state, + error: action.payload, + pending: false, + metaCrawlerList: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/meta/crawler/store/list/list.state.ts b/src/packages/meta/crawler/store/list/list.state.ts new file mode 100644 index 0000000..462bb70 --- /dev/null +++ b/src/packages/meta/crawler/store/list/list.state.ts @@ -0,0 +1,15 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; + + +export interface State { + error: RPCClientError | null; + pending: boolean; + metaCrawlerList: MetaCrawler[] | null; +} + +export const initialState: State = { + error: null, + pending: false, + metaCrawlerList: null, +}; diff --git a/src/packages/meta/sensor-display-item/sensor-display-item-store.module.ts b/src/packages/meta/sensor-display-item/sensor-display-item-store.module.ts new file mode 100644 index 0000000..f9ea191 --- /dev/null +++ b/src/packages/meta/sensor-display-item/sensor-display-item-store.module.ts @@ -0,0 +1,24 @@ +import { NgModule } from '@angular/core'; +import { StoreModule } from '@ngrx/store'; +import { StoreDevtoolsModule } from '@ngrx/store-devtools'; +import { + StoreRouterConnectingModule, + RouterStateSerializer, +} from '@ngrx/router-store'; +import { EffectsModule } from '@ngrx/effects'; +import { combineReducers, ActionReducer, ActionReducerMap, MetaReducer } from '@ngrx/store'; + +import { + REDUCERS, + EFFECTS, +} from './store'; + +import { MODULE } from './sensor-display-item.constant'; + +@NgModule({ + imports: [ + StoreModule.forFeature(MODULE.name, REDUCERS), + EffectsModule.forFeature(EFFECTS), + ], +}) +export class MetaSensorDisplayItemStoreModule { } diff --git a/src/packages/meta/sensor-display-item/sensor-display-item.constant.ts b/src/packages/meta/sensor-display-item/sensor-display-item.constant.ts new file mode 100644 index 0000000..d49d9cb --- /dev/null +++ b/src/packages/meta/sensor-display-item/sensor-display-item.constant.ts @@ -0,0 +1,3 @@ +export const MODULE = { + name: 'metaSensorDisplayItem' +}; diff --git a/src/packages/meta/sensor-display-item/sensor-display-item.module.ts b/src/packages/meta/sensor-display-item/sensor-display-item.module.ts new file mode 100644 index 0000000..5fc6e27 --- /dev/null +++ b/src/packages/meta/sensor-display-item/sensor-display-item.module.ts @@ -0,0 +1,22 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { } from './crawler.module'; + +import { SERVICES } from './service'; +import { MetaSensorDisplayItemStoreModule } from './sensor-display-item-store.module'; + +@NgModule({ + imports: [ + CommonModule, + MetaSensorDisplayItemStoreModule + ], + declarations: [ + ], + exports: [ + ], + providers: [ + SERVICES, + ] +}) +export class MetaSensorDisplayItemModule { } diff --git a/src/packages/meta/sensor-display-item/service/index.ts b/src/packages/meta/sensor-display-item/service/index.ts new file mode 100644 index 0000000..db97bf7 --- /dev/null +++ b/src/packages/meta/sensor-display-item/service/index.ts @@ -0,0 +1,5 @@ +import { MetaSensorDisplayItemService } from './sensor-display-item.service'; + +export const SERVICES = [ + MetaSensorDisplayItemService, +]; diff --git a/src/packages/meta/sensor-display-item/service/sensor-display-item.service.ts b/src/packages/meta/sensor-display-item/service/sensor-display-item.service.ts new file mode 100644 index 0000000..a29284b --- /dev/null +++ b/src/packages/meta/sensor-display-item/service/sensor-display-item.service.ts @@ -0,0 +1,23 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; + +import 'rxjs/add/operator/map'; + +import { RPCService } from '@loafer/ng-rpc/service'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; +import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta'; + + +@Injectable() +export class MetaSensorDisplayItemService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public readAllByMetaCrawler(c: MetaCrawler): Observable { + return this.rpcService.call('MetaSensorDisplayItemService.readAllByCrawler', c); + } +} diff --git a/src/packages/meta/sensor-display-item/store/index.ts b/src/packages/meta/sensor-display-item/store/index.ts new file mode 100644 index 0000000..f8d6dac --- /dev/null +++ b/src/packages/meta/sensor-display-item/store/index.ts @@ -0,0 +1,30 @@ +import { + createSelector, + createFeatureSelector, + ActionReducerMap, +} from '@ngrx/store'; + +import { StateSelector } from 'packages/core/ngrx/store'; + + +import * as ListStore from './list'; +import { MODULE } from '../sensor-display-item.constant'; + +export interface State { + list: ListStore.State; +} + +export const REDUCERS = { + list: ListStore.reducer, +}; + +export const EFFECTS = [ + ListStore.Effects, +]; + +export const selectState = createFeatureSelector(MODULE.name); + +export const ReadAllSensorDisplayItemByCrawlerSelector = new StateSelector(createSelector( + selectState, + (state: State) => state.list +)); diff --git a/src/packages/meta/sensor-display-item/store/list/index.ts b/src/packages/meta/sensor-display-item/store/list/index.ts new file mode 100644 index 0000000..7fd86e0 --- /dev/null +++ b/src/packages/meta/sensor-display-item/store/list/index.ts @@ -0,0 +1,4 @@ +export * from './list.action'; +export * from './list.effect'; +export * from './list.reducer'; +export * from './list.state'; diff --git a/src/packages/meta/sensor-display-item/store/list/list.action.ts b/src/packages/meta/sensor-display-item/store/list/list.action.ts new file mode 100644 index 0000000..5a09051 --- /dev/null +++ b/src/packages/meta/sensor-display-item/store/list/list.action.ts @@ -0,0 +1,37 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; +import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta'; + + +export enum ActionType { + ReadAllByCrawler = '[meta.sensor-display-item] ReadAllByCrawler', + ReadAllByCrawlerSuccess = '[meta.sensor-display-item] ReadAllByCrawlerSuccess', + ReadAllByCrawlerFailure = '[meta.sensor-display-item] ReadAllByCrawlerFailure', +} + +export class ReadAllByCrawler implements Action { + readonly type = ActionType.ReadAllByCrawler; + + constructor(public payload: MetaCrawler) {} +} + +export class ReadAllByCrawlerSuccess implements Action { + readonly type = ActionType.ReadAllByCrawlerSuccess; + + constructor(public payload: MetaSensorDisplayItem[]) {} +} + +export class ReadAllByCrawlerFailure implements Action { + readonly type = ActionType.ReadAllByCrawlerFailure; + + constructor(public payload: RPCClientError) {} +} + +export type Actions = + | ReadAllByCrawler + | ReadAllByCrawlerSuccess + | ReadAllByCrawlerFailure + +; diff --git a/src/packages/meta/sensor-display-item/store/list/list.effect.spec.ts b/src/packages/meta/sensor-display-item/store/list/list.effect.spec.ts new file mode 100644 index 0000000..d8f6227 --- /dev/null +++ b/src/packages/meta/sensor-display-item/store/list/list.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './list.effect'; + +describe('List.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/meta/sensor-display-item/store/list/list.effect.ts b/src/packages/meta/sensor-display-item/store/list/list.effect.ts new file mode 100644 index 0000000..8232b3a --- /dev/null +++ b/src/packages/meta/sensor-display-item/store/list/list.effect.ts @@ -0,0 +1,51 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { DomainMember } from '@overflow/commons-typescript/model/domain'; + +import { + ReadAllByCrawler, + ReadAllByCrawlerSuccess, + ReadAllByCrawlerFailure, + ActionType, +} from './list.action'; +import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta'; +import { MetaSensorDisplayItemService } from '../../service/sensor-display-item.service'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private service: MetaSensorDisplayItemService, + private router: Router + ) { } + + @Effect() + readAllByCrawler$: Observable = this.actions$ + .ofType(ActionType.ReadAllByCrawler) + .map((action: ReadAllByCrawler) => action.payload) + .switchMap(payload => this.service.readAllByMetaCrawler(payload)) + .map(list => { + return new ReadAllByCrawlerSuccess(list); + }) + .catch((error: RPCClientError) => { + return of(new ReadAllByCrawlerFailure(error)); + }); + +} diff --git a/src/packages/meta/sensor-display-item/store/list/list.reducer.ts b/src/packages/meta/sensor-display-item/store/list/list.reducer.ts new file mode 100644 index 0000000..31c0616 --- /dev/null +++ b/src/packages/meta/sensor-display-item/store/list/list.reducer.ts @@ -0,0 +1,43 @@ +import { + Actions, + ActionType, +} from './list.action'; + +import { + State, + initialState, +} from './list.state'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.ReadAllByCrawler: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.ReadAllByCrawlerSuccess: { + return { + ...state, + error: null, + pending: false, + list: action.payload + }; + } + + case ActionType.ReadAllByCrawlerFailure: { + return { + ...state, + error: action.payload, + pending: false, + list: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/meta/sensor-display-item/store/list/list.state.ts b/src/packages/meta/sensor-display-item/store/list/list.state.ts new file mode 100644 index 0000000..7ed37d3 --- /dev/null +++ b/src/packages/meta/sensor-display-item/store/list/list.state.ts @@ -0,0 +1,15 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta'; + + +export interface State { + error: RPCClientError | null; + pending: boolean; + list: MetaSensorDisplayItem[] | null; +} + +export const initialState: State = { + error: null, + pending: false, + list: null, +}; diff --git a/src/packages/noauth/component/index.ts b/src/packages/noauth/component/index.ts new file mode 100644 index 0000000..bd78b54 --- /dev/null +++ b/src/packages/noauth/component/index.ts @@ -0,0 +1,5 @@ +import { ListComponent } from './list/list.component'; + +export const COMPONENTS = [ + ListComponent, +]; diff --git a/src/packages/noauth/component/list/list.component.html b/src/packages/noauth/component/list/list.component.html new file mode 100644 index 0000000..94066ca --- /dev/null +++ b/src/packages/noauth/component/list/list.component.html @@ -0,0 +1,73 @@ +

      Unauthorized

      + + + + + + Probe Key + Host Name + OS + Created at + + + + + + + + + + {{rowData.data.tempProbeKey}} + {{rowData.meta.host.name}} + {{rowData.meta.host.os}} + {{rowData.data.createDate | date: 'dd/MM/yyyy'}} + + + + + +
      + +
      +
      + Platform: {{rowData.meta.host.platform}} +
      + +
      + Platform family: {{rowData.meta.host.platformFamily}} +
      +
      + Kernel: {{rowData.meta.host.kernelVersion}} +
      +
      + HostID: {{rowData.meta.host.hostID}} +
      +
      + +
      +
      +
      + NIC: {{rowData.meta.network.name}} +
      +
      + Network Address: {{rowData.meta.network.address}} +
      +
      + Gateway: {{rowData.meta.network.gateway}} +
      +
      + Mac Address: {{rowData.meta.network.macAddress}} +
      +
      +
      +
      + + +
      +
      + + +
      +
      + + diff --git a/src/packages/noauth/component/list/list.component.spec.ts b/src/packages/noauth/component/list/list.component.spec.ts new file mode 100644 index 0000000..beacd15 --- /dev/null +++ b/src/packages/noauth/component/list/list.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ListComponent } from './list.component'; + +describe('ListComponent', () => { + let component: ListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ListComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/noauth/component/list/list.component.ts b/src/packages/noauth/component/list/list.component.ts new file mode 100644 index 0000000..e9ce44d --- /dev/null +++ b/src/packages/noauth/component/list/list.component.ts @@ -0,0 +1,128 @@ +import { Component, OnInit, AfterViewInit, ViewChild } from '@angular/core'; +import { AfterContentInit, OnDestroy } from '@angular/core/src/metadata/lifecycle_hooks'; +import { Router } from '@angular/router'; +import { Store, select } from '@ngrx/store'; +import { AuthSelector } from 'packages/member/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import * as ListStore from '../../store/noauth-probe'; +import { NoAuthProbeSelector } from '../../store'; +import { NoAuthProbe } from '@overflow/commons-typescript/model/noauth'; +import { ConfirmationService, Message } from 'primeng/primeng'; +import { MessageService } from 'primeng/components/common/messageservice'; +import { Subscription } from 'rxjs/Subscription'; + +class NoauthProbeDesc { + host: { + name: string; + os: string; + platform: string; + platformFamily: string; + platformVersion: string; + kernelVersion: string; + hostID: string; + }; + network: { + name: string; + address: string; + gateway: string; + macAddress: string; + }; +} + +class NoauthProbeResult { + id: number; + data: NoAuthProbe; + meta: NoauthProbeDesc; +} + + +@Component({ + selector: 'of-noauth-list', + templateUrl: './list.component.html', + providers: [ConfirmationService, MessageService] +}) +export class ListComponent implements OnInit, AfterContentInit, OnDestroy { + noAuthProbesSubscription$: Subscription; + noAuthProbes$ = this.store.pipe(select(NoAuthProbeSelector.select('noAuthProbes'))); + noauthProbes: NoauthProbeResult[]; + msgs: Message[]; + + + constructor( + private router: Router, + private store: Store, + private confirmationService: ConfirmationService, + private messageService: MessageService + ) { + } + + ngOnInit() { + this.noAuthProbesSubscription$ = this.noAuthProbes$.subscribe( + (result: NoAuthProbe[]) => { + if (result) { + this.arrangeData(result); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + this.store.select(AuthSelector.select('domain')).subscribe( + (domain: Domain) => { + this.store.dispatch(new ListStore.ReadAllByDomain(domain)); + } + ); + } + + ngOnDestroy() { + this.noAuthProbesSubscription$.unsubscribe(); + } + + arrangeData(list) { + if (!list || list.length === 0) { + return; + } + this.noauthProbes = []; + for (const np of list) { + const desc: NoauthProbeDesc = JSON.parse(np.description); + const result: NoauthProbeResult = { + id: np.id, + data: np, + meta: desc + }; + this.noauthProbes.push(result); + } + } + + onAcceptOrDeny(isAccept: boolean, selected: NoAuthProbe) { + console.log(selected); + this.msgs = []; + const title = isAccept ? + 'Are you sure to accept this Probe?' : 'Are you sure to deny this Probe'; + const message = isAccept ? + 'Start collecting data as a Probe.' : 'It will be permanently deleted.'; + + this.confirmationService.confirm({ + header: title, + message: message, + icon: isAccept ? 'fa-check' : 'fa fa-trash', + accept: () => { + isAccept ? this.handleAccept(selected) : this.handleDeny(selected); + }, + reject: () => { + } + }); + } + + handleAccept(selected) { + this.store.dispatch(new ListStore.Accept(selected)); + } + + handleDeny(selected) { + this.store.dispatch(new ListStore.Deny(selected)); + } +} diff --git a/src/packages/noauth/noauth-probe-logger.module.ts b/src/packages/noauth/noauth-probe-logger.module.ts new file mode 100644 index 0000000..3e8f92e --- /dev/null +++ b/src/packages/noauth/noauth-probe-logger.module.ts @@ -0,0 +1,10 @@ +import { NgModule } from '@angular/core'; +import { LoggerModule } from '@loafer/ng-logger'; + + +@NgModule({ + imports: [ + LoggerModule.forFeature({}), + ], +}) +export class NoAuthProbeLoggerModule { } diff --git a/src/packages/noauth/noauth-probe-rpc.module.ts b/src/packages/noauth/noauth-probe-rpc.module.ts new file mode 100644 index 0000000..39e2760 --- /dev/null +++ b/src/packages/noauth/noauth-probe-rpc.module.ts @@ -0,0 +1,13 @@ +import { NgModule } from '@angular/core'; +import { RPCModule } from '@loafer/ng-rpc'; + +import { + SUBSCRIBERS, +} from './subscriber'; + +@NgModule({ + imports: [ + RPCModule.forFeature({subscribers: SUBSCRIBERS}), + ], +}) +export class NoAuthProbeRPCModule { } diff --git a/src/packages/noauth/noauth-probe-store.module.ts b/src/packages/noauth/noauth-probe-store.module.ts new file mode 100644 index 0000000..6ea8543 --- /dev/null +++ b/src/packages/noauth/noauth-probe-store.module.ts @@ -0,0 +1,24 @@ +import { NgModule } from '@angular/core'; +import { StoreModule } from '@ngrx/store'; +import { StoreDevtoolsModule } from '@ngrx/store-devtools'; +import { + StoreRouterConnectingModule, + RouterStateSerializer, +} from '@ngrx/router-store'; +import { EffectsModule } from '@ngrx/effects'; +import { combineReducers, ActionReducer, ActionReducerMap, MetaReducer } from '@ngrx/store'; + +import { + REDUCERS, + EFFECTS, +} from './store'; + +import { MODULE } from './noauth-probe.constant'; + +@NgModule({ + imports: [ + StoreModule.forFeature(MODULE.name, REDUCERS), + EffectsModule.forFeature(EFFECTS), + ], +}) +export class NoAuthProbeStoreModule { } diff --git a/src/packages/noauth/noauth-probe.constant.ts b/src/packages/noauth/noauth-probe.constant.ts new file mode 100644 index 0000000..1be6283 --- /dev/null +++ b/src/packages/noauth/noauth-probe.constant.ts @@ -0,0 +1,3 @@ +export const MODULE = { + name: 'noAuthProbe' +}; diff --git a/src/packages/noauth/noauth.module.ts b/src/packages/noauth/noauth.module.ts new file mode 100644 index 0000000..288ad9f --- /dev/null +++ b/src/packages/noauth/noauth.module.ts @@ -0,0 +1,28 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { NoAuthProbeStoreModule } from './noauth-probe-store.module'; +import { NoAuthProbeRPCModule } from './noauth-probe-rpc.module'; +import { NoAuthProbeLoggerModule } from './noauth-probe-logger.module'; +import { COMPONENTS } from './component'; +import { SERVICES } from './service'; +import { PrimeNGModules } from '../commons/prime-ng/prime-ng.module'; + +@NgModule({ + imports: [ + CommonModule, + NoAuthProbeStoreModule, + NoAuthProbeRPCModule, + NoAuthProbeLoggerModule, + PrimeNGModules, + ], + declarations: [ + COMPONENTS, + ], + exports: [ + COMPONENTS, + ], + providers: [ + SERVICES, + ] +}) +export class NoauthModule { } diff --git a/src/packages/noauth/service/index.ts b/src/packages/noauth/service/index.ts new file mode 100644 index 0000000..fca1854 --- /dev/null +++ b/src/packages/noauth/service/index.ts @@ -0,0 +1,5 @@ +import { NoAuthProbeService } from './noauth-probe.service'; + +export const SERVICES = [ + NoAuthProbeService, +]; diff --git a/src/packages/noauth/service/noauth-probe.service.spec.ts b/src/packages/noauth/service/noauth-probe.service.spec.ts new file mode 100644 index 0000000..839a6c9 --- /dev/null +++ b/src/packages/noauth/service/noauth-probe.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { NoAuthProbeService } from './noauth-probe.service'; + +describe('NoAuthProbeService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [NoAuthProbeService] + }); + }); + + it('should be created', inject([NoAuthProbeService], (service: NoAuthProbeService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/src/packages/noauth/service/noauth-probe.service.ts b/src/packages/noauth/service/noauth-probe.service.ts new file mode 100644 index 0000000..f97077a --- /dev/null +++ b/src/packages/noauth/service/noauth-probe.service.ts @@ -0,0 +1,33 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; + +import 'rxjs/add/operator/map'; + +import { RPCService } from '@loafer/ng-rpc/service'; + +import { Domain } from '@overflow/commons-typescript/model/domain'; + +import { NoAuthProbe } from '@overflow/commons-typescript/model/noauth'; + + +@Injectable() +export class NoAuthProbeService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public readAllByDomain(domain: Domain): Observable { + return this.rpcService.call('NoAuthProbeService.readAllByDomain', domain); + } + + public acceptNoAuthProbe(noAuthProbe: NoAuthProbe): Observable { + return this.rpcService.call('NoAuthProbeService.acceptNoAuthProbe', noAuthProbe); + } + + public denyNoauthProbe(noAuthProbe: NoAuthProbe): Observable { + return this.rpcService.call('NoAuthProbeService.denyNoauthProbe', noAuthProbe); + } +} diff --git a/src/packages/noauth/store/index.ts b/src/packages/noauth/store/index.ts new file mode 100644 index 0000000..44d3653 --- /dev/null +++ b/src/packages/noauth/store/index.ts @@ -0,0 +1,29 @@ +import { + createSelector, + createFeatureSelector, +} from '@ngrx/store'; + +import { StateSelector } from 'packages/core/ngrx/store'; + +import { MODULE } from '../noauth-probe.constant'; + +import * as NoAuthProbeStore from './noauth-probe'; + +export interface State { + noAuthProbe: NoAuthProbeStore.State; +} + +export const REDUCERS = { + noAuthProbe: NoAuthProbeStore.reducer, +}; + +export const EFFECTS = [ + NoAuthProbeStore.Effects, +]; + +export const selectNoAuthProbeState = createFeatureSelector(MODULE.name); + +export const NoAuthProbeSelector = new StateSelector(createSelector( + selectNoAuthProbeState, + (state: State) => state.noAuthProbe +)); diff --git a/src/packages/noauth/store/noauth-probe/index.ts b/src/packages/noauth/store/noauth-probe/index.ts new file mode 100644 index 0000000..b2730b4 --- /dev/null +++ b/src/packages/noauth/store/noauth-probe/index.ts @@ -0,0 +1,4 @@ +export * from './noauth-probe.action'; +export * from './noauth-probe.effect'; +export * from './noauth-probe.reducer'; +export * from './noauth-probe.state'; diff --git a/src/packages/noauth/store/noauth-probe/noauth-probe.action.ts b/src/packages/noauth/store/noauth-probe/noauth-probe.action.ts new file mode 100644 index 0000000..3b92fb6 --- /dev/null +++ b/src/packages/noauth/store/noauth-probe/noauth-probe.action.ts @@ -0,0 +1,105 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Domain } from '@overflow/commons-typescript/model/domain'; + +import { NoAuthProbe } from '@overflow/commons-typescript/model/noauth'; + +export enum ActionType { + ReadAllByDomain = '[noauth-proboe.noauth-proboe] ReadAllByDomain', + ReadAllByDomainSuccess = '[noauth-proboe.noauth-proboe] ReadAllByDomainSuccess', + ReadAllByDomainFailure = '[noauth-proboe.noauth-proboe] ReadAllByDomainFailure', + + Accept = '[noauth-proboe.noauth-proboe] Accept', + AcceptSuccess = '[noauth-proboe.noauth-proboe] AcceptSuccess', + AcceptFailure = '[noauth-proboe.noauth-proboe] AcceptFailure', + + Deny = '[noauth-proboe.noauth-proboe] Deny', + DenySuccess = '[noauth-proboe.noauth-proboe] DenySuccess', + DenyFailure = '[noauth-proboe.noauth-proboe] DenyFailure', + + OnConnect = '[noauth-proboe.noauth-proboe] OnConnect', + OnDisconnect = '[noauth-proboe.noauth-proboe] OnDisconnect', +} + +export class ReadAllByDomain implements Action { + readonly type = ActionType.ReadAllByDomain; + + constructor(public payload: Domain) {} +} + +export class ReadAllByDomainSuccess implements Action { + readonly type = ActionType.ReadAllByDomainSuccess; + + constructor(public payload: NoAuthProbe[]) {} +} + +export class ReadAllByDomainFailure implements Action { + readonly type = ActionType.ReadAllByDomainFailure; + + constructor(public payload: RPCClientError) {} +} + +export class Accept implements Action { + readonly type = ActionType.Accept; + + constructor(public payload: NoAuthProbe) {} +} + +export class AcceptSuccess implements Action { + readonly type = ActionType.AcceptSuccess; + + constructor(public payload: NoAuthProbe[]) {} +} + +export class AcceptFailure implements Action { + readonly type = ActionType.AcceptFailure; + + constructor(public payload: RPCClientError) {} +} + +export class Deny implements Action { + readonly type = ActionType.Deny; + + constructor(public payload: NoAuthProbe) {} +} + +export class DenySuccess implements Action { + readonly type = ActionType.DenySuccess; + + constructor(public payload: NoAuthProbe[]) {} +} + +export class DenyFailure implements Action { + readonly type = ActionType.DenyFailure; + + constructor(public payload: RPCClientError) {} +} + +export class OnConnect implements Action { + readonly type = ActionType.OnConnect; + + constructor(public payload: NoAuthProbe) {} +} + +export class OnDisconnect implements Action { + readonly type = ActionType.OnDisconnect; + + constructor(public payload: NoAuthProbe) {} +} + + +export type Actions = + | ReadAllByDomain + | ReadAllByDomainSuccess + | ReadAllByDomainFailure + | Accept + | AcceptSuccess + | AcceptFailure + | Deny + | DenySuccess + | DenyFailure + | OnConnect + | OnDisconnect +; diff --git a/src/packages/noauth/store/noauth-probe/noauth-probe.effect.spec.ts b/src/packages/noauth/store/noauth-probe/noauth-probe.effect.spec.ts new file mode 100644 index 0000000..b02bbdc --- /dev/null +++ b/src/packages/noauth/store/noauth-probe/noauth-probe.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './noauth-probe.effect'; + +describe('NoAuth-Probe.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/noauth/store/noauth-probe/noauth-probe.effect.ts b/src/packages/noauth/store/noauth-probe/noauth-probe.effect.ts new file mode 100644 index 0000000..4fdb304 --- /dev/null +++ b/src/packages/noauth/store/noauth-probe/noauth-probe.effect.ts @@ -0,0 +1,82 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Domain } from '@overflow/commons-typescript/model/domain'; + +import { NoAuthProbe } from '@overflow/commons-typescript/model/noauth'; +import { NoAuthProbeService } from '../../service/noauth-probe.service'; + +import { + ReadAllByDomain, + ReadAllByDomainFailure, + ReadAllByDomainSuccess, + Accept, + AcceptSuccess, + AcceptFailure, + Deny, + DenySuccess, + DenyFailure, + ActionType, +} from './noauth-probe.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private noAuthProbeService: NoAuthProbeService, + private router: Router + ) { } + + @Effect() + readAllByDomain$: Observable = this.actions$ + .ofType(ActionType.ReadAllByDomain) + .map((action: ReadAllByDomain) => action.payload) + .switchMap(payload => this.noAuthProbeService.readAllByDomain(payload)) + .map(noAuthProbes => { + return new ReadAllByDomainSuccess(noAuthProbes); + }) + .catch((error: RPCClientError) => { + return of(new ReadAllByDomainFailure(error)); + }); + + @Effect() + accept$: Observable = this.actions$ + .ofType(ActionType.Accept) + .map((action: Accept) => action.payload) + .switchMap(payload => this.noAuthProbeService.acceptNoAuthProbe(payload)) + .map(noAuthProbes => { + return new AcceptSuccess(noAuthProbes); + }) + .catch((error: RPCClientError) => { + return of(new AcceptFailure(error)); + }); + + @Effect() + deny$: Observable = this.actions$ + .ofType(ActionType.Deny) + .map((action: Deny) => action.payload) + .switchMap(payload => this.noAuthProbeService.denyNoauthProbe(payload)) + .map(noAuthProbes => { + return new DenySuccess(noAuthProbes); + }) + .catch((error: RPCClientError) => { + return of(new DenyFailure(error)); + }); + +} diff --git a/src/packages/noauth/store/noauth-probe/noauth-probe.reducer.ts b/src/packages/noauth/store/noauth-probe/noauth-probe.reducer.ts new file mode 100644 index 0000000..c3382e0 --- /dev/null +++ b/src/packages/noauth/store/noauth-probe/noauth-probe.reducer.ts @@ -0,0 +1,114 @@ +import { + ReadAllByDomain, + ReadAllByDomainFailure, + ReadAllByDomainSuccess, + Accept, + AcceptSuccess, + AcceptFailure, + Deny, + DenySuccess, + DenyFailure, + ActionType, + Actions, +} from './noauth-probe.action'; + +import { + State, + initialState, +} from './noauth-probe.state'; + +import { NoAuthProbe } from '@overflow/commons-typescript/model/noauth'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.ReadAllByDomain: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.ReadAllByDomainSuccess: { + return { + ...state, + error: null, + pending: false, + noAuthProbes: action.payload, + }; + } + + case ActionType.ReadAllByDomainFailure: { + return { + ...state, + error: action.payload, + pending: false, + noAuthProbes: null, + }; + } + + case ActionType.Accept: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.AcceptSuccess: { + return { + ...state, + error: null, + pending: false, + noAuthProbes: action.payload, + }; + } + + case ActionType.AcceptFailure: { + return { + ...state, + error: action.payload, + pending: false, + }; + } + + case ActionType.Deny: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.DenySuccess: { + return { + ...state, + error: null, + pending: false, + noAuthProbes: action.payload, + }; + } + + case ActionType.DenyFailure: { + return { + ...state, + error: action.payload, + pending: false, + }; + } + case ActionType.OnConnect: { + + return { + ...state, + }; + } + case ActionType.OnDisconnect: { + return { + ...state, + }; + } + default: { + return state; + } + } +} diff --git a/src/packages/noauth/store/noauth-probe/noauth-probe.state.ts b/src/packages/noauth/store/noauth-probe/noauth-probe.state.ts new file mode 100644 index 0000000..f5d0a4b --- /dev/null +++ b/src/packages/noauth/store/noauth-probe/noauth-probe.state.ts @@ -0,0 +1,15 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { NoAuthProbe } from '@overflow/commons-typescript/model/noauth'; + +export interface State { + error: RPCClientError | null; + pending: boolean; + noAuthProbes: NoAuthProbe[] | null; +} + +export const initialState: State = { + error: null, + pending: false, + noAuthProbes: null, +}; diff --git a/src/packages/noauth/subscriber/index.ts b/src/packages/noauth/subscriber/index.ts new file mode 100644 index 0000000..d163519 --- /dev/null +++ b/src/packages/noauth/subscriber/index.ts @@ -0,0 +1,5 @@ +import { NoAuthProbeSubscriber } from './noauth-probe.subscriber'; + +export const SUBSCRIBERS = [ + NoAuthProbeSubscriber, +]; diff --git a/src/packages/noauth/subscriber/noauth-probe.subscriber.ts b/src/packages/noauth/subscriber/noauth-probe.subscriber.ts new file mode 100644 index 0000000..08d02e7 --- /dev/null +++ b/src/packages/noauth/subscriber/noauth-probe.subscriber.ts @@ -0,0 +1,35 @@ +import { Injectable } from '@angular/core'; +import { Store, select } from '@ngrx/store'; + +import { RPCSubscriber } from '@loafer/ng-rpc/decorator'; +import { LoggerService } from '@loafer/ng-logger/service'; + +import * as NoAuthProbeStore from '../store/noauth-probe'; + +import { + NoAuthProbe, +} from '@overflow/commons-typescript/model/noauth'; + +@Injectable() +export class NoAuthProbeSubscriber { + + public constructor( + private store: Store, + private loggerService: LoggerService, + ) { + } + + @RPCSubscriber({method: 'NoAuthProbeService.onConnect'}) + public onConnect(noAuthProbe: NoAuthProbe): void { + this.loggerService.debug('NoAuthProbeService.onConnect noAuthProbe:', noAuthProbe); + + this.store.dispatch(new NoAuthProbeStore.OnConnect(noAuthProbe)); + } + + @RPCSubscriber({method: 'NoAuthProbeService.onDisconnect'}) + public onDisconnect(noAuthProbe: NoAuthProbe): void { + this.loggerService.debug('NoAuthProbeService.onDisconnect noAuthProbe:', noAuthProbe); + + this.store.dispatch(new NoAuthProbeStore.OnDisconnect(noAuthProbe)); + } +} diff --git a/src/packages/notification/component/badge/notification.component.html b/src/packages/notification/component/badge/notification.component.html new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/notification/component/badge/notification.component.spec.ts b/src/packages/notification/component/badge/notification.component.spec.ts new file mode 100644 index 0000000..58baf09 --- /dev/null +++ b/src/packages/notification/component/badge/notification.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NotificationBadgeComponent } from './notification.component'; + +describe('NotificationBadgeComponent', () => { + let component: NotificationBadgeComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ NotificationBadgeComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(NotificationBadgeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/notification/component/badge/notification.component.ts b/src/packages/notification/component/badge/notification.component.ts new file mode 100644 index 0000000..9a9e89d --- /dev/null +++ b/src/packages/notification/component/badge/notification.component.ts @@ -0,0 +1,119 @@ +import { Component, OnInit, Input, AfterContentInit } from '@angular/core'; +import { Router } from '@angular/router'; +import { Store, select } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Notification } from '@overflow/commons-typescript/model/notification'; +import * as ListStore from '../../store/list'; +import * as DetailStore from '../../store/detail'; +import { ReadAllByMemberSelector, ReadSelector } from '../../store'; +import { AuthSelector } from 'packages/member/store'; +import { Member } from '@overflow/commons-typescript/model/member'; +import { PageParams, Page } from 'app/commons/model'; +import { MarkAsRead } from '../../store/detail'; + +@Component({ + selector: 'of-notification-badge', + templateUrl: './notification.component.html', +}) +export class NotificationBadgeComponent implements OnInit, AfterContentInit { + notification$ = this.listStore.pipe(select(ReadAllByMemberSelector.select('page'))); + mark$ = this.detailStore.pipe(select(ReadSelector.select('notification'))); + isOpen = false; + notifications: Notification[] = null; + badgeCount = 0; + + + constructor( + private router: Router, + private listStore: Store, + private detailStore: Store + ) { } + + ngOnInit() { + this.notification$.subscribe( + (page: Page) => { + if (page !== null) { + this.notifications = page.content; + this.getUnconfirmedCount(this.notifications); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + this.mark$.subscribe( + (n: Notification) => { + if (n !== null && n.confirmDate !== null) { + this.getNotifications(0); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + this.getNotifications(0); + } + + getNotifications(pageIndex: number) { + this.listStore.select(AuthSelector.select('member')).subscribe( + (member: Member) => { + const pageParams: PageParams = { + pageNo: '0', + countPerPage: '10', + sortCol: 'id', + sortDirection: 'descending' + }; + this.listStore.dispatch(new ListStore.ReadAllByMember({ member, pageParams })); + }, + (error) => { + console.log(error); + } + ); + } + + getUnconfirmedCount(notifications: Notification[]) { + let totalCnt = 0; + notifications.map( function(v, i) { + if (v.confirmDate === null) { + totalCnt += 1; + } + }); + this.badgeCount = totalCnt; + } + + + mark(notification: Notification, e: Event) { + this.detailStore.dispatch(new DetailStore.MarkAsRead(notification)); + e.stopPropagation(); + } + + handleClick(n: Notification) { + alert('Will redirect to ' + n.url); + } + + handleMarkAllAsRead() { + + this.listStore.select(AuthSelector.select('member')).subscribe( + (member: Member) => { + const pageParams: PageParams = { + pageNo: '0', + countPerPage: '10', + sortCol: 'id', + sortDirection: 'descending' + }; + this.listStore.dispatch(new ListStore.MarkAllAsRead({ member, pageParams })); + }, + (error) => { + console.log(error); + } + ); + } + + handleViewAll() { + this.isOpen = false; + this.router.navigate(['notification']); + } +} diff --git a/src/packages/notification/component/index.ts b/src/packages/notification/component/index.ts new file mode 100644 index 0000000..1cb0950 --- /dev/null +++ b/src/packages/notification/component/index.ts @@ -0,0 +1,5 @@ +import { NotificationComponent } from './notification/notification.component'; + +export const COMPONENTS = [ + NotificationComponent, +]; diff --git a/src/packages/notification/component/notification/notification.component.html b/src/packages/notification/component/notification/notification.component.html new file mode 100644 index 0000000..61dd07f --- /dev/null +++ b/src/packages/notification/component/notification/notification.component.html @@ -0,0 +1,24 @@ +

      Notifications

      +
      + +
      + + + + + Date + Title + Message + User + + + + + {{notification.createDate | date: 'dd/MM/yyyy'}} + {{notification.title}} + {{notification.message}} + {{notification.member.name}} + + + + diff --git a/src/packages/notification/component/notification/notification.component.spec.ts b/src/packages/notification/component/notification/notification.component.spec.ts new file mode 100644 index 0000000..69192c5 --- /dev/null +++ b/src/packages/notification/component/notification/notification.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NotificationComponent } from './notification.component'; + +describe('NotificationComponent', () => { + let component: NotificationComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ NotificationComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(NotificationComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/notification/component/notification/notification.component.ts b/src/packages/notification/component/notification/notification.component.ts new file mode 100644 index 0000000..f748a6d --- /dev/null +++ b/src/packages/notification/component/notification/notification.component.ts @@ -0,0 +1,124 @@ +import { Component, OnInit, Input, ViewChild, AfterContentInit, OnDestroy } from '@angular/core'; +import { Router } from '@angular/router'; +import { Store, select } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Notification } from '@overflow/commons-typescript/model/notification'; +import * as DetailStore from '../../store/detail'; +import * as ListStore from '../../store/list'; +import { ReadAllByMemberSelector, ReadSelector } from '../../store'; +import { AuthSelector } from 'packages/member/store'; +import { Member } from '@overflow/commons-typescript/model/member'; +import { PageParams, Page } from 'app/commons/model'; +import { Subscription } from 'rxjs/Subscription'; + +@Component({ + selector: 'of-notification', + templateUrl: './notification.component.html', +}) +export class NotificationComponent implements OnInit, AfterContentInit, OnDestroy { + + notificationSubscription$: Subscription; + notification$ = this.listStore.pipe(select(ReadAllByMemberSelector.select('page'))); + notifications: Notification[]; + readSuccess$ = this.detailStore.pipe(select(ReadSelector.select('notification'))); + + pageSize = '10'; + totalLength = 0; + currPage = 0; + + constructor( + private router: Router, + private listStore: Store, + private detailStore: Store + ) { } + + ngOnInit() { + this.notificationSubscription$ = this.notification$.subscribe( + (page: Page) => { + if (page !== null) { + this.notifications = page.content; + this.totalLength = page.totalElements; + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + + this.readSuccess$.subscribe( + (noti: Notification) => { + if (noti) { + this.getNotifications(this.currPage); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + this.getNotifications(this.currPage); + } + + ngOnDestroy() { + if (this.notificationSubscription$) { + this.notificationSubscription$.unsubscribe(); + } + } + + // updateData(noti: Notification) { + // for (let i = 0; i < this.notifications.length; i++) { + // const exist = this.notifications[i]; + // if (exist.id === noti.id) { + // this.notifications[i] = noti; + // return; + // } + // } + // } + + getNotifications(pageIndex: number) { + this.listStore.select(AuthSelector.select('member')).subscribe( + (member: Member) => { + const pageParams: PageParams = { + pageNo: pageIndex + '', + countPerPage: this.pageSize, + sortCol: 'id', + sortDirection: 'descending' + }; + this.listStore.dispatch(new ListStore.ReadAllByMember({ member, pageParams })); + this.currPage = pageIndex; + }, + (error) => { + console.log(error); + } + ); + } + + onRowSelect(event) { + this.detailStore.dispatch(new DetailStore.MarkAsRead(event.data)); + alert('Will redirect to ' + event.data.url); + // this.router.navigate([n.url]); + } + + onPaging(e) { + this.getNotifications(e.page); + } + + onMarkAllAsRead() { + this.listStore.select(AuthSelector.select('member')).subscribe( + (member: Member) => { + const pageParams: PageParams = { + pageNo: this.currPage + '', + countPerPage: this.pageSize, + sortCol: 'id', + sortDirection: 'descending' + }; + this.listStore.dispatch(new ListStore.MarkAllAsRead({ member, pageParams })); + }, + (error) => { + console.log(error); + } + ); + } +} diff --git a/src/packages/notification/notification-store.module.ts b/src/packages/notification/notification-store.module.ts new file mode 100644 index 0000000..93cc2d4 --- /dev/null +++ b/src/packages/notification/notification-store.module.ts @@ -0,0 +1,24 @@ +import { NgModule } from '@angular/core'; +import { StoreModule } from '@ngrx/store'; +import { StoreDevtoolsModule } from '@ngrx/store-devtools'; +import { + StoreRouterConnectingModule, + RouterStateSerializer, +} from '@ngrx/router-store'; +import { EffectsModule } from '@ngrx/effects'; +import { combineReducers, ActionReducer, ActionReducerMap, MetaReducer } from '@ngrx/store'; + +import { + REDUCERS, + EFFECTS, +} from './store'; + +import { MODULE } from './notification.constant'; + +@NgModule({ + imports: [ + StoreModule.forFeature(MODULE.name, REDUCERS), + EffectsModule.forFeature(EFFECTS), + ], +}) +export class NotificationStoreModule { } diff --git a/src/packages/notification/notification.constant.ts b/src/packages/notification/notification.constant.ts new file mode 100644 index 0000000..f524425 --- /dev/null +++ b/src/packages/notification/notification.constant.ts @@ -0,0 +1,3 @@ +export const MODULE = { + name: 'Notification' + }; diff --git a/src/packages/notification/notification.module.ts b/src/packages/notification/notification.module.ts new file mode 100644 index 0000000..f2051cd --- /dev/null +++ b/src/packages/notification/notification.module.ts @@ -0,0 +1,26 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { COMPONENTS } from './component'; +import { SERVICES } from './service'; + +import { NotificationStoreModule } from './notification-store.module'; +import { PrimeNGModules } from '../commons/prime-ng/prime-ng.module'; + +@NgModule({ + imports: [ + CommonModule, + NotificationStoreModule, + PrimeNGModules + ], + declarations: [ + COMPONENTS, + ], + exports: [ + COMPONENTS, + ], + providers: [ + SERVICES, + ], +}) +export class NotificationModule { } diff --git a/src/packages/notification/service/index.ts b/src/packages/notification/service/index.ts new file mode 100644 index 0000000..1607e85 --- /dev/null +++ b/src/packages/notification/service/index.ts @@ -0,0 +1,5 @@ +import { NotificationService } from './notification.service'; + +export const SERVICES = [ + NotificationService, +]; diff --git a/src/packages/notification/service/notification.service.spec.ts b/src/packages/notification/service/notification.service.spec.ts new file mode 100644 index 0000000..44bc1ec --- /dev/null +++ b/src/packages/notification/service/notification.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { NotificationService } from './notification.service'; + +describe('NotificationService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [NotificationService] + }); + }); + + it('should be created', inject([NotificationService], (service: NotificationService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/src/packages/notification/service/notification.service.ts b/src/packages/notification/service/notification.service.ts new file mode 100644 index 0000000..399e7df --- /dev/null +++ b/src/packages/notification/service/notification.service.ts @@ -0,0 +1,33 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; + +import 'rxjs/add/operator/map'; + +import { RPCService } from '@loafer/ng-rpc/service'; + +import { Notification } from '@overflow/commons-typescript/model/notification'; +import { Member } from '@overflow/commons-typescript/model/member'; +import { PageParams, Page } from 'app/commons/model'; + +@Injectable() +export class NotificationService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public readAllByMember(member: Member, pageParams: PageParams): Observable { + return this.rpcService.call('NotificationService.readAllByMember', member, pageParams); + } + + public markAllAsRead(member: Member, pageParams: PageParams): Observable { + return this.rpcService.call('NotificationService.markAllAsRead', member, pageParams); + } + + public markAsRead(notification: Notification): Observable { + return this.rpcService.call('NotificationService.markAsRead', notification); + } + +} diff --git a/src/packages/notification/store/detail/index.ts b/src/packages/notification/store/detail/index.ts new file mode 100644 index 0000000..c7467b0 --- /dev/null +++ b/src/packages/notification/store/detail/index.ts @@ -0,0 +1,4 @@ +export * from './notification.action'; +export * from './notification.effect'; +export * from './notification.reducer'; +export * from './notification.state'; diff --git a/src/packages/notification/store/detail/notification.action.ts b/src/packages/notification/store/detail/notification.action.ts new file mode 100644 index 0000000..ad5510a --- /dev/null +++ b/src/packages/notification/store/detail/notification.action.ts @@ -0,0 +1,61 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Member } from '@overflow/commons-typescript/model/member'; +import { PageParams, Page } from 'app/commons/model'; +import { Notification } from '@overflow/commons-typescript/model/notification'; + +export enum ActionType { + MarkAsRead = '[Notification.notification] MarkAsRead', + MarkAsReadSuccess = '[Notification.notification] MarkAsReadSuccess', + MarkAsReadFailure = '[Notification.notification] MarkAsReadFailure', + // ReadUnconfirmedCount = '[Notification.notification] ReadUnconfirmedCount', + // ReadUnconfirmedCountSuccess = '[Notification.notification] ReadUnconfirmedCountSuccess', + // ReadUnconfirmedCountFailure = '[Notification.notification] ReadUnconfirmedCountFailure', +} + +export class MarkAsRead implements Action { + readonly type = ActionType.MarkAsRead; + + constructor(public payload: Notification ) {} +} + +export class MarkAsReadSuccess implements Action { + readonly type = ActionType.MarkAsReadSuccess; + + constructor(public payload: Notification) {} +} + +export class MarkAsReadFailure implements Action { + readonly type = ActionType.MarkAsReadFailure; + + constructor(public payload: RPCClientError) {} +} + +// export class ReadUnconfirmedCount implements Action { +// readonly type = ActionType.ReadUnconfirmedCount; + +// constructor(public payload: Member) {} +// } + +// export class ReadUnconfirmedCountSuccess implements Action { +// readonly type = ActionType.ReadUnconfirmedCountSuccess; + +// constructor(public payload: number) {} +// } + +// export class ReadUnconfirmedCountFailure implements Action { +// readonly type = ActionType.ReadUnconfirmedCountFailure; + +// constructor(public payload: RPCClientError) {} +// } + +export type Actions = + | MarkAsRead + | MarkAsReadSuccess + | MarkAsReadFailure + // | ReadUnconfirmedCount + // | ReadUnconfirmedCountSuccess + // | ReadUnconfirmedCountFailure +; diff --git a/src/packages/notification/store/detail/notification.effect.spec.ts b/src/packages/notification/store/detail/notification.effect.spec.ts new file mode 100644 index 0000000..4bbc6cf --- /dev/null +++ b/src/packages/notification/store/detail/notification.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './notification.effect'; + +describe('Notification.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/notification/store/detail/notification.effect.ts b/src/packages/notification/store/detail/notification.effect.ts new file mode 100644 index 0000000..5f12d73 --- /dev/null +++ b/src/packages/notification/store/detail/notification.effect.ts @@ -0,0 +1,50 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Notification } from '@overflow/commons-typescript/model/notification'; +import { NotificationService } from '../../service/notification.service'; + +import { + MarkAsRead, + MarkAsReadSuccess, + MarkAsReadFailure, + ActionType, +} from './notification.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private notificationService: NotificationService, + private router: Router + ) { } + + + @Effect() + markAsRead$: Observable = this.actions$ + .ofType(ActionType.MarkAsRead) + .map((action: MarkAsRead) => action.payload) + .switchMap(payload => this.notificationService.markAsRead(payload)) + .map(notification => { + return new MarkAsReadSuccess(notification); + }) + .catch((error: RPCClientError) => { + console.log(error.response.message); + return of(new MarkAsReadFailure(error)); + }); +} diff --git a/src/packages/notification/store/detail/notification.reducer.ts b/src/packages/notification/store/detail/notification.reducer.ts new file mode 100644 index 0000000..f329612 --- /dev/null +++ b/src/packages/notification/store/detail/notification.reducer.ts @@ -0,0 +1,44 @@ +import { + Actions, + ActionType, +} from './notification.action'; + +import { + State, + initialState, +} from './notification.state'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.MarkAsRead: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.MarkAsReadSuccess: { + return { + ...state, + error: null, + pending: false, + notification: action.payload, + }; + } + + case ActionType.MarkAsReadFailure: { + return { + ...state, + error: action.payload, + pending: false, + notification: null, + }; + } + + + default: { + return state; + } + } +} diff --git a/src/packages/notification/store/detail/notification.state.ts b/src/packages/notification/store/detail/notification.state.ts new file mode 100644 index 0000000..1d1892f --- /dev/null +++ b/src/packages/notification/store/detail/notification.state.ts @@ -0,0 +1,14 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Notification } from '@overflow/commons-typescript/model/notification'; + +export interface State { + error: RPCClientError | null; + pending: boolean; + notification: Notification; +} + +export const initialState: State = { + error: null, + pending: false, + notification: null, +}; diff --git a/src/packages/notification/store/index.ts b/src/packages/notification/store/index.ts new file mode 100644 index 0000000..ae3136a --- /dev/null +++ b/src/packages/notification/store/index.ts @@ -0,0 +1,38 @@ +import { + createSelector, + createFeatureSelector, + ActionReducerMap, +} from '@ngrx/store'; + +import { StateSelector } from 'packages/core/ngrx/store'; + +import { MODULE } from '../notification.constant'; + +import * as ListStore from './list'; +import * as DetailStore from './detail'; + +export interface State { + notifications: ListStore.State; + notification: DetailStore.State; +} + +export const REDUCERS = { + notifications: ListStore.reducer, + notification: DetailStore.reducer, +}; + +export const EFFECTS = [ + ListStore.Effects, + DetailStore.Effects, +]; + +export const selectNotificationState = createFeatureSelector(MODULE.name); + +export const ReadAllByMemberSelector = new StateSelector(createSelector( + selectNotificationState, + (state: State) => state.notifications +)); +export const ReadSelector = new StateSelector(createSelector( + selectNotificationState, + (state: State) => state.notification +)); diff --git a/src/packages/notification/store/list/index.ts b/src/packages/notification/store/list/index.ts new file mode 100644 index 0000000..c7467b0 --- /dev/null +++ b/src/packages/notification/store/list/index.ts @@ -0,0 +1,4 @@ +export * from './notification.action'; +export * from './notification.effect'; +export * from './notification.reducer'; +export * from './notification.state'; diff --git a/src/packages/notification/store/list/notification.action.ts b/src/packages/notification/store/list/notification.action.ts new file mode 100644 index 0000000..3fbaced --- /dev/null +++ b/src/packages/notification/store/list/notification.action.ts @@ -0,0 +1,61 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Member } from '@overflow/commons-typescript/model/member'; +import { PageParams, Page } from 'app/commons/model'; + +export enum ActionType { + ReadAllByMember = '[Notification.notification] ReadAllByMember', + ReadAllByMemberSuccess = '[Notification.notification] ReadAllByMemberSuccess', + ReadAllByMemberFailure = '[Notification.notification] ReadAllByMemberFailure', + MarkAllAsRead = '[Notification.notification] MarkAllAsRead', + MarkAllAsReadSuccess = '[Notification.notification] MarkAllAsReadSuccess', + MarkAllAsReadFailure = '[Notification.notification] MarkAllAsReadFailure', +} + +export class ReadAllByMember implements Action { + readonly type = ActionType.ReadAllByMember; + + constructor(public payload: { member: Member, pageParams: PageParams }) {} +} + +export class ReadAllByMemberSuccess implements Action { + readonly type = ActionType.ReadAllByMemberSuccess; + + constructor(public payload: Page) {} +} + +export class ReadAllByMemberFailure implements Action { + readonly type = ActionType.ReadAllByMemberFailure; + + constructor(public payload: RPCClientError) {} +} + +export class MarkAllAsRead implements Action { + readonly type = ActionType.MarkAllAsRead; + + constructor(public payload: { member: Member, pageParams: PageParams }) {} +} + +export class MarkAllAsReadSuccess implements Action { + readonly type = ActionType.MarkAllAsReadSuccess; + + constructor(public payload: Page) {} +} + +export class MarkAllAsReadFailure implements Action { + readonly type = ActionType.MarkAllAsReadFailure; + + constructor(public payload: RPCClientError) {} +} + + +export type Actions = + | ReadAllByMember + | ReadAllByMemberSuccess + | ReadAllByMemberFailure + | MarkAllAsRead + | MarkAllAsReadSuccess + | MarkAllAsReadFailure +; diff --git a/src/packages/notification/store/list/notification.effect.spec.ts b/src/packages/notification/store/list/notification.effect.spec.ts new file mode 100644 index 0000000..4bbc6cf --- /dev/null +++ b/src/packages/notification/store/list/notification.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './notification.effect'; + +describe('Notification.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/notification/store/list/notification.effect.ts b/src/packages/notification/store/list/notification.effect.ts new file mode 100644 index 0000000..00f34e8 --- /dev/null +++ b/src/packages/notification/store/list/notification.effect.ts @@ -0,0 +1,63 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Notification } from '@overflow/commons-typescript/model/notification'; +import { NotificationService } from '../../service/notification.service'; + +import { + ReadAllByMember, + ReadAllByMemberSuccess, + ReadAllByMemberFailure, + ActionType, + MarkAllAsRead, + MarkAllAsReadSuccess, + MarkAllAsReadFailure, +} from './notification.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private notificationService: NotificationService, + private router: Router + ) { } + + @Effect() + readAllByMember$: Observable = this.actions$ + .ofType(ActionType.ReadAllByMember) + .map((action: ReadAllByMember) => action.payload) + .switchMap(payload => this.notificationService.readAllByMember(payload.member, payload.pageParams)) + .map(page => { + return new ReadAllByMemberSuccess(page); + }) + .catch((error: RPCClientError) => { + return of(new ReadAllByMemberFailure(error)); + }); + + @Effect() + markAllAsRead$: Observable = this.actions$ + .ofType(ActionType.MarkAllAsRead) + .map((action: MarkAllAsRead) => action.payload) + .switchMap(payload => this.notificationService.markAllAsRead(payload.member, payload.pageParams)) + .map(page => { + return new MarkAllAsReadSuccess(page); + }) + .catch((error: RPCClientError) => { + return of(new MarkAllAsReadFailure(error)); + }); +} diff --git a/src/packages/notification/store/list/notification.reducer.ts b/src/packages/notification/store/list/notification.reducer.ts new file mode 100644 index 0000000..a804558 --- /dev/null +++ b/src/packages/notification/store/list/notification.reducer.ts @@ -0,0 +1,69 @@ +import { + Actions, + ActionType, +} from './notification.action'; + +import { + State, + initialState, +} from './notification.state'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.ReadAllByMember: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.ReadAllByMemberSuccess: { + return { + ...state, + error: null, + pending: false, + page: action.payload, + }; + } + + case ActionType.ReadAllByMemberFailure: { + return { + ...state, + error: action.payload, + pending: false, + page: null, + }; + } + + case ActionType.MarkAllAsRead: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.MarkAllAsReadSuccess: { + return { + ...state, + error: null, + pending: false, + page: action.payload, + }; + } + + case ActionType.MarkAllAsReadFailure: { + return { + ...state, + error: action.payload, + pending: false, + page: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/notification/store/list/notification.state.ts b/src/packages/notification/store/list/notification.state.ts new file mode 100644 index 0000000..c724de1 --- /dev/null +++ b/src/packages/notification/store/list/notification.state.ts @@ -0,0 +1,14 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Page } from 'app/commons/model'; + +export interface State { + error: RPCClientError | null; + pending: boolean; + page: Page; +} + +export const initialState: State = { + error: null, + pending: false, + page: null, +}; diff --git a/src/packages/probe/component/detail/detail.component.html b/src/packages/probe/component/detail/detail.component.html new file mode 100644 index 0000000..b26d28f --- /dev/null +++ b/src/packages/probe/component/detail/detail.component.html @@ -0,0 +1,49 @@ +

      Info

      + + + + + + +
      + +
      + + +
      + +
      + + +
      + +
      + +
      +
      + + +
      +
      + +
      +
      + +
      +
      + +
      +
      + +
      +
      +
      +
      +
      +
      + + +
      + + \ No newline at end of file diff --git a/src/packages/probe/component/detail/detail.component.spec.ts b/src/packages/probe/component/detail/detail.component.spec.ts new file mode 100644 index 0000000..149b9be --- /dev/null +++ b/src/packages/probe/component/detail/detail.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DetailComponent } from './detail.component'; + +describe('DetailComponent', () => { + let component: DetailComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ DetailComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(DetailComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/probe/component/detail/detail.component.ts b/src/packages/probe/component/detail/detail.component.ts new file mode 100644 index 0000000..2fcb6af --- /dev/null +++ b/src/packages/probe/component/detail/detail.component.ts @@ -0,0 +1,130 @@ +import { Component, OnInit, Inject, AfterContentInit, OnDestroy } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Store, select } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as DetailStore from '../../store/detail'; +import * as ModifyStore from '../../store/modify'; +import { DetailSelector, ModifySelector } from '../../store'; +import { Probe } from '@overflow/commons-typescript/model/probe'; +import { ConfirmationService, Message } from 'primeng/primeng'; +import * as CIDR from 'ip-cidr'; +import { Subscription } from 'rxjs/Subscription'; +import { MessageService } from 'primeng/components/common/messageservice'; +// import { SettingComponent as DiscoverySettingComponent } from 'packages/discovery/component/setting/setting.component'; + + +@Component({ + selector: 'of-probe-detail', + templateUrl: './detail.component.html', + providers: [ConfirmationService, MessageService] +}) +export class DetailComponent implements OnInit, AfterContentInit, OnDestroy { + + probeSubscription$: Subscription; + probe$ = this.detailStore.pipe(select(DetailSelector.select('probe'))); + modifySuccess$ = this.modifyStore.pipe(select(ModifySelector.select('modifiedProbe'))); + probe: Probe = null; + IPRange: string; + display = false; + msgs: Message[] = []; + + constructor( + private route: ActivatedRoute, + private router: Router, + private detailStore: Store, + private modifyStore: Store, + private confirmationService: ConfirmationService, + private messageService: MessageService + ) { } + + ngOnInit() { + this.probeSubscription$ = this.probe$.subscribe( + (probe: Probe) => { + if (probe) { + this.probe = probe; + this.arrangeInfo(); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngOnDestroy() { + if (this.probeSubscription$) { + this.probeSubscription$.unsubscribe(); + } + } + + ngAfterContentInit() { + const probeId = this.route.snapshot.paramMap.get('id'); + this.detailStore.dispatch( + new DetailStore.Read( + { id: probeId } + ) + ); + } + + arrangeInfo() { + const cidr = new CIDR(this.probe.cidr); + if (!cidr.isValid()) { + return; + } + this.IPRange = cidr.addressStart.address + ' ~ ' + cidr.addressEnd.address; + } + + onDiscoveryClick() { + this.display = true; + } + + onDiscoveryClose() { + this.display = false; + } + + onRemoveClick() { + this.confirmationService.confirm({ + header: 'Confirmation', + icon: 'fa fa-trash', + message: 'Are you sure to remove this Probe?', + accept: () => { + this.router.navigate(['probes/list']); + }, + reject: () => { + } + }); + } + + onDisplayNameChange(value: string) { + if (value === this.probe.displayName) { + return; + } + this.probe.displayName = value; + this.modifyStore.dispatch( + new ModifyStore.Modify(this.probe) + ); + + const modifySuccessSubscription$: Subscription = this.modifySuccess$.subscribe( + (probe: Probe) => { + if (probe) { + this.msgs = []; + this.msgs.push({ severity: 'success', summary: 'Succeed', detail: 'Probe name has changed.' }); + } + if (modifySuccessSubscription$) { + modifySuccessSubscription$.unsubscribe(); + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + onDisplayNameChangeKeypress(event, value) { + if (event.key === 'Enter') { + this.onDisplayNameChange(value); + } + } + +} + diff --git a/src/packages/probe/component/download/download.component.html b/src/packages/probe/component/download/download.component.html new file mode 100644 index 0000000..1d4fa92 --- /dev/null +++ b/src/packages/probe/component/download/download.component.html @@ -0,0 +1,17 @@ +

      Download

      + + + + Content 1 + + + Content 2 + + + Content 3 + + \ No newline at end of file diff --git a/src/packages/probe/component/download/download.component.spec.ts b/src/packages/probe/component/download/download.component.spec.ts new file mode 100644 index 0000000..ad71a7c --- /dev/null +++ b/src/packages/probe/component/download/download.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DownloadComponent } from './download.component'; + +describe('DownloadComponent', () => { + let component: DownloadComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ DownloadComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(DownloadComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/probe/component/download/download.component.ts b/src/packages/probe/component/download/download.component.ts new file mode 100644 index 0000000..a5f3e90 --- /dev/null +++ b/src/packages/probe/component/download/download.component.ts @@ -0,0 +1,13 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'of-download', + templateUrl: './download.component.html', +}) +export class DownloadComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } +} diff --git a/src/packages/probe/component/index.ts b/src/packages/probe/component/index.ts new file mode 100644 index 0000000..4efee54 --- /dev/null +++ b/src/packages/probe/component/index.ts @@ -0,0 +1,9 @@ +import { DetailComponent } from './detail/detail.component'; +import { ListComponent } from './list/list.component'; +import { DownloadComponent } from './download/download.component'; + +export const COMPONENTS = [ + ListComponent, + DetailComponent, + DownloadComponent, +]; diff --git a/src/packages/probe/component/list/list.component.html b/src/packages/probe/component/list/list.component.html new file mode 100644 index 0000000..54164c4 --- /dev/null +++ b/src/packages/probe/component/list/list.component.html @@ -0,0 +1,27 @@ +

      Probes

      + + + + Probe Name + Uptime + IP + OS + CIDR + Targets + Authroized at + Authroized by + + + + + {{probeHost.probe.displayName}} + {{getUptime(probeHost.probe)}} + {{probeHost.host.ipv4}} + {{probeHost.host.os.vendor.name}} + {{probeHost.probe.cidr}} + {{probeHost.probe.targetCount}} + {{probeHost.probe.authorizeDate | date: 'dd.MM.yyyy'}} + {{probeHost.probe.authorizeMember.name}} + + + \ No newline at end of file diff --git a/src/packages/probe/component/list/list.component.spec.ts b/src/packages/probe/component/list/list.component.spec.ts new file mode 100644 index 0000000..beacd15 --- /dev/null +++ b/src/packages/probe/component/list/list.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ListComponent } from './list.component'; + +describe('ListComponent', () => { + let component: ListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ListComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/probe/component/list/list.component.ts b/src/packages/probe/component/list/list.component.ts new file mode 100644 index 0000000..7fcf0e7 --- /dev/null +++ b/src/packages/probe/component/list/list.component.ts @@ -0,0 +1,98 @@ +import { Component, OnInit, AfterViewInit, AfterContentInit, ViewChild, OnDestroy, Output, EventEmitter } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Store, select } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { AuthSelector } from 'packages/member/store'; + +import { Probe, ProbeHost } from '@overflow/commons-typescript/model/probe'; +import * as ListStore from '../../store/probe-host-list'; +import { ProbeHostListSelector } from '../../store'; +import { Subscription } from 'rxjs/Subscription'; + +@Component({ + selector: 'of-probe-list', + templateUrl: './list.component.html', +}) +export class ListComponent implements OnInit, AfterContentInit, OnDestroy { + probeHostsSubscription$: Subscription; + probeHosts$ = this.store.pipe(select(ProbeHostListSelector.select('probeHosts'))); + probeHosts: ProbeHost[]; + + @Output() select = new EventEmitter(); + + constructor( + private router: Router, + private store: Store + ) { + } + + ngOnInit() { + this.probeHostsSubscription$ = this.probeHosts$.subscribe( + (probeHosts: ProbeHost[]) => { + console.log(probeHosts); + this.probeHosts = probeHosts; + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + // this.store.select(AuthSelector.select('domain')).subscribe( + // (domain: Domain) => { + // this.store.dispatch(new ListStore.ReadAllByDomain(domain)); + // }, + // (error) => { + // console.log(error); + // } + // ); + + // temp + const probeHost: ProbeHost = { + id: 1, + probe: { + id: 1, + displayName: 'ddd', + cidr: 'dddd', + authorizeDate: new Date(), + authorizeMember: { + name: 'ddd' + } + }, + host: { + id: 1, + ipv4: 'aaaa', + os: { + vendor: { + name: 'dd' + } + }, + } + }; + this.probeHosts = []; + this.probeHosts.push(probeHost); + + } + + ngOnDestroy() { + if (this.probeHostsSubscription$) { + this.probeHostsSubscription$.unsubscribe(); + } + } + + onRowSelect(event) { + this.select.emit(event.data.probe); + } + + getUptime(probe: Probe) { + // if (probe.connectDate === null || probe.connectDate ==== undefined) { + // return 'Not Connected.'; + // } + // const currentDate = new Date(); + return 'Uptime'; + } +} diff --git a/src/packages/probe/probe-store.module.ts b/src/packages/probe/probe-store.module.ts new file mode 100644 index 0000000..50f957b --- /dev/null +++ b/src/packages/probe/probe-store.module.ts @@ -0,0 +1,24 @@ +import { NgModule } from '@angular/core'; +import { StoreModule } from '@ngrx/store'; +import { StoreDevtoolsModule } from '@ngrx/store-devtools'; +import { + StoreRouterConnectingModule, + RouterStateSerializer, +} from '@ngrx/router-store'; +import { EffectsModule } from '@ngrx/effects'; +import { combineReducers, ActionReducer, ActionReducerMap, MetaReducer } from '@ngrx/store'; + +import { + REDUCERS, + EFFECTS, +} from './store'; + +import { MODULE } from './probe.constant'; + +@NgModule({ + imports: [ + StoreModule.forFeature(MODULE.name, REDUCERS), + EffectsModule.forFeature(EFFECTS), + ], +}) +export class ProbeStoreModule { } diff --git a/src/packages/probe/probe.constant.ts b/src/packages/probe/probe.constant.ts new file mode 100644 index 0000000..e12f632 --- /dev/null +++ b/src/packages/probe/probe.constant.ts @@ -0,0 +1,3 @@ +export const MODULE = { + name: 'probe' +}; diff --git a/src/packages/probe/probe.module.ts b/src/packages/probe/probe.module.ts new file mode 100644 index 0000000..dc80c5e --- /dev/null +++ b/src/packages/probe/probe.module.ts @@ -0,0 +1,33 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { COMPONENTS } from './component'; +import { ProbeStoreModule } from './probe-store.module'; +import { SERVICES } from './service'; +import { PrimeNGModules } from '../commons/prime-ng/prime-ng.module'; +import { FormsModule } from '@angular/forms'; +import { DiscoveryModule } from 'packages/discovery/discovery.module'; +import { KeyValueModule } from 'app/commons/component/key-value/key-value.module'; +import { MetaCrawlerModule } from '../meta/crawler/crawler.module'; + +@NgModule({ + imports: [ + CommonModule, + PrimeNGModules, + ProbeStoreModule, + FormsModule, + DiscoveryModule, + KeyValueModule, + MetaCrawlerModule + ], + declarations: [ + COMPONENTS, + ], + exports: [ + COMPONENTS, + ], + providers: [ + SERVICES, + ] +}) +export class ProbeModule { } diff --git a/src/packages/probe/service/index.ts b/src/packages/probe/service/index.ts new file mode 100644 index 0000000..6fac990 --- /dev/null +++ b/src/packages/probe/service/index.ts @@ -0,0 +1,7 @@ +import { ProbeService } from './probe.service'; +import { ProbeHostService } from './probe-host.service'; + +export const SERVICES = [ + ProbeService, + ProbeHostService, +]; diff --git a/src/packages/probe/service/probe-host.service.ts b/src/packages/probe/service/probe-host.service.ts new file mode 100644 index 0000000..e1cb1bb --- /dev/null +++ b/src/packages/probe/service/probe-host.service.ts @@ -0,0 +1,26 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; +import 'rxjs/add/operator/map'; +import { RPCService } from '@loafer/ng-rpc/service'; +import { Probe, ProbeHost } from '@overflow/commons-typescript/model/probe'; +import { Domain } from '@overflow/commons-typescript/model/domain'; + + +@Injectable() +export class ProbeHostService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public readByProbe(probe: Probe): Observable { + return this.rpcService.call('ProbeHostService.readByProbe', probe); + } + + public readAllByDomain(domain: Domain): Observable { + return this.rpcService.call('ProbeHostService.readAllByDomain', domain); + } + +} diff --git a/src/packages/probe/service/probe.service.spec.ts b/src/packages/probe/service/probe.service.spec.ts new file mode 100644 index 0000000..c56d641 --- /dev/null +++ b/src/packages/probe/service/probe.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { ProbeService } from './probe.service'; + +describe('ProbeService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [ProbeService] + }); + }); + + it('should be created', inject([ProbeService], (service: ProbeService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/src/packages/probe/service/probe.service.ts b/src/packages/probe/service/probe.service.ts new file mode 100644 index 0000000..ccffdbd --- /dev/null +++ b/src/packages/probe/service/probe.service.ts @@ -0,0 +1,42 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; + +import 'rxjs/add/operator/map'; + +import { RPCService } from '@loafer/ng-rpc/service'; + +import { Domain } from '@overflow/commons-typescript/model/domain'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + + +@Injectable() +export class ProbeService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public readAllByDomain(domain: Domain): Observable { + return this.rpcService.call('ProbeService.readAllByDomain', domain); + } + + public read(id: string): Observable { + return this.rpcService.call('ProbeService.read', id); + } + + public modify(probe: Probe): Observable { + return this.rpcService.call('ProbeService.modify', probe); + } + + public remove(id: string): Observable { + return this.rpcService.call('ProbeService.remove', id); + } + + public modifyDisplayName(id: string, displayName: string): Observable { + return this.rpcService.call('ProbeService.modifyDisplayName', id, displayName); + } + +} diff --git a/src/packages/probe/store/detail/detail.action.ts b/src/packages/probe/store/detail/detail.action.ts new file mode 100644 index 0000000..18a684d --- /dev/null +++ b/src/packages/probe/store/detail/detail.action.ts @@ -0,0 +1,37 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + + +export enum ActionType { + Read = '[probe.detail] Read', + ReadSuccess = '[probe.detail] ReadSuccess', + ReadFailure = '[probe.detail] ReadFailure', +} + +export class Read implements Action { + readonly type = ActionType.Read; + + constructor(public payload: {id: string}) {} +} + +export class ReadSuccess implements Action { + readonly type = ActionType.ReadSuccess; + + constructor(public payload: Probe) {} +} + +export class ReadFailure implements Action { + readonly type = ActionType.ReadFailure; + + constructor(public payload: RPCClientError) {} +} + + +export type Actions = + | Read + | ReadSuccess + | ReadFailure +; diff --git a/src/packages/probe/store/detail/detail.effect.spec.ts b/src/packages/probe/store/detail/detail.effect.spec.ts new file mode 100644 index 0000000..b1c2217 --- /dev/null +++ b/src/packages/probe/store/detail/detail.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './detail.effect'; + +describe('ProbeDetail.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/probe/store/detail/detail.effect.ts b/src/packages/probe/store/detail/detail.effect.ts new file mode 100644 index 0000000..853f2c6 --- /dev/null +++ b/src/packages/probe/store/detail/detail.effect.ts @@ -0,0 +1,49 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; +import { ProbeService } from '../../service/probe.service'; + +import { + Read, + ReadFailure, + ReadSuccess, + ActionType +} from './detail.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private probeService: ProbeService, + private router: Router + ) { } + + @Effect() + read$: Observable = this.actions$ + .ofType(ActionType.Read) + .map((action: Read) => action.payload) + .switchMap(payload => this.probeService.read(payload.id)) + .map(probe => { + return new ReadSuccess(probe); + }) + .catch((error: RPCClientError) => { + return of(new ReadFailure(error)); + }); +} diff --git a/src/packages/probe/store/detail/detail.reducer.ts b/src/packages/probe/store/detail/detail.reducer.ts new file mode 100644 index 0000000..c468e92 --- /dev/null +++ b/src/packages/probe/store/detail/detail.reducer.ts @@ -0,0 +1,49 @@ +import { + Read, + ReadFailure, + ReadSuccess, + ActionType, + Actions, +} from './detail.action'; + +import { + State, + initialState, +} from './detail.state'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.Read: { + return { + ...state, + error: null, + isPending: true, + }; + } + + case ActionType.ReadSuccess: { + return { + ...state, + error: null, + isPending: false, + probe: action.payload, + }; + } + + case ActionType.ReadFailure: { + return { + ...state, + error: action.payload, + isPending: false, + probe: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/probe/store/detail/detail.state.ts b/src/packages/probe/store/detail/detail.state.ts new file mode 100644 index 0000000..88cf74c --- /dev/null +++ b/src/packages/probe/store/detail/detail.state.ts @@ -0,0 +1,18 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + +import { createEntityAdapter, EntityAdapter, EntityState } from '@ngrx/entity'; + +export interface State extends EntityState { + error: RPCClientError | null; + isPending: boolean; + probe: Probe | null; +} +export const adapter: EntityAdapter = createEntityAdapter(); +export const initialState: State = adapter.getInitialState({ + error: null, + isPending: false, + probe: null, +}); + diff --git a/src/packages/probe/store/detail/index.ts b/src/packages/probe/store/detail/index.ts new file mode 100644 index 0000000..23ae8ab --- /dev/null +++ b/src/packages/probe/store/detail/index.ts @@ -0,0 +1,4 @@ +export * from './detail.action'; +export * from './detail.effect'; +export * from './detail.reducer'; +export * from './detail.state'; diff --git a/src/packages/probe/store/index.ts b/src/packages/probe/store/index.ts new file mode 100644 index 0000000..793b4a7 --- /dev/null +++ b/src/packages/probe/store/index.ts @@ -0,0 +1,62 @@ +import { + createSelector, + createFeatureSelector, + ActionReducerMap, +} from '@ngrx/store'; + +import { StateSelector } from 'packages/core/ngrx/store'; + +import { MODULE } from '../probe.constant'; + +import * as ProbeListStore from './list'; +import * as ProbeDetailStore from './detail'; +import * as ProbeHostStore from './probe-host'; +import * as ProbeHostListStore from './probe-host-list'; +import * as ProbeModifyStore from './modify'; + +export interface State { + list: ProbeListStore.State; + detail: ProbeDetailStore.State; + probeHost: ProbeHostStore.State; + probeHosts: ProbeHostListStore.State; + modify: ProbeModifyStore.State; +} + +export const REDUCERS = { + list: ProbeListStore.reducer, + detail: ProbeDetailStore.reducer, + probeHost: ProbeHostStore.reducer, + probeHosts: ProbeHostListStore.reducer, + modify: ProbeModifyStore.reducer +}; + +export const EFFECTS = [ + ProbeListStore.Effects, + ProbeDetailStore.Effects, + ProbeHostStore.Effects, + ProbeHostListStore.Effects, + ProbeModifyStore.Effects +]; + +export const selectProbeState = createFeatureSelector(MODULE.name); + +export const ListSelector = new StateSelector(createSelector( + selectProbeState, + (state: State) => state.list +)); +export const DetailSelector = new StateSelector(createSelector( + selectProbeState, + (state: State) => state.detail +)); +export const ModifySelector = new StateSelector(createSelector( + selectProbeState, + (state: State) => state.modify +)); +export const ProbeHostSelector = new StateSelector(createSelector( + selectProbeState, + (state: State) => state.probeHost +)); +export const ProbeHostListSelector = new StateSelector(createSelector( + selectProbeState, + (state: State) => state.probeHosts +)); diff --git a/src/packages/probe/store/list/index.ts b/src/packages/probe/store/list/index.ts new file mode 100644 index 0000000..7fd86e0 --- /dev/null +++ b/src/packages/probe/store/list/index.ts @@ -0,0 +1,4 @@ +export * from './list.action'; +export * from './list.effect'; +export * from './list.reducer'; +export * from './list.state'; diff --git a/src/packages/probe/store/list/list.action.ts b/src/packages/probe/store/list/list.action.ts new file mode 100644 index 0000000..09fba04 --- /dev/null +++ b/src/packages/probe/store/list/list.action.ts @@ -0,0 +1,38 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { Probe } from '@overflow/commons-typescript/model/probe'; + + +export enum ActionType { + ReadAllByDomain = '[probe.list] ReadAllByDomain', + ReadAllByDomainSuccess = '[probe.list] ReadAllByDomainSuccess', + ReadAllByDomainFailure = '[probe.list] ReadAllByDomainFailure', +} + +export class ReadAllByDomain implements Action { + readonly type = ActionType.ReadAllByDomain; + + constructor(public payload: Domain) {} +} + +export class ReadAllByDomainSuccess implements Action { + readonly type = ActionType.ReadAllByDomainSuccess; + + constructor(public payload: Probe[]) {} +} + +export class ReadAllByDomainFailure implements Action { + readonly type = ActionType.ReadAllByDomainFailure; + + constructor(public payload: RPCClientError) {} +} + + +export type Actions = + | ReadAllByDomain + | ReadAllByDomainSuccess + | ReadAllByDomainFailure +; diff --git a/src/packages/probe/store/list/list.effect.spec.ts b/src/packages/probe/store/list/list.effect.spec.ts new file mode 100644 index 0000000..fbff64a --- /dev/null +++ b/src/packages/probe/store/list/list.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './list.effect'; + +describe('ProbeList.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/probe/store/list/list.effect.ts b/src/packages/probe/store/list/list.effect.ts new file mode 100644 index 0000000..0abc114 --- /dev/null +++ b/src/packages/probe/store/list/list.effect.ts @@ -0,0 +1,51 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Domain } from '@overflow/commons-typescript/model/domain'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; +import { ProbeService } from '../../service/probe.service'; + +import { + ReadAllByDomain, + ReadAllByDomainFailure, + ReadAllByDomainSuccess, + ActionType +} from './list.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private probeService: ProbeService, + private router: Router + ) { } + + @Effect() + readAllByDomain$: Observable = this.actions$ + .ofType(ActionType.ReadAllByDomain) + .map((action: ReadAllByDomain) => action.payload) + .switchMap(payload => this.probeService.readAllByDomain(payload)) + .map(probes => { + return new ReadAllByDomainSuccess(probes); + }) + .catch((error: RPCClientError) => { + return of(new ReadAllByDomainFailure(error)); + }); +} diff --git a/src/packages/probe/store/list/list.reducer.ts b/src/packages/probe/store/list/list.reducer.ts new file mode 100644 index 0000000..ca775ad --- /dev/null +++ b/src/packages/probe/store/list/list.reducer.ts @@ -0,0 +1,48 @@ +import { + ReadAllByDomain, + ReadAllByDomainFailure, + ReadAllByDomainSuccess, + ActionType, + Actions, +} from './list.action'; + +import { + State, + initialState, +} from './list.state'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.ReadAllByDomain: { + return { + ...state, + error: null, + isPending: true, + }; + } + + case ActionType.ReadAllByDomainSuccess: { + return { + ...state, + error: null, + isPending: false, + probes: action.payload, + }; + } + + case ActionType.ReadAllByDomainFailure: { + return { + ...state, + error: action.payload, + isPending: false, + probes: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/probe/store/list/list.state.ts b/src/packages/probe/store/list/list.state.ts new file mode 100644 index 0000000..99cdbc2 --- /dev/null +++ b/src/packages/probe/store/list/list.state.ts @@ -0,0 +1,15 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + +export interface State { + error: RPCClientError | null; + isPending: boolean; + probes: Probe[] | null; +} + +export const initialState: State = { + error: null, + isPending: false, + probes: null, +}; diff --git a/src/packages/probe/store/modify/index.ts b/src/packages/probe/store/modify/index.ts new file mode 100644 index 0000000..9f23ca0 --- /dev/null +++ b/src/packages/probe/store/modify/index.ts @@ -0,0 +1,4 @@ +export * from './modify.action'; +export * from './modify.effect'; +export * from './modify.reducer'; +export * from './modify.state'; diff --git a/src/packages/probe/store/modify/modify.action.ts b/src/packages/probe/store/modify/modify.action.ts new file mode 100644 index 0000000..3574d56 --- /dev/null +++ b/src/packages/probe/store/modify/modify.action.ts @@ -0,0 +1,45 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + + +export enum ActionType { + Modify = '[probe.modify] Modify', + ModifyDisplayName = '[probe.modify] ModifyDisplayName', + ModifySuccess = '[probe.modify] ModifySuccess', + ModifyFailure = '[probe.modify] ModifyFailure', +} + +export class Modify implements Action { + readonly type = ActionType.Modify; + + constructor(public payload: Probe) {} +} + +export class ModifySuccess implements Action { + readonly type = ActionType.ModifySuccess; + + constructor(public payload: Probe) {} +} + +export class ModifyFailure implements Action { + readonly type = ActionType.ModifyFailure; + + constructor(public payload: RPCClientError) {} +} + +export class ModifyDisplayName implements Action { + readonly type = ActionType.ModifyDisplayName; + + constructor(public payload: {id: string, displayName: string}) {} +} + + +export type Actions = + | Modify + | ModifySuccess + | ModifyFailure + | ModifyDisplayName +; diff --git a/src/packages/probe/store/modify/modify.effect.spec.ts b/src/packages/probe/store/modify/modify.effect.spec.ts new file mode 100644 index 0000000..b1c2217 --- /dev/null +++ b/src/packages/probe/store/modify/modify.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './detail.effect'; + +describe('ProbeDetail.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/probe/store/modify/modify.effect.ts b/src/packages/probe/store/modify/modify.effect.ts new file mode 100644 index 0000000..fff6cf5 --- /dev/null +++ b/src/packages/probe/store/modify/modify.effect.ts @@ -0,0 +1,62 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; +import { ProbeService } from '../../service/probe.service'; + +import { + Modify, + ModifyDisplayName, + ModifySuccess, + ModifyFailure, + ActionType +} from './modify.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private probeService: ProbeService, + private router: Router + ) { } + + @Effect() + modify$: Observable = this.actions$ + .ofType(ActionType.Modify) + .map((action: Modify) => action.payload) + .switchMap(payload => this.probeService.modify(payload)) + .map(probe => { + return new ModifySuccess(probe); + }) + .catch((error: RPCClientError) => { + return of(new ModifyFailure(error)); + }); + + @Effect() + modifyDisplayName$: Observable = this.actions$ + .ofType(ActionType.ModifyDisplayName) + .map((action: ModifyDisplayName) => action.payload) + .switchMap(payload => this.probeService.modifyDisplayName(payload.id, payload.displayName)) + .map(probe => { + return new ModifySuccess(probe); + }) + .catch((error: RPCClientError) => { + return of(new ModifyFailure(error)); + }); +} diff --git a/src/packages/probe/store/modify/modify.reducer.ts b/src/packages/probe/store/modify/modify.reducer.ts new file mode 100644 index 0000000..2333c43 --- /dev/null +++ b/src/packages/probe/store/modify/modify.reducer.ts @@ -0,0 +1,54 @@ +import { + ActionType, + Actions, +} from './modify.action'; + +import { + State, + initialState, +} from './modify.state'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.Modify: { + return { + ...state, + error: null, + isPending: true, + }; + } + + case ActionType.ModifySuccess: { + return { + ...state, + error: null, + isPending: false, + modifiedProbe: action.payload, + }; + } + + case ActionType.ModifyFailure: { + return { + ...state, + error: action.payload, + isPending: false, + modifiedProbe: null, + }; + } + + case ActionType.ModifyDisplayName: { + return { + ...state, + error: null, + isPending: true, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/probe/store/modify/modify.state.ts b/src/packages/probe/store/modify/modify.state.ts new file mode 100644 index 0000000..a08ede9 --- /dev/null +++ b/src/packages/probe/store/modify/modify.state.ts @@ -0,0 +1,18 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + +import { createEntityAdapter, EntityAdapter, EntityState } from '@ngrx/entity'; + +export interface State extends EntityState { + error: RPCClientError | null; + isPending: boolean; + modifiedProbe: Probe | null; +} +export const adapter: EntityAdapter = createEntityAdapter(); +export const initialState: State = adapter.getInitialState({ + error: null, + isPending: false, + modifiedProbe: null, +}); + diff --git a/src/packages/probe/store/probe-host-list/index.ts b/src/packages/probe/store/probe-host-list/index.ts new file mode 100644 index 0000000..7fd86e0 --- /dev/null +++ b/src/packages/probe/store/probe-host-list/index.ts @@ -0,0 +1,4 @@ +export * from './list.action'; +export * from './list.effect'; +export * from './list.reducer'; +export * from './list.state'; diff --git a/src/packages/probe/store/probe-host-list/list.action.ts b/src/packages/probe/store/probe-host-list/list.action.ts new file mode 100644 index 0000000..323aa15 --- /dev/null +++ b/src/packages/probe/store/probe-host-list/list.action.ts @@ -0,0 +1,38 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { ProbeHost } from '@overflow/commons-typescript/model/probe'; + + +export enum ActionType { + ReadAllByDomain = '[probeHost.list] ReadAllByDomain', + ReadAllByDomainSuccess = '[probeHost.list] ReadAllByDomainSuccess', + ReadAllByDomainFailure = '[probeHost.list] ReadAllByDomainFailure', +} + +export class ReadAllByDomain implements Action { + readonly type = ActionType.ReadAllByDomain; + + constructor(public payload: Domain) {} +} + +export class ReadAllByDomainSuccess implements Action { + readonly type = ActionType.ReadAllByDomainSuccess; + + constructor(public payload: ProbeHost[]) {} +} + +export class ReadAllByDomainFailure implements Action { + readonly type = ActionType.ReadAllByDomainFailure; + + constructor(public payload: RPCClientError) {} +} + + +export type Actions = + | ReadAllByDomain + | ReadAllByDomainSuccess + | ReadAllByDomainFailure +; diff --git a/src/packages/probe/store/probe-host-list/list.effect.spec.ts b/src/packages/probe/store/probe-host-list/list.effect.spec.ts new file mode 100644 index 0000000..fbff64a --- /dev/null +++ b/src/packages/probe/store/probe-host-list/list.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './list.effect'; + +describe('ProbeList.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/probe/store/probe-host-list/list.effect.ts b/src/packages/probe/store/probe-host-list/list.effect.ts new file mode 100644 index 0000000..f88996e --- /dev/null +++ b/src/packages/probe/store/probe-host-list/list.effect.ts @@ -0,0 +1,51 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Domain } from '@overflow/commons-typescript/model/domain'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + +import { + ReadAllByDomain, + ReadAllByDomainFailure, + ReadAllByDomainSuccess, + ActionType +} from './list.action'; +import { ProbeHostService } from '../../service/probe-host.service'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private probeHostService: ProbeHostService, + private router: Router + ) { } + + @Effect() + readAllByDomain$: Observable = this.actions$ + .ofType(ActionType.ReadAllByDomain) + .map((action: ReadAllByDomain) => action.payload) + .switchMap(payload => this.probeHostService.readAllByDomain(payload)) + .map(probeHosts => { + return new ReadAllByDomainSuccess(probeHosts); + }) + .catch((error: RPCClientError) => { + return of(new ReadAllByDomainFailure(error)); + }); +} diff --git a/src/packages/probe/store/probe-host-list/list.reducer.ts b/src/packages/probe/store/probe-host-list/list.reducer.ts new file mode 100644 index 0000000..10940d1 --- /dev/null +++ b/src/packages/probe/store/probe-host-list/list.reducer.ts @@ -0,0 +1,48 @@ +import { + ReadAllByDomain, + ReadAllByDomainFailure, + ReadAllByDomainSuccess, + ActionType, + Actions, +} from './list.action'; + +import { + State, + initialState, +} from './list.state'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.ReadAllByDomain: { + return { + ...state, + error: null, + isPending: true, + }; + } + + case ActionType.ReadAllByDomainSuccess: { + return { + ...state, + error: null, + isPending: false, + probeHosts: action.payload, + }; + } + + case ActionType.ReadAllByDomainFailure: { + return { + ...state, + error: action.payload, + isPending: false, + probeHosts: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/probe/store/probe-host-list/list.state.ts b/src/packages/probe/store/probe-host-list/list.state.ts new file mode 100644 index 0000000..64bef0e --- /dev/null +++ b/src/packages/probe/store/probe-host-list/list.state.ts @@ -0,0 +1,15 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { ProbeHost } from '@overflow/commons-typescript/model/probe'; + +export interface State { + error: RPCClientError | null; + isPending: boolean; + probeHosts: ProbeHost[] | null; +} + +export const initialState: State = { + error: null, + isPending: false, + probeHosts: null, +}; diff --git a/src/packages/probe/store/probe-host/index.ts b/src/packages/probe/store/probe-host/index.ts new file mode 100644 index 0000000..9094a9e --- /dev/null +++ b/src/packages/probe/store/probe-host/index.ts @@ -0,0 +1,4 @@ +export * from './probe-host.action'; +export * from './probe-host.effect'; +export * from './probe-host.reducer'; +export * from './probe-host.state'; diff --git a/src/packages/probe/store/probe-host/probe-host.action.ts b/src/packages/probe/store/probe-host/probe-host.action.ts new file mode 100644 index 0000000..d0589fd --- /dev/null +++ b/src/packages/probe/store/probe-host/probe-host.action.ts @@ -0,0 +1,37 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { ProbeHost, Probe } from '@overflow/commons-typescript/model/probe'; + + +export enum ActionType { + ReadByProbe = '[probeHost.detail] Read', + ReadByProbeSuccess = '[probeHost.detail] ReadSuccess', + ReadByProbeFailure = '[probeHost.detail] ReadFailure', +} + +export class ReadByProbe implements Action { + readonly type = ActionType.ReadByProbe; + + constructor(public payload: Probe) {} +} + +export class ReadByProbeSuccess implements Action { + readonly type = ActionType.ReadByProbeSuccess; + + constructor(public payload: ProbeHost) {} +} + +export class ReadByProbeFailure implements Action { + readonly type = ActionType.ReadByProbeFailure; + + constructor(public payload: RPCClientError) {} +} + + +export type Actions = + | ReadByProbe + | ReadByProbeSuccess + | ReadByProbeFailure +; diff --git a/src/packages/probe/store/probe-host/probe-host.effect.spec.ts b/src/packages/probe/store/probe-host/probe-host.effect.spec.ts new file mode 100644 index 0000000..c1abc97 --- /dev/null +++ b/src/packages/probe/store/probe-host/probe-host.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './probe-host.effect'; + +describe('ProbeDetail.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/probe/store/probe-host/probe-host.effect.ts b/src/packages/probe/store/probe-host/probe-host.effect.ts new file mode 100644 index 0000000..c28439f --- /dev/null +++ b/src/packages/probe/store/probe-host/probe-host.effect.ts @@ -0,0 +1,49 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; +import { ProbeHostService } from '../../service/probe-host.service'; + +import { + ReadByProbe, + ReadByProbeSuccess, + ReadByProbeFailure, + ActionType +} from './probe-host.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private probeHostService: ProbeHostService, + private router: Router + ) { } + + @Effect() + read$: Observable = this.actions$ + .ofType(ActionType.ReadByProbe) + .map((action: ReadByProbe) => action.payload) + .switchMap(payload => this.probeHostService.readByProbe(payload)) + .map(probe => { + return new ReadByProbeSuccess(probe); + }) + .catch((error: RPCClientError) => { + return of(new ReadByProbeFailure(error)); + }); +} diff --git a/src/packages/probe/store/probe-host/probe-host.reducer.ts b/src/packages/probe/store/probe-host/probe-host.reducer.ts new file mode 100644 index 0000000..60d99e2 --- /dev/null +++ b/src/packages/probe/store/probe-host/probe-host.reducer.ts @@ -0,0 +1,49 @@ +import { + ReadByProbe, + ReadByProbeFailure, + ReadByProbeSuccess, + ActionType, + Actions, +} from './probe-host.action'; + +import { + State, + initialState, +} from './probe-host.state'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.ReadByProbe: { + return { + ...state, + error: null, + isPending: true, + }; + } + + case ActionType.ReadByProbeSuccess: { + return { + ...state, + error: null, + isPending: false, + probeHost: action.payload, + }; + } + + case ActionType.ReadByProbeFailure: { + return { + ...state, + error: action.payload, + isPending: false, + probeHost: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/probe/store/probe-host/probe-host.state.ts b/src/packages/probe/store/probe-host/probe-host.state.ts new file mode 100644 index 0000000..f6d93bb --- /dev/null +++ b/src/packages/probe/store/probe-host/probe-host.state.ts @@ -0,0 +1,15 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { ProbeHost } from '@overflow/commons-typescript/model/probe'; + +export interface State { + error: RPCClientError | null; + isPending: boolean; + probeHost: ProbeHost | null; +} + +export const initialState: State = { + error: null, + isPending: false, + probeHost: null, +}; + diff --git a/src/packages/probe/store/remove/index.ts b/src/packages/probe/store/remove/index.ts new file mode 100644 index 0000000..68b5cb8 --- /dev/null +++ b/src/packages/probe/store/remove/index.ts @@ -0,0 +1,4 @@ +export * from './remove.action'; +export * from './remove.effect'; +export * from './remove.reducer'; +export * from './remove.state'; diff --git a/src/packages/probe/store/remove/remove.action.ts b/src/packages/probe/store/remove/remove.action.ts new file mode 100644 index 0000000..e57dd4d --- /dev/null +++ b/src/packages/probe/store/remove/remove.action.ts @@ -0,0 +1,37 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + + +export enum ActionType { + Remove = '[probe.remove] Remove', + RemoveSuccess = '[probe.detail] RemoveSuccess', + RemoveFailure = '[probe.detail] RemoveFailure', +} + +export class Remove implements Action { + readonly type = ActionType.Remove; + + constructor(public payload: {id: string}) {} +} + +export class RemoveSuccess implements Action { + readonly type = ActionType.RemoveSuccess; + + constructor(public payload: boolean) {} +} + +export class RemoveFailure implements Action { + readonly type = ActionType.RemoveFailure; + + constructor(public payload: RPCClientError) {} +} + + +export type Actions = + | Remove + | RemoveSuccess + | RemoveFailure +; diff --git a/src/packages/probe/store/remove/remove.effect.spec.ts b/src/packages/probe/store/remove/remove.effect.spec.ts new file mode 100644 index 0000000..b625d89 --- /dev/null +++ b/src/packages/probe/store/remove/remove.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './remove.effect'; + +describe('ProbeDetail.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/probe/store/remove/remove.effect.ts b/src/packages/probe/store/remove/remove.effect.ts new file mode 100644 index 0000000..4c20cb2 --- /dev/null +++ b/src/packages/probe/store/remove/remove.effect.ts @@ -0,0 +1,49 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; +import { ProbeService } from '../../service/probe.service'; + +import { + Remove, + RemoveSuccess, + RemoveFailure, + ActionType +} from './remove.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private probeService: ProbeService, + private router: Router + ) { } + + @Effect() + remove$: Observable = this.actions$ + .ofType(ActionType.Remove) + .map((action: Remove) => action.payload) + .switchMap(payload => this.probeService.remove(payload.id)) + .map(result => { + return new RemoveSuccess(result); + }) + .catch((error: RPCClientError) => { + return of(new RemoveFailure(error)); + }); +} diff --git a/src/packages/probe/store/remove/remove.reducer.ts b/src/packages/probe/store/remove/remove.reducer.ts new file mode 100644 index 0000000..11f28ea --- /dev/null +++ b/src/packages/probe/store/remove/remove.reducer.ts @@ -0,0 +1,49 @@ +import { + Remove, + RemoveFailure, + RemoveSuccess, + ActionType, + Actions, +} from './remove.action'; + +import { + State, + initialState, +} from './remove.state'; + +import { Probe } from '@overflow/commons-typescript/model/probe'; + + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.Remove: { + return { + ...state, + error: null, + isPending: true, + }; + } + + case ActionType.RemoveSuccess: { + return { + ...state, + error: null, + isPending: false, + succeed: action.payload, + }; + } + + case ActionType.RemoveFailure: { + return { + ...state, + error: action.payload, + isPending: false, + succeed: false, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/probe/store/remove/remove.state.ts b/src/packages/probe/store/remove/remove.state.ts new file mode 100644 index 0000000..1aff481 --- /dev/null +++ b/src/packages/probe/store/remove/remove.state.ts @@ -0,0 +1,15 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Probe } from '@overflow/commons-typescript/model/probe'; + +export interface State { + error: RPCClientError | null; + isPending: boolean; + succeed: boolean | null; +} + +export const initialState: State = { + error: null, + isPending: false, + succeed: null, +}; + diff --git a/src/packages/sensor-item/component/index.ts b/src/packages/sensor-item/component/index.ts new file mode 100644 index 0000000..3b76d4f --- /dev/null +++ b/src/packages/sensor-item/component/index.ts @@ -0,0 +1,5 @@ +import { ListComponent } from './list/list.component'; + +export const COMPONENTS = [ + ListComponent, +]; diff --git a/src/packages/sensor-item/component/list/list.component.html b/src/packages/sensor-item/component/list/list.component.html new file mode 100644 index 0000000..4248e5c --- /dev/null +++ b/src/packages/sensor-item/component/list/list.component.html @@ -0,0 +1,15 @@ + + + Monitored Items + + + + {{rowIndex + 1}} + {{sensor.Description}} + {{sensor.status.name}} + {{sensor.crawler.name}} + ??? + {{sensor.createDate | date: 'dd.MM.yyyy'}} + + + \ No newline at end of file diff --git a/src/packages/sensor-item/component/list/list.component.spec.ts b/src/packages/sensor-item/component/list/list.component.spec.ts new file mode 100644 index 0000000..beacd15 --- /dev/null +++ b/src/packages/sensor-item/component/list/list.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ListComponent } from './list.component'; + +describe('ListComponent', () => { + let component: ListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ListComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor-item/component/list/list.component.ts b/src/packages/sensor-item/component/list/list.component.ts new file mode 100644 index 0000000..bc9a8ef --- /dev/null +++ b/src/packages/sensor-item/component/list/list.component.ts @@ -0,0 +1,20 @@ +import { Component, OnInit, AfterViewInit, AfterContentInit } from '@angular/core'; +import { Router } from '@angular/router'; +import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta'; + +@Component({ + selector: 'of-sensor-item-list', + templateUrl: './list.component.html', +}) +export class ListComponent implements OnInit, AfterContentInit { + + sensorItems: MetaSensorDisplayItem[]; + ngAfterContentInit() { + } + + constructor(private router: Router) { } + + ngOnInit() { + } +} + diff --git a/src/packages/sensor-item/sensor-item-store.module.ts b/src/packages/sensor-item/sensor-item-store.module.ts new file mode 100644 index 0000000..14749a1 --- /dev/null +++ b/src/packages/sensor-item/sensor-item-store.module.ts @@ -0,0 +1,19 @@ +import { NgModule } from '@angular/core'; +import { StoreModule } from '@ngrx/store'; + +import { EffectsModule } from '@ngrx/effects'; + +import { + REDUCERS, + EFFECTS, +} from './store'; + +import { MODULE } from './sensor-item.constant'; + +@NgModule({ + imports: [ + StoreModule.forFeature(MODULE.name, REDUCERS), + EffectsModule.forFeature(EFFECTS), + ], +}) +export class SensorItemStoreModule { } diff --git a/src/packages/sensor-item/sensor-item.constant.ts b/src/packages/sensor-item/sensor-item.constant.ts new file mode 100644 index 0000000..1f3af81 --- /dev/null +++ b/src/packages/sensor-item/sensor-item.constant.ts @@ -0,0 +1,3 @@ +export const MODULE = { + name: 'sensorItem' +}; diff --git a/src/packages/sensor-item/sensor-item.module.ts b/src/packages/sensor-item/sensor-item.module.ts new file mode 100644 index 0000000..8f83309 --- /dev/null +++ b/src/packages/sensor-item/sensor-item.module.ts @@ -0,0 +1,24 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { COMPONENTS } from './component'; +import { SensorItemStoreModule } from './sensor-item-store.module'; +import { SERVICES } from './service'; +import { PrimeNGModules } from '../commons/prime-ng/prime-ng.module'; + +@NgModule({ + imports: [ + CommonModule, + SensorItemStoreModule, + PrimeNGModules, + ], + declarations: [ + COMPONENTS, + ], + exports: [ + COMPONENTS, + ], + providers: [ + SERVICES, + ], +}) +export class SensorItemModule { } diff --git a/src/packages/sensor-item/service/index.ts b/src/packages/sensor-item/service/index.ts new file mode 100644 index 0000000..f92c8a5 --- /dev/null +++ b/src/packages/sensor-item/service/index.ts @@ -0,0 +1,7 @@ +import { SensorItemDependencyService } from './sensor-item-dependency.service'; +import { SensorItemService } from './sensor-item.service'; + +export const SERVICES = [ + SensorItemDependencyService, + SensorItemService +]; diff --git a/src/packages/sensor-item/service/sensor-item-dependency.service.ts b/src/packages/sensor-item/service/sensor-item-dependency.service.ts new file mode 100644 index 0000000..b24c01a --- /dev/null +++ b/src/packages/sensor-item/service/sensor-item-dependency.service.ts @@ -0,0 +1,29 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; + +import { RPCService } from '@loafer/ng-rpc/service'; +import { SensorItemDependency } from '@overflow/commons-typescript/model/sensor-item'; +import { MetaSensorItemKey } from '@overflow/commons-typescript/model/meta'; +import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta'; + + + +@Injectable() +export class SensorItemDependencyService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public regist(dependency: SensorItemDependency): Observable { + return this.rpcService.call('SensorItemDependencyService.regist', dependency); + } + + public readAllByDisplayItem(displayItem: MetaSensorDisplayItem): Observable { + return this.rpcService.call('SensorItemDependencyService.readAllByDisplayItem', displayItem); + } + + +} diff --git a/src/packages/sensor-item/service/sensor-item.service.ts b/src/packages/sensor-item/service/sensor-item.service.ts new file mode 100644 index 0000000..1feb01e --- /dev/null +++ b/src/packages/sensor-item/service/sensor-item.service.ts @@ -0,0 +1,21 @@ +import { Injectable } from '@angular/core'; + +import { RPCService } from '@loafer/ng-rpc/service'; + + + +@Injectable() +export class SensorItemService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + // public regist(dependency: SensorItemDependency): Observable { + // return this.rpcService.call('SensorItemDependencyService.regist', dependency); + // } + + +} diff --git a/src/packages/sensor-item/store/index.ts b/src/packages/sensor-item/store/index.ts new file mode 100644 index 0000000..05ab39d --- /dev/null +++ b/src/packages/sensor-item/store/index.ts @@ -0,0 +1,29 @@ +import { + createSelector, + createFeatureSelector, +} from '@ngrx/store'; + +import { StateSelector } from 'packages/core/ngrx/store'; + + +import * as ListStore from './key-list'; +import { MODULE } from '../sensor-item.constant'; + +export interface State { + list: ListStore.State; +} + +export const REDUCERS = { + list: ListStore.reducer, +}; + +export const EFFECTS = [ + ListStore.Effects, +]; + +export const selectState = createFeatureSelector(MODULE.name); + +export const ReadSensorItemKeySelector = new StateSelector(createSelector( + selectState, + (state: State) => state.list +)); diff --git a/src/packages/sensor-item/store/key-list/index.ts b/src/packages/sensor-item/store/key-list/index.ts new file mode 100644 index 0000000..7fd86e0 --- /dev/null +++ b/src/packages/sensor-item/store/key-list/index.ts @@ -0,0 +1,4 @@ +export * from './list.action'; +export * from './list.effect'; +export * from './list.reducer'; +export * from './list.state'; diff --git a/src/packages/sensor-item/store/key-list/list.action.ts b/src/packages/sensor-item/store/key-list/list.action.ts new file mode 100644 index 0000000..f30ac37 --- /dev/null +++ b/src/packages/sensor-item/store/key-list/list.action.ts @@ -0,0 +1,37 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { MetaSensorItemKey } from '@overflow/commons-typescript/model/meta'; +import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta'; + + +export enum ActionType { + ReadAllByDisplayItem = '[meta.sensor-display-key-list] ReadAllByDisplayItem', + ReadAllByDisplayItemSuccess = '[meta.sensor-display-key-list] ReadAllByDisplayItemSuccess', + ReadAllByDisplayItemFailure = '[meta.sensor-display-key-list] ReadAllByDisplayItemFailure', +} + +export class ReadAllByDisplayItem implements Action { + readonly type = ActionType.ReadAllByDisplayItem; + + constructor(public payload: MetaSensorDisplayItem) {} +} + +export class ReadAllByDisplayItemSuccess implements Action { + readonly type = ActionType.ReadAllByDisplayItemSuccess; + + constructor(public payload: MetaSensorItemKey[]) {} +} + +export class ReadAllByDisplayItemFailure implements Action { + readonly type = ActionType.ReadAllByDisplayItemFailure; + + constructor(public payload: RPCClientError) {} +} + +export type Actions = + | ReadAllByDisplayItem + | ReadAllByDisplayItemSuccess + | ReadAllByDisplayItemFailure + +; diff --git a/src/packages/sensor-item/store/key-list/list.effect.spec.ts b/src/packages/sensor-item/store/key-list/list.effect.spec.ts new file mode 100644 index 0000000..d8f6227 --- /dev/null +++ b/src/packages/sensor-item/store/key-list/list.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './list.effect'; + +describe('List.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/sensor-item/store/key-list/list.effect.ts b/src/packages/sensor-item/store/key-list/list.effect.ts new file mode 100644 index 0000000..68d9450 --- /dev/null +++ b/src/packages/sensor-item/store/key-list/list.effect.ts @@ -0,0 +1,48 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { + ReadAllByDisplayItem, + ReadAllByDisplayItemSuccess, + ReadAllByDisplayItemFailure, + ActionType, +} from './list.action'; +import { SensorItemDependencyService } from '../../service/sensor-item-dependency.service'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private service: SensorItemDependencyService, + private router: Router + ) { } + + @Effect() + readAllByDisplayItem$: Observable = this.actions$ + .ofType(ActionType.ReadAllByDisplayItem) + .map((action: ReadAllByDisplayItem) => action.payload) + .switchMap(payload => this.service.readAllByDisplayItem(payload)) + .map(list => { + return new ReadAllByDisplayItemSuccess(list); + }) + .catch((error: RPCClientError) => { + return of(new ReadAllByDisplayItemFailure(error)); + }); + +} diff --git a/src/packages/sensor-item/store/key-list/list.reducer.ts b/src/packages/sensor-item/store/key-list/list.reducer.ts new file mode 100644 index 0000000..769743b --- /dev/null +++ b/src/packages/sensor-item/store/key-list/list.reducer.ts @@ -0,0 +1,43 @@ +import { + Actions, + ActionType, +} from './list.action'; + +import { + State, + initialState, +} from './list.state'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.ReadAllByDisplayItem: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.ReadAllByDisplayItemSuccess: { + return { + ...state, + error: null, + pending: false, + list: action.payload + }; + } + + case ActionType.ReadAllByDisplayItemFailure: { + return { + ...state, + error: action.payload, + pending: false, + list: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/sensor-item/store/key-list/list.state.ts b/src/packages/sensor-item/store/key-list/list.state.ts new file mode 100644 index 0000000..384d133 --- /dev/null +++ b/src/packages/sensor-item/store/key-list/list.state.ts @@ -0,0 +1,15 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { MetaSensorItemKey } from '@overflow/commons-typescript/model/meta'; + + +export interface State { + error: RPCClientError | null; + pending: boolean; + list: MetaSensorItemKey[] | null; +} + +export const initialState: State = { + error: null, + pending: false, + list: null, +}; diff --git a/src/packages/sensor/component/detail/detail.component.html b/src/packages/sensor/component/detail/detail.component.html new file mode 100644 index 0000000..6dfeb25 --- /dev/null +++ b/src/packages/sensor/component/detail/detail.component.html @@ -0,0 +1,59 @@ +
      +

      {{sensor.crawler.name}}

      + +
      +
      +
      +
      + +
        +
      • + RUNNING +
      • +
      +
      +
      + +
      + +
        +
      • + STOPPED +
      • +
      +
      +
      +
      + +
      + + + +
      +
      + +
      +
      + +
      + + + + + + +
      +
      +
      + +
      + +
      +
      + +
      + + + + + \ No newline at end of file diff --git a/src/packages/sensor/component/detail/detail.component.spec.ts b/src/packages/sensor/component/detail/detail.component.spec.ts new file mode 100644 index 0000000..149b9be --- /dev/null +++ b/src/packages/sensor/component/detail/detail.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DetailComponent } from './detail.component'; + +describe('DetailComponent', () => { + let component: DetailComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ DetailComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(DetailComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/detail/detail.component.ts b/src/packages/sensor/component/detail/detail.component.ts new file mode 100644 index 0000000..65e0320 --- /dev/null +++ b/src/packages/sensor/component/detail/detail.component.ts @@ -0,0 +1,83 @@ +import { Component, OnInit, Inject, AfterContentInit, OnDestroy } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { ConfirmationService } from 'primeng/primeng'; +import { Store, select } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as DetailStore from '../../store/detail'; +import { sensorSelector } from '../../store'; +import { Sensor } from '@overflow/commons-typescript/model/sensor'; +import { Subscription } from 'rxjs/Subscription'; + +@Component({ + selector: 'of-sensor-detail', + templateUrl: './detail.component.html', + providers: [ConfirmationService] +}) +export class DetailComponent implements OnInit, AfterContentInit, OnDestroy { + + sensorSubscription$: Subscription; + sensor$ = this.detailStore.pipe(select(sensorSelector.select('sensor'))); + sensor: Sensor; + sensorSettingDisplay: boolean; + + constructor( + private route: ActivatedRoute, + private router: Router, + private confirmationService: ConfirmationService, + private detailStore: Store, + ) { + this.sensorSettingDisplay = false; + } + + ngOnInit() { + this.sensorSubscription$ = this.sensor$.subscribe( + (sensor: Sensor) => { + console.log(sensor); + this.sensor = sensor; + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + const sensorId = this.route.snapshot.paramMap.get('id'); + this.detailStore.dispatch( + new DetailStore.Read( + { id: sensorId } + ) + ); + } + + ngOnDestroy() { + if (this.sensorSubscription$) { + this.sensorSubscription$.unsubscribe(); + } + } + + onStartOrStop() { } + + onEdit() { + this.sensorSettingDisplay = true; + } + + onRemove() { + this.confirmationService.confirm({ + header: 'Are you sure to remove this Sensor?', + icon: 'fa fa-trash', + message: 'All the related data will be deleted. ', + accept: () => { + alert('으앙 안돼 지우지마ㅠㅠ'); + }, + reject: () => { + } + }); + } + + onTargetClick(target) { + // this.router.navigate(['sensors'], { queryParams: { target: target.id } }); + this.router.navigate(['target', target.id, 'info']); + } +} + diff --git a/src/packages/sensor/component/index.ts b/src/packages/sensor/component/index.ts new file mode 100644 index 0000000..be62731 --- /dev/null +++ b/src/packages/sensor/component/index.ts @@ -0,0 +1,24 @@ +import { ListComponent } from './list/list.component'; + +import { SettingComponent } from './setting/setting.component'; +import { TargetSelectorComponent } from './setting/target-selector/target-selector.component'; +import { CrawlerSelectorComponent } from './setting/crawler-selector/crawler-selector.component'; +import { CrawlerAuthComponent } from './setting/crawler-auth/crawler-auth.component'; +import { SensorItemSelectorComponent } from './setting/sensor-item-selector/sensor-item-selector.component'; +import { SettingETCComponent } from './setting/setting-etc/setting-etc.component'; +import { DetailComponent } from './detail/detail.component'; +// import { FilterComponent } from './list/filter/filter.component'; +// import { TargetSelectorComponent } from './setting/target-selector/target-selector.component'; + +export const COMPONENTS = [ + SettingComponent, + TargetSelectorComponent, + CrawlerSelectorComponent, + CrawlerAuthComponent, + SensorItemSelectorComponent, + SettingETCComponent, + ListComponent, + DetailComponent, + // FilterComponent, + // SettingETCComponent, +]; diff --git a/src/packages/sensor/component/list/filter/filter.component.html b/src/packages/sensor/component/list/filter/filter.component.html new file mode 100644 index 0000000..d0fbdc8 --- /dev/null +++ b/src/packages/sensor/component/list/filter/filter.component.html @@ -0,0 +1,30 @@ +
      + + + +
      +
      + + + + {{ crawler.name }} + + + +
      +
      +
      Status
      + + All + Active + Inactive + +
      +
      +
      Type
      + + All + Host + Application + +
      \ No newline at end of file diff --git a/src/packages/sensor/component/list/filter/filter.component.spec.ts b/src/packages/sensor/component/list/filter/filter.component.spec.ts new file mode 100644 index 0000000..fc30049 --- /dev/null +++ b/src/packages/sensor/component/list/filter/filter.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FilterComponent } from './filter.component'; + +describe('FilterComponent', () => { + let component: FilterComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ FilterComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(FilterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/list/filter/filter.component.ts b/src/packages/sensor/component/list/filter/filter.component.ts new file mode 100644 index 0000000..9ca9b1f --- /dev/null +++ b/src/packages/sensor/component/list/filter/filter.component.ts @@ -0,0 +1,24 @@ +import { Component, OnInit } from '@angular/core'; +import { Router } from '@angular/router'; + + +@Component({ + selector: 'of-target-filter', + templateUrl: './filter.component.html', + styleUrls: ['./filter.component.scss'] +}) +export class FilterComponent implements OnInit { + + crawlers = [ + {value: 'ALL', name: 'All'}, + {value: 'WMI', name: 'WMI'}, + {value: 'SSH', name: 'SSH'}, + {value: 'MySQL', name: 'MySQL'}, + {value: 'Redis', name: 'Redis'}, + ]; + + constructor(private router: Router) { } + + ngOnInit() { + } +} diff --git a/src/packages/sensor/component/list/list.component.html b/src/packages/sensor/component/list/list.component.html new file mode 100644 index 0000000..e0133c4 --- /dev/null +++ b/src/packages/sensor/component/list/list.component.html @@ -0,0 +1,5 @@ +
      +
      +
      {{page.number}}
      +
      +
      \ No newline at end of file diff --git a/src/packages/sensor/component/list/list.component.spec.ts b/src/packages/sensor/component/list/list.component.spec.ts new file mode 100644 index 0000000..beacd15 --- /dev/null +++ b/src/packages/sensor/component/list/list.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ListComponent } from './list.component'; + +describe('ListComponent', () => { + let component: ListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ListComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/list/list.component.ts b/src/packages/sensor/component/list/list.component.ts new file mode 100644 index 0000000..3d8eea0 --- /dev/null +++ b/src/packages/sensor/component/list/list.component.ts @@ -0,0 +1,164 @@ +import { Component, OnInit, AfterViewInit, ViewChild, AfterContentInit, OnDestroy } from '@angular/core'; +import { Router, ActivatedRoute } from '@angular/router'; +import { Sensor } from '@overflow/commons-typescript/model/sensor'; +import { Store, select } from '@ngrx/store'; +import * as SensorStore from '../../store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as ListStore from '../../store/list'; +import { sensorListSelector } from '../../store'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { AuthSelector } from 'packages/member/store'; +import { Page, PageParams } from 'app/commons/model'; +import { Target } from '@overflow/commons-typescript/model/target'; +import { SettingComponent } from '../setting/setting.component'; +import { SelectItem } from 'primeng/primeng'; + +import { Infra } from '@overflow/commons-typescript/model/infra'; +import * as InfraDetailStore from 'packages/infra/store/detail'; +import { DetailSelector as InfraDetailSelector } from 'packages/infra/store'; +import { Subscription } from 'rxjs/Subscription'; + + +@Component({ + selector: 'of-sensor-list', + templateUrl: './list.component.html', +}) +export class ListComponent implements OnInit, AfterContentInit, OnDestroy { + + sensorsSubscription$: Subscription; + sensorList$; + PAGE_SIZE = '99999'; + totalLength = 0; + sensorSettingDisplay = false; + + sensors: Sensor[]; + target: Target = null; + targetSensor; + + // filter + targetOptions: SelectItem[]; + filteredName: string; + selectedTargets: string[] = []; + selectedStatus: string[] = []; + + constructor( + private router: Router, + private route: ActivatedRoute, + private store: Store, + ) { + this.sensorList$ = this.store.pipe(select(sensorListSelector.select('page'))); + } + + ngOnInit() { + // this.sensorsSubscription$ = this.sensorList$.subscribe( + // (page: Page) => { + // if (page != null) { + // this.sensors = page.content; + // this.generateSensorMap(); + // } + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + } + + ngAfterContentInit() { + this.getSensors(0); + } + + ngOnDestroy() { + if (this.sensorsSubscription$) { + this.sensorsSubscription$.unsubscribe(); + } + } + + + getSensors(pageIndex: number) { + this.store.select(AuthSelector.select('domain')).subscribe( + (domain: Domain) => { + const pageParams: PageParams = { + pageNo: pageIndex + '', + countPerPage: this.PAGE_SIZE, + sortCol: 'id', + sortDirection: 'descending' + }; + this.store.dispatch(new ListStore.ReadAllByDomain({ domain, pageParams })); + }, + (error) => { + console.log(error); + } + ); + } + + generateSensorMap() { + const tempList = []; + for (const sensor of this.sensors) { + const targetNode = this.existTarget(sensor, tempList); + if (targetNode === null) { + const sensorsNode = []; + sensorsNode.push(sensor); + const node = { + target: sensor.target, + sensors: sensorsNode, + }; + + tempList.push(node); + } else { + targetNode.sensors.push(sensor); + } + } + this.totalLength = tempList.length; + this.targetSensor = tempList; + + this.generateTargetFilter(); + } + + + generateTargetFilter() { + if (this.targetOptions) { + return; + } + const tempList = []; + for (const data of this.targetSensor) { + tempList.push({ label: data.target.displayName, value: data.target.id }); + } + this.targetOptions = tempList; + } + + existTarget(sensor: Sensor, tempList) { + let targetNode = null; + for (const node of tempList) { + if (node.target.id === sensor.target.id) { + targetNode = node; + } + } + return targetNode; + } + + onAddSensor() { + this.target = null; + this.sensorSettingDisplay = true; + } + + onAddSensorWithTarget(target: Target) { + this.target = target; + this.sensorSettingDisplay = true; + } + + onSensorSettingClose() { + this.sensorSettingDisplay = false; + } + onSensorClick(sensor) { + this.router.navigate(['sensor', sensor.id, 'info']); + } + + onSearch() { + console.log(this.filteredName); + console.log(this.selectedTargets); + console.log(this.selectedStatus); + alert('서버-검색 기능 구현 필요'); + } + +} + diff --git a/src/packages/sensor/component/setting.1/crawler-auth/crawler-auth.component.html b/src/packages/sensor/component/setting.1/crawler-auth/crawler-auth.component.html new file mode 100644 index 0000000..5108fca --- /dev/null +++ b/src/packages/sensor/component/setting.1/crawler-auth/crawler-auth.component.html @@ -0,0 +1,17 @@ + +
      +
      + + + + +
      +
      + + +
      개발자의 배려가 돋보이는 친절한 안내 메시지
      +
      +
      + +
      +
      \ No newline at end of file diff --git a/src/packages/sensor/component/setting.1/crawler-auth/crawler-auth.component.spec.ts b/src/packages/sensor/component/setting.1/crawler-auth/crawler-auth.component.spec.ts new file mode 100644 index 0000000..87f023d --- /dev/null +++ b/src/packages/sensor/component/setting.1/crawler-auth/crawler-auth.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CrawlerAuthComponent } from './crawler-auth.component'; + +describe('FilterComponent', () => { + let component: CrawlerAuthComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ CrawlerAuthComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CrawlerAuthComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/setting.1/crawler-auth/crawler-auth.component.ts b/src/packages/sensor/component/setting.1/crawler-auth/crawler-auth.component.ts new file mode 100644 index 0000000..da9a5b7 --- /dev/null +++ b/src/packages/sensor/component/setting.1/crawler-auth/crawler-auth.component.ts @@ -0,0 +1,96 @@ +import { Component, OnInit, Input, OnChanges, Output, EventEmitter } from '@angular/core'; +import { Router } from '@angular/router'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; + +import { Store, select } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as ListStore from 'packages/meta/crawler-input-item/store/list'; +import { ReadCrawlerInputItemSelector } from 'packages/meta/crawler-input-item/store'; +import { MetaCrawlerInputItem } from '@overflow/commons-typescript/model/meta'; + + +@Component({ + selector: 'of-crawler-auth', + templateUrl: './crawler-auth.component.html', +}) +export class CrawlerAuthComponent implements OnInit, OnChanges { + + inputItems$ = this.listStore.pipe(select(ReadCrawlerInputItemSelector.select('inputs'))); + inputItems: MetaCrawlerInputItem[]; + title: string; + + @Output() credentialPassed = new EventEmitter(); + @Input() crawler: MetaCrawler; + + constructor( + private router: Router, + private listStore: Store, + ) { } + + ngOnInit() { + // this.inputItems$.subscribe( + // (list: MetaCrawlerInputItem[]) => { + // if (list !== null) { + // if (this.inputItems !== list) { + // this.testPassEvent.emit(false); + // } + // this.inputItems = list; + // } + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + } + + ngOnChanges() { + // this.getCrawlerAuthInputItems(); + this.title = '3. Credentials'; + + this.inputItems = []; + // Temporary data + if (null == this.crawler) { + return; + } + this.title += ' for ' + this.crawler.name; + for (let i = 0; i < 10; i++) { + const item: MetaCrawlerInputItem = { + id: i, + // inputType: { + // id: i, + // name: '', + // description: '', + // }, + crawler: null, + description: '', + name: '', + createDate: new Date(), + required: true, + defaultValue: '', + pattern: '', + keyName: '', + keyValue: '', + }; + this.inputItems.push(item); + } + + } + + getCrawlerAuthInputItems() { + this.listStore.dispatch(new ListStore.ReadAll(this.crawler)); + } + + testCredentials() { + // switch (this.crawler.id) { + // case 1: + // break; + // case 2: + // break; + // case 3: + // break; + // default : + // break; + // } + this.credentialPassed.emit(true); + } +} diff --git a/src/packages/sensor/component/setting.1/crawler-selector/crawler-selector.component.html b/src/packages/sensor/component/setting.1/crawler-selector/crawler-selector.component.html new file mode 100644 index 0000000..ad29f81 --- /dev/null +++ b/src/packages/sensor/component/setting.1/crawler-selector/crawler-selector.component.html @@ -0,0 +1,16 @@ +
      + + +
      +
      {{crawler.name}}
      +
      +
      +
      +
      + + + +
      개발자의 배려가 돋보이는 친절한 안내 메시지
      +
      +
      \ No newline at end of file diff --git a/src/packages/sensor/component/setting.1/crawler-selector/crawler-selector.component.spec.ts b/src/packages/sensor/component/setting.1/crawler-selector/crawler-selector.component.spec.ts new file mode 100644 index 0000000..77251eb --- /dev/null +++ b/src/packages/sensor/component/setting.1/crawler-selector/crawler-selector.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CrawlerSelectorComponent } from './crawler-selector.component'; + +describe('FilterComponent', () => { + let component: CrawlerSelectorComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ CrawlerSelectorComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CrawlerSelectorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/setting.1/crawler-selector/crawler-selector.component.ts b/src/packages/sensor/component/setting.1/crawler-selector/crawler-selector.component.ts new file mode 100644 index 0000000..32742e1 --- /dev/null +++ b/src/packages/sensor/component/setting.1/crawler-selector/crawler-selector.component.ts @@ -0,0 +1,67 @@ +import { Component, OnInit, Input, OnChanges, AfterContentInit, Output, EventEmitter } from '@angular/core'; +import { Router } from '@angular/router'; +import { Target } from '@overflow/commons-typescript/model/target'; + +import { Store, select } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as ListStore from 'packages/meta/crawler/store/list'; +import { ReadAllCrawlerSelector } from 'packages/meta/crawler/store'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; + + +@Component({ + selector: 'of-crawler-selector', + templateUrl: './crawler-selector.component.html', +}) +export class CrawlerSelectorComponent implements OnInit, OnChanges, AfterContentInit { + + crawlers$ = this.listStore.pipe(select(ReadAllCrawlerSelector.select('metaCrawlerList'))); + @Input() target: Target; + crawlers: MetaCrawler[]; + @Output() crawlerSelected = new EventEmitter(); + + constructor( + private router: Router, + private listStore: Store, + ) { } + + ngOnInit() { + // this.crawlers$.subscribe( + // (list: MetaCrawler[]) => { + // if (list !== null) { + // this.crawlers = list; + // } + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + + } + + ngAfterContentInit() { + // this.listStore.dispatch(new ListStore.ReadAll()); + } + + ngOnChanges() { + + this.crawlers = []; + if (null == this.target) { + return; + } + + // Temporary Data + for (let i = 0; i < 4; i++) { + const c: MetaCrawler = { + id: i, + name: 'CrawlerName' + i + ' For ' + this.target.displayName, + }; + this.crawlers.push(c); + } + + } + + onSelectionChange(event) { + this.crawlerSelected.emit(event.value[0]); + } +} diff --git a/src/packages/sensor/component/setting.1/sensor-item-selector/sensor-item-selector.component.html b/src/packages/sensor/component/setting.1/sensor-item-selector/sensor-item-selector.component.html new file mode 100644 index 0000000..595851d --- /dev/null +++ b/src/packages/sensor/component/setting.1/sensor-item-selector/sensor-item-selector.component.html @@ -0,0 +1,10 @@ + +
      + +
      + + +
      개발자의 배려가 돋보이는 친절한 안내 메시지
      +
      +
      \ No newline at end of file diff --git a/src/packages/sensor/component/setting.1/sensor-item-selector/sensor-item-selector.component.spec.ts b/src/packages/sensor/component/setting.1/sensor-item-selector/sensor-item-selector.component.spec.ts new file mode 100644 index 0000000..25e7477 --- /dev/null +++ b/src/packages/sensor/component/setting.1/sensor-item-selector/sensor-item-selector.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SensorItemSelectorComponent } from './sensor-item-selector.component'; + +describe('SensorItemSelectorComponent', () => { + let component: SensorItemSelectorComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SensorItemSelectorComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SensorItemSelectorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/setting.1/sensor-item-selector/sensor-item-selector.component.ts b/src/packages/sensor/component/setting.1/sensor-item-selector/sensor-item-selector.component.ts new file mode 100644 index 0000000..a72c5a4 --- /dev/null +++ b/src/packages/sensor/component/setting.1/sensor-item-selector/sensor-item-selector.component.ts @@ -0,0 +1,126 @@ +import { Component, OnInit, OnChanges, Input, Output, EventEmitter, ViewChild, AfterViewInit, OnDestroy } from '@angular/core'; +import { Router } from '@angular/router'; +import { Store, select } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as ListStore from 'packages/meta/sensor-display-item/store/list'; +import { ReadAllSensorDisplayItemByCrawlerSelector } from 'packages/meta/sensor-display-item/store'; +import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; +import { MetaSensorItemType } from '@overflow/commons-typescript/model/meta'; +import { TreeNode } from 'primeng/primeng'; +import { Target } from '@overflow/commons-typescript/model/target'; + +@Component({ + selector: 'of-sensor-item-selector', + templateUrl: './sensor-item-selector.component.html', +}) +export class SensorItemSelectorComponent implements OnInit, OnChanges { + + @Input() target: Target; + @Input() crawler: MetaCrawler; + @Output() sensorItemsSelected = new EventEmitter(); + + items$ = this.listStore.pipe(select(ReadAllSensorDisplayItemByCrawlerSelector.select('list'))); + + selectedItems: TreeNode[]; + itemTreeNode: TreeNode[]; + + constructor( + private router: Router, + private listStore: Store, + ) { } + + ngOnInit() { + // this.selectedItems = new Set(); + // this.items$.subscribe( + // (list: MetaSensorDisplayItem[]) => { + // if (list !== null) { + // } + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + + } + + ngOnChanges() { + // this.selectedItems.clear(); + // this.listStore.dispatch(new ListStore.ReadAllByCrawler(this.crawler)); + + this.itemTreeNode = []; + if (!this.target || !this.crawler) { + return; + } + // Temporary data + const displayItems = []; + for (let i = 0; i < 10; i++) { + let isDefault = false; + const t: MetaSensorItemType = { + name: 'CPU' + }; + if (i % 2) { + isDefault = true; + t.name = 'Memory'; + } + const si: MetaSensorDisplayItem = { + id: i, + key: 'SensorDisplayItemKey' + i, + displayName: 'this.is.display.item.name' + i, + description: 'Description' + i, + default: isDefault, + itemType: t + }; + displayItems.push(si); + } + + this.generateTreeData(displayItems); + } + + generateTreeData(items) { + this.itemTreeNode = []; + for (const item of items) { + const categoryNode = this.existCategory(item); + if (categoryNode === null) { + const childrenNode = []; + childrenNode.push(this.getChildNode(item)); + const node = { + label: item.itemType.name, + children: childrenNode, + expanded: true, + }; + this.itemTreeNode.push(node); + } else { + categoryNode.children.push(this.getChildNode(item)); + } + } + } + + getChildNode(item) { + const childNode = { + label: item.displayName, + expandedIcon: item.default ? 'ui-icon-star' : '', + collapsedIcon: item.default ? 'ui-icon-star' : '', + expanded: true, + data: item + }; + return childNode; + } + existCategory(item: MetaSensorDisplayItem) { + let categoryNode = null; + for (const node of this.itemTreeNode) { + if (node.label === item.itemType.name) { + categoryNode = node; + } + } + return categoryNode; + } + + + onNodeSelect(event) { + this.sensorItemsSelected.emit(this.selectedItems); + } + onNodeUnselect(event) { + this.sensorItemsSelected.emit(this.selectedItems); + } +} diff --git a/src/packages/sensor/component/setting.1/setting-etc/setting-etc.component.html b/src/packages/sensor/component/setting.1/setting-etc/setting-etc.component.html new file mode 100644 index 0000000..68799a4 --- /dev/null +++ b/src/packages/sensor/component/setting.1/setting-etc/setting-etc.component.html @@ -0,0 +1,3 @@ +
      + page 2222222 +
      \ No newline at end of file diff --git a/src/packages/sensor/component/setting.1/setting-etc/setting-etc.component.spec.ts b/src/packages/sensor/component/setting.1/setting-etc/setting-etc.component.spec.ts new file mode 100644 index 0000000..4f94006 --- /dev/null +++ b/src/packages/sensor/component/setting.1/setting-etc/setting-etc.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SettingETCComponent } from './setting-etc.component'; + +describe('SettingETCComponent', () => { + let component: SettingETCComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SettingETCComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SettingETCComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/setting.1/setting-etc/setting-etc.component.ts b/src/packages/sensor/component/setting.1/setting-etc/setting-etc.component.ts new file mode 100644 index 0000000..2891968 --- /dev/null +++ b/src/packages/sensor/component/setting.1/setting-etc/setting-etc.component.ts @@ -0,0 +1,32 @@ +import { Component, OnInit, Input } from '@angular/core'; +import { Router } from '@angular/router'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; +import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta'; +import { Target } from '@overflow/commons-typescript/model/target'; + + +@Component({ + selector: 'of-sensor-setting-etc', + templateUrl: './setting-etc.component.html', +}) +export class SettingETCComponent implements OnInit { + + @Input() selectedTarget: Target; + @Input() selectedCrawler: MetaCrawler; + @Input() selectedItems: MetaSensorDisplayItem[]; + + intervals = [ + '600 sec', + '400 sec', + '200 sec', + ]; + + + constructor( + private router: Router, + ) { } + + ngOnInit() { + } + +} diff --git a/src/packages/sensor/component/setting.1/setting.component.html b/src/packages/sensor/component/setting.1/setting.component.html new file mode 100644 index 0000000..51eaecd --- /dev/null +++ b/src/packages/sensor/component/setting.1/setting.component.html @@ -0,0 +1,60 @@ +

      Add Sensor

      +
      + + + + + + + + + + + + + + +
      + + + + + +
      + + + + + +
      + + + + \ No newline at end of file diff --git a/src/packages/sensor/component/setting.1/setting.component.spec.ts b/src/packages/sensor/component/setting.1/setting.component.spec.ts new file mode 100644 index 0000000..0f66542 --- /dev/null +++ b/src/packages/sensor/component/setting.1/setting.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SettingComponent } from './setting.component'; + +describe('SensorSettingComponent', () => { + let component: SettingComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SettingComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SettingComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/setting.1/setting.component.ts b/src/packages/sensor/component/setting.1/setting.component.ts new file mode 100644 index 0000000..061b570 --- /dev/null +++ b/src/packages/sensor/component/setting.1/setting.component.ts @@ -0,0 +1,159 @@ +import { Component, OnInit, Input, Inject, DoCheck, ViewEncapsulation, Output, EventEmitter, OnChanges } from '@angular/core'; +import { Target } from '@overflow/commons-typescript/model/target'; +import { Infra } from '@overflow/commons-typescript/model/infra'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; +import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta'; + +import { Store, select, StateObservable } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as SensorItemKeyListStore from 'packages/sensor-item/store/key-list'; +import { ReadSensorItemKeySelector } from 'packages/sensor-item/store'; +import { MetaSensorItemKey } from '@overflow/commons-typescript/model/meta'; +import { TreeNode } from 'primeng/primeng'; + +@Component({ + selector: 'of-sensor-setting', + templateUrl: './setting.component.html', + encapsulation: ViewEncapsulation.None +}) +export class SettingComponent implements OnInit, DoCheck, OnChanges { + + @Input() preTarget: Target; + @Output() close = new EventEmitter(); + @Input() visible; + + nextable = false; + selectedTarget: Target; + selectedCrawler: MetaCrawler; + credentialPassed: boolean; + selectedSensorDisplayItems: MetaSensorDisplayItem[]; + itemNodes: TreeNode[]; + step = 0; + page = 1; + + sensorItemKeys$: StateObservable; + + + constructor( + private keyListStore: Store + ) { + keyListStore.pipe(select(ReadSensorItemKeySelector.select('list'))); + } + + ngOnInit() { + this.step = this.preTarget ? 1 : 0; + // this.sensorItemKeys$.subscribe( + // (list: MetaSensorItemKey[]) => { + // if (list !== null) { + // console.log(list); + // } + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + } + + ngOnChanges(changes) { + this.step = this.preTarget ? 1 : 0; + } + + ngDoCheck() { + try { + if ( + this.selectedTarget === null || + this.selectedCrawler === null || + this.itemNodes === null || + this.itemNodes.length === 0 || + !this.credentialPassed + ) { + this.nextable = false; + } else { + this.nextable = true; + } + } catch (exception) { + this.nextable = false; + } + } + + onCancel() { + this.page = 1; + this.step = 0; + this.visible = false; + this.nextable = false; + this.selectedTarget = null; + this.selectedCrawler = null; + this.credentialPassed = false; + this.selectedSensorDisplayItems = null; + this.close.emit(); + } + + onNext() { + this.page += 1; + } + + onPrev() { + this.page -= 1; + } + + onDone() { + this.selectedSensorDisplayItems = []; + for (const node of this.itemNodes) { + if (node.data && node.data !== undefined) { + this.selectedSensorDisplayItems.push(node.data); + } + } + console.log(this.selectedSensorDisplayItems); + } + + onTargetSelect(t: Target) { + this.selectedTarget = t; + this.step = 1; + } + onCrawlerSelect(c: MetaCrawler) { + this.selectedCrawler = c; + this.step = 2; + } + onCredentialPass(b: boolean) { + if (!b) { + return; + } + this.credentialPassed = b; + this.step = 3; + } + onItemsSelect(nodes: TreeNode[]) { + this.itemNodes = nodes; + } + + onTabOpen(event) { + this.step = event.index; + } + + getTitle(index) { + if (index === 0 && this.preTarget) { + return this.preTarget.displayName; + } + let title = ''; + switch (index) { + case 0: + title = this.selectedTarget && this.step !== index ? + this.selectedTarget.displayName : + 'Choose a Target to monitor.'; + break; + case 1: + title = this.selectedCrawler && this.step !== index ? + this.selectedCrawler.name : + 'Choose a Crawler.'; + break; + case 2: + title = this.credentialPassed && this.step !== index ? + 'Credentials test succeed.' : + 'Credentials'; + break; + case 3: + title = 'Choose Sensor Items.'; + break; + } + return title; + } +} diff --git a/src/packages/sensor/component/setting.1/target-selector/target-selector.component.html b/src/packages/sensor/component/setting.1/target-selector/target-selector.component.html new file mode 100644 index 0000000..1758fe1 --- /dev/null +++ b/src/packages/sensor/component/setting.1/target-selector/target-selector.component.html @@ -0,0 +1,11 @@ +
      + + +
      + +
      {{ target.displayName }}
      +
      +
      +
      +
      diff --git a/src/packages/sensor/component/setting.1/target-selector/target-selector.component.spec.ts b/src/packages/sensor/component/setting.1/target-selector/target-selector.component.spec.ts new file mode 100644 index 0000000..c13ee67 --- /dev/null +++ b/src/packages/sensor/component/setting.1/target-selector/target-selector.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TargetSelectorComponent } from './target-selector.component'; + +describe('FilterComponent', () => { + let component: TargetSelectorComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ TargetSelectorComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(TargetSelectorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/setting.1/target-selector/target-selector.component.ts b/src/packages/sensor/component/setting.1/target-selector/target-selector.component.ts new file mode 100644 index 0000000..ba9ec54 --- /dev/null +++ b/src/packages/sensor/component/setting.1/target-selector/target-selector.component.ts @@ -0,0 +1,92 @@ +import { Component, OnInit, Output, EventEmitter, Input, AfterContentInit, OnChanges } from '@angular/core'; +import { Router } from '@angular/router'; +import { Target } from '@overflow/commons-typescript/model/target'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { AuthSelector } from 'packages/member/store'; +import * as ListStore from 'packages/infra/store/list'; +import { ListSelector } from 'packages/infra/store'; +import { Store, select } from '@ngrx/store'; +import { Page, PageParams } from 'app/commons/model'; +import { SelectItem } from 'primeng/primeng'; + +@Component({ + selector: 'of-target-selector', + templateUrl: './target-selector.component.html', +}) +export class TargetSelectorComponent implements OnInit, OnChanges { + + targets$ = this.store.pipe(select(ListSelector.select('page'))); + + @Input() preTarget: Target = null; + @Input() visible; + @Output() targetSelected = new EventEmitter(); + targets: Target[] = null; + + constructor( + private router: Router, + private store: Store + ) { } + + ngOnInit() { + // this.targets$.subscribe( + // (page: Page) => { + // if (page !== null) { + // this.convertInfraToTarget(page); + // } + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + } + + ngOnChanges(changes) { + this.targets = []; + if (this.preTarget === null) { + this.getTargetList(); + } else { + this.targets.push(this.preTarget); + this.targetSelected.emit(this.preTarget); + } + } + + convertInfraToTarget(page: Page) { + for (const infra of page.content) { + this.targets.push(infra.target); + } + } + + getTargetList() { + // this.store.select(AuthSelector.select('domain')).subscribe( + // (domain: Domain) => { + // const pageParams: PageParams = { + // pageNo: '0', + // countPerPage: '9999', + // sortCol: 'id', + // sortDirection: 'descending' + // }; + // this.store.dispatch(new ListStore.ReadAllByDomain({ domain, pageParams })); + // }, + // (error) => { + // console.log(error); + // } + // ); + + // Temporary data + for (let i = 0; i < 10; i++) { + const t: Target = { + id: i, + displayName: 'DisplayName' + i, + createDate: new Date(), + description: 'Description' + i, + }; + this.targets.push(t); + } + } + + onSelectionChange(event) { + this.targetSelected.emit(event.value[0]); + } + +} diff --git a/src/packages/sensor/component/setting/crawler-auth/crawler-auth.component.html b/src/packages/sensor/component/setting/crawler-auth/crawler-auth.component.html new file mode 100644 index 0000000..5108fca --- /dev/null +++ b/src/packages/sensor/component/setting/crawler-auth/crawler-auth.component.html @@ -0,0 +1,17 @@ + +
      +
      + + + + +
      +
      + + +
      개발자의 배려가 돋보이는 친절한 안내 메시지
      +
      +
      + +
      +
      \ No newline at end of file diff --git a/src/packages/sensor/component/setting/crawler-auth/crawler-auth.component.spec.ts b/src/packages/sensor/component/setting/crawler-auth/crawler-auth.component.spec.ts new file mode 100644 index 0000000..87f023d --- /dev/null +++ b/src/packages/sensor/component/setting/crawler-auth/crawler-auth.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CrawlerAuthComponent } from './crawler-auth.component'; + +describe('FilterComponent', () => { + let component: CrawlerAuthComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ CrawlerAuthComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CrawlerAuthComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/setting/crawler-auth/crawler-auth.component.ts b/src/packages/sensor/component/setting/crawler-auth/crawler-auth.component.ts new file mode 100644 index 0000000..da9a5b7 --- /dev/null +++ b/src/packages/sensor/component/setting/crawler-auth/crawler-auth.component.ts @@ -0,0 +1,96 @@ +import { Component, OnInit, Input, OnChanges, Output, EventEmitter } from '@angular/core'; +import { Router } from '@angular/router'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; + +import { Store, select } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as ListStore from 'packages/meta/crawler-input-item/store/list'; +import { ReadCrawlerInputItemSelector } from 'packages/meta/crawler-input-item/store'; +import { MetaCrawlerInputItem } from '@overflow/commons-typescript/model/meta'; + + +@Component({ + selector: 'of-crawler-auth', + templateUrl: './crawler-auth.component.html', +}) +export class CrawlerAuthComponent implements OnInit, OnChanges { + + inputItems$ = this.listStore.pipe(select(ReadCrawlerInputItemSelector.select('inputs'))); + inputItems: MetaCrawlerInputItem[]; + title: string; + + @Output() credentialPassed = new EventEmitter(); + @Input() crawler: MetaCrawler; + + constructor( + private router: Router, + private listStore: Store, + ) { } + + ngOnInit() { + // this.inputItems$.subscribe( + // (list: MetaCrawlerInputItem[]) => { + // if (list !== null) { + // if (this.inputItems !== list) { + // this.testPassEvent.emit(false); + // } + // this.inputItems = list; + // } + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + } + + ngOnChanges() { + // this.getCrawlerAuthInputItems(); + this.title = '3. Credentials'; + + this.inputItems = []; + // Temporary data + if (null == this.crawler) { + return; + } + this.title += ' for ' + this.crawler.name; + for (let i = 0; i < 10; i++) { + const item: MetaCrawlerInputItem = { + id: i, + // inputType: { + // id: i, + // name: '', + // description: '', + // }, + crawler: null, + description: '', + name: '', + createDate: new Date(), + required: true, + defaultValue: '', + pattern: '', + keyName: '', + keyValue: '', + }; + this.inputItems.push(item); + } + + } + + getCrawlerAuthInputItems() { + this.listStore.dispatch(new ListStore.ReadAll(this.crawler)); + } + + testCredentials() { + // switch (this.crawler.id) { + // case 1: + // break; + // case 2: + // break; + // case 3: + // break; + // default : + // break; + // } + this.credentialPassed.emit(true); + } +} diff --git a/src/packages/sensor/component/setting/crawler-selector/crawler-selector.component.html b/src/packages/sensor/component/setting/crawler-selector/crawler-selector.component.html new file mode 100644 index 0000000..ad29f81 --- /dev/null +++ b/src/packages/sensor/component/setting/crawler-selector/crawler-selector.component.html @@ -0,0 +1,16 @@ +
      + + +
      +
      {{crawler.name}}
      +
      +
      +
      +
      + + + +
      개발자의 배려가 돋보이는 친절한 안내 메시지
      +
      +
      \ No newline at end of file diff --git a/src/packages/sensor/component/setting/crawler-selector/crawler-selector.component.spec.ts b/src/packages/sensor/component/setting/crawler-selector/crawler-selector.component.spec.ts new file mode 100644 index 0000000..77251eb --- /dev/null +++ b/src/packages/sensor/component/setting/crawler-selector/crawler-selector.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CrawlerSelectorComponent } from './crawler-selector.component'; + +describe('FilterComponent', () => { + let component: CrawlerSelectorComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ CrawlerSelectorComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CrawlerSelectorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/setting/crawler-selector/crawler-selector.component.ts b/src/packages/sensor/component/setting/crawler-selector/crawler-selector.component.ts new file mode 100644 index 0000000..f4a3c10 --- /dev/null +++ b/src/packages/sensor/component/setting/crawler-selector/crawler-selector.component.ts @@ -0,0 +1,70 @@ +import { Component, OnInit, Input, OnChanges, AfterContentInit, Output, EventEmitter } from '@angular/core'; +import { Router } from '@angular/router'; +import { Target } from '@overflow/commons-typescript/model/target'; + +import { Store, select } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as ListStore from 'packages/meta/crawler/store/list'; +import { ReadAllCrawlerSelector } from 'packages/meta/crawler/store'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; + + +@Component({ + selector: 'of-crawler-selector', + templateUrl: './crawler-selector.component.html', +}) +export class CrawlerSelectorComponent implements OnInit, OnChanges, AfterContentInit { + + crawlers$ = this.listStore.pipe(select(ReadAllCrawlerSelector.select('metaCrawlerList'))); + @Input() target: Target; + crawlers: MetaCrawler[]; + @Output() crawlerSelected = new EventEmitter(); + + constructor( + private router: Router, + private listStore: Store, + ) { } + + ngOnInit() { + // this.crawlers$.subscribe( + // (list: MetaCrawler[]) => { + // if (list !== null) { + // this.crawlers = list; + // } + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + + } + + ngAfterContentInit() { + // this.listStore.dispatch(new ListStore.ReadAll()); + } + + ngOnChanges() { + + this.crawlers = []; + if (null == this.target) { + return; + } + + // Temporary Data + for (let i = 0; i < 4; i++) { + const c: MetaCrawler = { + id: i, + name: 'CrawlerName' + i + ' For ' + this.target.displayName, + }; + this.crawlers.push(c); + } + + } + + onSelectionChange(event) { + // FIXME: 이미 해당 크롤러를 사용하는 센서가 있는지 확인해야 함 + // 있다면, 사용자에 알려주고 수정 모드로 변경 + // 기존 SensorDisplayItem 목록 조회 + this.crawlerSelected.emit(event.value[0]); + } +} diff --git a/src/packages/sensor/component/setting/sensor-item-selector/sensor-item-selector.component.html b/src/packages/sensor/component/setting/sensor-item-selector/sensor-item-selector.component.html new file mode 100644 index 0000000..595851d --- /dev/null +++ b/src/packages/sensor/component/setting/sensor-item-selector/sensor-item-selector.component.html @@ -0,0 +1,10 @@ + +
      + +
      + + +
      개발자의 배려가 돋보이는 친절한 안내 메시지
      +
      +
      \ No newline at end of file diff --git a/src/packages/sensor/component/setting/sensor-item-selector/sensor-item-selector.component.spec.ts b/src/packages/sensor/component/setting/sensor-item-selector/sensor-item-selector.component.spec.ts new file mode 100644 index 0000000..25e7477 --- /dev/null +++ b/src/packages/sensor/component/setting/sensor-item-selector/sensor-item-selector.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SensorItemSelectorComponent } from './sensor-item-selector.component'; + +describe('SensorItemSelectorComponent', () => { + let component: SensorItemSelectorComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SensorItemSelectorComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SensorItemSelectorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/setting/sensor-item-selector/sensor-item-selector.component.ts b/src/packages/sensor/component/setting/sensor-item-selector/sensor-item-selector.component.ts new file mode 100644 index 0000000..a72c5a4 --- /dev/null +++ b/src/packages/sensor/component/setting/sensor-item-selector/sensor-item-selector.component.ts @@ -0,0 +1,126 @@ +import { Component, OnInit, OnChanges, Input, Output, EventEmitter, ViewChild, AfterViewInit, OnDestroy } from '@angular/core'; +import { Router } from '@angular/router'; +import { Store, select } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as ListStore from 'packages/meta/sensor-display-item/store/list'; +import { ReadAllSensorDisplayItemByCrawlerSelector } from 'packages/meta/sensor-display-item/store'; +import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; +import { MetaSensorItemType } from '@overflow/commons-typescript/model/meta'; +import { TreeNode } from 'primeng/primeng'; +import { Target } from '@overflow/commons-typescript/model/target'; + +@Component({ + selector: 'of-sensor-item-selector', + templateUrl: './sensor-item-selector.component.html', +}) +export class SensorItemSelectorComponent implements OnInit, OnChanges { + + @Input() target: Target; + @Input() crawler: MetaCrawler; + @Output() sensorItemsSelected = new EventEmitter(); + + items$ = this.listStore.pipe(select(ReadAllSensorDisplayItemByCrawlerSelector.select('list'))); + + selectedItems: TreeNode[]; + itemTreeNode: TreeNode[]; + + constructor( + private router: Router, + private listStore: Store, + ) { } + + ngOnInit() { + // this.selectedItems = new Set(); + // this.items$.subscribe( + // (list: MetaSensorDisplayItem[]) => { + // if (list !== null) { + // } + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + + } + + ngOnChanges() { + // this.selectedItems.clear(); + // this.listStore.dispatch(new ListStore.ReadAllByCrawler(this.crawler)); + + this.itemTreeNode = []; + if (!this.target || !this.crawler) { + return; + } + // Temporary data + const displayItems = []; + for (let i = 0; i < 10; i++) { + let isDefault = false; + const t: MetaSensorItemType = { + name: 'CPU' + }; + if (i % 2) { + isDefault = true; + t.name = 'Memory'; + } + const si: MetaSensorDisplayItem = { + id: i, + key: 'SensorDisplayItemKey' + i, + displayName: 'this.is.display.item.name' + i, + description: 'Description' + i, + default: isDefault, + itemType: t + }; + displayItems.push(si); + } + + this.generateTreeData(displayItems); + } + + generateTreeData(items) { + this.itemTreeNode = []; + for (const item of items) { + const categoryNode = this.existCategory(item); + if (categoryNode === null) { + const childrenNode = []; + childrenNode.push(this.getChildNode(item)); + const node = { + label: item.itemType.name, + children: childrenNode, + expanded: true, + }; + this.itemTreeNode.push(node); + } else { + categoryNode.children.push(this.getChildNode(item)); + } + } + } + + getChildNode(item) { + const childNode = { + label: item.displayName, + expandedIcon: item.default ? 'ui-icon-star' : '', + collapsedIcon: item.default ? 'ui-icon-star' : '', + expanded: true, + data: item + }; + return childNode; + } + existCategory(item: MetaSensorDisplayItem) { + let categoryNode = null; + for (const node of this.itemTreeNode) { + if (node.label === item.itemType.name) { + categoryNode = node; + } + } + return categoryNode; + } + + + onNodeSelect(event) { + this.sensorItemsSelected.emit(this.selectedItems); + } + onNodeUnselect(event) { + this.sensorItemsSelected.emit(this.selectedItems); + } +} diff --git a/src/packages/sensor/component/setting/setting-etc/setting-etc.component.html b/src/packages/sensor/component/setting/setting-etc/setting-etc.component.html new file mode 100644 index 0000000..68799a4 --- /dev/null +++ b/src/packages/sensor/component/setting/setting-etc/setting-etc.component.html @@ -0,0 +1,3 @@ +
      + page 2222222 +
      \ No newline at end of file diff --git a/src/packages/sensor/component/setting/setting-etc/setting-etc.component.spec.ts b/src/packages/sensor/component/setting/setting-etc/setting-etc.component.spec.ts new file mode 100644 index 0000000..4f94006 --- /dev/null +++ b/src/packages/sensor/component/setting/setting-etc/setting-etc.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SettingETCComponent } from './setting-etc.component'; + +describe('SettingETCComponent', () => { + let component: SettingETCComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SettingETCComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SettingETCComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/setting/setting-etc/setting-etc.component.ts b/src/packages/sensor/component/setting/setting-etc/setting-etc.component.ts new file mode 100644 index 0000000..2891968 --- /dev/null +++ b/src/packages/sensor/component/setting/setting-etc/setting-etc.component.ts @@ -0,0 +1,32 @@ +import { Component, OnInit, Input } from '@angular/core'; +import { Router } from '@angular/router'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; +import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta'; +import { Target } from '@overflow/commons-typescript/model/target'; + + +@Component({ + selector: 'of-sensor-setting-etc', + templateUrl: './setting-etc.component.html', +}) +export class SettingETCComponent implements OnInit { + + @Input() selectedTarget: Target; + @Input() selectedCrawler: MetaCrawler; + @Input() selectedItems: MetaSensorDisplayItem[]; + + intervals = [ + '600 sec', + '400 sec', + '200 sec', + ]; + + + constructor( + private router: Router, + ) { } + + ngOnInit() { + } + +} diff --git a/src/packages/sensor/component/setting/setting.component.html b/src/packages/sensor/component/setting/setting.component.html new file mode 100644 index 0000000..51eaecd --- /dev/null +++ b/src/packages/sensor/component/setting/setting.component.html @@ -0,0 +1,60 @@ +

      Add Sensor

      +
      + + + + + + + + + + + + + + +
      + + + + + +
      + + + + + +
      + + + + \ No newline at end of file diff --git a/src/packages/sensor/component/setting/setting.component.spec.ts b/src/packages/sensor/component/setting/setting.component.spec.ts new file mode 100644 index 0000000..0f66542 --- /dev/null +++ b/src/packages/sensor/component/setting/setting.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SettingComponent } from './setting.component'; + +describe('SensorSettingComponent', () => { + let component: SettingComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SettingComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SettingComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/setting/setting.component.ts b/src/packages/sensor/component/setting/setting.component.ts new file mode 100644 index 0000000..bc96f72 --- /dev/null +++ b/src/packages/sensor/component/setting/setting.component.ts @@ -0,0 +1,161 @@ +import { Component, OnInit, Input, Inject, DoCheck, ViewEncapsulation, Output, EventEmitter, OnChanges } from '@angular/core'; +import { Target } from '@overflow/commons-typescript/model/target'; +import { Infra } from '@overflow/commons-typescript/model/infra'; +import { MetaCrawler } from '@overflow/commons-typescript/model/meta'; +import { MetaSensorDisplayItem } from '@overflow/commons-typescript/model/meta'; + +import { Store, select, StateObservable } from '@ngrx/store'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import * as SensorItemKeyListStore from 'packages/sensor-item/store/key-list'; +import { ReadSensorItemKeySelector } from 'packages/sensor-item/store'; +import { MetaSensorItemKey } from '@overflow/commons-typescript/model/meta'; +import { TreeNode } from 'primeng/primeng'; + +@Component({ + selector: 'of-sensor-setting', + templateUrl: './setting.component.html', + encapsulation: ViewEncapsulation.None +}) +export class SettingComponent implements OnInit, DoCheck, OnChanges { + + @Input() preTarget: Target; + @Output() close = new EventEmitter(); + @Input() visible: boolean; + @Input() editMode: boolean; + + nextable = false; + selectedTarget: Target; + selectedCrawler: MetaCrawler; + credentialPassed: boolean; + selectedSensorDisplayItems: MetaSensorDisplayItem[]; + itemNodes: TreeNode[]; + step = 0; + page = 1; + + sensorItemKeys$: StateObservable; + + + constructor( + private keyListStore: Store + ) { + keyListStore.pipe(select(ReadSensorItemKeySelector.select('list'))); + this.editMode = true; + } + + ngOnInit() { + this.step = this.preTarget ? 1 : 0; + // this.sensorItemKeys$.subscribe( + // (list: MetaSensorItemKey[]) => { + // if (list !== null) { + // console.log(list); + // } + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + } + + ngOnChanges(changes) { + this.step = this.preTarget ? 1 : 0; + } + + ngDoCheck() { + try { + if ( + this.selectedTarget === null || + this.selectedCrawler === null || + this.itemNodes === null || + this.itemNodes.length === 0 || + !this.credentialPassed + ) { + this.nextable = false; + } else { + this.nextable = true; + } + } catch (exception) { + this.nextable = false; + } + } + + onCancel() { + this.page = 1; + this.step = 0; + this.visible = false; + this.nextable = false; + this.selectedTarget = null; + this.selectedCrawler = null; + this.credentialPassed = false; + this.selectedSensorDisplayItems = null; + this.close.emit(); + } + + onNext() { + this.page += 1; + } + + onPrev() { + this.page -= 1; + } + + onDone() { + this.selectedSensorDisplayItems = []; + for (const node of this.itemNodes) { + if (node.data && node.data !== undefined) { + this.selectedSensorDisplayItems.push(node.data); + } + } + console.log(this.selectedSensorDisplayItems); + } + + onTargetSelect(t: Target) { + this.selectedTarget = t; + this.step = 1; + } + onCrawlerSelect(c: MetaCrawler) { + this.selectedCrawler = c; + this.step = 2; + } + onCredentialPass(b: boolean) { + if (!b) { + return; + } + this.credentialPassed = b; + this.step = 3; + } + onItemsSelect(nodes: TreeNode[]) { + this.itemNodes = nodes; + } + + onTabOpen(event) { + this.step = event.index; + } + + getTitle(index) { + if (index === 0 && this.preTarget) { + return this.preTarget.displayName; + } + let title = ''; + switch (index) { + case 0: + title = this.selectedTarget && this.step !== index ? + this.selectedTarget.displayName : + 'Choose a Target to monitor.'; + break; + case 1: + title = this.selectedCrawler && this.step !== index ? + this.selectedCrawler.name : + 'Choose a Crawler.'; + break; + case 2: + title = this.credentialPassed && this.step !== index ? + 'Credentials test succeed.' : + 'Credentials'; + break; + case 3: + title = 'Choose Sensor Items.'; + break; + } + return title; + } +} diff --git a/src/packages/sensor/component/setting/target-selector/target-selector.component.html b/src/packages/sensor/component/setting/target-selector/target-selector.component.html new file mode 100644 index 0000000..1758fe1 --- /dev/null +++ b/src/packages/sensor/component/setting/target-selector/target-selector.component.html @@ -0,0 +1,11 @@ +
      + + +
      + +
      {{ target.displayName }}
      +
      +
      +
      +
      diff --git a/src/packages/sensor/component/setting/target-selector/target-selector.component.spec.ts b/src/packages/sensor/component/setting/target-selector/target-selector.component.spec.ts new file mode 100644 index 0000000..c13ee67 --- /dev/null +++ b/src/packages/sensor/component/setting/target-selector/target-selector.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TargetSelectorComponent } from './target-selector.component'; + +describe('FilterComponent', () => { + let component: TargetSelectorComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ TargetSelectorComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(TargetSelectorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/sensor/component/setting/target-selector/target-selector.component.ts b/src/packages/sensor/component/setting/target-selector/target-selector.component.ts new file mode 100644 index 0000000..ba9ec54 --- /dev/null +++ b/src/packages/sensor/component/setting/target-selector/target-selector.component.ts @@ -0,0 +1,92 @@ +import { Component, OnInit, Output, EventEmitter, Input, AfterContentInit, OnChanges } from '@angular/core'; +import { Router } from '@angular/router'; +import { Target } from '@overflow/commons-typescript/model/target'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { AuthSelector } from 'packages/member/store'; +import * as ListStore from 'packages/infra/store/list'; +import { ListSelector } from 'packages/infra/store'; +import { Store, select } from '@ngrx/store'; +import { Page, PageParams } from 'app/commons/model'; +import { SelectItem } from 'primeng/primeng'; + +@Component({ + selector: 'of-target-selector', + templateUrl: './target-selector.component.html', +}) +export class TargetSelectorComponent implements OnInit, OnChanges { + + targets$ = this.store.pipe(select(ListSelector.select('page'))); + + @Input() preTarget: Target = null; + @Input() visible; + @Output() targetSelected = new EventEmitter(); + targets: Target[] = null; + + constructor( + private router: Router, + private store: Store + ) { } + + ngOnInit() { + // this.targets$.subscribe( + // (page: Page) => { + // if (page !== null) { + // this.convertInfraToTarget(page); + // } + // }, + // (error: RPCClientError) => { + // console.log(error.response.message); + // } + // ); + } + + ngOnChanges(changes) { + this.targets = []; + if (this.preTarget === null) { + this.getTargetList(); + } else { + this.targets.push(this.preTarget); + this.targetSelected.emit(this.preTarget); + } + } + + convertInfraToTarget(page: Page) { + for (const infra of page.content) { + this.targets.push(infra.target); + } + } + + getTargetList() { + // this.store.select(AuthSelector.select('domain')).subscribe( + // (domain: Domain) => { + // const pageParams: PageParams = { + // pageNo: '0', + // countPerPage: '9999', + // sortCol: 'id', + // sortDirection: 'descending' + // }; + // this.store.dispatch(new ListStore.ReadAllByDomain({ domain, pageParams })); + // }, + // (error) => { + // console.log(error); + // } + // ); + + // Temporary data + for (let i = 0; i < 10; i++) { + const t: Target = { + id: i, + displayName: 'DisplayName' + i, + createDate: new Date(), + description: 'Description' + i, + }; + this.targets.push(t); + } + } + + onSelectionChange(event) { + this.targetSelected.emit(event.value[0]); + } + +} diff --git a/src/packages/sensor/sensor-store.module.ts b/src/packages/sensor/sensor-store.module.ts new file mode 100644 index 0000000..a977917 --- /dev/null +++ b/src/packages/sensor/sensor-store.module.ts @@ -0,0 +1,24 @@ +import { NgModule } from '@angular/core'; +import { StoreModule } from '@ngrx/store'; +import { StoreDevtoolsModule } from '@ngrx/store-devtools'; +import { + StoreRouterConnectingModule, + RouterStateSerializer, +} from '@ngrx/router-store'; +import { EffectsModule } from '@ngrx/effects'; +import { combineReducers, ActionReducer, ActionReducerMap, MetaReducer } from '@ngrx/store'; + +import { + REDUCERS, + EFFECTS, +} from './store'; + +import { MODULE } from './sensor.constant'; + +@NgModule({ + imports: [ + StoreModule.forFeature(MODULE.name, REDUCERS), + EffectsModule.forFeature(EFFECTS), + ], +}) +export class SensorStoreModule { } diff --git a/src/packages/sensor/sensor.constant.ts b/src/packages/sensor/sensor.constant.ts new file mode 100644 index 0000000..16657cf --- /dev/null +++ b/src/packages/sensor/sensor.constant.ts @@ -0,0 +1,3 @@ +export const MODULE = { + name: 'Sensor' + }; diff --git a/src/packages/sensor/sensor.module.ts b/src/packages/sensor/sensor.module.ts new file mode 100644 index 0000000..e4956a5 --- /dev/null +++ b/src/packages/sensor/sensor.module.ts @@ -0,0 +1,36 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { PrimeNGModules } from '../commons/prime-ng/prime-ng.module'; +import { COMPONENTS } from './component'; +import { SERVICES } from './service'; +import { SensorStoreModule } from './sensor-store.module'; +import { SensorItemModule } from '../sensor-item/sensor-item.module'; +import { KeyValueModule } from 'app/commons/component/key-value/key-value.module'; +// import { MetaCrawlerModule } from '../meta/crawler/crawler.module'; +// import { MetaSensorDisplayItemModule } from '../meta/sensor-display-item/sensor-display-item.module'; +// import { MetaCrawlerInputItemModule } from '../meta/crawler-input-item/crawler-input.module'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + SensorStoreModule, + PrimeNGModules, + SensorItemModule, + // MetaCrawlerModule, + // MetaSensorDisplayItemModule, + KeyValueModule + ], + declarations: [ + COMPONENTS, + ], + exports: [ + COMPONENTS, + ], + providers: [ + SERVICES, + ] +}) +export class SensorModule { } + diff --git a/src/packages/sensor/service/index.ts b/src/packages/sensor/service/index.ts new file mode 100644 index 0000000..f9663e9 --- /dev/null +++ b/src/packages/sensor/service/index.ts @@ -0,0 +1,5 @@ +import { SensorService } from './sensor.service'; + +export const SERVICES = [ + SensorService, +]; diff --git a/src/packages/sensor/service/sensor.service.spec.ts b/src/packages/sensor/service/sensor.service.spec.ts new file mode 100644 index 0000000..0090e8a --- /dev/null +++ b/src/packages/sensor/service/sensor.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { SensorService } from './sensor.service'; + +describe('SensorService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [SensorService] + }); + }); + + it('should be created', inject([SensorService], (service: SensorService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/src/packages/sensor/service/sensor.service.ts b/src/packages/sensor/service/sensor.service.ts new file mode 100644 index 0000000..ea9c84f --- /dev/null +++ b/src/packages/sensor/service/sensor.service.ts @@ -0,0 +1,43 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; + +import 'rxjs/add/operator/map'; + +import { RPCService } from '@loafer/ng-rpc/service'; + +import { PageParams, Page } from 'app/commons/model'; +import { SensorItem } from '@overflow/commons-typescript/model/sensor-item'; +import { Sensor } from '@overflow/commons-typescript/model/sensor'; +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { Target } from '@overflow/commons-typescript/model/target'; + + +@Injectable() +export class SensorService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public readAllByDomain(domain: Domain, pageParams: PageParams): Observable { + return this.rpcService.call('SensorService.readAllByDomain', domain, pageParams); + } + + public registSensorConfig(sensor: Sensor, sensorItems: SensorItem[]): Observable { + return this.rpcService.call('SensorService.registSensorConfig', sensor, sensorItems, null); + } + + public readAllByInfra(infraId: string, pageParams: PageParams): Observable { + return this.rpcService.call('SensorService.readAllByInfra', infraId, pageParams); + } + + public readAllByTarget(target: Target, pageParams: PageParams): Observable { + return this.rpcService.call('SensorService.readAllByTarget', target, pageParams); + } + + public read(id: string): Observable { + return this.rpcService.call('SensorService.read', id); + } +} diff --git a/src/packages/sensor/store/detail/detail.action.ts b/src/packages/sensor/store/detail/detail.action.ts new file mode 100644 index 0000000..385de17 --- /dev/null +++ b/src/packages/sensor/store/detail/detail.action.ts @@ -0,0 +1,37 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Sensor } from '@overflow/commons-typescript/model/sensor'; + + +export enum ActionType { + Read = '[sensor.detail] Read', + ReadSuccess = '[sensor.detail] ReadSuccess', + ReadFailure = '[sensor.detail] ReadFailure', +} + +export class Read implements Action { + readonly type = ActionType.Read; + + constructor(public payload: {id: string}) {} +} + +export class ReadSuccess implements Action { + readonly type = ActionType.ReadSuccess; + + constructor(public payload: Sensor) {} +} + +export class ReadFailure implements Action { + readonly type = ActionType.ReadFailure; + + constructor(public payload: RPCClientError) {} +} + + +export type Actions = + | Read + | ReadSuccess + | ReadFailure +; diff --git a/src/packages/sensor/store/detail/detail.effect.spec.ts b/src/packages/sensor/store/detail/detail.effect.spec.ts new file mode 100644 index 0000000..b1c2217 --- /dev/null +++ b/src/packages/sensor/store/detail/detail.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './detail.effect'; + +describe('ProbeDetail.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/sensor/store/detail/detail.effect.ts b/src/packages/sensor/store/detail/detail.effect.ts new file mode 100644 index 0000000..c2efd3d --- /dev/null +++ b/src/packages/sensor/store/detail/detail.effect.ts @@ -0,0 +1,49 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Sensor } from '@overflow/commons-typescript/model/sensor'; +import { SensorService } from '../../service/sensor.service'; + +import { + Read, + ReadFailure, + ReadSuccess, + ActionType +} from './detail.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private sensorService: SensorService, + private router: Router + ) { } + + @Effect() + read$: Observable = this.actions$ + .ofType(ActionType.Read) + .map((action: Read) => action.payload) + .switchMap(payload => this.sensorService.read(payload.id)) + .map(sensor => { + return new ReadSuccess(sensor); + }) + .catch((error: RPCClientError) => { + return of(new ReadFailure(error)); + }); +} diff --git a/src/packages/sensor/store/detail/detail.reducer.ts b/src/packages/sensor/store/detail/detail.reducer.ts new file mode 100644 index 0000000..90b2ac2 --- /dev/null +++ b/src/packages/sensor/store/detail/detail.reducer.ts @@ -0,0 +1,49 @@ +import { + Read, + ReadFailure, + ReadSuccess, + ActionType, + Actions, +} from './detail.action'; + +import { + State, + initialState, +} from './detail.state'; + +import { Sensor } from '@overflow/commons-typescript/model/sensor'; + + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.Read: { + return { + ...state, + error: null, + isPending: true, + }; + } + + case ActionType.ReadSuccess: { + return { + ...state, + error: null, + isPending: false, + sensor: action.payload, + }; + } + + case ActionType.ReadFailure: { + return { + ...state, + error: action.payload, + isPending: false, + sensor: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/sensor/store/detail/detail.state.ts b/src/packages/sensor/store/detail/detail.state.ts new file mode 100644 index 0000000..296dd10 --- /dev/null +++ b/src/packages/sensor/store/detail/detail.state.ts @@ -0,0 +1,15 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Sensor } from '@overflow/commons-typescript/model/sensor'; +import { createEntityAdapter, EntityAdapter, EntityState } from '@ngrx/entity'; + +export interface State extends EntityState { + error: RPCClientError | null; + isPending: boolean; + sensor: Sensor | null; +} +export const adapter: EntityAdapter = createEntityAdapter(); +export const initialState: State = adapter.getInitialState({ + error: null, + isPending: false, + sensor: null, +}); diff --git a/src/packages/sensor/store/detail/index.ts b/src/packages/sensor/store/detail/index.ts new file mode 100644 index 0000000..23ae8ab --- /dev/null +++ b/src/packages/sensor/store/detail/index.ts @@ -0,0 +1,4 @@ +export * from './detail.action'; +export * from './detail.effect'; +export * from './detail.reducer'; +export * from './detail.state'; diff --git a/src/packages/sensor/store/index.ts b/src/packages/sensor/store/index.ts new file mode 100644 index 0000000..b983318 --- /dev/null +++ b/src/packages/sensor/store/index.ts @@ -0,0 +1,39 @@ +import { + createSelector, + createFeatureSelector, + ActionReducerMap, +} from '@ngrx/store'; + +import { StateSelector } from 'packages/core/ngrx/store'; + +import { MODULE } from '../sensor.constant'; + +import * as ListStore from './list'; +import * as DetailStore from './detail'; + +export interface State { + list: ListStore.State; + sensor: DetailStore.State; +} + +export const REDUCERS = { + list: ListStore.reducer, + sensor: DetailStore.reducer, +}; + +export const EFFECTS = [ + ListStore.Effects, + DetailStore.Effects, +]; + +export const sensorState = createFeatureSelector(MODULE.name); + +export const sensorListSelector = new StateSelector(createSelector( + sensorState, + (state: State) => state.list +)); +export const sensorSelector = new StateSelector(createSelector( + sensorState, + (state: State) => state.sensor +)); + diff --git a/src/packages/sensor/store/list/index.ts b/src/packages/sensor/store/list/index.ts new file mode 100644 index 0000000..7fd86e0 --- /dev/null +++ b/src/packages/sensor/store/list/index.ts @@ -0,0 +1,4 @@ +export * from './list.action'; +export * from './list.effect'; +export * from './list.reducer'; +export * from './list.state'; diff --git a/src/packages/sensor/store/list/list.action.ts b/src/packages/sensor/store/list/list.action.ts new file mode 100644 index 0000000..0cfaf66 --- /dev/null +++ b/src/packages/sensor/store/list/list.action.ts @@ -0,0 +1,86 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { PageParams, Page } from 'app/commons/model'; +import { Target } from '@overflow/commons-typescript/model/target'; + +export enum ActionType { + ReadAllByDomain = '[Sensor.ReadAllByDomain] ReadAllByDomain', + ReadAllByDomainSuccess = '[Sensor.ReadAllByDomainSuccess] ReadAllByDomainSuccess', + ReadAllByDomainFailure = '[Sensor.ReadAllByDomainFailure] ReadAllByDomainFailure', + + ReadAllByInfra = '[Sensor.ReadAllByInfra] ReadAllByInfra', + ReadAllByInfraSuccess = '[Sensor.ReadAllByInfraSuccess] ReadAllByInfraSuccess', + ReadAllByInfraFailure = '[Sensor.ReadAllByInfraFailure] ReadAllByInfraFailure', + + ReadAllByTarget = '[Sensor.ReadAllByTarget] ReadAllByTarget', + ReadAllByTargetSuccess = '[Sensor.ReadAllByTargetSuccess] ReadAllByTargetSuccess', + ReadAllByTargetFailure = '[Sensor.ReadAllByTargetFailure] ReadAllByTargetFailure', +} + +export class ReadAllByDomain implements Action { + readonly type = ActionType.ReadAllByDomain; + + constructor(public payload: { domain: Domain, pageParams: PageParams}) {} +} + +export class ReadAllByDomainSuccess implements Action { + readonly type = ActionType.ReadAllByDomainSuccess; + + constructor(public payload: Page) {} +} + +export class ReadAllByDomainFailure implements Action { + readonly type = ActionType.ReadAllByDomainFailure; + + constructor(public payload: RPCClientError) {} +} + +export class ReadAllByInfra implements Action { + readonly type = ActionType.ReadAllByInfra; + + constructor(public payload: { id: string, pageParams: PageParams}) {} +} + +export class ReadAllByInfraSuccess implements Action { + readonly type = ActionType.ReadAllByInfraSuccess; + + constructor(public payload: Page) {} +} + +export class ReadAllByInfraFailure implements Action { + readonly type = ActionType.ReadAllByInfraFailure; + + constructor(public payload: RPCClientError) {} +} +// +export class ReadAllByTarget implements Action { + readonly type = ActionType.ReadAllByTarget; + + constructor(public payload: { target: Target, pageParams: PageParams}) {} +} + +export class ReadAllByTargetSuccess implements Action { + readonly type = ActionType.ReadAllByTargetSuccess; + + constructor(public payload: Page) {} +} + +export class ReadAllByTargetFailure implements Action { + readonly type = ActionType.ReadAllByTargetFailure; + + constructor(public payload: RPCClientError) {} +} +export type Actions = + | ReadAllByDomain + | ReadAllByDomainSuccess + | ReadAllByDomainFailure + | ReadAllByInfra + | ReadAllByInfraSuccess + | ReadAllByInfraFailure + | ReadAllByTarget + | ReadAllByTargetSuccess + | ReadAllByTargetFailure +; diff --git a/src/packages/sensor/store/list/list.effect.spec.ts b/src/packages/sensor/store/list/list.effect.spec.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/sensor/store/list/list.effect.ts b/src/packages/sensor/store/list/list.effect.ts new file mode 100644 index 0000000..2abb4d6 --- /dev/null +++ b/src/packages/sensor/store/list/list.effect.ts @@ -0,0 +1,78 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Sensor } from '@overflow/commons-typescript/model/sensor'; +import { SensorService } from '../../service/sensor.service'; + +import { + ReadAllByDomain, + ReadAllByDomainSuccess, + ReadAllByDomainFailure, + ReadAllByInfra, + ReadAllByInfraSuccess, + ReadAllByInfraFailure, + ReadAllByTarget, + ReadAllByTargetSuccess, + ReadAllByTargetFailure, + ActionType, +} from './list.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private service: SensorService, + private router: Router + ) { } + + @Effect() + readAllByDomain$: Observable = this.actions$ + .ofType(ActionType.ReadAllByDomain) + .map((action: ReadAllByDomain) => action.payload) + .switchMap(payload => this.service.readAllByDomain(payload.domain, payload.pageParams)) + .map(list => { + return new ReadAllByDomainSuccess(list); + }) + .catch((error: RPCClientError) => { + return of(new ReadAllByDomainFailure(error)); + }); + + @Effect() + readAllByInfra$: Observable = this.actions$ + .ofType(ActionType.ReadAllByInfra) + .map((action: ReadAllByInfra) => action.payload) + .switchMap(payload => this.service.readAllByInfra(payload.id, payload.pageParams)) + .map(list => { + return new ReadAllByInfraSuccess(list); + }) + .catch((error: RPCClientError) => { + return of(new ReadAllByInfraFailure(error)); + }); + + @Effect() + readAllByTarget$: Observable = this.actions$ + .ofType(ActionType.ReadAllByTarget) + .map((action: ReadAllByTarget) => action.payload) + .switchMap(payload => this.service.readAllByTarget(payload.target, payload.pageParams)) + .map(list => { + return new ReadAllByTargetSuccess(list); + }) + .catch((error: RPCClientError) => { + return of(new ReadAllByTargetFailure(error)); + }); +} diff --git a/src/packages/sensor/store/list/list.reducer.ts b/src/packages/sensor/store/list/list.reducer.ts new file mode 100644 index 0000000..18dadb2 --- /dev/null +++ b/src/packages/sensor/store/list/list.reducer.ts @@ -0,0 +1,96 @@ +import { + Actions, + ActionType, + } from './list.action'; + + import { + State, + initialState, + } from './list.state'; + + import { Sensor } from '@overflow/commons-typescript/model/sensor'; + + export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.ReadAllByDomain: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.ReadAllByDomainSuccess: { + return { + ...state, + error: null, + pending: false, + page: action.payload + }; + } + + case ActionType.ReadAllByDomainFailure: { + return { + ...state, + error: action.payload, + pending: false, + page: null, + }; + } + + case ActionType.ReadAllByInfra: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.ReadAllByInfraSuccess: { + return { + ...state, + error: null, + pending: false, + page: action.payload + }; + } + + case ActionType.ReadAllByInfraFailure: { + return { + ...state, + error: action.payload, + pending: false, + page: null, + }; + } + + case ActionType.ReadAllByTarget: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.ReadAllByTargetSuccess: { + return { + ...state, + error: null, + pending: false, + page: action.payload + }; + } + + case ActionType.ReadAllByTargetFailure: { + return { + ...state, + error: action.payload, + pending: false, + page: null, + }; + } + default: { + return state; + } + } + } diff --git a/src/packages/sensor/store/list/list.state.ts b/src/packages/sensor/store/list/list.state.ts new file mode 100644 index 0000000..2929796 --- /dev/null +++ b/src/packages/sensor/store/list/list.state.ts @@ -0,0 +1,15 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Page } from 'app/commons/model'; + +export interface State { + error: RPCClientError | null; + pending: boolean; + page: Page | null; +} + +export const initialState: State = { + error: null, + pending: false, + page: null, +}; diff --git a/src/packages/sensor/store/regist/index.ts b/src/packages/sensor/store/regist/index.ts new file mode 100644 index 0000000..f6da3fb --- /dev/null +++ b/src/packages/sensor/store/regist/index.ts @@ -0,0 +1,4 @@ +export * from './regist.action'; +export * from './regist.effect'; +export * from './regist.reducer'; +export * from './regist.state'; diff --git a/src/packages/sensor/store/regist/regist.action.ts b/src/packages/sensor/store/regist/regist.action.ts new file mode 100644 index 0000000..4d3ca10 --- /dev/null +++ b/src/packages/sensor/store/regist/regist.action.ts @@ -0,0 +1,38 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Domain } from '@overflow/commons-typescript/model/domain'; +import { PageParams, Page } from 'app/commons/model'; +import { Sensor } from '@overflow/commons-typescript/model/sensor'; +import { SensorItem } from '@overflow/commons-typescript/model/sensor-item'; + +export enum ActionType { + Regist = '[Sensor.Regist] Regist', + RegistSuccess = '[Sensor.RegistSuccess] RegistSuccess', + RegistFailure = '[Sensor.RegistFailure] RegistFailure', +} + +export class Regist implements Action { + readonly type = ActionType.Regist; + + constructor(public payload: { sensor: Sensor, sensorItems: SensorItem[]}) {} +} + +export class RegistSuccess implements Action { + readonly type = ActionType.RegistSuccess; + + constructor(public payload: Sensor) {} +} + +export class RegistFailure implements Action { + readonly type = ActionType.RegistFailure; + + constructor(public payload: RPCClientError) {} +} + +export type Actions = + | Regist + | RegistSuccess + | RegistFailure +; diff --git a/src/packages/sensor/store/regist/regist.effect.ts b/src/packages/sensor/store/regist/regist.effect.ts new file mode 100644 index 0000000..8b6ab33 --- /dev/null +++ b/src/packages/sensor/store/regist/regist.effect.ts @@ -0,0 +1,49 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Sensor } from '@overflow/commons-typescript/model/sensor'; +import { SensorService } from '../../service/sensor.service'; + +import { + Regist, + RegistSuccess, + RegistFailure, + ActionType, +} from './regist.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private service: SensorService, + private router: Router + ) { } + + @Effect() + regist$: Observable = this.actions$ + .ofType(ActionType.Regist) + .map((action: Regist) => action.payload) + .switchMap(payload => this.service.registSensorConfig(payload.sensor, payload.sensorItems)) + .map(list => { + return new RegistSuccess(list); + }) + .catch((error: RPCClientError) => { + return of(new RegistFailure(error)); + }); + +} diff --git a/src/packages/sensor/store/regist/regist.reducer.ts b/src/packages/sensor/store/regist/regist.reducer.ts new file mode 100644 index 0000000..95e1d10 --- /dev/null +++ b/src/packages/sensor/store/regist/regist.reducer.ts @@ -0,0 +1,45 @@ +import { + Actions, + ActionType, + } from './regist.action'; + + import { + State, + initialState, + } from './regist.state'; + + import { Sensor } from '@overflow/commons-typescript/model/sensor'; + + export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.Regist: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.RegistSuccess: { + return { + ...state, + error: null, + pending: false, + sensor: action.payload + }; + } + + case ActionType.RegistFailure: { + return { + ...state, + error: action.payload, + pending: false, + sensor: null, + }; + } + + default: { + return state; + } + } + } diff --git a/src/packages/sensor/store/regist/regist.state.ts b/src/packages/sensor/store/regist/regist.state.ts new file mode 100644 index 0000000..5a39a21 --- /dev/null +++ b/src/packages/sensor/store/regist/regist.state.ts @@ -0,0 +1,16 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; + +import { Page } from 'app/commons/model'; +import { Sensor } from '@overflow/commons-typescript/model/sensor'; + +export interface State { + error: RPCClientError | null; + pending: boolean; + sensor: Sensor | null; +} + +export const initialState: State = { + error: null, + pending: false, + sensor: null, +}; diff --git a/src/packages/sensor/store/regist/regist.ts b/src/packages/sensor/store/regist/regist.ts new file mode 100644 index 0000000..f6da3fb --- /dev/null +++ b/src/packages/sensor/store/regist/regist.ts @@ -0,0 +1,4 @@ +export * from './regist.action'; +export * from './regist.effect'; +export * from './regist.reducer'; +export * from './regist.state'; diff --git a/src/packages/target/component/detail/detail.component.html b/src/packages/target/component/detail/detail.component.html new file mode 100644 index 0000000..9b00fd9 --- /dev/null +++ b/src/packages/target/component/detail/detail.component.html @@ -0,0 +1,75 @@ +
      +
      + +
      + +
      +
      + +
      + + + + + +
      + + +
      + Status + + Up +
      + + + + +
      +
      +
      + +
      +
      +
      +
      + + + + + +
      +
      +
      + Up + Down + Warn + Error +
      +
      +
      + + + + + + Alias + Status + Crawler + Items + Created at + + + + + {{sensor.displayName}} + {{sensor.status.name}} + {{sensor.crawler.name}} + {{sensor.itemCount}} + {{sensor.createDate | date: 'dd.MM.yyyy'}} + + + + +
      +
      +
      \ No newline at end of file diff --git a/src/packages/target/component/detail/detail.component.spec.ts b/src/packages/target/component/detail/detail.component.spec.ts new file mode 100644 index 0000000..149b9be --- /dev/null +++ b/src/packages/target/component/detail/detail.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DetailComponent } from './detail.component'; + +describe('DetailComponent', () => { + let component: DetailComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ DetailComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(DetailComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/target/component/detail/detail.component.ts b/src/packages/target/component/detail/detail.component.ts new file mode 100644 index 0000000..6301b55 --- /dev/null +++ b/src/packages/target/component/detail/detail.component.ts @@ -0,0 +1,155 @@ +import { Component, ViewChild, OnInit, Input, AfterContentInit, OnDestroy } from '@angular/core'; +import { Router, ActivatedRoute } from '@angular/router'; +import { Sensor } from '@overflow/commons-typescript/model/sensor'; +import { Infra } from '@overflow/commons-typescript/model/infra'; +import { Store, select } from '@ngrx/store'; +import { DetailSelector as InfraDetailSelector } from 'packages/infra/store'; +import * as InfraDetailStore from 'packages/infra/store/detail'; +import { Subscription } from 'rxjs/Subscription'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { sensorListSelector } from 'packages/sensor/store'; +import * as SensorListStore from 'packages/sensor/store/list'; +import { PageParams, Page } from 'app/commons/model'; +import { ModifySelector } from 'packages/target/store'; +import * as TargetModifyStore from 'packages/target/store/modify'; +import { Target } from '@overflow/commons-typescript/model/target'; + + +@Component({ + selector: 'of-target-detail', + templateUrl: './detail.component.html', +}) +export class DetailComponent implements OnInit, AfterContentInit, OnDestroy { + + infraSubscription$: Subscription; + infra$ = this.infraDetailStore.pipe(select(InfraDetailSelector.select('infra'))); + sensorsSubscription$: Subscription; + sensors$ = this.sensorListStore.pipe(select(sensorListSelector.select('page'))); + target$ = this.targetModifyStore.pipe(select(ModifySelector.select('target'))); + + infraId = null; + infra: Infra; + sensors: Sensor[]; + sensorsCount = 0; + sensorSettingDisplay = false; + + pageSize = '10'; + totalLength = 0; + currPage = 0; + + constructor( + private router: Router, + private route: ActivatedRoute, + private infraDetailStore: Store, + private sensorListStore: Store, + private targetModifyStore: Store + ) { } + + ngOnInit() { + this.infraSubscription$ = this.infra$.subscribe( + (infra: Infra) => { + this.infra = infra; + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + this.sensorsSubscription$ = this.sensors$.subscribe( + (page: Page) => { + if (page) { + this.sensorsCount = page.totalElements; + this.sensors = page.content; + } + }, + (error: RPCClientError) => { + console.log(error.response.message); + } + ); + } + + ngAfterContentInit() { + this.infraId = this.route.snapshot.paramMap.get('id'); + this.getInfra(); + this.getSensors(this.currPage); + } + + ngOnDestroy() { + if (this.infraSubscription$) { + this.infraSubscription$.unsubscribe(); + } + } + + getInfra() { + this.infraDetailStore.dispatch( + new InfraDetailStore.Read( + { id: this.infraId } + ) + ); + } + + getSensors(pageIndex) { + const pageParams: PageParams = { + pageNo: pageIndex + '', + countPerPage: this.pageSize, + sortCol: 'id', + sortDirection: 'descending' + }; + this.sensorListStore.dispatch( + new SensorListStore.ReadAllByInfra( + { id: this.infraId, pageParams: pageParams } + ) + ); + } + + onAddSensor() { + this.sensorSettingDisplay = true; + } + + onSensorSettingClose() { + this.sensorSettingDisplay = false; + } + + onPaging(e) { + this.getSensors(e.page); + } + + onRowSelect(event) { + this.router.navigate(['sensor', event.data.id, 'info']); + } + + onTraceroute() { + alert('지원 예정'); + } + + + onDisplayNameChange(value: string) { + if (value === this.infra.target.displayName) { + return; + } + const target = this.infra.target; + target.displayName = value; + this.targetModifyStore.dispatch( + new TargetModifyStore.Modify(target) + ); + + const modifySuccessSubscription$: Subscription = this.target$.subscribe( + (t: Target) => { + if (t) { + } + if (modifySuccessSubscription$) { + modifySuccessSubscription$.unsubscribe(); + } + }, + (error: RPCClientError) => { + console.log(error); + } + ); + } + + onDisplayNameChangeKeypress(event, value) { + if (event.key === 'Enter') { + this.onDisplayNameChange(value); + } + } + +} diff --git a/src/packages/target/component/index.ts b/src/packages/target/component/index.ts new file mode 100644 index 0000000..9e79653 --- /dev/null +++ b/src/packages/target/component/index.ts @@ -0,0 +1,9 @@ +import { DetailComponent } from './detail/detail.component'; +import { ListComponent } from './list/list.component'; +import { FilterComponent } from './list/filter/filter.component'; + +export const COMPONENTS = [ + ListComponent, + DetailComponent, + FilterComponent +]; diff --git a/src/packages/target/component/list/filter/filter.component.html b/src/packages/target/component/list/filter/filter.component.html new file mode 100644 index 0000000..f7301c5 --- /dev/null +++ b/src/packages/target/component/list/filter/filter.component.html @@ -0,0 +1 @@ +
      filter
      \ No newline at end of file diff --git a/src/packages/target/component/list/filter/filter.component.scss b/src/packages/target/component/list/filter/filter.component.scss new file mode 100644 index 0000000..97910d9 --- /dev/null +++ b/src/packages/target/component/list/filter/filter.component.scss @@ -0,0 +1,9 @@ +.radio-group { + display: inline-flex; + flex-direction: column; + } + + .radio-button { + margin: 5px; + } + \ No newline at end of file diff --git a/src/packages/target/component/list/filter/filter.component.spec.ts b/src/packages/target/component/list/filter/filter.component.spec.ts new file mode 100644 index 0000000..fc30049 --- /dev/null +++ b/src/packages/target/component/list/filter/filter.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FilterComponent } from './filter.component'; + +describe('FilterComponent', () => { + let component: FilterComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ FilterComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(FilterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/target/component/list/filter/filter.component.ts b/src/packages/target/component/list/filter/filter.component.ts new file mode 100644 index 0000000..2a9a63a --- /dev/null +++ b/src/packages/target/component/list/filter/filter.component.ts @@ -0,0 +1,17 @@ +import { Component, OnInit } from '@angular/core'; +import { Router } from '@angular/router'; + + +@Component({ + selector: 'of-target-filter', + templateUrl: './filter.component.html', + styleUrls: ['./filter.component.scss'] +}) +export class FilterComponent implements OnInit { + + + constructor(private router: Router) { } + + ngOnInit() { + } +} diff --git a/src/packages/target/component/list/list.component.html b/src/packages/target/component/list/list.component.html new file mode 100644 index 0000000..dec729f --- /dev/null +++ b/src/packages/target/component/list/list.component.html @@ -0,0 +1,34 @@ +

      Targets

      + + + + + No. + Status + Type + Name + Sensors + Created at + + + + + + {{rowIndex + 1}} + ?? + {{infra.infraType.name}} + {{infra.target.displayName}} + {{infra.target.sensorCount}} + {{infra.createDate | date: 'dd.MM.yyyy'}} + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/target/component/list/list.component.spec.ts b/src/packages/target/component/list/list.component.spec.ts new file mode 100644 index 0000000..beacd15 --- /dev/null +++ b/src/packages/target/component/list/list.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ListComponent } from './list.component'; + +describe('ListComponent', () => { + let component: ListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ListComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/packages/target/component/list/list.component.ts b/src/packages/target/component/list/list.component.ts new file mode 100644 index 0000000..d4be530 --- /dev/null +++ b/src/packages/target/component/list/list.component.ts @@ -0,0 +1,101 @@ +import { Component, OnInit, AfterContentInit, OnDestroy } from '@angular/core'; +import { Router, ActivatedRoute } from '@angular/router'; +import { Infra } from '@overflow/commons-typescript/model/infra'; +import { Store, select } from '@ngrx/store'; +import { ListSelector } from 'packages/infra/store'; +import * as InfraListStore from 'packages/infra/store/list'; +import { Page, PageParams } from 'app/commons/model'; +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Probe } from '@overflow/commons-typescript/model/probe'; + +import { Target } from '@overflow/commons-typescript/model/target'; +import { Subscription } from 'rxjs/Subscription'; + + +@Component({ + selector: 'of-target-list', + templateUrl: './list.component.html', +}) +export class ListComponent implements OnInit, AfterContentInit, OnDestroy { + + infrasSubscription$: Subscription; + infras$ = this.infraListStore.pipe(select(ListSelector.select('page'))); + infras: Infra[]; + probe: Probe; + target: Target = null; + sensorSettingDisplay = false; + + pageSize = '10'; + totalLength = 0; + currPage = 0; + + constructor( + private route: ActivatedRoute, + private router: Router, + private infraListStore: Store, + ) { + } + + ngOnInit() { + this.infrasSubscription$ = this.infras$.subscribe( + (page: Page) => { + if (!page) { + return; + } + this.totalLength = page.totalElements; + this.infras = page.content; + }, + (error: RPCClientError) => { + console.log(error); + } + ); + } + + ngAfterContentInit() { + this.route.params.subscribe((params: any) => { + this.probe = { + id: params['id'], + }; + this.getInfras(0); + }); + } + + ngOnDestroy() { + if (this.infrasSubscription$) { + this.infrasSubscription$.unsubscribe(); + } + } + + getInfras(pageNo) { + const pageParams: PageParams = { + pageNo: pageNo + '', + countPerPage: this.pageSize, + sortCol: 'id', + sortDirection: 'descending' + }; + this.infraListStore.dispatch( + new InfraListStore.ReadAllByProbe( + { probe: this.probe, pageParams: pageParams } + ) + ); + } + + onRowSelect(event) { + // this.router.navigate(['target'], { queryParams: { target: event.data.id } }); + this.router.navigate(['target', event.data.id, 'info']); + } + + onAddSensor(target: Target) { + this.target = target; + this.sensorSettingDisplay = true; + } + + onSensorSettingClose() { + this.sensorSettingDisplay = false; + } + + onPaging(e) { + this.getInfras(e.page); + } + +} diff --git a/src/packages/target/service/index.ts b/src/packages/target/service/index.ts new file mode 100644 index 0000000..cd647e4 --- /dev/null +++ b/src/packages/target/service/index.ts @@ -0,0 +1,5 @@ +import { TargetService } from './target.service'; + +export const SERVICES = [ + TargetService, +]; diff --git a/src/packages/target/service/target.service.spec.ts b/src/packages/target/service/target.service.spec.ts new file mode 100644 index 0000000..692b9cb --- /dev/null +++ b/src/packages/target/service/target.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { TargetService } from './target.service'; + +describe('TargetService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [TargetService] + }); + }); + + it('should be created', inject([TargetService], (service: TargetService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/src/packages/target/service/target.service.ts b/src/packages/target/service/target.service.ts new file mode 100644 index 0000000..d1b1fb8 --- /dev/null +++ b/src/packages/target/service/target.service.ts @@ -0,0 +1,24 @@ +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; + +import 'rxjs/add/operator/map'; + +import { RPCService } from '@loafer/ng-rpc/service'; + +import { Target } from '@overflow/commons-typescript/model/target'; + + +@Injectable() +export class TargetService { + + public constructor( + private rpcService: RPCService, + ) { + + } + + public modify(target: Target): Observable { + return this.rpcService.call('TargetService.modify', target); + } + +} diff --git a/src/packages/target/store/index.ts b/src/packages/target/store/index.ts new file mode 100644 index 0000000..24ba7a5 --- /dev/null +++ b/src/packages/target/store/index.ts @@ -0,0 +1,30 @@ +import { + createSelector, + createFeatureSelector, + ActionReducerMap, + } from '@ngrx/store'; + + import { StateSelector } from 'packages/core/ngrx/store'; + + import { MODULE } from '../target.constant'; + + import * as TargetModifyStore from './modify'; + + export interface State { + modify: TargetModifyStore.State; + } + + export const REDUCERS = { + modify: TargetModifyStore.reducer, + }; + + export const EFFECTS = [ + TargetModifyStore.Effects, + ]; + + export const selectTargetState = createFeatureSelector(MODULE.name); + + export const ModifySelector = new StateSelector(createSelector( + selectTargetState, + (state: State) => state.modify + )); diff --git a/src/packages/target/store/modify/index.ts b/src/packages/target/store/modify/index.ts new file mode 100644 index 0000000..9f23ca0 --- /dev/null +++ b/src/packages/target/store/modify/index.ts @@ -0,0 +1,4 @@ +export * from './modify.action'; +export * from './modify.effect'; +export * from './modify.reducer'; +export * from './modify.state'; diff --git a/src/packages/target/store/modify/modify.action.ts b/src/packages/target/store/modify/modify.action.ts new file mode 100644 index 0000000..0da9cd6 --- /dev/null +++ b/src/packages/target/store/modify/modify.action.ts @@ -0,0 +1,34 @@ +import { Action } from '@ngrx/store'; + +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Target } from '@overflow/commons-typescript/model/target'; + +export enum ActionType { + Modify = '[Target.modify] Modify', + ModifySuccess = '[Target.modify] ModifySuccess', + ModifyFailure = '[Target.modify] ModifyFailure', +} + +export class Modify implements Action { + readonly type = ActionType.Modify; + + constructor(public payload: Target) {} +} + +export class ModifySuccess implements Action { + readonly type = ActionType.ModifySuccess; + + constructor(public payload: Target) {} +} + +export class ModifyFailure implements Action { + readonly type = ActionType.ModifyFailure; + + constructor(public payload: RPCClientError) {} +} + +export type Actions = + | Modify + | ModifySuccess + | ModifyFailure +; diff --git a/src/packages/target/store/modify/modify.effect.spec.ts b/src/packages/target/store/modify/modify.effect.spec.ts new file mode 100644 index 0000000..b064f15 --- /dev/null +++ b/src/packages/target/store/modify/modify.effect.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { Effects } from './modify.effect'; + +describe('Target.Effects', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [Effects] + }); + }); + + it('should be created', inject([Effects], (effects: Effects) => { + expect(effects).toBeTruthy(); + })); +}); diff --git a/src/packages/target/store/modify/modify.effect.ts b/src/packages/target/store/modify/modify.effect.ts new file mode 100644 index 0000000..bff3f13 --- /dev/null +++ b/src/packages/target/store/modify/modify.effect.ts @@ -0,0 +1,44 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Effect, Actions, ofType } from '@ngrx/effects'; +import { Action } from '@ngrx/store'; + +import { Observable } from 'rxjs/Observable'; +import { of } from 'rxjs/observable/of'; + +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/exhaustMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/take'; + +import { TargetService } from '../../service/target.service'; + +import { + Modify, + ModifySuccess, + ModifyFailure, + ActionType, +} from './modify.action'; + +@Injectable() +export class Effects { + + constructor( + private actions$: Actions, + private targetService: TargetService, + private router: Router + ) { } + + @Effect() + modify$: Observable = this.actions$ + .ofType(ActionType.Modify) + .map((action: Modify) => action.payload) + .exhaustMap(target => + this.targetService.modify(target) + .map(targets => new ModifySuccess(targets)) + .catch(error => of(new ModifyFailure(error))) + ); + +} diff --git a/src/packages/target/store/modify/modify.reducer.ts b/src/packages/target/store/modify/modify.reducer.ts new file mode 100644 index 0000000..ad9a369 --- /dev/null +++ b/src/packages/target/store/modify/modify.reducer.ts @@ -0,0 +1,43 @@ +import { + Actions, + ActionType, +} from './modify.action'; + +import { + State, + initialState, +} from './modify.state'; + +export function reducer(state = initialState, action: Actions): State { + switch (action.type) { + case ActionType.Modify: { + return { + ...state, + error: null, + pending: true, + }; + } + + case ActionType.ModifySuccess: { + return { + ...state, + error: null, + pending: false, + target: action.payload + }; + } + + case ActionType.ModifyFailure: { + return { + ...state, + error: action.payload, + pending: false, + target: null, + }; + } + + default: { + return state; + } + } +} diff --git a/src/packages/target/store/modify/modify.state.ts b/src/packages/target/store/modify/modify.state.ts new file mode 100644 index 0000000..88eb818 --- /dev/null +++ b/src/packages/target/store/modify/modify.state.ts @@ -0,0 +1,14 @@ +import { RPCClientError } from '@loafer/ng-rpc/protocol'; +import { Target } from '@overflow/commons-typescript/model/target'; + +export interface State { + error: RPCClientError | null; + pending: boolean; + target: Target | null; +} + +export const initialState: State = { + error: null, + pending: false, + target: null, +}; diff --git a/src/packages/target/target-store.module.ts b/src/packages/target/target-store.module.ts new file mode 100644 index 0000000..0e972ef --- /dev/null +++ b/src/packages/target/target-store.module.ts @@ -0,0 +1,18 @@ +import { NgModule } from '@angular/core'; +import { StoreModule } from '@ngrx/store'; +import { EffectsModule } from '@ngrx/effects'; + +import { + REDUCERS, + EFFECTS, +} from './store'; + +import { MODULE } from './target.constant'; + +@NgModule({ + imports: [ + StoreModule.forFeature(MODULE.name, REDUCERS), + EffectsModule.forFeature(EFFECTS), + ], +}) +export class TargetStoreModule { } diff --git a/src/packages/target/target.constant.ts b/src/packages/target/target.constant.ts new file mode 100644 index 0000000..dd9a6a2 --- /dev/null +++ b/src/packages/target/target.constant.ts @@ -0,0 +1,3 @@ +export const MODULE = { + name: 'Target' + }; diff --git a/src/packages/target/target.module.ts b/src/packages/target/target.module.ts new file mode 100644 index 0000000..35e61ae --- /dev/null +++ b/src/packages/target/target.module.ts @@ -0,0 +1,29 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { COMPONENTS } from './component'; +import { SERVICES } from './service'; +import { PrimeNGModules } from '../commons/prime-ng/prime-ng.module'; +import { SensorModule } from '../sensor/sensor.module'; +import { KeyValueModule } from 'app/commons/component/key-value/key-value.module'; +import { InfraModule } from '../infra/infra.module'; + +@NgModule({ + imports: [ + CommonModule, + PrimeNGModules, + SensorModule, + KeyValueModule, + InfraModule + ], + declarations: [ + COMPONENTS, + ], + exports: [ + COMPONENTS, + ], + providers: [ + SERVICES, + ], +}) +export class TargetModule { } diff --git a/src/polyfills.ts b/src/polyfills.ts new file mode 100644 index 0000000..6d00c28 --- /dev/null +++ b/src/polyfills.ts @@ -0,0 +1,72 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** IE9, IE10 and IE11 requires all of the following polyfills. **/ +import 'core-js/es6/symbol'; +import 'core-js/es6/object'; +import 'core-js/es6/function'; +import 'core-js/es6/parse-int'; +import 'core-js/es6/parse-float'; +import 'core-js/es6/number'; +import 'core-js/es6/math'; +import 'core-js/es6/string'; +import 'core-js/es6/date'; +import 'core-js/es6/array'; +import 'core-js/es6/regexp'; +import 'core-js/es6/map'; +import 'core-js/es6/set'; + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. + +/** IE10 and IE11 requires the following to support `@angular/animation`. */ +import 'web-animations-js'; // Run `npm install --save web-animations-js`. + + +/** Evergreen browsers require these. **/ +import 'core-js/es6/reflect'; +import 'core-js/es7/reflect'; + + +/** ALL Firefox browsers require the following to support `@angular/animation`. **/ +import 'web-animations-js'; // Run `npm install --save web-animations-js`. + + + +/*************************************************************************************************** + * Zone JS is required by Angular itself. + */ +import 'zone.js/dist/zone'; // Included with Angular CLI. + + + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + +/** + * Date, currency, decimal and percent pipes. + * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10 + */ +import 'intl'; // Run `npm install --save intl`. +/** + * Need to import at least one locale-data with intl. + */ +import 'intl/locale-data/jsonp/en'; diff --git a/src/styles.scss b/src/styles.scss new file mode 100644 index 0000000..7bb72cb --- /dev/null +++ b/src/styles.scss @@ -0,0 +1,304 @@ +/* You can add global styles to this file, and also import other style files */ + +//auth style +.login-body { + //background: url("../images/login/login.png") top left no-repeat #f7f7f7; + background: url("/assets/layout/images/login11.jpg") center no-repeat #f7f7f7 !important; + margin: 0 !important; + padding: 0 !important; + min-height: 100vh !important; + background-size: cover !important; + background-attachment: fixed !important; +} +@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + .login-body { + //background: url("../images/login/login2x.png") top left no-repeat #f7f7f7; + background: url("/assets/layout/images/login11.jpg") top left no-repeat #f7f7f7 !important; + } +} +.login-panel { + margin: 0 !important; + .ui-g { + .ui-g-12 { + a { + color: #5e6166; + font-size: 0.8em; + } + a:hover{ + color: rgb(18, 86, 233); + } + } + .ui-g-12.ui-g-padding-15 { + padding: 15px 40px !important; + } + } +} + +.login-table { + vertical-align: middle; + text-align: left; + margin-left: auto; + margin-right: auto; + margin: auto; + height: 100vh; + border-collapse: collapse; + border-spacing: 0; +} +.ui-button-secondary{ + background-color : #f5f6f8 !important; + .ui-button-icon-left{ + color: #5e6166 !important; + } +} +.ui-button-secondary:hover{ + color : #5e6166 !important; +} + +.ui-button-large { + font-size: 1.6em !important; +} + +.ui-bottom-space-10{ + margin-bottom: 10px; +} + +.ui-top-space-10{ + margin-top: 10px; +} + +.ui-top-space--0-5em{ + margin-top: -0.5em; +} + +.ui-left-space-10{ + margin-left: 10px; +} + +.ui-float-right{ + float:right; +} +.ui-button-width-fit{ + width: auto !important; +} +.ui-nopad{ + padding: 0px !important; + .ui-accordion-content{ + padding: 0px !important; + border: 0px !important; + } +} +.ui-width-100-{ + .ui-orderlist-list-container{ + width : 100% !important; + } +} +.ui-no-border{ + border: 0px !important; + .ui-tree{ + border : 0px !important; + } +} + +.ui-s-button{ + .ui-button-text { + padding: 2px !important; + .ui-button-text-icon-left { + padding: 2px 12px 2px 4px !important; + } + .ui-button-text-icon-right { + padding: 2px 4px 2px 12px !important; + } + } + font-size: 0.8em !important; +} + +.ui-status-icon{ + //margin-top: 3px; + //position: static; + //display: inline-block; + vertical-align: middle; + &.ui-status-info { + color: #2196F3 !important; + } + + &.ui-status-warn { + color: #ffc107 !important; + } + + &.ui-status-error { + color: #e62a10 !important; + } + + &.ui-status-fatal { + color: #212121 !important; + } + + &.ui-status-success { + color: #8BC34A !important; + } +} +.ui-img-profile{ + min-width: 250px !important; + @media (max-width: 640px) { + text-align: center; + } +} +.ui-img-profile-box { + width: 244px !important; + padding: 12px; + box-sizing: border-box; + display: block; + background-color: #ffffff; + border: 1px solid #bdbdbd; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + margin: auto; + + img { + object-fit: cover; + width:220px; + height:220px; + } + + @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { + + } + + @media (max-width: 1024px) { + + } + + @media (max-width: 640px) { + + } +} + +.ui-sensors-datalist { + .ui-sensors{ + .ui-sensor{ + display:inline-block; + margin: auto; + padding:9px; + text-align: center; + .ui-icon-lg{ + font-size: 3em; + margin: 3px; + } + } + .ui-sensors-details{ + display:inline-block; + margin: auto 0; + } + } +} + +.ui-key-value { + of-key-value{ + width: 100%; + min-width: 250px; + margin: 0 -5px; + } + div { + width: 100%; + margin: 0; + padding: 0; + } + span { + font-weight: bold; + width: 105px ; + display: inline-block; + padding: 5px; + margin: 0; + text-align: right; + //background: red; + } + span::after { + content: " : "; + } + span.ng-star-inserted, a.ng-star-inserted>span { + font-weight: normal; + text-align: left; + display: inline-block; + padding: 5px; + margin: 0; + width: 50%; + //background: blue; + } + span.ng-star-inserted::after, a.ng-star-inserted>span::after { + content: " "; + } +} + +.ui-bottom-border-1 { + border-bottom: #bdbdbd 1px solid; +} +.ui-bottom-border-sm-1 { + @media (max-width: 640px) { + border-bottom: #bdbdbd 1px solid; + } +} +/*.layout-container .ultima-menu{ + width: 100% ; +}*/ + +.layout-container .ultima-menu .ui-app-noti{ + h4 { + line-height: 1.2em; + margin: 0; + width: 100%; + border-bottom: #bdbdbd 1px solid; + padding: 7px 10px; + color: #bdbdbd; + } + @media (max-width: 1024px){ + h4 { + display: none; + } + li{ + border-top: #bdbdbd 1px solid; + } + } + li{ + padding: 0 ; + width: 100%; + border-bottom: #bdbdbd 1px solid; + a { + display: block; + .ui-app-noti-title { + font-weight: bold; + float: left; + } + .ui-app-noti-date{ + float: right; + font-size: 0.8em; + color: #5e6166; + } + .ui-app-noti-content{ + float: left; + overflow: hidden; + } + } + } +} +.ui-button-photo-add { + vertical-align: text-bottom; + float: right; + margin-top: -30px; + margin-right: -5px; +} + +.ui_orderlist_controls_none { + .ui-orderlist-controls { + display: none !important; + } +} +.layout-container .layout-menu .profile .profile-image{ + border-radius: 50%; +} +.layout-container .topbar-items .profile-image{ + border-radius: 50%; +} +body .ui-progressbar .ui-progressbar-value { + height: 0 !important; +} \ No newline at end of file diff --git a/src/test.ts b/src/test.ts new file mode 100644 index 0000000..cd612ee --- /dev/null +++ b/src/test.ts @@ -0,0 +1,32 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/dist/long-stack-trace-zone'; +import 'zone.js/dist/proxy.js'; +import 'zone.js/dist/sync-test'; +import 'zone.js/dist/jasmine-patch'; +import 'zone.js/dist/async-test'; +import 'zone.js/dist/fake-async-test'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +// Unfortunately there's no typing for the `__karma__` variable. Just declare it as any. +declare const __karma__: any; +declare const require: any; + +// Prevent Karma from running prematurely. +__karma__.loaded = function () {}; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +); +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); +// Finally, start Karma to run the tests. +__karma__.start(); diff --git a/src/tsconfig.app.json b/src/tsconfig.app.json new file mode 100644 index 0000000..9181dd8 --- /dev/null +++ b/src/tsconfig.app.json @@ -0,0 +1,15 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/app", + "baseUrl": "./", + "module": "es2015", + "types": [ + "reflect-metadata" + ] + }, + "exclude": [ + "test.ts", + "**/*.spec.ts" + ] +} diff --git a/src/tsconfig.spec.json b/src/tsconfig.spec.json new file mode 100644 index 0000000..befa2e8 --- /dev/null +++ b/src/tsconfig.spec.json @@ -0,0 +1,21 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/spec", + "baseUrl": "./", + "module": "commonjs", + "target": "es5", + "types": [ + "reflect-metadata", + "jasmine", + "node" + ] + }, + "files": [ + "test.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/src/typings.d.ts b/src/typings.d.ts new file mode 100644 index 0000000..ef5c7bd --- /dev/null +++ b/src/typings.d.ts @@ -0,0 +1,5 @@ +/* SystemJS module definition */ +declare var module: NodeModule; +interface NodeModule { + id: string; +} diff --git a/src/upload.php b/src/upload.php new file mode 100644 index 0000000..b87a104 --- /dev/null +++ b/src/upload.php @@ -0,0 +1 @@ + Fake Upload Process

      '; ?> \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..f6106ad --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./src", + "outDir": "./dist/out-tsc", + "sourceMap": true, + "declaration": false, + "newLine": "LF", + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "target": "es5", + "typeRoots": [ + "node_modules/@types" + ], + "types": [ + "reflect-metadata", + ], + "lib": [ + "es2017", + "dom" + ] + } +} diff --git a/tslint.json b/tslint.json new file mode 100644 index 0000000..a36a2fe --- /dev/null +++ b/tslint.json @@ -0,0 +1,139 @@ +{ + "rulesDirectory": [ + "node_modules/codelyzer" + ], + "rules": { + "arrow-return-shorthand": true, + "callable-types": true, + "class-name": true, + "comment-format": [ + true, + "check-space" + ], + "curly": true, + "eofline": true, + "forin": true, + "import-blacklist": [ + true, + "rxjs" + ], + "import-spacing": true, + "indent": [ + true, + "spaces" + ], + "interface-over-type-literal": true, + "label-position": true, + "max-line-length": [ + true, + 140 + ], + "member-access": false, + "member-ordering": [ + true, + { + "order": [ + "static-field", + "instance-field", + "static-method", + "instance-method" + ] + } + ], + "no-arg": true, + "no-bitwise": true, + "no-console": [ + true, + "debug", + "info", + "time", + "timeEnd", + "trace" + ], + "no-construct": true, + "no-debugger": true, + "no-duplicate-super": true, + "no-empty": false, + "no-empty-interface": true, + "no-eval": true, + "no-inferrable-types": [ + true, + "ignore-params" + ], + "no-misused-new": true, + "no-non-null-assertion": true, + "no-shadowed-variable": true, + "no-string-literal": false, + "no-string-throw": true, + "no-switch-case-fall-through": true, + "no-trailing-whitespace": true, + "no-unnecessary-initializer": true, + "no-unused-expression": true, + "no-use-before-define": ["error", { "functions": true, "classes": true }], + "no-var-keyword": true, + "object-literal-sort-keys": false, + "one-line": [ + true, + "check-open-brace", + "check-catch", + "check-else", + "check-whitespace" + ], + "prefer-const": true, + "quotemark": [ + true, + "single" + ], + "radix": true, + "semicolon": [ + true, + "always" + ], + "triple-equals": [ + true, + "allow-null-check" + ], + "typedef-whitespace": [ + true, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + } + ], + "typeof-compare": true, + "unified-signatures": true, + "variable-name": false, + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type" + ], + "directive-selector": [ + true, + "attribute", + "of", + "camelCase" + ], + "component-selector": [ + true, + "element", + "of", + "kebab-case" + ], + "use-input-property-decorator": true, + "use-output-property-decorator": true, + "use-host-property-decorator": true, + "no-input-rename": true, + "no-output-rename": true, + "use-life-cycle-interface": true, + "use-pipe-transform-interface": true, + "component-class-suffix": true, + "directive-class-suffix": true + } +}