From 4f2d8624d60ce53e154d55f70edeb45101a9da42 Mon Sep 17 00:00:00 2001 From: Scrum Master Date: Tue, 9 Jul 2019 00:38:37 +0000 Subject: [PATCH] initial commit --- .circleci/config.yml | 136 ++++++++ .gitignore | 3 + Dockerfile | 26 ++ angular7demo/README.md | 85 +++++ angular7demo/angular.json | 134 ++++++++ angular7demo/config/mongoDb.js | 4 + angular7demo/package.json | 63 ++++ angular7demo/server.js | 40 +++ angular7demo/src/app/app.component.css | 34 ++ angular7demo/src/app/app.component.html | 80 +++++ angular7demo/src/app/app.component.spec.ts | 27 ++ angular7demo/src/app/app.component.ts | 10 + angular7demo/src/app/app.module.ts | 103 ++++++ .../Alley/create/create.component.css | 0 .../Alley/create/create.component.html | 51 +++ .../Alley/create/create.component.spec.ts | 25 ++ .../Alley/create/create.component.ts | 43 +++ .../components/Alley/edit/edit.component.css | 0 .../components/Alley/edit/edit.component.html | 51 +++ .../Alley/edit/edit.component.spec.ts | 25 ++ .../components/Alley/edit/edit.component.ts | 53 +++ .../Alley/index/index.component.css | 0 .../Alley/index/index.component.html | 16 + .../Alley/index/index.component.spec.ts | 25 ++ .../components/Alley/index/index.component.ts | 42 +++ .../components/Alley/sub.base.component.ts | 18 ++ .../Game/create/create.component.css | 0 .../Game/create/create.component.html | 36 +++ .../Game/create/create.component.spec.ts | 25 ++ .../Game/create/create.component.ts | 42 +++ .../components/Game/edit/edit.component.css | 0 .../components/Game/edit/edit.component.html | 36 +++ .../Game/edit/edit.component.spec.ts | 25 ++ .../components/Game/edit/edit.component.ts | 52 +++ .../components/Game/index/index.component.css | 0 .../Game/index/index.component.html | 16 + .../Game/index/index.component.spec.ts | 25 ++ .../components/Game/index/index.component.ts | 42 +++ .../app/components/Game/sub.base.component.ts | 17 + .../Lane/create/create.component.css | 0 .../Lane/create/create.component.html | 14 + .../Lane/create/create.component.spec.ts | 25 ++ .../Lane/create/create.component.ts | 40 +++ .../components/Lane/edit/edit.component.css | 0 .../components/Lane/edit/edit.component.html | 14 + .../Lane/edit/edit.component.spec.ts | 25 ++ .../components/Lane/edit/edit.component.ts | 50 +++ .../components/Lane/index/index.component.css | 0 .../Lane/index/index.component.html | 16 + .../Lane/index/index.component.spec.ts | 25 ++ .../components/Lane/index/index.component.ts | 42 +++ .../app/components/Lane/sub.base.component.ts | 15 + .../League/create/create.component.css | 0 .../League/create/create.component.html | 29 ++ .../League/create/create.component.spec.ts | 25 ++ .../League/create/create.component.ts | 41 +++ .../components/League/edit/edit.component.css | 0 .../League/edit/edit.component.html | 29 ++ .../League/edit/edit.component.spec.ts | 25 ++ .../components/League/edit/edit.component.ts | 51 +++ .../League/index/index.component.css | 0 .../League/index/index.component.html | 16 + .../League/index/index.component.spec.ts | 25 ++ .../League/index/index.component.ts | 42 +++ .../components/League/sub.base.component.ts | 16 + .../Matchup/create/create.component.css | 0 .../Matchup/create/create.component.html | 29 ++ .../Matchup/create/create.component.spec.ts | 25 ++ .../Matchup/create/create.component.ts | 41 +++ .../Matchup/edit/edit.component.css | 0 .../Matchup/edit/edit.component.html | 29 ++ .../Matchup/edit/edit.component.spec.ts | 25 ++ .../components/Matchup/edit/edit.component.ts | 51 +++ .../Matchup/index/index.component.css | 0 .../Matchup/index/index.component.html | 16 + .../Matchup/index/index.component.spec.ts | 25 ++ .../Matchup/index/index.component.ts | 42 +++ .../components/Matchup/sub.base.component.ts | 16 + .../Player/create/create.component.css | 0 .../Player/create/create.component.html | 34 ++ .../Player/create/create.component.spec.ts | 25 ++ .../Player/create/create.component.ts | 43 +++ .../components/Player/edit/edit.component.css | 0 .../Player/edit/edit.component.html | 34 ++ .../Player/edit/edit.component.spec.ts | 25 ++ .../components/Player/edit/edit.component.ts | 53 +++ .../Player/index/index.component.css | 0 .../Player/index/index.component.html | 22 ++ .../Player/index/index.component.spec.ts | 25 ++ .../Player/index/index.component.ts | 42 +++ .../components/Player/sub.base.component.ts | 15 + .../Tournament/create/create.component.css | 0 .../Tournament/create/create.component.html | 38 +++ .../create/create.component.spec.ts | 25 ++ .../Tournament/create/create.component.ts | 42 +++ .../Tournament/edit/edit.component.css | 0 .../Tournament/edit/edit.component.html | 38 +++ .../Tournament/edit/edit.component.spec.ts | 25 ++ .../Tournament/edit/edit.component.ts | 52 +++ .../Tournament/index/index.component.css | 0 .../Tournament/index/index.component.html | 18 ++ .../Tournament/index/index.component.spec.ts | 25 ++ .../Tournament/index/index.component.ts | 42 +++ .../Tournament/sub.base.component.ts | 16 + .../src/app/components/base.component.ts | 97 ++++++ .../src/app/expressRoutes/AlleyRoutes.js | 71 ++++ .../src/app/expressRoutes/GameRoutes.js | 70 ++++ .../src/app/expressRoutes/LaneRoutes.js | 68 ++++ .../src/app/expressRoutes/LeagueRoutes.js | 69 ++++ .../src/app/expressRoutes/MatchupRoutes.js | 69 ++++ .../src/app/expressRoutes/PlayerRoutes.js | 71 ++++ .../src/app/expressRoutes/TournamentRoutes.js | 70 ++++ angular7demo/src/app/models/Alley.js | 22 ++ angular7demo/src/app/models/EnumTypes.js | 6 + angular7demo/src/app/models/Game.js | 19 ++ angular7demo/src/app/models/Lane.js | 13 + angular7demo/src/app/models/League.js | 16 + angular7demo/src/app/models/Matchup.js | 16 + angular7demo/src/app/models/Player.js | 22 ++ angular7demo/src/app/models/Tournament.js | 19 ++ angular7demo/src/app/routerConfig.ts | 109 +++++++ .../src/app/services/Alley.service.spec.ts | 16 + .../src/app/services/Alley.service.ts | 306 ++++++++++++++++++ .../src/app/services/Game.service.spec.ts | 16 + angular7demo/src/app/services/Game.service.ts | 203 ++++++++++++ .../src/app/services/Lane.service.spec.ts | 16 + angular7demo/src/app/services/Lane.service.ts | 123 +++++++ .../src/app/services/League.service.spec.ts | 16 + .../src/app/services/League.service.ts | 184 +++++++++++ .../src/app/services/Matchup.service.spec.ts | 16 + .../src/app/services/Matchup.service.ts | 184 +++++++++++ .../src/app/services/Player.service.spec.ts | 16 + .../src/app/services/Player.service.ts | 129 ++++++++ .../app/services/Tournament.service.spec.ts | 16 + .../src/app/services/Tournament.service.ts | 186 +++++++++++ angular7demo/src/app/services/base.service.ts | 12 + angular7demo/src/assets/css/compiled.min.css | 1 + angular7demo/src/assets/js/compiled.min.js | 1 + .../src/environments/environment.prod.ts | 4 + angular7demo/src/environments/environment.ts | 9 + angular7demo/src/index.html | 35 ++ angular7demo/src/polyfills.ts | 86 +++++ angular7demo/src/styles.css | 10 + entrypoint.sh | 18 ++ gitpush.sh | 33 ++ gitpush.xml | 35 ++ npm-build.sh | 1 + npm-build.xml | 30 ++ pom.xml | 118 +++++++ settings.xml | 299 +++++++++++++++++ terraform/main.tf | 156 +++++++++ terraform/variables.tf | 2 + 152 files changed, 6017 insertions(+) create mode 100644 .circleci/config.yml create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 angular7demo/README.md create mode 100644 angular7demo/angular.json create mode 100644 angular7demo/config/mongoDb.js create mode 100644 angular7demo/package.json create mode 100644 angular7demo/server.js create mode 100644 angular7demo/src/app/app.component.css create mode 100644 angular7demo/src/app/app.component.html create mode 100644 angular7demo/src/app/app.component.spec.ts create mode 100644 angular7demo/src/app/app.component.ts create mode 100644 angular7demo/src/app/app.module.ts create mode 100644 angular7demo/src/app/components/Alley/create/create.component.css create mode 100644 angular7demo/src/app/components/Alley/create/create.component.html create mode 100644 angular7demo/src/app/components/Alley/create/create.component.spec.ts create mode 100644 angular7demo/src/app/components/Alley/create/create.component.ts create mode 100644 angular7demo/src/app/components/Alley/edit/edit.component.css create mode 100644 angular7demo/src/app/components/Alley/edit/edit.component.html create mode 100644 angular7demo/src/app/components/Alley/edit/edit.component.spec.ts create mode 100644 angular7demo/src/app/components/Alley/edit/edit.component.ts create mode 100644 angular7demo/src/app/components/Alley/index/index.component.css create mode 100644 angular7demo/src/app/components/Alley/index/index.component.html create mode 100644 angular7demo/src/app/components/Alley/index/index.component.spec.ts create mode 100644 angular7demo/src/app/components/Alley/index/index.component.ts create mode 100644 angular7demo/src/app/components/Alley/sub.base.component.ts create mode 100644 angular7demo/src/app/components/Game/create/create.component.css create mode 100644 angular7demo/src/app/components/Game/create/create.component.html create mode 100644 angular7demo/src/app/components/Game/create/create.component.spec.ts create mode 100644 angular7demo/src/app/components/Game/create/create.component.ts create mode 100644 angular7demo/src/app/components/Game/edit/edit.component.css create mode 100644 angular7demo/src/app/components/Game/edit/edit.component.html create mode 100644 angular7demo/src/app/components/Game/edit/edit.component.spec.ts create mode 100644 angular7demo/src/app/components/Game/edit/edit.component.ts create mode 100644 angular7demo/src/app/components/Game/index/index.component.css create mode 100644 angular7demo/src/app/components/Game/index/index.component.html create mode 100644 angular7demo/src/app/components/Game/index/index.component.spec.ts create mode 100644 angular7demo/src/app/components/Game/index/index.component.ts create mode 100644 angular7demo/src/app/components/Game/sub.base.component.ts create mode 100644 angular7demo/src/app/components/Lane/create/create.component.css create mode 100644 angular7demo/src/app/components/Lane/create/create.component.html create mode 100644 angular7demo/src/app/components/Lane/create/create.component.spec.ts create mode 100644 angular7demo/src/app/components/Lane/create/create.component.ts create mode 100644 angular7demo/src/app/components/Lane/edit/edit.component.css create mode 100644 angular7demo/src/app/components/Lane/edit/edit.component.html create mode 100644 angular7demo/src/app/components/Lane/edit/edit.component.spec.ts create mode 100644 angular7demo/src/app/components/Lane/edit/edit.component.ts create mode 100644 angular7demo/src/app/components/Lane/index/index.component.css create mode 100644 angular7demo/src/app/components/Lane/index/index.component.html create mode 100644 angular7demo/src/app/components/Lane/index/index.component.spec.ts create mode 100644 angular7demo/src/app/components/Lane/index/index.component.ts create mode 100644 angular7demo/src/app/components/Lane/sub.base.component.ts create mode 100644 angular7demo/src/app/components/League/create/create.component.css create mode 100644 angular7demo/src/app/components/League/create/create.component.html create mode 100644 angular7demo/src/app/components/League/create/create.component.spec.ts create mode 100644 angular7demo/src/app/components/League/create/create.component.ts create mode 100644 angular7demo/src/app/components/League/edit/edit.component.css create mode 100644 angular7demo/src/app/components/League/edit/edit.component.html create mode 100644 angular7demo/src/app/components/League/edit/edit.component.spec.ts create mode 100644 angular7demo/src/app/components/League/edit/edit.component.ts create mode 100644 angular7demo/src/app/components/League/index/index.component.css create mode 100644 angular7demo/src/app/components/League/index/index.component.html create mode 100644 angular7demo/src/app/components/League/index/index.component.spec.ts create mode 100644 angular7demo/src/app/components/League/index/index.component.ts create mode 100644 angular7demo/src/app/components/League/sub.base.component.ts create mode 100644 angular7demo/src/app/components/Matchup/create/create.component.css create mode 100644 angular7demo/src/app/components/Matchup/create/create.component.html create mode 100644 angular7demo/src/app/components/Matchup/create/create.component.spec.ts create mode 100644 angular7demo/src/app/components/Matchup/create/create.component.ts create mode 100644 angular7demo/src/app/components/Matchup/edit/edit.component.css create mode 100644 angular7demo/src/app/components/Matchup/edit/edit.component.html create mode 100644 angular7demo/src/app/components/Matchup/edit/edit.component.spec.ts create mode 100644 angular7demo/src/app/components/Matchup/edit/edit.component.ts create mode 100644 angular7demo/src/app/components/Matchup/index/index.component.css create mode 100644 angular7demo/src/app/components/Matchup/index/index.component.html create mode 100644 angular7demo/src/app/components/Matchup/index/index.component.spec.ts create mode 100644 angular7demo/src/app/components/Matchup/index/index.component.ts create mode 100644 angular7demo/src/app/components/Matchup/sub.base.component.ts create mode 100644 angular7demo/src/app/components/Player/create/create.component.css create mode 100644 angular7demo/src/app/components/Player/create/create.component.html create mode 100644 angular7demo/src/app/components/Player/create/create.component.spec.ts create mode 100644 angular7demo/src/app/components/Player/create/create.component.ts create mode 100644 angular7demo/src/app/components/Player/edit/edit.component.css create mode 100644 angular7demo/src/app/components/Player/edit/edit.component.html create mode 100644 angular7demo/src/app/components/Player/edit/edit.component.spec.ts create mode 100644 angular7demo/src/app/components/Player/edit/edit.component.ts create mode 100644 angular7demo/src/app/components/Player/index/index.component.css create mode 100644 angular7demo/src/app/components/Player/index/index.component.html create mode 100644 angular7demo/src/app/components/Player/index/index.component.spec.ts create mode 100644 angular7demo/src/app/components/Player/index/index.component.ts create mode 100644 angular7demo/src/app/components/Player/sub.base.component.ts create mode 100644 angular7demo/src/app/components/Tournament/create/create.component.css create mode 100644 angular7demo/src/app/components/Tournament/create/create.component.html create mode 100644 angular7demo/src/app/components/Tournament/create/create.component.spec.ts create mode 100644 angular7demo/src/app/components/Tournament/create/create.component.ts create mode 100644 angular7demo/src/app/components/Tournament/edit/edit.component.css create mode 100644 angular7demo/src/app/components/Tournament/edit/edit.component.html create mode 100644 angular7demo/src/app/components/Tournament/edit/edit.component.spec.ts create mode 100644 angular7demo/src/app/components/Tournament/edit/edit.component.ts create mode 100644 angular7demo/src/app/components/Tournament/index/index.component.css create mode 100644 angular7demo/src/app/components/Tournament/index/index.component.html create mode 100644 angular7demo/src/app/components/Tournament/index/index.component.spec.ts create mode 100644 angular7demo/src/app/components/Tournament/index/index.component.ts create mode 100644 angular7demo/src/app/components/Tournament/sub.base.component.ts create mode 100644 angular7demo/src/app/components/base.component.ts create mode 100644 angular7demo/src/app/expressRoutes/AlleyRoutes.js create mode 100644 angular7demo/src/app/expressRoutes/GameRoutes.js create mode 100644 angular7demo/src/app/expressRoutes/LaneRoutes.js create mode 100644 angular7demo/src/app/expressRoutes/LeagueRoutes.js create mode 100644 angular7demo/src/app/expressRoutes/MatchupRoutes.js create mode 100644 angular7demo/src/app/expressRoutes/PlayerRoutes.js create mode 100644 angular7demo/src/app/expressRoutes/TournamentRoutes.js create mode 100644 angular7demo/src/app/models/Alley.js create mode 100644 angular7demo/src/app/models/EnumTypes.js create mode 100644 angular7demo/src/app/models/Game.js create mode 100644 angular7demo/src/app/models/Lane.js create mode 100644 angular7demo/src/app/models/League.js create mode 100644 angular7demo/src/app/models/Matchup.js create mode 100644 angular7demo/src/app/models/Player.js create mode 100644 angular7demo/src/app/models/Tournament.js create mode 100644 angular7demo/src/app/routerConfig.ts create mode 100644 angular7demo/src/app/services/Alley.service.spec.ts create mode 100644 angular7demo/src/app/services/Alley.service.ts create mode 100644 angular7demo/src/app/services/Game.service.spec.ts create mode 100644 angular7demo/src/app/services/Game.service.ts create mode 100644 angular7demo/src/app/services/Lane.service.spec.ts create mode 100644 angular7demo/src/app/services/Lane.service.ts create mode 100644 angular7demo/src/app/services/League.service.spec.ts create mode 100644 angular7demo/src/app/services/League.service.ts create mode 100644 angular7demo/src/app/services/Matchup.service.spec.ts create mode 100644 angular7demo/src/app/services/Matchup.service.ts create mode 100644 angular7demo/src/app/services/Player.service.spec.ts create mode 100644 angular7demo/src/app/services/Player.service.ts create mode 100644 angular7demo/src/app/services/Tournament.service.spec.ts create mode 100644 angular7demo/src/app/services/Tournament.service.ts create mode 100644 angular7demo/src/app/services/base.service.ts create mode 100644 angular7demo/src/assets/css/compiled.min.css create mode 100644 angular7demo/src/assets/js/compiled.min.js create mode 100644 angular7demo/src/environments/environment.prod.ts create mode 100644 angular7demo/src/environments/environment.ts create mode 100644 angular7demo/src/index.html create mode 100644 angular7demo/src/polyfills.ts create mode 100644 angular7demo/src/styles.css create mode 100644 entrypoint.sh create mode 100755 gitpush.sh create mode 100644 gitpush.xml create mode 100644 npm-build.sh create mode 100644 npm-build.xml create mode 100644 pom.xml create mode 100644 settings.xml create mode 100644 terraform/main.tf create mode 100644 terraform/variables.tf diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..54774f0 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,136 @@ +version: 2.1 + +references: + +working_directory: &working_directory + /home/circleci/gitRoot/ + +repo_cache_key: &repo_cache_key + v1-repo-{{ .Branch }}-{{ .Revision }} + +# Step to restore repository from cache +restore_repo: &restore_repo + restore_cache: + key: *repo_cache_key + +save_repo: &save_repo + save_cache: + key: *repo_cache_key + paths: + - *working_directory + +base_terraform_image: &base_terraform_image + hashicorp/terraform:light + +terraform_config: &terraform_config + docker: + - image: *base_terraform_image + environment: + TERRAFORM_DIR: terraform + working_directory: *working_directory + environment: + BASH_ENV: /root/.bashrc + +terraform_init: &terraform_init + run: + name: terraform init + command: | + cd /home/circleci/gitRoot/terraform + terraform init + +jobs: + + # core job + build_test_project: + + # assign the working directory + working_directory: *working_directory + + # run the steps with Docker as the primary container + # job commands run in this container + # CircleCI Node.js image + # mongodb image - runs in a common network where ports exposed + # on the primary container are available on localhost + docker: + - image: circleci/node:8.12.0-jessie + - image: mongo:4.0.5 + command: [mongod, --smallfiles] + + # steps that comprise the `build-env` job + steps: + + # check out source code to working directory + - checkout + + # restore the saved cache after the first run or if `pom.xml` has changed + # Read about caching dependencies: https://circleci.com/docs/2.0/caching/ + - *restore_repo + +# install the Angular CLI + # install the Angular CLI + - run: 'sudo npm install -g @angular/cli' + + # create an appRoot directory to install into + - run: mkdir /home/circleci/appRoot + + # create a new Angular project shell + - run: cd /home/circleci/appRoot && ng new angular7demo --defaults + + # copy the application files from the working directory + - run: cp -r -n /home/circleci/appRoot/angular7demo/ /home/circleci/gitRoot/ + + # setup the application, copies generated app files to the project directory + - run: cd /home/circleci/gitRoot/angular7demo && npm install --prod && npm run setup + + # perform the build into a directory called angular under the dist directory + - run: cd /home/circleci/gitRoot/angular7demo && ng build #--base-href /angular7demo/ + + + # cache the entire project since it covers the npm_modules + # and the files created during ng new + - *save_repo + + docker_build: + # assign the working directory + working_directory: *working_directory + + docker: # run the steps with Docker + - image: circleci/python:3.7 + + steps: + - *restore_repo + - setup_remote_docker + - run: + name: creating docker image requiring project env vars DOCKER_USER and DOCKER_PASS + command: | + docker login --username tylertravismya --password 69cutlass + docker build -t realmethods/angular7demo:latest . + docker push realmethods/angular7demo:latest + + terraform: + <<: *terraform_config + steps: + - *restore_repo + - *terraform_init + - add_ssh_keys: # fingerprint is returned when the private SSH key is applied to this CircleCI project + fingerprints: + - "50:36:21:3f:3e:fd:de:fc:2f:1f:17:a6:09:6d:1b:dd" + - run: + name: terraform plan + command: | + cd /home/circleci/gitRoot/terraform + terraform plan -out=terraform.plan -var aws-access-key=$USER_AWS_ACCESSKEY -var aws-secret-key=$USER_AWS_SECRETKEY + terraform apply -auto-approve "terraform.plan" + +# simple workflow to build out the environment +workflows: + version: 2 + build_test_deploy_workflow: + jobs: + - build_test_project + - docker_build: + requires: + - build_test_project + - terraform: + requires: + - docker_build diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a87a12f --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +code_gen_catch_all/ +target/ +.git/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bc6155b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +FROM node:8.12 + +# this allows for updates to take place without failure +RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list + +# install curl +RUN apt-get update --fix-missing && \ +apt-get install -y dos2unix && \ +apt-get install -y sed && \ +apt-get install -y nano + +# copy all file to a working directory +ARG PROJECT=angular7demo +ARG PROJECT_DIR=/var/www/${PROJECT} +RUN mkdir -p $PROJECT_DIR +COPY . /var/www/ +RUN ls /var/www +RUN ls /var/www/angular7demo + +# install Angular-CLI +RUN npm install -g @angular/cli + +# prepare entrypoint +RUN dos2unix /var/www/entrypoint.sh +RUN chmod +x /var/www/entrypoint.sh +ENTRYPOINT ["/var/www/entrypoint.sh"] diff --git a/angular7demo/README.md b/angular7demo/README.md new file mode 100644 index 0000000..50c1132 --- /dev/null +++ b/angular7demo/README.md @@ -0,0 +1,85 @@ +# realMethods + +This Angular/MongoDB (not AngularJS) project was generated with realMethods version 1.1. + +The Angular technology stack package it was generated from has been tested with Angular version 7.2.0. + + +The following instructions assume NPM is installed. If not, you can download it by installing Node.js at +[Node.js Download Page](https://nodejs.org/en/download/) + + +The realMethods Angular technology stack was developed and tested for Angular 7. + +If you have an older version of Angular, you should consider un-installing it in favor of Angular v7: + +`npm uninstall -g @angular/cli` +`npm cache verify` + +To install Angular, issue the following: + +`npm install -g @angular/cli` + +Verify the installation with `ng --version` + + +**Note: It is important to use this name because the next step expects this name.** + +`ng new angular7demo --defaults` + +The default application files and packages will be installed. The next steps will copy the generated files, overwrite some of the default files and install +the remaining packages. + + +Either pull the generated files from your Git repository, +or download the generated application archive file and unzip into the parent directory of the **angular7demo** directory +in order to overlay the generated files into it. If asked to replace existing files, answer _Yes_. + + +Change to the **angular7demo** directory and install the remaining required packages: + +`npm run setup` + + + +It is assumed MongoDB is running at: + +`mongodb://localhost:27017/angular7demo` + +See file ./config/mongoDb.js to make changes to the database location. + + +The application leverages Mongoose to assist in persisting data to MongoDB. + +From the angular7demo directory, start mongoose: + +`node server.js` + +If it runs successfully, mongoose is listening on port 4000. + + +You now have a fully functional application to use, test, and build out. + +To run the dev server: + +`ng serve` + +Using your browser, navigate to: + +`http://localhost:4200/`. + +The app will automatically reload if you change any of the source files. + + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + + +Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). + + +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. + +Learn more at [Angular Build](https://angular.io/cli/build/) + + +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/angular7demo/angular.json b/angular7demo/angular.json new file mode 100644 index 0000000..14cf026 --- /dev/null +++ b/angular7demo/angular.json @@ -0,0 +1,134 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "angular7demo": { + "root": "", + "sourceRoot": "src", + "projectType": "application", + "prefix": "app", + "schematics": {}, + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/angular7demo", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "src/tsconfig.app.json", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.css" + ], + "scripts": [] + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "aot": true, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + } + ] + } + } + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "angular7demo:build" + }, + "configurations": { + "production": { + "browserTarget": "angular7demo:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "angular7demo:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "src/tsconfig.spec.json", + "karmaConfig": "src/karma.conf.js", + "styles": [ + "src/styles.css" + ], + "scripts": [], + "assets": [ + "src/favicon.ico", + "src/assets" + ] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "src/tsconfig.app.json", + "src/tsconfig.spec.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + } + } + }, + "angular7demo-e2e": { + "root": "e2e/", + "projectType": "application", + "prefix": "", + "architect": { + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "e2e/protractor.conf.js", + "devServerTarget": "angular7demo:serve" + }, + "configurations": { + "production": { + "devServerTarget": "angular7demo:serve:production" + } + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": "e2e/tsconfig.e2e.json", + "exclude": [ + "**/node_modules/**" + ] + } } + } + } + }, + "defaultProject": "angular7demo" +} \ No newline at end of file diff --git a/angular7demo/config/mongoDb.js b/angular7demo/config/mongoDb.js new file mode 100644 index 0000000..a722092 --- /dev/null +++ b/angular7demo/config/mongoDb.js @@ -0,0 +1,4 @@ +module.exports = { + DB: 'mongodb://localhost:27017/angular7demo', + mongooseUrl: 'http://localhost:4000' +}; \ No newline at end of file diff --git a/angular7demo/package.json b/angular7demo/package.json new file mode 100644 index 0000000..cefd544 --- /dev/null +++ b/angular7demo/package.json @@ -0,0 +1,63 @@ +{ + "name": "angular7demo", + "version": "0.0.1", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "test": "ng test", + "lint": "ng lint", + "setup": "npm install --save @ng-bootstrap/ng-bootstrap rxjs-compat express body-parser cors mongoose buffer @types/node @angular/material @angular/cdk @angular/animations @angular/material-moment-adapter angular-bootstrap-md moment", + + "e2e": "ng e2e" + }, + "private": false, + "dependencies": { + "@angular/animations": "^7.2.2", + "@angular/cdk": "^7.2.2", + "@angular/common": "~7.2.0", + "@angular/compiler": "~7.2.0", + "@angular/core": "~7.2.0", + "@angular/forms": "~7.2.0", + "@angular/material": "^7.2.2", + "@angular/material-moment-adapter": "^7.2.2", + "@angular/platform-browser": "~7.2.0", + "@angular/platform-browser-dynamic": "~7.2.0", + "@angular/router": "~7.2.0", + "@ng-bootstrap/ng-bootstrap": "^4.0.1", + "angular-bootstrap-md": "^7.3.0", + "body-parser": "^1.18.3", + "buffer": "^5.2.1", + "chart.js": "^2.7.3", + "core-js": "^2.5.4", + "cors": "^2.8.5", + "express": "^4.16.4", + "moment": "^2.24.0", + "mongoose": "^5.4.6", + "rxjs": "~6.3.3", + "rxjs-compat": "^6.3.3", + "tslib": "^1.9.0", + "zone.js": "~0.8.26" + }, + "devDependencies": { + "@angular-devkit/build-angular": "~0.12.0", + "@angular/cli": "~7.2.1", + "@angular/compiler-cli": "~7.2.0", + "@angular/language-service": "~7.2.0", + "@types/jasmine": "~2.8.8", + "@types/jasminewd2": "~2.0.3", + "@types/node": "^8.9.5", + "codelyzer": "~4.5.0", + "jasmine-core": "~2.99.1", + "jasmine-spec-reporter": "~4.2.1", + "karma": "~3.1.1", + "karma-chrome-launcher": "~2.2.0", + "karma-coverage-istanbul-reporter": "~2.0.1", + "karma-jasmine": "~1.1.2", + "karma-jasmine-html-reporter": "^0.2.2", + "protractor": "~5.4.0", + "ts-node": "~7.0.0", + "tslint": "~5.11.0", + "typescript": "~3.2.2" + } +} diff --git a/angular7demo/server.js b/angular7demo/server.js new file mode 100644 index 0000000..4948d0d --- /dev/null +++ b/angular7demo/server.js @@ -0,0 +1,40 @@ +// server.js +const express = require('express'), + path = require('path'), + bodyParser = require('body-parser'), + cors = require('cors'), + mongoose = require('mongoose'), + alleyRoutes = require('./src/app/expressRoutes/AlleyRoutes'), + gameRoutes = require('./src/app/expressRoutes/GameRoutes'), + laneRoutes = require('./src/app/expressRoutes/LaneRoutes'), + leagueRoutes = require('./src/app/expressRoutes/LeagueRoutes'), + matchupRoutes = require('./src/app/expressRoutes/MatchupRoutes'), + playerRoutes = require('./src/app/expressRoutes/PlayerRoutes'), + tournamentRoutes = require('./src/app/expressRoutes/TournamentRoutes'), + config = require('./config/mongoDb.js'); + +mongoose.Promise = global.Promise; +mongoose.connect(process.env.MONGO_HOST_ADDRESS || config.DB, { + reconnectTries: Number.MAX_VALUE, + reconnectInterval: 1000 + }).then( + () => {console.log('Database is connected') }, + err => { console.log('Can not connect to the database: ' + err)} + ); + +const app = express(); +app.use(bodyParser.json()); +app.use(cors()); +const port = 4000; + +app.use('/Alley', alleyRoutes); +app.use('/Game', gameRoutes); +app.use('/Lane', laneRoutes); +app.use('/League', leagueRoutes); +app.use('/Matchup', matchupRoutes); +app.use('/Player', playerRoutes); +app.use('/Tournament', tournamentRoutes); + +const server = app.listen(port, function(){ + console.log('Listening on port ' + port); +}); diff --git a/angular7demo/src/app/app.component.css b/angular7demo/src/app/app.component.css new file mode 100644 index 0000000..c0f3fd0 --- /dev/null +++ b/angular7demo/src/app/app.component.css @@ -0,0 +1,34 @@ +.app-container { + position: absolute; + top: 60px; + bottom: 60px; + left: 0; + right: 0; +} + +.app-sidenav { + display: flex; + align-items: center; + justify-content: center; + width: 150px; + background: rgba(0, 0, 255, 0.5); +} + +.app-header { + position: fixed; + top: 0; + left: 0; + right: 0; + background: rgba(0, 0, 255, 0.5); + color:white; + text-align:center; + padding:15px; + font-size:1.4em; +} + +.app-footer { + position: fixed; + bottom: 0; + left: 0; + right: 0; +} diff --git a/angular7demo/src/app/app.component.html b/angular7demo/src/app/app.component.html new file mode 100644 index 0000000..8948271 --- /dev/null +++ b/angular7demo/src/app/app.component.html @@ -0,0 +1,80 @@ +
angular7demo
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
\ No newline at end of file diff --git a/angular7demo/src/app/app.component.spec.ts b/angular7demo/src/app/app.component.spec.ts new file mode 100644 index 0000000..efe1d8d --- /dev/null +++ b/angular7demo/src/app/app.component.spec.ts @@ -0,0 +1,27 @@ +import { TestBed, async } from '@angular/core/testing'; +import { AppComponent } from './app.component'; +describe('AppComponent', () => { + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ + AppComponent + ], + }).compileComponents(); + })); + it('should create the app', async(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app).toBeTruthy(); + })); + it(`should have as title 'angular7demo'`, async(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app.title).toEqual('angular7demo'); + })); + it('should render title in a h1 tag', async(() => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.debugElement.nativeElement; + expect(compiled.querySelector('h1').textContent).toContain('Welcome to angular7demo!'); + })); +}); diff --git a/angular7demo/src/app/app.component.ts b/angular7demo/src/app/app.component.ts new file mode 100644 index 0000000..738210d --- /dev/null +++ b/angular7demo/src/app/app.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.css'] +}) +export class AppComponent { + title = 'Welcome to angular7demo'; +} diff --git a/angular7demo/src/app/app.module.ts b/angular7demo/src/app/app.module.ts new file mode 100644 index 0000000..3d3a191 --- /dev/null +++ b/angular7demo/src/app/app.module.ts @@ -0,0 +1,103 @@ +import { BrowserModule } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { MatInputModule, MatDatepickerModule, MatCheckboxModule, MatButtonModule, MatFormFieldModule, MatSelectModule } from '@angular/material'; +import { MatMomentDateModule } from "@angular/material-moment-adapter"; +import {MatMenuModule} from '@angular/material/menu'; +import {MatToolbarModule} from '@angular/material/toolbar'; +import { NgModule } from '@angular/core'; +import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { RouterModule } from '@angular/router'; +import { HttpClientModule } from '@angular/common/http'; +import { FormsModule } from '@angular/forms'; +import { ReactiveFormsModule } from '@angular/forms'; +import { AppComponent } from './app.component'; +import { MatSidenavModule } from '@angular/material/sidenav' + + +import { IndexAlleyComponent } from './components/Alley/index/index.component'; +import { CreateAlleyComponent } from './components/Alley/create/create.component'; +import { EditAlleyComponent } from './components/Alley/edit/edit.component'; +import { IndexGameComponent } from './components/Game/index/index.component'; +import { CreateGameComponent } from './components/Game/create/create.component'; +import { EditGameComponent } from './components/Game/edit/edit.component'; +import { IndexLaneComponent } from './components/Lane/index/index.component'; +import { CreateLaneComponent } from './components/Lane/create/create.component'; +import { EditLaneComponent } from './components/Lane/edit/edit.component'; +import { IndexLeagueComponent } from './components/League/index/index.component'; +import { CreateLeagueComponent } from './components/League/create/create.component'; +import { EditLeagueComponent } from './components/League/edit/edit.component'; +import { IndexMatchupComponent } from './components/Matchup/index/index.component'; +import { CreateMatchupComponent } from './components/Matchup/create/create.component'; +import { EditMatchupComponent } from './components/Matchup/edit/edit.component'; +import { IndexPlayerComponent } from './components/Player/index/index.component'; +import { CreatePlayerComponent } from './components/Player/create/create.component'; +import { EditPlayerComponent } from './components/Player/edit/edit.component'; +import { IndexTournamentComponent } from './components/Tournament/index/index.component'; +import { CreateTournamentComponent } from './components/Tournament/create/create.component'; +import { EditTournamentComponent } from './components/Tournament/edit/edit.component'; + +import * as appRoutes from './routerConfig'; + +import { AlleyService } from './services/Alley.service'; +import { GameService } from './services/Game.service'; +import { LaneService } from './services/Lane.service'; +import { LeagueService } from './services/League.service'; +import { MatchupService } from './services/Matchup.service'; +import { PlayerService } from './services/Player.service'; +import { TournamentService } from './services/Tournament.service'; + +@NgModule({ + declarations: [ + IndexAlleyComponent, + CreateAlleyComponent, + EditAlleyComponent, + IndexGameComponent, + CreateGameComponent, + EditGameComponent, + IndexLaneComponent, + CreateLaneComponent, + EditLaneComponent, + IndexLeagueComponent, + CreateLeagueComponent, + EditLeagueComponent, + IndexMatchupComponent, + CreateMatchupComponent, + EditMatchupComponent, + IndexPlayerComponent, + CreatePlayerComponent, + EditPlayerComponent, + IndexTournamentComponent, + CreateTournamentComponent, + EditTournamentComponent, + AppComponent + ], + imports: [ + + BrowserModule, + NgbModule, + MatMenuModule, + MatToolbarModule, + MatCheckboxModule, + MatButtonModule, + MatFormFieldModule, + MatInputModule, + MatSelectModule, + MatDatepickerModule, + MatMomentDateModule, + BrowserAnimationsModule, + HttpClientModule, + ReactiveFormsModule, + FormsModule, + MatSidenavModule, + RouterModule.forRoot(appRoutes.AlleyRoutes), + RouterModule.forRoot(appRoutes.GameRoutes), + RouterModule.forRoot(appRoutes.LaneRoutes), + RouterModule.forRoot(appRoutes.LeagueRoutes), + RouterModule.forRoot(appRoutes.MatchupRoutes), + RouterModule.forRoot(appRoutes.PlayerRoutes), + RouterModule.forRoot(appRoutes.TournamentRoutes), + ], + providers: [AlleyService,GameService,LaneService,LeagueService,MatchupService,PlayerService,TournamentService], + bootstrap: [AppComponent] +}) +export class AppModule { } diff --git a/angular7demo/src/app/components/Alley/create/create.component.css b/angular7demo/src/app/components/Alley/create/create.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Alley/create/create.component.html b/angular7demo/src/app/components/Alley/create/create.component.html new file mode 100644 index 0000000..562b88f --- /dev/null +++ b/angular7demo/src/app/components/Alley/create/create.component.html @@ -0,0 +1,51 @@ +
+
+
{{ title }}
+
+ +
+ + name + + + +

+ + Leagues + + + {{league.name}} + + + +

+ + Tournaments + + + {{tournament.name}} + + + +

+ + Lanes + + + {{lane.number}} + + + +

+ +

+
diff --git a/angular7demo/src/app/components/Alley/create/create.component.spec.ts b/angular7demo/src/app/components/Alley/create/create.component.spec.ts new file mode 100644 index 0000000..271a6ef --- /dev/null +++ b/angular7demo/src/app/components/Alley/create/create.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { CreateAlleyComponent } from './create.component'; + +describe('CreateAlleyComponent', () => { + let component: CreateAlleyComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ CreateAlleyComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CreateAlleyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Alley/create/create.component.ts b/angular7demo/src/app/components/Alley/create/create.component.ts new file mode 100644 index 0000000..e8206e1 --- /dev/null +++ b/angular7demo/src/app/components/Alley/create/create.component.ts @@ -0,0 +1,43 @@ +import { Router } from '@angular/router'; +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { AlleyService } from '../../../services/Alley.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { BaseComponent } from '../../base.component'; +import { SubBaseComponent } from '../../Alley/sub.base.component'; + +@Component({ + selector: 'app-create', + templateUrl: './create.component.html', + styleUrls: ['./create.component.css'] +}) +export class CreateAlleyComponent extends SubBaseComponent implements OnInit { + + title = 'Add Alley'; + alleyForm: FormGroup; + + constructor( http: HttpClient, + private alleyservice: AlleyService, + private fb: FormBuilder, + private router: Router) { + super(http); + this.createForm(); + } + createForm() { + this.alleyForm = this.fb.group({ + name: ['', Validators.required], + Leagues: ['', ], + Tournaments: ['', ], + Lanes: ['', ] + }); + } + addAlley(name, Leagues, Tournaments, Lanes) { + this.alleyservice.addAlley(name, Leagues, Tournaments, Lanes) + .then(success => this.router.navigate(['/indexAlley']) ); + } + +// initialization + ngOnInit() { + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/Alley/edit/edit.component.css b/angular7demo/src/app/components/Alley/edit/edit.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Alley/edit/edit.component.html b/angular7demo/src/app/components/Alley/edit/edit.component.html new file mode 100644 index 0000000..0295afd --- /dev/null +++ b/angular7demo/src/app/components/Alley/edit/edit.component.html @@ -0,0 +1,51 @@ +
+
+
{{ title }}
+
+ +
+ + name + + + +

+ + Leagues + + + {{league.name}} + + + +

+ + Tournaments + + + {{tournament.name}} + + + +

+ + Lanes + + + {{lane.number}} + + + +

+ +

+
diff --git a/angular7demo/src/app/components/Alley/edit/edit.component.spec.ts b/angular7demo/src/app/components/Alley/edit/edit.component.spec.ts new file mode 100644 index 0000000..158ede3 --- /dev/null +++ b/angular7demo/src/app/components/Alley/edit/edit.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { EditAlleyComponent } from './edit.component'; + +describe('EditAlleyComponent', () => { + let component: EditAlleyComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ EditAlleyComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EditAlleyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Alley/edit/edit.component.ts b/angular7demo/src/app/components/Alley/edit/edit.component.ts new file mode 100644 index 0000000..a9d13a4 --- /dev/null +++ b/angular7demo/src/app/components/Alley/edit/edit.component.ts @@ -0,0 +1,53 @@ +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { AlleyService } from '../../../services/Alley.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { SubBaseComponent } from '../../Alley/sub.base.component'; + +@Component({ + selector: 'app-edit', + templateUrl: './edit.component.html', + styleUrls: ['./edit.component.css'] +}) +export class EditAlleyComponent extends SubBaseComponent implements OnInit { + + alley: any; + alleyForm: FormGroup; + title = 'Edit Alley'; + + constructor( http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: AlleyService, + private fb: FormBuilder) { + super(http); + this.createForm(); + } + + createForm() { + this.alleyForm = this.fb.group({ + name: ['', Validators.required], + Leagues: ['', ], + Tournaments: ['', ], + Lanes: ['', ] + }); + } + updateAlley(name, Leagues, Tournaments, Lanes) { + this.route.params.subscribe(params => { + this.service.updateAlley(name, Leagues, Tournaments, Lanes, params['id']) + .then(success => this.router.navigate(['/indexAlley']) ); + }); +} + +// initialization + ngOnInit() { + this.route.params.subscribe(params => { + this.alley = this.service.editAlley(params['id']).subscribe(res => { + this.alley = res; + }); + }); + + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/Alley/index/index.component.css b/angular7demo/src/app/components/Alley/index/index.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Alley/index/index.component.html b/angular7demo/src/app/components/Alley/index/index.component.html new file mode 100644 index 0000000..c3b7850 --- /dev/null +++ b/angular7demo/src/app/components/Alley/index/index.component.html @@ -0,0 +1,16 @@ +
Alley List
+ + + + + + + + + + + + + + +
nameActions
{{ alley.name }}Edit
diff --git a/angular7demo/src/app/components/Alley/index/index.component.spec.ts b/angular7demo/src/app/components/Alley/index/index.component.spec.ts new file mode 100644 index 0000000..0580d48 --- /dev/null +++ b/angular7demo/src/app/components/Alley/index/index.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { IndexAlleyComponent } from './index.component'; + +describe('IndexAlleyComponent', () => { + let component: IndexAlleyComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ IndexAlleyComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(IndexAlleyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Alley/index/index.component.ts b/angular7demo/src/app/components/Alley/index/index.component.ts new file mode 100644 index 0000000..10156d6 --- /dev/null +++ b/angular7demo/src/app/components/Alley/index/index.component.ts @@ -0,0 +1,42 @@ +import { AlleyService } from '../../../services/Alley.service'; +import { Component, OnInit } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Observable } from 'rxjs/Observable'; +import { Alley } from '../../../models/Alley'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; + +@Component({ + selector: 'app-index', + templateUrl: './index.component.html', + styleUrls: ['./index.component.css'] +}) +export class IndexAlleyComponent implements OnInit { + + alleys: any; + + constructor(private http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: AlleyService) {} + + ngOnInit() { + this.getAlleys(); + } + + getAlleys() { + this.service.getAlleys().subscribe(res => { + this.alleys = res; + }); + } + + deleteAlley(id) { + this.service.deleteAlley(id) + .then(success => + { + this.router.navigateByUrl('/', {skipLocationChange: false}).then(()=> + this.router.navigate(['indexAlley'])); + }); } +} diff --git a/angular7demo/src/app/components/Alley/sub.base.component.ts b/angular7demo/src/app/components/Alley/sub.base.component.ts new file mode 100644 index 0000000..1a0c7dd --- /dev/null +++ b/angular7demo/src/app/components/Alley/sub.base.component.ts @@ -0,0 +1,18 @@ +import { HttpClient } from '@angular/common/http'; +import { BaseComponent } from '../base.component'; + +/** + Base class of all Tournament Edit and Create Components. +**/ +export class SubBaseComponent extends BaseComponent { + + constructor (http: HttpClient) { super(http); } + + ngOnInit() { + super.ngOnInit(); + + this.initLeagueList(); + this.initTournamentList(); + this.initLaneList(); + } +} diff --git a/angular7demo/src/app/components/Game/create/create.component.css b/angular7demo/src/app/components/Game/create/create.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Game/create/create.component.html b/angular7demo/src/app/components/Game/create/create.component.html new file mode 100644 index 0000000..d2e447e --- /dev/null +++ b/angular7demo/src/app/components/Game/create/create.component.html @@ -0,0 +1,36 @@ +
+
+
{{ title }}
+
+ +
+ +

+ + Matchup + + + {{matchup.name}} + + + +

+ + Player + + + {{player.name}} + + + +

+ +

+
diff --git a/angular7demo/src/app/components/Game/create/create.component.spec.ts b/angular7demo/src/app/components/Game/create/create.component.spec.ts new file mode 100644 index 0000000..5014af8 --- /dev/null +++ b/angular7demo/src/app/components/Game/create/create.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { CreateGameComponent } from './create.component'; + +describe('CreateGameComponent', () => { + let component: CreateGameComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ CreateGameComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CreateGameComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Game/create/create.component.ts b/angular7demo/src/app/components/Game/create/create.component.ts new file mode 100644 index 0000000..1b86d46 --- /dev/null +++ b/angular7demo/src/app/components/Game/create/create.component.ts @@ -0,0 +1,42 @@ +import { Router } from '@angular/router'; +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { GameService } from '../../../services/Game.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { BaseComponent } from '../../base.component'; +import { SubBaseComponent } from '../../Game/sub.base.component'; + +@Component({ + selector: 'app-create', + templateUrl: './create.component.html', + styleUrls: ['./create.component.css'] +}) +export class CreateGameComponent extends SubBaseComponent implements OnInit { + + title = 'Add Game'; + gameForm: FormGroup; + + constructor( http: HttpClient, + private gameservice: GameService, + private fb: FormBuilder, + private router: Router) { + super(http); + this.createForm(); + } + createForm() { + this.gameForm = this.fb.group({ + frames: ['', Validators.required], + Matchup: ['', ], + Player: ['', ] + }); + } + addGame(frames, Matchup, Player) { + this.gameservice.addGame(frames, Matchup, Player) + .then(success => this.router.navigate(['/indexGame']) ); + } + +// initialization + ngOnInit() { + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/Game/edit/edit.component.css b/angular7demo/src/app/components/Game/edit/edit.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Game/edit/edit.component.html b/angular7demo/src/app/components/Game/edit/edit.component.html new file mode 100644 index 0000000..ad4918f --- /dev/null +++ b/angular7demo/src/app/components/Game/edit/edit.component.html @@ -0,0 +1,36 @@ +
+
+
{{ title }}
+
+ +
+ +

+ + Matchup + + + {{matchup.name}} + + + +

+ + Player + + + {{player.name}} + + + +

+ +

+
diff --git a/angular7demo/src/app/components/Game/edit/edit.component.spec.ts b/angular7demo/src/app/components/Game/edit/edit.component.spec.ts new file mode 100644 index 0000000..9b76ab8 --- /dev/null +++ b/angular7demo/src/app/components/Game/edit/edit.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { EditGameComponent } from './edit.component'; + +describe('EditGameComponent', () => { + let component: EditGameComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ EditGameComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EditGameComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Game/edit/edit.component.ts b/angular7demo/src/app/components/Game/edit/edit.component.ts new file mode 100644 index 0000000..c17ff8d --- /dev/null +++ b/angular7demo/src/app/components/Game/edit/edit.component.ts @@ -0,0 +1,52 @@ +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { GameService } from '../../../services/Game.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { SubBaseComponent } from '../../Game/sub.base.component'; + +@Component({ + selector: 'app-edit', + templateUrl: './edit.component.html', + styleUrls: ['./edit.component.css'] +}) +export class EditGameComponent extends SubBaseComponent implements OnInit { + + game: any; + gameForm: FormGroup; + title = 'Edit Game'; + + constructor( http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: GameService, + private fb: FormBuilder) { + super(http); + this.createForm(); + } + + createForm() { + this.gameForm = this.fb.group({ + frames: ['', Validators.required], + Matchup: ['', ], + Player: ['', ] + }); + } + updateGame(frames, Matchup, Player) { + this.route.params.subscribe(params => { + this.service.updateGame(frames, Matchup, Player, params['id']) + .then(success => this.router.navigate(['/indexGame']) ); + }); +} + +// initialization + ngOnInit() { + this.route.params.subscribe(params => { + this.game = this.service.editGame(params['id']).subscribe(res => { + this.game = res; + }); + }); + + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/Game/index/index.component.css b/angular7demo/src/app/components/Game/index/index.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Game/index/index.component.html b/angular7demo/src/app/components/Game/index/index.component.html new file mode 100644 index 0000000..6d7fab1 --- /dev/null +++ b/angular7demo/src/app/components/Game/index/index.component.html @@ -0,0 +1,16 @@ +
Game List
+ + + + + + + + + + + + + + +
framesActions
{{ game.frames }}Edit
diff --git a/angular7demo/src/app/components/Game/index/index.component.spec.ts b/angular7demo/src/app/components/Game/index/index.component.spec.ts new file mode 100644 index 0000000..129bf51 --- /dev/null +++ b/angular7demo/src/app/components/Game/index/index.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { IndexGameComponent } from './index.component'; + +describe('IndexGameComponent', () => { + let component: IndexGameComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ IndexGameComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(IndexGameComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Game/index/index.component.ts b/angular7demo/src/app/components/Game/index/index.component.ts new file mode 100644 index 0000000..f028345 --- /dev/null +++ b/angular7demo/src/app/components/Game/index/index.component.ts @@ -0,0 +1,42 @@ +import { GameService } from '../../../services/Game.service'; +import { Component, OnInit } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Observable } from 'rxjs/Observable'; +import { Game } from '../../../models/Game'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; + +@Component({ + selector: 'app-index', + templateUrl: './index.component.html', + styleUrls: ['./index.component.css'] +}) +export class IndexGameComponent implements OnInit { + + games: any; + + constructor(private http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: GameService) {} + + ngOnInit() { + this.getGames(); + } + + getGames() { + this.service.getGames().subscribe(res => { + this.games = res; + }); + } + + deleteGame(id) { + this.service.deleteGame(id) + .then(success => + { + this.router.navigateByUrl('/', {skipLocationChange: false}).then(()=> + this.router.navigate(['indexGame'])); + }); } +} diff --git a/angular7demo/src/app/components/Game/sub.base.component.ts b/angular7demo/src/app/components/Game/sub.base.component.ts new file mode 100644 index 0000000..37f7e43 --- /dev/null +++ b/angular7demo/src/app/components/Game/sub.base.component.ts @@ -0,0 +1,17 @@ +import { HttpClient } from '@angular/common/http'; +import { BaseComponent } from '../base.component'; + +/** + Base class of all Tournament Edit and Create Components. +**/ +export class SubBaseComponent extends BaseComponent { + + constructor (http: HttpClient) { super(http); } + + ngOnInit() { + super.ngOnInit(); + + this.initMatchupList(); + this.initPlayerList(); + } +} diff --git a/angular7demo/src/app/components/Lane/create/create.component.css b/angular7demo/src/app/components/Lane/create/create.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Lane/create/create.component.html b/angular7demo/src/app/components/Lane/create/create.component.html new file mode 100644 index 0000000..86d81de --- /dev/null +++ b/angular7demo/src/app/components/Lane/create/create.component.html @@ -0,0 +1,14 @@ +
+
+
{{ title }}
+
+ +
+ +

+ +

+
diff --git a/angular7demo/src/app/components/Lane/create/create.component.spec.ts b/angular7demo/src/app/components/Lane/create/create.component.spec.ts new file mode 100644 index 0000000..4bcebed --- /dev/null +++ b/angular7demo/src/app/components/Lane/create/create.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { CreateLaneComponent } from './create.component'; + +describe('CreateLaneComponent', () => { + let component: CreateLaneComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ CreateLaneComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CreateLaneComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Lane/create/create.component.ts b/angular7demo/src/app/components/Lane/create/create.component.ts new file mode 100644 index 0000000..5893021 --- /dev/null +++ b/angular7demo/src/app/components/Lane/create/create.component.ts @@ -0,0 +1,40 @@ +import { Router } from '@angular/router'; +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { LaneService } from '../../../services/Lane.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { BaseComponent } from '../../base.component'; +import { SubBaseComponent } from '../../Lane/sub.base.component'; + +@Component({ + selector: 'app-create', + templateUrl: './create.component.html', + styleUrls: ['./create.component.css'] +}) +export class CreateLaneComponent extends SubBaseComponent implements OnInit { + + title = 'Add Lane'; + laneForm: FormGroup; + + constructor( http: HttpClient, + private laneservice: LaneService, + private fb: FormBuilder, + private router: Router) { + super(http); + this.createForm(); + } + createForm() { + this.laneForm = this.fb.group({ + number: ['', Validators.required] + }); + } + addLane(number) { + this.laneservice.addLane(number) + .then(success => this.router.navigate(['/indexLane']) ); + } + +// initialization + ngOnInit() { + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/Lane/edit/edit.component.css b/angular7demo/src/app/components/Lane/edit/edit.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Lane/edit/edit.component.html b/angular7demo/src/app/components/Lane/edit/edit.component.html new file mode 100644 index 0000000..ffa455d --- /dev/null +++ b/angular7demo/src/app/components/Lane/edit/edit.component.html @@ -0,0 +1,14 @@ +
+
+
{{ title }}
+
+ +
+ +

+ +

+
diff --git a/angular7demo/src/app/components/Lane/edit/edit.component.spec.ts b/angular7demo/src/app/components/Lane/edit/edit.component.spec.ts new file mode 100644 index 0000000..dfa484a --- /dev/null +++ b/angular7demo/src/app/components/Lane/edit/edit.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { EditLaneComponent } from './edit.component'; + +describe('EditLaneComponent', () => { + let component: EditLaneComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ EditLaneComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EditLaneComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Lane/edit/edit.component.ts b/angular7demo/src/app/components/Lane/edit/edit.component.ts new file mode 100644 index 0000000..aac13fe --- /dev/null +++ b/angular7demo/src/app/components/Lane/edit/edit.component.ts @@ -0,0 +1,50 @@ +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { LaneService } from '../../../services/Lane.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { SubBaseComponent } from '../../Lane/sub.base.component'; + +@Component({ + selector: 'app-edit', + templateUrl: './edit.component.html', + styleUrls: ['./edit.component.css'] +}) +export class EditLaneComponent extends SubBaseComponent implements OnInit { + + lane: any; + laneForm: FormGroup; + title = 'Edit Lane'; + + constructor( http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: LaneService, + private fb: FormBuilder) { + super(http); + this.createForm(); + } + + createForm() { + this.laneForm = this.fb.group({ + number: ['', Validators.required] + }); + } + updateLane(number) { + this.route.params.subscribe(params => { + this.service.updateLane(number, params['id']) + .then(success => this.router.navigate(['/indexLane']) ); + }); +} + +// initialization + ngOnInit() { + this.route.params.subscribe(params => { + this.lane = this.service.editLane(params['id']).subscribe(res => { + this.lane = res; + }); + }); + + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/Lane/index/index.component.css b/angular7demo/src/app/components/Lane/index/index.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Lane/index/index.component.html b/angular7demo/src/app/components/Lane/index/index.component.html new file mode 100644 index 0000000..be0449d --- /dev/null +++ b/angular7demo/src/app/components/Lane/index/index.component.html @@ -0,0 +1,16 @@ +
Lane List
+ + + + + + + + + + + + + + +
numberActions
{{ lane.number }}Edit
diff --git a/angular7demo/src/app/components/Lane/index/index.component.spec.ts b/angular7demo/src/app/components/Lane/index/index.component.spec.ts new file mode 100644 index 0000000..0839bdc --- /dev/null +++ b/angular7demo/src/app/components/Lane/index/index.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { IndexLaneComponent } from './index.component'; + +describe('IndexLaneComponent', () => { + let component: IndexLaneComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ IndexLaneComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(IndexLaneComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Lane/index/index.component.ts b/angular7demo/src/app/components/Lane/index/index.component.ts new file mode 100644 index 0000000..1f7cd87 --- /dev/null +++ b/angular7demo/src/app/components/Lane/index/index.component.ts @@ -0,0 +1,42 @@ +import { LaneService } from '../../../services/Lane.service'; +import { Component, OnInit } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Observable } from 'rxjs/Observable'; +import { Lane } from '../../../models/Lane'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; + +@Component({ + selector: 'app-index', + templateUrl: './index.component.html', + styleUrls: ['./index.component.css'] +}) +export class IndexLaneComponent implements OnInit { + + lanes: any; + + constructor(private http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: LaneService) {} + + ngOnInit() { + this.getLanes(); + } + + getLanes() { + this.service.getLanes().subscribe(res => { + this.lanes = res; + }); + } + + deleteLane(id) { + this.service.deleteLane(id) + .then(success => + { + this.router.navigateByUrl('/', {skipLocationChange: false}).then(()=> + this.router.navigate(['indexLane'])); + }); } +} diff --git a/angular7demo/src/app/components/Lane/sub.base.component.ts b/angular7demo/src/app/components/Lane/sub.base.component.ts new file mode 100644 index 0000000..7c20396 --- /dev/null +++ b/angular7demo/src/app/components/Lane/sub.base.component.ts @@ -0,0 +1,15 @@ +import { HttpClient } from '@angular/common/http'; +import { BaseComponent } from '../base.component'; + +/** + Base class of all Tournament Edit and Create Components. +**/ +export class SubBaseComponent extends BaseComponent { + + constructor (http: HttpClient) { super(http); } + + ngOnInit() { + super.ngOnInit(); + + } +} diff --git a/angular7demo/src/app/components/League/create/create.component.css b/angular7demo/src/app/components/League/create/create.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/League/create/create.component.html b/angular7demo/src/app/components/League/create/create.component.html new file mode 100644 index 0000000..c3da88f --- /dev/null +++ b/angular7demo/src/app/components/League/create/create.component.html @@ -0,0 +1,29 @@ +
+
+
{{ title }}
+
+ +
+ + name + + + +

+ + Players + + + {{player.name}} + + + +

+ +

+
diff --git a/angular7demo/src/app/components/League/create/create.component.spec.ts b/angular7demo/src/app/components/League/create/create.component.spec.ts new file mode 100644 index 0000000..61d50aa --- /dev/null +++ b/angular7demo/src/app/components/League/create/create.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { CreateLeagueComponent } from './create.component'; + +describe('CreateLeagueComponent', () => { + let component: CreateLeagueComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ CreateLeagueComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CreateLeagueComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/League/create/create.component.ts b/angular7demo/src/app/components/League/create/create.component.ts new file mode 100644 index 0000000..4554f0a --- /dev/null +++ b/angular7demo/src/app/components/League/create/create.component.ts @@ -0,0 +1,41 @@ +import { Router } from '@angular/router'; +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { LeagueService } from '../../../services/League.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { BaseComponent } from '../../base.component'; +import { SubBaseComponent } from '../../League/sub.base.component'; + +@Component({ + selector: 'app-create', + templateUrl: './create.component.html', + styleUrls: ['./create.component.css'] +}) +export class CreateLeagueComponent extends SubBaseComponent implements OnInit { + + title = 'Add League'; + leagueForm: FormGroup; + + constructor( http: HttpClient, + private leagueservice: LeagueService, + private fb: FormBuilder, + private router: Router) { + super(http); + this.createForm(); + } + createForm() { + this.leagueForm = this.fb.group({ + name: ['', Validators.required], + Players: ['', ] + }); + } + addLeague(name, Players) { + this.leagueservice.addLeague(name, Players) + .then(success => this.router.navigate(['/indexLeague']) ); + } + +// initialization + ngOnInit() { + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/League/edit/edit.component.css b/angular7demo/src/app/components/League/edit/edit.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/League/edit/edit.component.html b/angular7demo/src/app/components/League/edit/edit.component.html new file mode 100644 index 0000000..ad06b92 --- /dev/null +++ b/angular7demo/src/app/components/League/edit/edit.component.html @@ -0,0 +1,29 @@ +
+
+
{{ title }}
+
+ +
+ + name + + + +

+ + Players + + + {{player.name}} + + + +

+ +

+
diff --git a/angular7demo/src/app/components/League/edit/edit.component.spec.ts b/angular7demo/src/app/components/League/edit/edit.component.spec.ts new file mode 100644 index 0000000..367b06a --- /dev/null +++ b/angular7demo/src/app/components/League/edit/edit.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { EditLeagueComponent } from './edit.component'; + +describe('EditLeagueComponent', () => { + let component: EditLeagueComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ EditLeagueComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EditLeagueComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/League/edit/edit.component.ts b/angular7demo/src/app/components/League/edit/edit.component.ts new file mode 100644 index 0000000..72f2289 --- /dev/null +++ b/angular7demo/src/app/components/League/edit/edit.component.ts @@ -0,0 +1,51 @@ +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { LeagueService } from '../../../services/League.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { SubBaseComponent } from '../../League/sub.base.component'; + +@Component({ + selector: 'app-edit', + templateUrl: './edit.component.html', + styleUrls: ['./edit.component.css'] +}) +export class EditLeagueComponent extends SubBaseComponent implements OnInit { + + league: any; + leagueForm: FormGroup; + title = 'Edit League'; + + constructor( http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: LeagueService, + private fb: FormBuilder) { + super(http); + this.createForm(); + } + + createForm() { + this.leagueForm = this.fb.group({ + name: ['', Validators.required], + Players: ['', ] + }); + } + updateLeague(name, Players) { + this.route.params.subscribe(params => { + this.service.updateLeague(name, Players, params['id']) + .then(success => this.router.navigate(['/indexLeague']) ); + }); +} + +// initialization + ngOnInit() { + this.route.params.subscribe(params => { + this.league = this.service.editLeague(params['id']).subscribe(res => { + this.league = res; + }); + }); + + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/League/index/index.component.css b/angular7demo/src/app/components/League/index/index.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/League/index/index.component.html b/angular7demo/src/app/components/League/index/index.component.html new file mode 100644 index 0000000..1f44dc5 --- /dev/null +++ b/angular7demo/src/app/components/League/index/index.component.html @@ -0,0 +1,16 @@ +
League List
+ + + + + + + + + + + + + + +
nameActions
{{ league.name }}Edit
diff --git a/angular7demo/src/app/components/League/index/index.component.spec.ts b/angular7demo/src/app/components/League/index/index.component.spec.ts new file mode 100644 index 0000000..ffa6810 --- /dev/null +++ b/angular7demo/src/app/components/League/index/index.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { IndexLeagueComponent } from './index.component'; + +describe('IndexLeagueComponent', () => { + let component: IndexLeagueComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ IndexLeagueComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(IndexLeagueComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/League/index/index.component.ts b/angular7demo/src/app/components/League/index/index.component.ts new file mode 100644 index 0000000..c0aec18 --- /dev/null +++ b/angular7demo/src/app/components/League/index/index.component.ts @@ -0,0 +1,42 @@ +import { LeagueService } from '../../../services/League.service'; +import { Component, OnInit } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Observable } from 'rxjs/Observable'; +import { League } from '../../../models/League'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; + +@Component({ + selector: 'app-index', + templateUrl: './index.component.html', + styleUrls: ['./index.component.css'] +}) +export class IndexLeagueComponent implements OnInit { + + leagues: any; + + constructor(private http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: LeagueService) {} + + ngOnInit() { + this.getLeagues(); + } + + getLeagues() { + this.service.getLeagues().subscribe(res => { + this.leagues = res; + }); + } + + deleteLeague(id) { + this.service.deleteLeague(id) + .then(success => + { + this.router.navigateByUrl('/', {skipLocationChange: false}).then(()=> + this.router.navigate(['indexLeague'])); + }); } +} diff --git a/angular7demo/src/app/components/League/sub.base.component.ts b/angular7demo/src/app/components/League/sub.base.component.ts new file mode 100644 index 0000000..8a2fd18 --- /dev/null +++ b/angular7demo/src/app/components/League/sub.base.component.ts @@ -0,0 +1,16 @@ +import { HttpClient } from '@angular/common/http'; +import { BaseComponent } from '../base.component'; + +/** + Base class of all Tournament Edit and Create Components. +**/ +export class SubBaseComponent extends BaseComponent { + + constructor (http: HttpClient) { super(http); } + + ngOnInit() { + super.ngOnInit(); + + this.initPlayerList(); + } +} diff --git a/angular7demo/src/app/components/Matchup/create/create.component.css b/angular7demo/src/app/components/Matchup/create/create.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Matchup/create/create.component.html b/angular7demo/src/app/components/Matchup/create/create.component.html new file mode 100644 index 0000000..79b99aa --- /dev/null +++ b/angular7demo/src/app/components/Matchup/create/create.component.html @@ -0,0 +1,29 @@ +
+
+
{{ title }}
+
+ +
+ + name + + + +

+ + Games + + + {{game.frames}} + + + +

+ +

+
diff --git a/angular7demo/src/app/components/Matchup/create/create.component.spec.ts b/angular7demo/src/app/components/Matchup/create/create.component.spec.ts new file mode 100644 index 0000000..8a7e63c --- /dev/null +++ b/angular7demo/src/app/components/Matchup/create/create.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { CreateMatchupComponent } from './create.component'; + +describe('CreateMatchupComponent', () => { + let component: CreateMatchupComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ CreateMatchupComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CreateMatchupComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Matchup/create/create.component.ts b/angular7demo/src/app/components/Matchup/create/create.component.ts new file mode 100644 index 0000000..9105999 --- /dev/null +++ b/angular7demo/src/app/components/Matchup/create/create.component.ts @@ -0,0 +1,41 @@ +import { Router } from '@angular/router'; +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { MatchupService } from '../../../services/Matchup.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { BaseComponent } from '../../base.component'; +import { SubBaseComponent } from '../../Matchup/sub.base.component'; + +@Component({ + selector: 'app-create', + templateUrl: './create.component.html', + styleUrls: ['./create.component.css'] +}) +export class CreateMatchupComponent extends SubBaseComponent implements OnInit { + + title = 'Add Matchup'; + matchupForm: FormGroup; + + constructor( http: HttpClient, + private matchupservice: MatchupService, + private fb: FormBuilder, + private router: Router) { + super(http); + this.createForm(); + } + createForm() { + this.matchupForm = this.fb.group({ + name: ['', Validators.required], + Games: ['', ] + }); + } + addMatchup(name, Games) { + this.matchupservice.addMatchup(name, Games) + .then(success => this.router.navigate(['/indexMatchup']) ); + } + +// initialization + ngOnInit() { + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/Matchup/edit/edit.component.css b/angular7demo/src/app/components/Matchup/edit/edit.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Matchup/edit/edit.component.html b/angular7demo/src/app/components/Matchup/edit/edit.component.html new file mode 100644 index 0000000..f965b5d --- /dev/null +++ b/angular7demo/src/app/components/Matchup/edit/edit.component.html @@ -0,0 +1,29 @@ +
+
+
{{ title }}
+
+ +
+ + name + + + +

+ + Games + + + {{game.frames}} + + + +

+ +

+
diff --git a/angular7demo/src/app/components/Matchup/edit/edit.component.spec.ts b/angular7demo/src/app/components/Matchup/edit/edit.component.spec.ts new file mode 100644 index 0000000..69ba3cc --- /dev/null +++ b/angular7demo/src/app/components/Matchup/edit/edit.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { EditMatchupComponent } from './edit.component'; + +describe('EditMatchupComponent', () => { + let component: EditMatchupComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ EditMatchupComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EditMatchupComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Matchup/edit/edit.component.ts b/angular7demo/src/app/components/Matchup/edit/edit.component.ts new file mode 100644 index 0000000..f1ac62d --- /dev/null +++ b/angular7demo/src/app/components/Matchup/edit/edit.component.ts @@ -0,0 +1,51 @@ +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { MatchupService } from '../../../services/Matchup.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { SubBaseComponent } from '../../Matchup/sub.base.component'; + +@Component({ + selector: 'app-edit', + templateUrl: './edit.component.html', + styleUrls: ['./edit.component.css'] +}) +export class EditMatchupComponent extends SubBaseComponent implements OnInit { + + matchup: any; + matchupForm: FormGroup; + title = 'Edit Matchup'; + + constructor( http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: MatchupService, + private fb: FormBuilder) { + super(http); + this.createForm(); + } + + createForm() { + this.matchupForm = this.fb.group({ + name: ['', Validators.required], + Games: ['', ] + }); + } + updateMatchup(name, Games) { + this.route.params.subscribe(params => { + this.service.updateMatchup(name, Games, params['id']) + .then(success => this.router.navigate(['/indexMatchup']) ); + }); +} + +// initialization + ngOnInit() { + this.route.params.subscribe(params => { + this.matchup = this.service.editMatchup(params['id']).subscribe(res => { + this.matchup = res; + }); + }); + + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/Matchup/index/index.component.css b/angular7demo/src/app/components/Matchup/index/index.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Matchup/index/index.component.html b/angular7demo/src/app/components/Matchup/index/index.component.html new file mode 100644 index 0000000..ae77516 --- /dev/null +++ b/angular7demo/src/app/components/Matchup/index/index.component.html @@ -0,0 +1,16 @@ +
Matchup List
+ + + + + + + + + + + + + + +
nameActions
{{ matchup.name }}Edit
diff --git a/angular7demo/src/app/components/Matchup/index/index.component.spec.ts b/angular7demo/src/app/components/Matchup/index/index.component.spec.ts new file mode 100644 index 0000000..d323fbb --- /dev/null +++ b/angular7demo/src/app/components/Matchup/index/index.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { IndexMatchupComponent } from './index.component'; + +describe('IndexMatchupComponent', () => { + let component: IndexMatchupComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ IndexMatchupComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(IndexMatchupComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Matchup/index/index.component.ts b/angular7demo/src/app/components/Matchup/index/index.component.ts new file mode 100644 index 0000000..4542d71 --- /dev/null +++ b/angular7demo/src/app/components/Matchup/index/index.component.ts @@ -0,0 +1,42 @@ +import { MatchupService } from '../../../services/Matchup.service'; +import { Component, OnInit } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Observable } from 'rxjs/Observable'; +import { Matchup } from '../../../models/Matchup'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; + +@Component({ + selector: 'app-index', + templateUrl: './index.component.html', + styleUrls: ['./index.component.css'] +}) +export class IndexMatchupComponent implements OnInit { + + matchups: any; + + constructor(private http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: MatchupService) {} + + ngOnInit() { + this.getMatchups(); + } + + getMatchups() { + this.service.getMatchups().subscribe(res => { + this.matchups = res; + }); + } + + deleteMatchup(id) { + this.service.deleteMatchup(id) + .then(success => + { + this.router.navigateByUrl('/', {skipLocationChange: false}).then(()=> + this.router.navigate(['indexMatchup'])); + }); } +} diff --git a/angular7demo/src/app/components/Matchup/sub.base.component.ts b/angular7demo/src/app/components/Matchup/sub.base.component.ts new file mode 100644 index 0000000..ab2ef75 --- /dev/null +++ b/angular7demo/src/app/components/Matchup/sub.base.component.ts @@ -0,0 +1,16 @@ +import { HttpClient } from '@angular/common/http'; +import { BaseComponent } from '../base.component'; + +/** + Base class of all Tournament Edit and Create Components. +**/ +export class SubBaseComponent extends BaseComponent { + + constructor (http: HttpClient) { super(http); } + + ngOnInit() { + super.ngOnInit(); + + this.initGameList(); + } +} diff --git a/angular7demo/src/app/components/Player/create/create.component.css b/angular7demo/src/app/components/Player/create/create.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Player/create/create.component.html b/angular7demo/src/app/components/Player/create/create.component.html new file mode 100644 index 0000000..b2ee738 --- /dev/null +++ b/angular7demo/src/app/components/Player/create/create.component.html @@ -0,0 +1,34 @@ +
+
+
{{ title }}
+
+ +
+ + name + + + +

+ + dateOfBirth + + + + + +

+ + height + + + +

+ isProfessional +

+ +

+
diff --git a/angular7demo/src/app/components/Player/create/create.component.spec.ts b/angular7demo/src/app/components/Player/create/create.component.spec.ts new file mode 100644 index 0000000..f3a93c9 --- /dev/null +++ b/angular7demo/src/app/components/Player/create/create.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { CreatePlayerComponent } from './create.component'; + +describe('CreatePlayerComponent', () => { + let component: CreatePlayerComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ CreatePlayerComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CreatePlayerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Player/create/create.component.ts b/angular7demo/src/app/components/Player/create/create.component.ts new file mode 100644 index 0000000..6ca5990 --- /dev/null +++ b/angular7demo/src/app/components/Player/create/create.component.ts @@ -0,0 +1,43 @@ +import { Router } from '@angular/router'; +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { PlayerService } from '../../../services/Player.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { BaseComponent } from '../../base.component'; +import { SubBaseComponent } from '../../Player/sub.base.component'; + +@Component({ + selector: 'app-create', + templateUrl: './create.component.html', + styleUrls: ['./create.component.css'] +}) +export class CreatePlayerComponent extends SubBaseComponent implements OnInit { + + title = 'Add Player'; + playerForm: FormGroup; + + constructor( http: HttpClient, + private playerservice: PlayerService, + private fb: FormBuilder, + private router: Router) { + super(http); + this.createForm(); + } + createForm() { + this.playerForm = this.fb.group({ + name: ['', Validators.required], + dateOfBirth: ['', Validators.required], + height: ['', Validators.required], + isProfessional: ['', Validators.required] + }); + } + addPlayer(name, dateOfBirth, height, isProfessional) { + this.playerservice.addPlayer(name, dateOfBirth, height, isProfessional) + .then(success => this.router.navigate(['/indexPlayer']) ); + } + +// initialization + ngOnInit() { + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/Player/edit/edit.component.css b/angular7demo/src/app/components/Player/edit/edit.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Player/edit/edit.component.html b/angular7demo/src/app/components/Player/edit/edit.component.html new file mode 100644 index 0000000..ae162f2 --- /dev/null +++ b/angular7demo/src/app/components/Player/edit/edit.component.html @@ -0,0 +1,34 @@ +
+
+
{{ title }}
+
+ +
+ + name + + + +

+ + dateOfBirth + + + + + +

+ + height + + + +

+ isProfessional +

+ +

+
diff --git a/angular7demo/src/app/components/Player/edit/edit.component.spec.ts b/angular7demo/src/app/components/Player/edit/edit.component.spec.ts new file mode 100644 index 0000000..7f59c51 --- /dev/null +++ b/angular7demo/src/app/components/Player/edit/edit.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { EditPlayerComponent } from './edit.component'; + +describe('EditPlayerComponent', () => { + let component: EditPlayerComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ EditPlayerComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EditPlayerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Player/edit/edit.component.ts b/angular7demo/src/app/components/Player/edit/edit.component.ts new file mode 100644 index 0000000..fad85b0 --- /dev/null +++ b/angular7demo/src/app/components/Player/edit/edit.component.ts @@ -0,0 +1,53 @@ +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { PlayerService } from '../../../services/Player.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { SubBaseComponent } from '../../Player/sub.base.component'; + +@Component({ + selector: 'app-edit', + templateUrl: './edit.component.html', + styleUrls: ['./edit.component.css'] +}) +export class EditPlayerComponent extends SubBaseComponent implements OnInit { + + player: any; + playerForm: FormGroup; + title = 'Edit Player'; + + constructor( http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: PlayerService, + private fb: FormBuilder) { + super(http); + this.createForm(); + } + + createForm() { + this.playerForm = this.fb.group({ + name: ['', Validators.required], + dateOfBirth: ['', Validators.required], + height: ['', Validators.required], + isProfessional: ['', Validators.required] + }); + } + updatePlayer(name, dateOfBirth, height, isProfessional) { + this.route.params.subscribe(params => { + this.service.updatePlayer(name, dateOfBirth, height, isProfessional, params['id']) + .then(success => this.router.navigate(['/indexPlayer']) ); + }); +} + +// initialization + ngOnInit() { + this.route.params.subscribe(params => { + this.player = this.service.editPlayer(params['id']).subscribe(res => { + this.player = res; + }); + }); + + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/Player/index/index.component.css b/angular7demo/src/app/components/Player/index/index.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Player/index/index.component.html b/angular7demo/src/app/components/Player/index/index.component.html new file mode 100644 index 0000000..0df53bf --- /dev/null +++ b/angular7demo/src/app/components/Player/index/index.component.html @@ -0,0 +1,22 @@ +
Player List
+ + + + + + + + + + + + + + + + + + + + +
namedateOfBirthheightisProfessionalActions
{{ player.name }}{{ player.dateOfBirth }}{{ player.height }}{{ player.isProfessional }}Edit
diff --git a/angular7demo/src/app/components/Player/index/index.component.spec.ts b/angular7demo/src/app/components/Player/index/index.component.spec.ts new file mode 100644 index 0000000..53f6d6e --- /dev/null +++ b/angular7demo/src/app/components/Player/index/index.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { IndexPlayerComponent } from './index.component'; + +describe('IndexPlayerComponent', () => { + let component: IndexPlayerComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ IndexPlayerComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(IndexPlayerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Player/index/index.component.ts b/angular7demo/src/app/components/Player/index/index.component.ts new file mode 100644 index 0000000..d32a0a4 --- /dev/null +++ b/angular7demo/src/app/components/Player/index/index.component.ts @@ -0,0 +1,42 @@ +import { PlayerService } from '../../../services/Player.service'; +import { Component, OnInit } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Observable } from 'rxjs/Observable'; +import { Player } from '../../../models/Player'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; + +@Component({ + selector: 'app-index', + templateUrl: './index.component.html', + styleUrls: ['./index.component.css'] +}) +export class IndexPlayerComponent implements OnInit { + + players: any; + + constructor(private http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: PlayerService) {} + + ngOnInit() { + this.getPlayers(); + } + + getPlayers() { + this.service.getPlayers().subscribe(res => { + this.players = res; + }); + } + + deletePlayer(id) { + this.service.deletePlayer(id) + .then(success => + { + this.router.navigateByUrl('/', {skipLocationChange: false}).then(()=> + this.router.navigate(['indexPlayer'])); + }); } +} diff --git a/angular7demo/src/app/components/Player/sub.base.component.ts b/angular7demo/src/app/components/Player/sub.base.component.ts new file mode 100644 index 0000000..7c20396 --- /dev/null +++ b/angular7demo/src/app/components/Player/sub.base.component.ts @@ -0,0 +1,15 @@ +import { HttpClient } from '@angular/common/http'; +import { BaseComponent } from '../base.component'; + +/** + Base class of all Tournament Edit and Create Components. +**/ +export class SubBaseComponent extends BaseComponent { + + constructor (http: HttpClient) { super(http); } + + ngOnInit() { + super.ngOnInit(); + + } +} diff --git a/angular7demo/src/app/components/Tournament/create/create.component.css b/angular7demo/src/app/components/Tournament/create/create.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Tournament/create/create.component.html b/angular7demo/src/app/components/Tournament/create/create.component.html new file mode 100644 index 0000000..f06dfdc --- /dev/null +++ b/angular7demo/src/app/components/Tournament/create/create.component.html @@ -0,0 +1,38 @@ +
+
+
{{ title }}
+
+ +
+ + name + + + +

+ + Matchups + + + {{matchup.name}} + + + +

+ + Type + + + {{TournamentType}} + + + +

+ +

+
diff --git a/angular7demo/src/app/components/Tournament/create/create.component.spec.ts b/angular7demo/src/app/components/Tournament/create/create.component.spec.ts new file mode 100644 index 0000000..2f23e1c --- /dev/null +++ b/angular7demo/src/app/components/Tournament/create/create.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { CreateTournamentComponent } from './create.component'; + +describe('CreateTournamentComponent', () => { + let component: CreateTournamentComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ CreateTournamentComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CreateTournamentComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Tournament/create/create.component.ts b/angular7demo/src/app/components/Tournament/create/create.component.ts new file mode 100644 index 0000000..7051f0c --- /dev/null +++ b/angular7demo/src/app/components/Tournament/create/create.component.ts @@ -0,0 +1,42 @@ +import { Router } from '@angular/router'; +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { TournamentService } from '../../../services/Tournament.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { BaseComponent } from '../../base.component'; +import { SubBaseComponent } from '../../Tournament/sub.base.component'; + +@Component({ + selector: 'app-create', + templateUrl: './create.component.html', + styleUrls: ['./create.component.css'] +}) +export class CreateTournamentComponent extends SubBaseComponent implements OnInit { + + title = 'Add Tournament'; + tournamentForm: FormGroup; + + constructor( http: HttpClient, + private tournamentservice: TournamentService, + private fb: FormBuilder, + private router: Router) { + super(http); + this.createForm(); + } + createForm() { + this.tournamentForm = this.fb.group({ + name: ['', Validators.required], + Matchups: ['', ], + Type: ['', ] + }); + } + addTournament(name, Matchups, Type) { + this.tournamentservice.addTournament(name, Matchups, Type) + .then(success => this.router.navigate(['/indexTournament']) ); + } + +// initialization + ngOnInit() { + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/Tournament/edit/edit.component.css b/angular7demo/src/app/components/Tournament/edit/edit.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Tournament/edit/edit.component.html b/angular7demo/src/app/components/Tournament/edit/edit.component.html new file mode 100644 index 0000000..9e2b9b8 --- /dev/null +++ b/angular7demo/src/app/components/Tournament/edit/edit.component.html @@ -0,0 +1,38 @@ +
+
+
{{ title }}
+
+ +
+ + name + + + +

+ + Matchups + + + {{matchup.name}} + + + +

+ + Type + + + {{TournamentType}} + + + +

+ +

+
diff --git a/angular7demo/src/app/components/Tournament/edit/edit.component.spec.ts b/angular7demo/src/app/components/Tournament/edit/edit.component.spec.ts new file mode 100644 index 0000000..4032784 --- /dev/null +++ b/angular7demo/src/app/components/Tournament/edit/edit.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { EditTournamentComponent } from './edit.component'; + +describe('EditTournamentComponent', () => { + let component: EditTournamentComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ EditTournamentComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EditTournamentComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Tournament/edit/edit.component.ts b/angular7demo/src/app/components/Tournament/edit/edit.component.ts new file mode 100644 index 0000000..bdb1795 --- /dev/null +++ b/angular7demo/src/app/components/Tournament/edit/edit.component.ts @@ -0,0 +1,52 @@ +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { TournamentService } from '../../../services/Tournament.service'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { SubBaseComponent } from '../../Tournament/sub.base.component'; + +@Component({ + selector: 'app-edit', + templateUrl: './edit.component.html', + styleUrls: ['./edit.component.css'] +}) +export class EditTournamentComponent extends SubBaseComponent implements OnInit { + + tournament: any; + tournamentForm: FormGroup; + title = 'Edit Tournament'; + + constructor( http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: TournamentService, + private fb: FormBuilder) { + super(http); + this.createForm(); + } + + createForm() { + this.tournamentForm = this.fb.group({ + name: ['', Validators.required], + Matchups: ['', ], + Type: ['', ] + }); + } + updateTournament(name, Matchups, Type) { + this.route.params.subscribe(params => { + this.service.updateTournament(name, Matchups, Type, params['id']) + .then(success => this.router.navigate(['/indexTournament']) ); + }); +} + +// initialization + ngOnInit() { + this.route.params.subscribe(params => { + this.tournament = this.service.editTournament(params['id']).subscribe(res => { + this.tournament = res; + }); + }); + + super.ngOnInit(); + } +} diff --git a/angular7demo/src/app/components/Tournament/index/index.component.css b/angular7demo/src/app/components/Tournament/index/index.component.css new file mode 100644 index 0000000..e69de29 diff --git a/angular7demo/src/app/components/Tournament/index/index.component.html b/angular7demo/src/app/components/Tournament/index/index.component.html new file mode 100644 index 0000000..3591af1 --- /dev/null +++ b/angular7demo/src/app/components/Tournament/index/index.component.html @@ -0,0 +1,18 @@ +
Tournament List
+ + + + + + + + + + + + + + + + +
nameTypeActions
{{ tournament.name }}{{ tournament.Type }}Edit
diff --git a/angular7demo/src/app/components/Tournament/index/index.component.spec.ts b/angular7demo/src/app/components/Tournament/index/index.component.spec.ts new file mode 100644 index 0000000..3d0d8f5 --- /dev/null +++ b/angular7demo/src/app/components/Tournament/index/index.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { FormsModule } from '@angular/forms'; +import { IndexTournamentComponent } from './index.component'; + +describe('IndexTournamentComponent', () => { + let component: IndexTournamentComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [FormsModule], + declarations: [ IndexTournamentComponent ] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(IndexTournamentComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/components/Tournament/index/index.component.ts b/angular7demo/src/app/components/Tournament/index/index.component.ts new file mode 100644 index 0000000..23fbdce --- /dev/null +++ b/angular7demo/src/app/components/Tournament/index/index.component.ts @@ -0,0 +1,42 @@ +import { TournamentService } from '../../../services/Tournament.service'; +import { Component, OnInit } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Observable } from 'rxjs/Observable'; +import { Tournament } from '../../../models/Tournament'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; + +@Component({ + selector: 'app-index', + templateUrl: './index.component.html', + styleUrls: ['./index.component.css'] +}) +export class IndexTournamentComponent implements OnInit { + + tournaments: any; + + constructor(private http: HttpClient, + private route: ActivatedRoute, + private router: Router, + private service: TournamentService) {} + + ngOnInit() { + this.getTournaments(); + } + + getTournaments() { + this.service.getTournaments().subscribe(res => { + this.tournaments = res; + }); + } + + deleteTournament(id) { + this.service.deleteTournament(id) + .then(success => + { + this.router.navigateByUrl('/', {skipLocationChange: false}).then(()=> + this.router.navigate(['indexTournament'])); + }); } +} diff --git a/angular7demo/src/app/components/Tournament/sub.base.component.ts b/angular7demo/src/app/components/Tournament/sub.base.component.ts new file mode 100644 index 0000000..8f270d5 --- /dev/null +++ b/angular7demo/src/app/components/Tournament/sub.base.component.ts @@ -0,0 +1,16 @@ +import { HttpClient } from '@angular/common/http'; +import { BaseComponent } from '../base.component'; + +/** + Base class of all Tournament Edit and Create Components. +**/ +export class SubBaseComponent extends BaseComponent { + + constructor (http: HttpClient) { super(http); } + + ngOnInit() { + super.ngOnInit(); + + this.initMatchupList(); + } +} diff --git a/angular7demo/src/app/components/base.component.ts b/angular7demo/src/app/components/base.component.ts new file mode 100644 index 0000000..5d72254 --- /dev/null +++ b/angular7demo/src/app/components/base.component.ts @@ -0,0 +1,97 @@ +import { HttpClient } from '@angular/common/http'; +import * as enumTypes from '../models/EnumTypes'; + +import {AlleyService} from '../services/Alley.service'; +import {GameService} from '../services/Game.service'; +import {LaneService} from '../services/Lane.service'; +import {LeagueService} from '../services/League.service'; +import {MatchupService} from '../services/Matchup.service'; +import {PlayerService} from '../services/Player.service'; +import {TournamentService} from '../services/Tournament.service'; + +/** + Base class of all Components. + For convenience, contains all enums and entity lists +**/ +export class BaseComponent { + + constructor (private http: HttpClient) {} + +// enum instances + TournamentTypes = Object.keys(enumTypes.TournamentType); + +// all collection instances + alleys : any; + games : any; + lanes : any; + leagues : any; + matchups : any; + players : any; + tournaments : any; + +// initialization + ngOnInit() { + } + + initAlleyList() { + if ( this.alleys == null ) { + new AlleyService(this.http).getAlleys().subscribe(res => { + this.alleys = res; + }); + } + } + + initGameList() { + if ( this.games == null ) { + new GameService(this.http).getGames().subscribe(res => { + this.games = res; + }); + } + } + + initLaneList() { + if ( this.lanes == null ) { + new LaneService(this.http).getLanes().subscribe(res => { + this.lanes = res; + }); + } + } + + initLeagueList() { + if ( this.leagues == null ) { + new LeagueService(this.http).getLeagues().subscribe(res => { + this.leagues = res; + }); + } + } + + initMatchupList() { + if ( this.matchups == null ) { + new MatchupService(this.http).getMatchups().subscribe(res => { + this.matchups = res; + }); + } + } + + initPlayerList() { + if ( this.players == null ) { + new PlayerService(this.http).getPlayers().subscribe(res => { + this.players = res; + }); + } + } + + initTournamentList() { + if ( this.tournaments == null ) { + new TournamentService(this.http).getTournaments().subscribe(res => { + this.tournaments = res; + }); + } + } + + +// comparison function for select controls + compareFn(user1: any, user2: any) { + return user1 == user2 + } +} diff --git a/angular7demo/src/app/expressRoutes/AlleyRoutes.js b/angular7demo/src/app/expressRoutes/AlleyRoutes.js new file mode 100644 index 0000000..b101071 --- /dev/null +++ b/angular7demo/src/app/expressRoutes/AlleyRoutes.js @@ -0,0 +1,71 @@ +// alleyRoutes.js + +var express = require('express'); +var app = express(); +var alleyRoutes = express.Router(); + +// Require Item model in our routes module +var Alley = require('../models/Alley'); + +// Defined store route +alleyRoutes.route('/add').post(function (req, res) { + var alley = new Alley(req.body); + alley.save() + .then(item => { + res.status(200).json({'alley': 'Alley added successfully'}); + }) + .catch(err => { + res.status(400).send("unable to save to database"); + }); +}); + +// Defined get data(index or listing) route +alleyRoutes.route('/').get(function (req, res) { + Alley.find(function (err, alleys){ + if(err){ + console.log(err); + } + else { + res.json(alleys); + } + }); +}); + +// Defined edit route +alleyRoutes.route('/edit/:id').get(function (req, res) { + var id = req.params.id; + Alley.findById(id, function (err, alley){ + res.json(alley); + }); +}); + +// Defined update route +alleyRoutes.route('/update/:id').post(function (req, res) { + Alley.findById(req.params.id, function(err, alley) { + if (!alley) + return next(new Error('Could not load a Alley Document using id ' + req.params.id)); + else { + alley.name = req.body.name; + alley.Leagues = req.body.Leagues; + alley.Tournaments = req.body.Tournaments; + alley.Lanes = req.body.Lanes; + + alley.save().then(alley => { + res.json('Update complete'); + }) + .catch(err => { + res.status(400).send("unable to update the database"); + }); + } + }); +}); + +// Defined delete | remove | destroy route +alleyRoutes.route('/delete/:id').get(function (req, res) { + Alley.findOneAndDelete({_id: req.params.id}, function(err, alley){ + if(err) res.json(err); + else res.json('Successfully removed ' + Alley + ' using id ' + req.params.id ); + }); +}); + +module.exports = alleyRoutes; \ No newline at end of file diff --git a/angular7demo/src/app/expressRoutes/GameRoutes.js b/angular7demo/src/app/expressRoutes/GameRoutes.js new file mode 100644 index 0000000..a7f767c --- /dev/null +++ b/angular7demo/src/app/expressRoutes/GameRoutes.js @@ -0,0 +1,70 @@ +// gameRoutes.js + +var express = require('express'); +var app = express(); +var gameRoutes = express.Router(); + +// Require Item model in our routes module +var Game = require('../models/Game'); + +// Defined store route +gameRoutes.route('/add').post(function (req, res) { + var game = new Game(req.body); + game.save() + .then(item => { + res.status(200).json({'game': 'Game added successfully'}); + }) + .catch(err => { + res.status(400).send("unable to save to database"); + }); +}); + +// Defined get data(index or listing) route +gameRoutes.route('/').get(function (req, res) { + Game.find(function (err, games){ + if(err){ + console.log(err); + } + else { + res.json(games); + } + }); +}); + +// Defined edit route +gameRoutes.route('/edit/:id').get(function (req, res) { + var id = req.params.id; + Game.findById(id, function (err, game){ + res.json(game); + }); +}); + +// Defined update route +gameRoutes.route('/update/:id').post(function (req, res) { + Game.findById(req.params.id, function(err, game) { + if (!game) + return next(new Error('Could not load a Game Document using id ' + req.params.id)); + else { + game.frames = req.body.frames; + game.Matchup = req.body.Matchup; + game.Player = req.body.Player; + + game.save().then(game => { + res.json('Update complete'); + }) + .catch(err => { + res.status(400).send("unable to update the database"); + }); + } + }); +}); + +// Defined delete | remove | destroy route +gameRoutes.route('/delete/:id').get(function (req, res) { + Game.findOneAndDelete({_id: req.params.id}, function(err, game){ + if(err) res.json(err); + else res.json('Successfully removed ' + Game + ' using id ' + req.params.id ); + }); +}); + +module.exports = gameRoutes; \ No newline at end of file diff --git a/angular7demo/src/app/expressRoutes/LaneRoutes.js b/angular7demo/src/app/expressRoutes/LaneRoutes.js new file mode 100644 index 0000000..162a47e --- /dev/null +++ b/angular7demo/src/app/expressRoutes/LaneRoutes.js @@ -0,0 +1,68 @@ +// laneRoutes.js + +var express = require('express'); +var app = express(); +var laneRoutes = express.Router(); + +// Require Item model in our routes module +var Lane = require('../models/Lane'); + +// Defined store route +laneRoutes.route('/add').post(function (req, res) { + var lane = new Lane(req.body); + lane.save() + .then(item => { + res.status(200).json({'lane': 'Lane added successfully'}); + }) + .catch(err => { + res.status(400).send("unable to save to database"); + }); +}); + +// Defined get data(index or listing) route +laneRoutes.route('/').get(function (req, res) { + Lane.find(function (err, lanes){ + if(err){ + console.log(err); + } + else { + res.json(lanes); + } + }); +}); + +// Defined edit route +laneRoutes.route('/edit/:id').get(function (req, res) { + var id = req.params.id; + Lane.findById(id, function (err, lane){ + res.json(lane); + }); +}); + +// Defined update route +laneRoutes.route('/update/:id').post(function (req, res) { + Lane.findById(req.params.id, function(err, lane) { + if (!lane) + return next(new Error('Could not load a Lane Document using id ' + req.params.id)); + else { + lane.number = req.body.number; + + lane.save().then(lane => { + res.json('Update complete'); + }) + .catch(err => { + res.status(400).send("unable to update the database"); + }); + } + }); +}); + +// Defined delete | remove | destroy route +laneRoutes.route('/delete/:id').get(function (req, res) { + Lane.findOneAndDelete({_id: req.params.id}, function(err, lane){ + if(err) res.json(err); + else res.json('Successfully removed ' + Lane + ' using id ' + req.params.id ); + }); +}); + +module.exports = laneRoutes; \ No newline at end of file diff --git a/angular7demo/src/app/expressRoutes/LeagueRoutes.js b/angular7demo/src/app/expressRoutes/LeagueRoutes.js new file mode 100644 index 0000000..90677b1 --- /dev/null +++ b/angular7demo/src/app/expressRoutes/LeagueRoutes.js @@ -0,0 +1,69 @@ +// leagueRoutes.js + +var express = require('express'); +var app = express(); +var leagueRoutes = express.Router(); + +// Require Item model in our routes module +var League = require('../models/League'); + +// Defined store route +leagueRoutes.route('/add').post(function (req, res) { + var league = new League(req.body); + league.save() + .then(item => { + res.status(200).json({'league': 'League added successfully'}); + }) + .catch(err => { + res.status(400).send("unable to save to database"); + }); +}); + +// Defined get data(index or listing) route +leagueRoutes.route('/').get(function (req, res) { + League.find(function (err, leagues){ + if(err){ + console.log(err); + } + else { + res.json(leagues); + } + }); +}); + +// Defined edit route +leagueRoutes.route('/edit/:id').get(function (req, res) { + var id = req.params.id; + League.findById(id, function (err, league){ + res.json(league); + }); +}); + +// Defined update route +leagueRoutes.route('/update/:id').post(function (req, res) { + League.findById(req.params.id, function(err, league) { + if (!league) + return next(new Error('Could not load a League Document using id ' + req.params.id)); + else { + league.name = req.body.name; + league.Players = req.body.Players; + + league.save().then(league => { + res.json('Update complete'); + }) + .catch(err => { + res.status(400).send("unable to update the database"); + }); + } + }); +}); + +// Defined delete | remove | destroy route +leagueRoutes.route('/delete/:id').get(function (req, res) { + League.findOneAndDelete({_id: req.params.id}, function(err, league){ + if(err) res.json(err); + else res.json('Successfully removed ' + League + ' using id ' + req.params.id ); + }); +}); + +module.exports = leagueRoutes; \ No newline at end of file diff --git a/angular7demo/src/app/expressRoutes/MatchupRoutes.js b/angular7demo/src/app/expressRoutes/MatchupRoutes.js new file mode 100644 index 0000000..a38c913 --- /dev/null +++ b/angular7demo/src/app/expressRoutes/MatchupRoutes.js @@ -0,0 +1,69 @@ +// matchupRoutes.js + +var express = require('express'); +var app = express(); +var matchupRoutes = express.Router(); + +// Require Item model in our routes module +var Matchup = require('../models/Matchup'); + +// Defined store route +matchupRoutes.route('/add').post(function (req, res) { + var matchup = new Matchup(req.body); + matchup.save() + .then(item => { + res.status(200).json({'matchup': 'Matchup added successfully'}); + }) + .catch(err => { + res.status(400).send("unable to save to database"); + }); +}); + +// Defined get data(index or listing) route +matchupRoutes.route('/').get(function (req, res) { + Matchup.find(function (err, matchups){ + if(err){ + console.log(err); + } + else { + res.json(matchups); + } + }); +}); + +// Defined edit route +matchupRoutes.route('/edit/:id').get(function (req, res) { + var id = req.params.id; + Matchup.findById(id, function (err, matchup){ + res.json(matchup); + }); +}); + +// Defined update route +matchupRoutes.route('/update/:id').post(function (req, res) { + Matchup.findById(req.params.id, function(err, matchup) { + if (!matchup) + return next(new Error('Could not load a Matchup Document using id ' + req.params.id)); + else { + matchup.name = req.body.name; + matchup.Games = req.body.Games; + + matchup.save().then(matchup => { + res.json('Update complete'); + }) + .catch(err => { + res.status(400).send("unable to update the database"); + }); + } + }); +}); + +// Defined delete | remove | destroy route +matchupRoutes.route('/delete/:id').get(function (req, res) { + Matchup.findOneAndDelete({_id: req.params.id}, function(err, matchup){ + if(err) res.json(err); + else res.json('Successfully removed ' + Matchup + ' using id ' + req.params.id ); + }); +}); + +module.exports = matchupRoutes; \ No newline at end of file diff --git a/angular7demo/src/app/expressRoutes/PlayerRoutes.js b/angular7demo/src/app/expressRoutes/PlayerRoutes.js new file mode 100644 index 0000000..338e387 --- /dev/null +++ b/angular7demo/src/app/expressRoutes/PlayerRoutes.js @@ -0,0 +1,71 @@ +// playerRoutes.js + +var express = require('express'); +var app = express(); +var playerRoutes = express.Router(); + +// Require Item model in our routes module +var Player = require('../models/Player'); + +// Defined store route +playerRoutes.route('/add').post(function (req, res) { + var player = new Player(req.body); + player.save() + .then(item => { + res.status(200).json({'player': 'Player added successfully'}); + }) + .catch(err => { + res.status(400).send("unable to save to database"); + }); +}); + +// Defined get data(index or listing) route +playerRoutes.route('/').get(function (req, res) { + Player.find(function (err, players){ + if(err){ + console.log(err); + } + else { + res.json(players); + } + }); +}); + +// Defined edit route +playerRoutes.route('/edit/:id').get(function (req, res) { + var id = req.params.id; + Player.findById(id, function (err, player){ + res.json(player); + }); +}); + +// Defined update route +playerRoutes.route('/update/:id').post(function (req, res) { + Player.findById(req.params.id, function(err, player) { + if (!player) + return next(new Error('Could not load a Player Document using id ' + req.params.id)); + else { + player.name = req.body.name; + player.dateOfBirth = req.body.dateOfBirth; + player.height = req.body.height; + player.isProfessional = req.body.isProfessional; + + player.save().then(player => { + res.json('Update complete'); + }) + .catch(err => { + res.status(400).send("unable to update the database"); + }); + } + }); +}); + +// Defined delete | remove | destroy route +playerRoutes.route('/delete/:id').get(function (req, res) { + Player.findOneAndDelete({_id: req.params.id}, function(err, player){ + if(err) res.json(err); + else res.json('Successfully removed ' + Player + ' using id ' + req.params.id ); + }); +}); + +module.exports = playerRoutes; \ No newline at end of file diff --git a/angular7demo/src/app/expressRoutes/TournamentRoutes.js b/angular7demo/src/app/expressRoutes/TournamentRoutes.js new file mode 100644 index 0000000..44c1e76 --- /dev/null +++ b/angular7demo/src/app/expressRoutes/TournamentRoutes.js @@ -0,0 +1,70 @@ +// tournamentRoutes.js + +var express = require('express'); +var app = express(); +var tournamentRoutes = express.Router(); + +// Require Item model in our routes module +var Tournament = require('../models/Tournament'); + +// Defined store route +tournamentRoutes.route('/add').post(function (req, res) { + var tournament = new Tournament(req.body); + tournament.save() + .then(item => { + res.status(200).json({'tournament': 'Tournament added successfully'}); + }) + .catch(err => { + res.status(400).send("unable to save to database"); + }); +}); + +// Defined get data(index or listing) route +tournamentRoutes.route('/').get(function (req, res) { + Tournament.find(function (err, tournaments){ + if(err){ + console.log(err); + } + else { + res.json(tournaments); + } + }); +}); + +// Defined edit route +tournamentRoutes.route('/edit/:id').get(function (req, res) { + var id = req.params.id; + Tournament.findById(id, function (err, tournament){ + res.json(tournament); + }); +}); + +// Defined update route +tournamentRoutes.route('/update/:id').post(function (req, res) { + Tournament.findById(req.params.id, function(err, tournament) { + if (!tournament) + return next(new Error('Could not load a Tournament Document using id ' + req.params.id)); + else { + tournament.name = req.body.name; + tournament.Matchups = req.body.Matchups; + tournament.Type = req.body.Type; + + tournament.save().then(tournament => { + res.json('Update complete'); + }) + .catch(err => { + res.status(400).send("unable to update the database"); + }); + } + }); +}); + +// Defined delete | remove | destroy route +tournamentRoutes.route('/delete/:id').get(function (req, res) { + Tournament.findOneAndDelete({_id: req.params.id}, function(err, tournament){ + if(err) res.json(err); + else res.json('Successfully removed ' + Tournament + ' using id ' + req.params.id ); + }); +}); + +module.exports = tournamentRoutes; \ No newline at end of file diff --git a/angular7demo/src/app/models/Alley.js b/angular7demo/src/app/models/Alley.js new file mode 100644 index 0000000..9c964cd --- /dev/null +++ b/angular7demo/src/app/models/Alley.js @@ -0,0 +1,22 @@ +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; + +// Define collection and schema for Alley +var Alley = new Schema({ + name: { + type : String + }, + Leagues: { + type : [{ type: Schema.Types.ObjectId, ref: 'League' }] + }, + Tournaments: { + type : [{ type: Schema.Types.ObjectId, ref: 'Tournament' }] + }, + Lanes: { + type : [{ type: Schema.Types.ObjectId, ref: 'Lane' }] + }, +},{ + collection: 'alleys' +}); + +module.exports = mongoose.model('Alley', Alley); \ No newline at end of file diff --git a/angular7demo/src/app/models/EnumTypes.js b/angular7demo/src/app/models/EnumTypes.js new file mode 100644 index 0000000..36ef95f --- /dev/null +++ b/angular7demo/src/app/models/EnumTypes.js @@ -0,0 +1,6 @@ + +// enum type ${$enumName} +export let TournamentType = { + Pro:"Pro", + Amateur:"Amateur", +} diff --git a/angular7demo/src/app/models/Game.js b/angular7demo/src/app/models/Game.js new file mode 100644 index 0000000..f8f3037 --- /dev/null +++ b/angular7demo/src/app/models/Game.js @@ -0,0 +1,19 @@ +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; + +// Define collection and schema for Game +var Game = new Schema({ + frames: { + type : String + }, + Matchup: { + type : Schema.Types.ObjectId + }, + Player: { + type : Schema.Types.ObjectId + }, +},{ + collection: 'games' +}); + +module.exports = mongoose.model('Game', Game); \ No newline at end of file diff --git a/angular7demo/src/app/models/Lane.js b/angular7demo/src/app/models/Lane.js new file mode 100644 index 0000000..af9e688 --- /dev/null +++ b/angular7demo/src/app/models/Lane.js @@ -0,0 +1,13 @@ +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; + +// Define collection and schema for Lane +var Lane = new Schema({ + number: { + type : String + }, +},{ + collection: 'lanes' +}); + +module.exports = mongoose.model('Lane', Lane); \ No newline at end of file diff --git a/angular7demo/src/app/models/League.js b/angular7demo/src/app/models/League.js new file mode 100644 index 0000000..0b8f57f --- /dev/null +++ b/angular7demo/src/app/models/League.js @@ -0,0 +1,16 @@ +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; + +// Define collection and schema for League +var League = new Schema({ + name: { + type : String + }, + Players: { + type : [{ type: Schema.Types.ObjectId, ref: 'Player' }] + }, +},{ + collection: 'leagues' +}); + +module.exports = mongoose.model('League', League); \ No newline at end of file diff --git a/angular7demo/src/app/models/Matchup.js b/angular7demo/src/app/models/Matchup.js new file mode 100644 index 0000000..db6e3ae --- /dev/null +++ b/angular7demo/src/app/models/Matchup.js @@ -0,0 +1,16 @@ +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; + +// Define collection and schema for Matchup +var Matchup = new Schema({ + name: { + type : String + }, + Games: { + type : [{ type: Schema.Types.ObjectId, ref: 'Game' }] + }, +},{ + collection: 'matchups' +}); + +module.exports = mongoose.model('Matchup', Matchup); \ No newline at end of file diff --git a/angular7demo/src/app/models/Player.js b/angular7demo/src/app/models/Player.js new file mode 100644 index 0000000..0cae50c --- /dev/null +++ b/angular7demo/src/app/models/Player.js @@ -0,0 +1,22 @@ +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; + +// Define collection and schema for Player +var Player = new Schema({ + name: { + type : String + }, + dateOfBirth: { + type : String + }, + height: { + type : String + }, + isProfessional: { + type : String + }, +},{ + collection: 'players' +}); + +module.exports = mongoose.model('Player', Player); \ No newline at end of file diff --git a/angular7demo/src/app/models/Tournament.js b/angular7demo/src/app/models/Tournament.js new file mode 100644 index 0000000..cddedb7 --- /dev/null +++ b/angular7demo/src/app/models/Tournament.js @@ -0,0 +1,19 @@ +var mongoose = require('mongoose'); +var Schema = mongoose.Schema; + +// Define collection and schema for Tournament +var Tournament = new Schema({ + name: { + type : String + }, + Matchups: { + type : [{ type: Schema.Types.ObjectId, ref: 'Matchup' }] + }, + Type: { + type : String + }, +},{ + collection: 'tournaments' +}); + +module.exports = mongoose.model('Tournament', Tournament); \ No newline at end of file diff --git a/angular7demo/src/app/routerConfig.ts b/angular7demo/src/app/routerConfig.ts new file mode 100644 index 0000000..cfb811e --- /dev/null +++ b/angular7demo/src/app/routerConfig.ts @@ -0,0 +1,109 @@ +// routerConfig.ts + +import { Routes } from '@angular/router'; +import { CreateAlleyComponent } from './components/Alley/create/create.component'; +import { EditAlleyComponent } from './components/Alley/edit/edit.component'; +import { IndexAlleyComponent } from './components/Alley/index/index.component'; +import { CreateGameComponent } from './components/Game/create/create.component'; +import { EditGameComponent } from './components/Game/edit/edit.component'; +import { IndexGameComponent } from './components/Game/index/index.component'; +import { CreateLaneComponent } from './components/Lane/create/create.component'; +import { EditLaneComponent } from './components/Lane/edit/edit.component'; +import { IndexLaneComponent } from './components/Lane/index/index.component'; +import { CreateLeagueComponent } from './components/League/create/create.component'; +import { EditLeagueComponent } from './components/League/edit/edit.component'; +import { IndexLeagueComponent } from './components/League/index/index.component'; +import { CreateMatchupComponent } from './components/Matchup/create/create.component'; +import { EditMatchupComponent } from './components/Matchup/edit/edit.component'; +import { IndexMatchupComponent } from './components/Matchup/index/index.component'; +import { CreatePlayerComponent } from './components/Player/create/create.component'; +import { EditPlayerComponent } from './components/Player/edit/edit.component'; +import { IndexPlayerComponent } from './components/Player/index/index.component'; +import { CreateTournamentComponent } from './components/Tournament/create/create.component'; +import { EditTournamentComponent } from './components/Tournament/edit/edit.component'; +import { IndexTournamentComponent } from './components/Tournament/index/index.component'; + +export const AlleyRoutes: Routes = [ + { path: 'createAlley', + component: CreateAlleyComponent + }, + { + path: 'editAlley/:id', + component: EditAlleyComponent + }, + { path: 'indexAlley', + component: IndexAlleyComponent + } +]; +export const GameRoutes: Routes = [ + { path: 'createGame', + component: CreateGameComponent + }, + { + path: 'editGame/:id', + component: EditGameComponent + }, + { path: 'indexGame', + component: IndexGameComponent + } +]; +export const LaneRoutes: Routes = [ + { path: 'createLane', + component: CreateLaneComponent + }, + { + path: 'editLane/:id', + component: EditLaneComponent + }, + { path: 'indexLane', + component: IndexLaneComponent + } +]; +export const LeagueRoutes: Routes = [ + { path: 'createLeague', + component: CreateLeagueComponent + }, + { + path: 'editLeague/:id', + component: EditLeagueComponent + }, + { path: 'indexLeague', + component: IndexLeagueComponent + } +]; +export const MatchupRoutes: Routes = [ + { path: 'createMatchup', + component: CreateMatchupComponent + }, + { + path: 'editMatchup/:id', + component: EditMatchupComponent + }, + { path: 'indexMatchup', + component: IndexMatchupComponent + } +]; +export const PlayerRoutes: Routes = [ + { path: 'createPlayer', + component: CreatePlayerComponent + }, + { + path: 'editPlayer/:id', + component: EditPlayerComponent + }, + { path: 'indexPlayer', + component: IndexPlayerComponent + } +]; +export const TournamentRoutes: Routes = [ + { path: 'createTournament', + component: CreateTournamentComponent + }, + { + path: 'editTournament/:id', + component: EditTournamentComponent + }, + { path: 'indexTournament', + component: IndexTournamentComponent + } +]; diff --git a/angular7demo/src/app/services/Alley.service.spec.ts b/angular7demo/src/app/services/Alley.service.spec.ts new file mode 100644 index 0000000..5a62464 --- /dev/null +++ b/angular7demo/src/app/services/Alley.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; + +import { AlleyService } from './Alley.service'; + +describe('AlleyService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ imports: [HttpClient, FormGroup, FormBuilder, Validators], providers: [AlleyService] }); + }); + + it('should be created', () => { + const service: AlleyService = TestBed.get(AlleyService); + expect(service).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/services/Alley.service.ts b/angular7demo/src/app/services/Alley.service.ts new file mode 100644 index 0000000..a32a4ae --- /dev/null +++ b/angular7demo/src/app/services/Alley.service.ts @@ -0,0 +1,306 @@ +import { Injectable } from '@angular/core'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; +import { Observable, Subject } from 'rxjs'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; +import {Alley} from '../models/Alley'; +import {LeagueService} from '../services/League.service'; +import {TournamentService} from '../services/Tournament.service'; +import {LaneService} from '../services/Lane.service'; +import { BaseService } from './base.service'; + +@Injectable() +export class AlleyService extends BaseService { + + //******************************************************************** + // general holder + //******************************************************************** + alley : any; + + //******************************************************************** + // Catch all for the return value of a service call + //******************************************************************** + result: any; + + //******************************************************************** + // sole constructor, injected with the HttpClient + //******************************************************************** + constructor(private http: HttpClient) { + super(); + } + + //******************************************************************** + // add a Alley + // returns the results untouched as a JSON representation + // delegates via URI to an ORM handler + //******************************************************************** + addAlley(name, Leagues, Tournaments, Lanes) : Promise { + const uri = this.ormUrl + '/Alley/add'; + const obj = { + name: name, + Leagues: Leagues != null && Leagues.length > 0 ? Leagues : null, + Tournaments: Tournaments != null && Tournaments.length > 0 ? Tournaments : null, + Lanes: Lanes != null && Lanes.length > 0 ? Lanes : null + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // gets all Alley + // returns the results untouched as JSON representation of an + // array of Alley models + // delegates via URI to an ORM handler + //******************************************************************** + getAlleys() { + const uri = this.ormUrl + '/Alley'; + + return this + .http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // edit a Alley + // returns the results untouched as a JSON representation of a + // Alley model + // delegates via URI to an ORM handler + //******************************************************************** + editAlley(id) { + const uri = this.ormUrl + '/Alley/edit/' + id; + + return this.http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // update a Alley + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + updateAlley(name, Leagues, Tournaments, Lanes, id) : Promise { + const uri = this.ormUrl + '/Alley/update/' + id; + const obj = { + name: name, + Leagues: Leagues != null && Leagues.length > 0 ? Leagues : null, + Tournaments: Tournaments != null && Tournaments.length > 0 ? Tournaments : null, + Lanes: Lanes != null && Lanes.length > 0 ? Lanes : null + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // delete a Alley + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + deleteAlley(id) : Promise { + const uri = this.ormUrl + '/Alley/delete/' + id; + + return this.http.get(uri).toPromise(); + } + + + //******************************************************************** + // adds one or more leaguesIds as a Leagues + // to a Alley + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + addLeagues( alleyId, leaguesIds ): Promise { + + // get the Alley + this.loadHelper( alleyId ); + + // split on a comma with no spaces + var idList = leaguesIds.split(',') + + // iterate over array of leagues ids + idList.forEach(function (id) { + // read the League + var league = new LeagueService(this.http).editLeague(id); + // add the League if not already assigned + if ( this.alley.leagues.indexOf(league) == -1 ) + this.alley.leagues.push(league); + }); + + // save it + return this.saveHelper(); + } + + //******************************************************************** + // removes one or more leaguesIds as a Leagues + // from a Alley + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + removeLeagues( alleyId, leaguesIds ): Promise { + + // get the Alley + this.loadHelper( alleyId ); + + + // split on a comma with no spaces + var idList = leaguesIds.split(','); + var leagues = this.alley.leagues; + + if ( leagues != null && leaguesIds != null ) { + + // iterate over array of leagues ids + leagues.forEach(function (obj) { + if ( leaguesIds.indexOf(obj._id) > -1 ) { + // remove the League + this.alley.leagues.pop(obj); + } + }); + + // save it + return this.saveHelper(); + } + } + + //******************************************************************** + // adds one or more tournamentsIds as a Tournaments + // to a Alley + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + addTournaments( alleyId, tournamentsIds ): Promise { + + // get the Alley + this.loadHelper( alleyId ); + + // split on a comma with no spaces + var idList = tournamentsIds.split(',') + + // iterate over array of tournaments ids + idList.forEach(function (id) { + // read the Tournament + var tournament = new TournamentService(this.http).editTournament(id); + // add the Tournament if not already assigned + if ( this.alley.tournaments.indexOf(tournament) == -1 ) + this.alley.tournaments.push(tournament); + }); + + // save it + return this.saveHelper(); + } + + //******************************************************************** + // removes one or more tournamentsIds as a Tournaments + // from a Alley + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + removeTournaments( alleyId, tournamentsIds ): Promise { + + // get the Alley + this.loadHelper( alleyId ); + + + // split on a comma with no spaces + var idList = tournamentsIds.split(','); + var tournaments = this.alley.tournaments; + + if ( tournaments != null && tournamentsIds != null ) { + + // iterate over array of tournaments ids + tournaments.forEach(function (obj) { + if ( tournamentsIds.indexOf(obj._id) > -1 ) { + // remove the Tournament + this.alley.tournaments.pop(obj); + } + }); + + // save it + return this.saveHelper(); + } + } + + //******************************************************************** + // adds one or more lanesIds as a Lanes + // to a Alley + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + addLanes( alleyId, lanesIds ): Promise { + + // get the Alley + this.loadHelper( alleyId ); + + // split on a comma with no spaces + var idList = lanesIds.split(',') + + // iterate over array of lanes ids + idList.forEach(function (id) { + // read the Lane + var lane = new LaneService(this.http).editLane(id); + // add the Lane if not already assigned + if ( this.alley.lanes.indexOf(lane) == -1 ) + this.alley.lanes.push(lane); + }); + + // save it + return this.saveHelper(); + } + + //******************************************************************** + // removes one or more lanesIds as a Lanes + // from a Alley + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + removeLanes( alleyId, lanesIds ): Promise { + + // get the Alley + this.loadHelper( alleyId ); + + + // split on a comma with no spaces + var idList = lanesIds.split(','); + var lanes = this.alley.lanes; + + if ( lanes != null && lanesIds != null ) { + + // iterate over array of lanes ids + lanes.forEach(function (obj) { + if ( lanesIds.indexOf(obj._id) > -1 ) { + // remove the Lane + this.alley.lanes.pop(obj); + } + }); + + // save it + return this.saveHelper(); + } + } + + + //******************************************************************** + // saveHelper - internal helper to save a Alley + //******************************************************************** + saveHelper() : Promise { + + const uri = this.ormUrl + '/Alley/update/' + this.alley._id; + + return this + .http + .post(uri, this.alley) + .toPromise(); + } + + //******************************************************************** + // loadHelper - internal helper to load a Alley + //******************************************************************** + loadHelper( id ) { + this.editAlley(id) + .subscribe(res => { + this.alley = res; + }); + } +} \ No newline at end of file diff --git a/angular7demo/src/app/services/Game.service.spec.ts b/angular7demo/src/app/services/Game.service.spec.ts new file mode 100644 index 0000000..8e38d80 --- /dev/null +++ b/angular7demo/src/app/services/Game.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; + +import { GameService } from './Game.service'; + +describe('GameService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ imports: [HttpClient, FormGroup, FormBuilder, Validators], providers: [GameService] }); + }); + + it('should be created', () => { + const service: GameService = TestBed.get(GameService); + expect(service).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/services/Game.service.ts b/angular7demo/src/app/services/Game.service.ts new file mode 100644 index 0000000..cb7c21c --- /dev/null +++ b/angular7demo/src/app/services/Game.service.ts @@ -0,0 +1,203 @@ +import { Injectable } from '@angular/core'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; +import { Observable, Subject } from 'rxjs'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; +import {Game} from '../models/Game'; +import {MatchupService} from '../services/Matchup.service'; +import {PlayerService} from '../services/Player.service'; +import { BaseService } from './base.service'; + +@Injectable() +export class GameService extends BaseService { + + //******************************************************************** + // general holder + //******************************************************************** + game : any; + + //******************************************************************** + // Catch all for the return value of a service call + //******************************************************************** + result: any; + + //******************************************************************** + // sole constructor, injected with the HttpClient + //******************************************************************** + constructor(private http: HttpClient) { + super(); + } + + //******************************************************************** + // add a Game + // returns the results untouched as a JSON representation + // delegates via URI to an ORM handler + //******************************************************************** + addGame(frames, Matchup, Player) : Promise { + const uri = this.ormUrl + '/Game/add'; + const obj = { + frames: frames, + Matchup: Matchup != null && Matchup.length > 0 ? Matchup : null, + Player: Player != null && Player.length > 0 ? Player : null + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // gets all Game + // returns the results untouched as JSON representation of an + // array of Game models + // delegates via URI to an ORM handler + //******************************************************************** + getGames() { + const uri = this.ormUrl + '/Game'; + + return this + .http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // edit a Game + // returns the results untouched as a JSON representation of a + // Game model + // delegates via URI to an ORM handler + //******************************************************************** + editGame(id) { + const uri = this.ormUrl + '/Game/edit/' + id; + + return this.http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // update a Game + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + updateGame(frames, Matchup, Player, id) : Promise { + const uri = this.ormUrl + '/Game/update/' + id; + const obj = { + frames: frames, + Matchup: Matchup != null && Matchup.length > 0 ? Matchup : null, + Player: Player != null && Player.length > 0 ? Player : null + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // delete a Game + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + deleteGame(id) : Promise { + const uri = this.ormUrl + '/Game/delete/' + id; + + return this.http.get(uri).toPromise(); + } + + //******************************************************************** + // assigns a Matchup on a Game + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + assignMatchup( gameId, matchupId ): Promise { + + // get the Game from storage + this.loadHelper( gameId ); + + // get the Matchup from storage + var matchup = new MatchupService(this.http).editMatchup(matchupId); + + // assign the Matchup + this.game.matchup = matchup; + + // save the Game + return this.saveHelper(); + } + + //******************************************************************** + // unassigns a Matchup on a Game + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + unassignMatchup( gameId ): Promise { + + // get the Game from storage + this.loadHelper( gameId ); + + // assign Matchup to null + this.game.matchup = null; + + // save the Game + return this.saveHelper(); + } + + //******************************************************************** + // assigns a Player on a Game + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + assignPlayer( gameId, playerId ): Promise { + + // get the Game from storage + this.loadHelper( gameId ); + + // get the Player from storage + var player = new PlayerService(this.http).editPlayer(playerId); + + // assign the Player + this.game.player = player; + + // save the Game + return this.saveHelper(); + } + + //******************************************************************** + // unassigns a Player on a Game + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + unassignPlayer( gameId ): Promise { + + // get the Game from storage + this.loadHelper( gameId ); + + // assign Player to null + this.game.player = null; + + // save the Game + return this.saveHelper(); + } + + + + //******************************************************************** + // saveHelper - internal helper to save a Game + //******************************************************************** + saveHelper() : Promise { + + const uri = this.ormUrl + '/Game/update/' + this.game._id; + + return this + .http + .post(uri, this.game) + .toPromise(); + } + + //******************************************************************** + // loadHelper - internal helper to load a Game + //******************************************************************** + loadHelper( id ) { + this.editGame(id) + .subscribe(res => { + this.game = res; + }); + } +} \ No newline at end of file diff --git a/angular7demo/src/app/services/Lane.service.spec.ts b/angular7demo/src/app/services/Lane.service.spec.ts new file mode 100644 index 0000000..fc32594 --- /dev/null +++ b/angular7demo/src/app/services/Lane.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; + +import { LaneService } from './Lane.service'; + +describe('LaneService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ imports: [HttpClient, FormGroup, FormBuilder, Validators], providers: [LaneService] }); + }); + + it('should be created', () => { + const service: LaneService = TestBed.get(LaneService); + expect(service).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/services/Lane.service.ts b/angular7demo/src/app/services/Lane.service.ts new file mode 100644 index 0000000..6ae1d2e --- /dev/null +++ b/angular7demo/src/app/services/Lane.service.ts @@ -0,0 +1,123 @@ +import { Injectable } from '@angular/core'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; +import { Observable, Subject } from 'rxjs'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; +import {Lane} from '../models/Lane'; +import { BaseService } from './base.service'; + +@Injectable() +export class LaneService extends BaseService { + + //******************************************************************** + // general holder + //******************************************************************** + lane : any; + + //******************************************************************** + // Catch all for the return value of a service call + //******************************************************************** + result: any; + + //******************************************************************** + // sole constructor, injected with the HttpClient + //******************************************************************** + constructor(private http: HttpClient) { + super(); + } + + //******************************************************************** + // add a Lane + // returns the results untouched as a JSON representation + // delegates via URI to an ORM handler + //******************************************************************** + addLane(number) : Promise { + const uri = this.ormUrl + '/Lane/add'; + const obj = { + number: number + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // gets all Lane + // returns the results untouched as JSON representation of an + // array of Lane models + // delegates via URI to an ORM handler + //******************************************************************** + getLanes() { + const uri = this.ormUrl + '/Lane'; + + return this + .http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // edit a Lane + // returns the results untouched as a JSON representation of a + // Lane model + // delegates via URI to an ORM handler + //******************************************************************** + editLane(id) { + const uri = this.ormUrl + '/Lane/edit/' + id; + + return this.http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // update a Lane + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + updateLane(number, id) : Promise { + const uri = this.ormUrl + '/Lane/update/' + id; + const obj = { + number: number + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // delete a Lane + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + deleteLane(id) : Promise { + const uri = this.ormUrl + '/Lane/delete/' + id; + + return this.http.get(uri).toPromise(); + } + + + + //******************************************************************** + // saveHelper - internal helper to save a Lane + //******************************************************************** + saveHelper() : Promise { + + const uri = this.ormUrl + '/Lane/update/' + this.lane._id; + + return this + .http + .post(uri, this.lane) + .toPromise(); + } + + //******************************************************************** + // loadHelper - internal helper to load a Lane + //******************************************************************** + loadHelper( id ) { + this.editLane(id) + .subscribe(res => { + this.lane = res; + }); + } +} \ No newline at end of file diff --git a/angular7demo/src/app/services/League.service.spec.ts b/angular7demo/src/app/services/League.service.spec.ts new file mode 100644 index 0000000..165dc7f --- /dev/null +++ b/angular7demo/src/app/services/League.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; + +import { LeagueService } from './League.service'; + +describe('LeagueService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ imports: [HttpClient, FormGroup, FormBuilder, Validators], providers: [LeagueService] }); + }); + + it('should be created', () => { + const service: LeagueService = TestBed.get(LeagueService); + expect(service).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/services/League.service.ts b/angular7demo/src/app/services/League.service.ts new file mode 100644 index 0000000..9e6f044 --- /dev/null +++ b/angular7demo/src/app/services/League.service.ts @@ -0,0 +1,184 @@ +import { Injectable } from '@angular/core'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; +import { Observable, Subject } from 'rxjs'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; +import {League} from '../models/League'; +import {PlayerService} from '../services/Player.service'; +import { BaseService } from './base.service'; + +@Injectable() +export class LeagueService extends BaseService { + + //******************************************************************** + // general holder + //******************************************************************** + league : any; + + //******************************************************************** + // Catch all for the return value of a service call + //******************************************************************** + result: any; + + //******************************************************************** + // sole constructor, injected with the HttpClient + //******************************************************************** + constructor(private http: HttpClient) { + super(); + } + + //******************************************************************** + // add a League + // returns the results untouched as a JSON representation + // delegates via URI to an ORM handler + //******************************************************************** + addLeague(name, Players) : Promise { + const uri = this.ormUrl + '/League/add'; + const obj = { + name: name, + Players: Players != null && Players.length > 0 ? Players : null + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // gets all League + // returns the results untouched as JSON representation of an + // array of League models + // delegates via URI to an ORM handler + //******************************************************************** + getLeagues() { + const uri = this.ormUrl + '/League'; + + return this + .http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // edit a League + // returns the results untouched as a JSON representation of a + // League model + // delegates via URI to an ORM handler + //******************************************************************** + editLeague(id) { + const uri = this.ormUrl + '/League/edit/' + id; + + return this.http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // update a League + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + updateLeague(name, Players, id) : Promise { + const uri = this.ormUrl + '/League/update/' + id; + const obj = { + name: name, + Players: Players != null && Players.length > 0 ? Players : null + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // delete a League + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + deleteLeague(id) : Promise { + const uri = this.ormUrl + '/League/delete/' + id; + + return this.http.get(uri).toPromise(); + } + + + //******************************************************************** + // adds one or more playersIds as a Players + // to a League + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + addPlayers( leagueId, playersIds ): Promise { + + // get the League + this.loadHelper( leagueId ); + + // split on a comma with no spaces + var idList = playersIds.split(',') + + // iterate over array of players ids + idList.forEach(function (id) { + // read the Player + var player = new PlayerService(this.http).editPlayer(id); + // add the Player if not already assigned + if ( this.league.players.indexOf(player) == -1 ) + this.league.players.push(player); + }); + + // save it + return this.saveHelper(); + } + + //******************************************************************** + // removes one or more playersIds as a Players + // from a League + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + removePlayers( leagueId, playersIds ): Promise { + + // get the League + this.loadHelper( leagueId ); + + + // split on a comma with no spaces + var idList = playersIds.split(','); + var players = this.league.players; + + if ( players != null && playersIds != null ) { + + // iterate over array of players ids + players.forEach(function (obj) { + if ( playersIds.indexOf(obj._id) > -1 ) { + // remove the Player + this.league.players.pop(obj); + } + }); + + // save it + return this.saveHelper(); + } + } + + + //******************************************************************** + // saveHelper - internal helper to save a League + //******************************************************************** + saveHelper() : Promise { + + const uri = this.ormUrl + '/League/update/' + this.league._id; + + return this + .http + .post(uri, this.league) + .toPromise(); + } + + //******************************************************************** + // loadHelper - internal helper to load a League + //******************************************************************** + loadHelper( id ) { + this.editLeague(id) + .subscribe(res => { + this.league = res; + }); + } +} \ No newline at end of file diff --git a/angular7demo/src/app/services/Matchup.service.spec.ts b/angular7demo/src/app/services/Matchup.service.spec.ts new file mode 100644 index 0000000..e62ccc9 --- /dev/null +++ b/angular7demo/src/app/services/Matchup.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; + +import { MatchupService } from './Matchup.service'; + +describe('MatchupService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ imports: [HttpClient, FormGroup, FormBuilder, Validators], providers: [MatchupService] }); + }); + + it('should be created', () => { + const service: MatchupService = TestBed.get(MatchupService); + expect(service).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/services/Matchup.service.ts b/angular7demo/src/app/services/Matchup.service.ts new file mode 100644 index 0000000..bdff7eb --- /dev/null +++ b/angular7demo/src/app/services/Matchup.service.ts @@ -0,0 +1,184 @@ +import { Injectable } from '@angular/core'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; +import { Observable, Subject } from 'rxjs'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; +import {Matchup} from '../models/Matchup'; +import {GameService} from '../services/Game.service'; +import { BaseService } from './base.service'; + +@Injectable() +export class MatchupService extends BaseService { + + //******************************************************************** + // general holder + //******************************************************************** + matchup : any; + + //******************************************************************** + // Catch all for the return value of a service call + //******************************************************************** + result: any; + + //******************************************************************** + // sole constructor, injected with the HttpClient + //******************************************************************** + constructor(private http: HttpClient) { + super(); + } + + //******************************************************************** + // add a Matchup + // returns the results untouched as a JSON representation + // delegates via URI to an ORM handler + //******************************************************************** + addMatchup(name, Games) : Promise { + const uri = this.ormUrl + '/Matchup/add'; + const obj = { + name: name, + Games: Games != null && Games.length > 0 ? Games : null + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // gets all Matchup + // returns the results untouched as JSON representation of an + // array of Matchup models + // delegates via URI to an ORM handler + //******************************************************************** + getMatchups() { + const uri = this.ormUrl + '/Matchup'; + + return this + .http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // edit a Matchup + // returns the results untouched as a JSON representation of a + // Matchup model + // delegates via URI to an ORM handler + //******************************************************************** + editMatchup(id) { + const uri = this.ormUrl + '/Matchup/edit/' + id; + + return this.http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // update a Matchup + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + updateMatchup(name, Games, id) : Promise { + const uri = this.ormUrl + '/Matchup/update/' + id; + const obj = { + name: name, + Games: Games != null && Games.length > 0 ? Games : null + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // delete a Matchup + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + deleteMatchup(id) : Promise { + const uri = this.ormUrl + '/Matchup/delete/' + id; + + return this.http.get(uri).toPromise(); + } + + + //******************************************************************** + // adds one or more gamesIds as a Games + // to a Matchup + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + addGames( matchupId, gamesIds ): Promise { + + // get the Matchup + this.loadHelper( matchupId ); + + // split on a comma with no spaces + var idList = gamesIds.split(',') + + // iterate over array of games ids + idList.forEach(function (id) { + // read the Game + var game = new GameService(this.http).editGame(id); + // add the Game if not already assigned + if ( this.matchup.games.indexOf(game) == -1 ) + this.matchup.games.push(game); + }); + + // save it + return this.saveHelper(); + } + + //******************************************************************** + // removes one or more gamesIds as a Games + // from a Matchup + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + removeGames( matchupId, gamesIds ): Promise { + + // get the Matchup + this.loadHelper( matchupId ); + + + // split on a comma with no spaces + var idList = gamesIds.split(','); + var games = this.matchup.games; + + if ( games != null && gamesIds != null ) { + + // iterate over array of games ids + games.forEach(function (obj) { + if ( gamesIds.indexOf(obj._id) > -1 ) { + // remove the Game + this.matchup.games.pop(obj); + } + }); + + // save it + return this.saveHelper(); + } + } + + + //******************************************************************** + // saveHelper - internal helper to save a Matchup + //******************************************************************** + saveHelper() : Promise { + + const uri = this.ormUrl + '/Matchup/update/' + this.matchup._id; + + return this + .http + .post(uri, this.matchup) + .toPromise(); + } + + //******************************************************************** + // loadHelper - internal helper to load a Matchup + //******************************************************************** + loadHelper( id ) { + this.editMatchup(id) + .subscribe(res => { + this.matchup = res; + }); + } +} \ No newline at end of file diff --git a/angular7demo/src/app/services/Player.service.spec.ts b/angular7demo/src/app/services/Player.service.spec.ts new file mode 100644 index 0000000..3b428e6 --- /dev/null +++ b/angular7demo/src/app/services/Player.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; + +import { PlayerService } from './Player.service'; + +describe('PlayerService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ imports: [HttpClient, FormGroup, FormBuilder, Validators], providers: [PlayerService] }); + }); + + it('should be created', () => { + const service: PlayerService = TestBed.get(PlayerService); + expect(service).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/services/Player.service.ts b/angular7demo/src/app/services/Player.service.ts new file mode 100644 index 0000000..d7c432a --- /dev/null +++ b/angular7demo/src/app/services/Player.service.ts @@ -0,0 +1,129 @@ +import { Injectable } from '@angular/core'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; +import { Observable, Subject } from 'rxjs'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; +import {Player} from '../models/Player'; +import { BaseService } from './base.service'; + +@Injectable() +export class PlayerService extends BaseService { + + //******************************************************************** + // general holder + //******************************************************************** + player : any; + + //******************************************************************** + // Catch all for the return value of a service call + //******************************************************************** + result: any; + + //******************************************************************** + // sole constructor, injected with the HttpClient + //******************************************************************** + constructor(private http: HttpClient) { + super(); + } + + //******************************************************************** + // add a Player + // returns the results untouched as a JSON representation + // delegates via URI to an ORM handler + //******************************************************************** + addPlayer(name, dateOfBirth, height, isProfessional) : Promise { + const uri = this.ormUrl + '/Player/add'; + const obj = { + name: name, + dateOfBirth: dateOfBirth, + height: height, + isProfessional: isProfessional + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // gets all Player + // returns the results untouched as JSON representation of an + // array of Player models + // delegates via URI to an ORM handler + //******************************************************************** + getPlayers() { + const uri = this.ormUrl + '/Player'; + + return this + .http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // edit a Player + // returns the results untouched as a JSON representation of a + // Player model + // delegates via URI to an ORM handler + //******************************************************************** + editPlayer(id) { + const uri = this.ormUrl + '/Player/edit/' + id; + + return this.http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // update a Player + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + updatePlayer(name, dateOfBirth, height, isProfessional, id) : Promise { + const uri = this.ormUrl + '/Player/update/' + id; + const obj = { + name: name, + dateOfBirth: dateOfBirth, + height: height, + isProfessional: isProfessional + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // delete a Player + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + deletePlayer(id) : Promise { + const uri = this.ormUrl + '/Player/delete/' + id; + + return this.http.get(uri).toPromise(); + } + + + + //******************************************************************** + // saveHelper - internal helper to save a Player + //******************************************************************** + saveHelper() : Promise { + + const uri = this.ormUrl + '/Player/update/' + this.player._id; + + return this + .http + .post(uri, this.player) + .toPromise(); + } + + //******************************************************************** + // loadHelper - internal helper to load a Player + //******************************************************************** + loadHelper( id ) { + this.editPlayer(id) + .subscribe(res => { + this.player = res; + }); + } +} \ No newline at end of file diff --git a/angular7demo/src/app/services/Tournament.service.spec.ts b/angular7demo/src/app/services/Tournament.service.spec.ts new file mode 100644 index 0000000..56331bc --- /dev/null +++ b/angular7demo/src/app/services/Tournament.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; + +import { TournamentService } from './Tournament.service'; + +describe('TournamentService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ imports: [HttpClient, FormGroup, FormBuilder, Validators], providers: [TournamentService] }); + }); + + it('should be created', () => { + const service: TournamentService = TestBed.get(TournamentService); + expect(service).toBeTruthy(); + }); +}); diff --git a/angular7demo/src/app/services/Tournament.service.ts b/angular7demo/src/app/services/Tournament.service.ts new file mode 100644 index 0000000..0796fb1 --- /dev/null +++ b/angular7demo/src/app/services/Tournament.service.ts @@ -0,0 +1,186 @@ +import { Injectable } from '@angular/core'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; +import { Observable, Subject } from 'rxjs'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/toPromise'; +import {Tournament} from '../models/Tournament'; +import {MatchupService} from '../services/Matchup.service'; +import { BaseService } from './base.service'; + +@Injectable() +export class TournamentService extends BaseService { + + //******************************************************************** + // general holder + //******************************************************************** + tournament : any; + + //******************************************************************** + // Catch all for the return value of a service call + //******************************************************************** + result: any; + + //******************************************************************** + // sole constructor, injected with the HttpClient + //******************************************************************** + constructor(private http: HttpClient) { + super(); + } + + //******************************************************************** + // add a Tournament + // returns the results untouched as a JSON representation + // delegates via URI to an ORM handler + //******************************************************************** + addTournament(name, Matchups, Type) : Promise { + const uri = this.ormUrl + '/Tournament/add'; + const obj = { + name: name, + Matchups: Matchups != null && Matchups.length > 0 ? Matchups : null, + Type: Type + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // gets all Tournament + // returns the results untouched as JSON representation of an + // array of Tournament models + // delegates via URI to an ORM handler + //******************************************************************** + getTournaments() { + const uri = this.ormUrl + '/Tournament'; + + return this + .http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // edit a Tournament + // returns the results untouched as a JSON representation of a + // Tournament model + // delegates via URI to an ORM handler + //******************************************************************** + editTournament(id) { + const uri = this.ormUrl + '/Tournament/edit/' + id; + + return this.http.get(uri).map(res => { + return res; + }); + } + + //******************************************************************** + // update a Tournament + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + updateTournament(name, Matchups, Type, id) : Promise { + const uri = this.ormUrl + '/Tournament/update/' + id; + const obj = { + name: name, + Matchups: Matchups != null && Matchups.length > 0 ? Matchups : null, + Type: Type + }; + + return this.http.post(uri, obj).toPromise(); + } + + //******************************************************************** + // delete a Tournament + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + deleteTournament(id) : Promise { + const uri = this.ormUrl + '/Tournament/delete/' + id; + + return this.http.get(uri).toPromise(); + } + + + //******************************************************************** + // adds one or more matchupsIds as a Matchups + // to a Tournament + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + addMatchups( tournamentId, matchupsIds ): Promise { + + // get the Tournament + this.loadHelper( tournamentId ); + + // split on a comma with no spaces + var idList = matchupsIds.split(',') + + // iterate over array of matchups ids + idList.forEach(function (id) { + // read the Matchup + var matchup = new MatchupService(this.http).editMatchup(id); + // add the Matchup if not already assigned + if ( this.tournament.matchups.indexOf(matchup) == -1 ) + this.tournament.matchups.push(matchup); + }); + + // save it + return this.saveHelper(); + } + + //******************************************************************** + // removes one or more matchupsIds as a Matchups + // from a Tournament + // returns a Promise + // delegates via URI to an ORM handler + //******************************************************************** + removeMatchups( tournamentId, matchupsIds ): Promise { + + // get the Tournament + this.loadHelper( tournamentId ); + + + // split on a comma with no spaces + var idList = matchupsIds.split(','); + var matchups = this.tournament.matchups; + + if ( matchups != null && matchupsIds != null ) { + + // iterate over array of matchups ids + matchups.forEach(function (obj) { + if ( matchupsIds.indexOf(obj._id) > -1 ) { + // remove the Matchup + this.tournament.matchups.pop(obj); + } + }); + + // save it + return this.saveHelper(); + } + } + + + //******************************************************************** + // saveHelper - internal helper to save a Tournament + //******************************************************************** + saveHelper() : Promise { + + const uri = this.ormUrl + '/Tournament/update/' + this.tournament._id; + + return this + .http + .post(uri, this.tournament) + .toPromise(); + } + + //******************************************************************** + // loadHelper - internal helper to load a Tournament + //******************************************************************** + loadHelper( id ) { + this.editTournament(id) + .subscribe(res => { + this.tournament = res; + }); + } +} \ No newline at end of file diff --git a/angular7demo/src/app/services/base.service.ts b/angular7demo/src/app/services/base.service.ts new file mode 100644 index 0000000..2e4ab61 --- /dev/null +++ b/angular7demo/src/app/services/base.service.ts @@ -0,0 +1,12 @@ +/** + Base class of all Components. + For convenience, contains all enums and entity lists +**/ +export class BaseService { + + public ormUrl: string; + + constructor() { + this.ormUrl = 'http://localhost:4000'; + } +} \ No newline at end of file diff --git a/angular7demo/src/assets/css/compiled.min.css b/angular7demo/src/assets/css/compiled.min.css new file mode 100644 index 0000000..43e52a4 --- /dev/null +++ b/angular7demo/src/assets/css/compiled.min.css @@ -0,0 +1 @@ +.pswp__container,.pswp__img,.waves-effect,a,html{-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus,button:focus{outline:0!important}address,dl,ol,p,ul{margin-bottom:1rem}caption,th{text-align:left}dd,h1,h2,h3,h4,h5,h6,label{margin-bottom:.5rem}button,hr,input{overflow:visible}address,legend{line-height:inherit}progress,sub,sup{vertical-align:baseline}pre,textarea{overflow:auto}.btn,.custom-control-indicator{-moz-user-select:none;-ms-user-select:none}.dropdown-menu,.nav,.navbar-nav{list-style:none}.btn-group-vertical,.custom-controls-stacked,.form-inline{-webkit-box-direction:normal}.pswp,html{-webkit-text-size-adjust:100%}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,::after,::before{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999}thead{display:table-header-group}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}article,aside,dialog,figcaption,figure,footer,header,hgroup,legend,main,nav,section{display:block}label,output{display:inline-block}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}body{margin:0;font-size:1rem;line-height:1.5;color:#212529;background-color:#fff}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}dl,h1,h2,h3,h4,h5,h6,ol,p,ul{margin-top:0}abbr[data-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{font-style:normal}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-left:0}blockquote,figure{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-size:1em}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;caption-side:bottom}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;color:inherit;white-space:normal}.badge,.dropdown-header,.dropdown-item,.input-group-btn,.navbar-brand{white-space:nowrap}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}.display-1,.display-2,.display-3,.display-4{line-height:1.1}summary{display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.blockquote,hr{margin-bottom:1rem}.display-1,.display-2,.display-3,.display-4,.lead{font-weight:300}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem}.display-1{font-size:6rem}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-4{font-size:3.5rem}hr{margin-top:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#868e96}code,kbd{font-size:90%}.blockquote-footer::before{content:"\2014 \00A0"}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.table,pre{margin-bottom:1rem}.figure-caption{font-size:90%;color:#868e96}a>code,pre code{padding:0;color:inherit}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;color:#bd4147;background-color:#f8f9fa;border-radius:.25rem}a>code{background-color:inherit}kbd{padding:.2rem .4rem;color:#fff;background-color:#212529;border-radius:.2rem}.table,pre code{background-color:transparent}kbd kbd{padding:0;font-size:100%;font-weight:700}.btn,.btn-link,.dropdown-item{font-weight:400}pre{display:block;margin-top:0;font-size:90%;color:#212529}.form-check-input,.form-text,.invalid-feedback{margin-top:.25rem}pre code{font-size:inherit;border-radius:0}.container,.container-fluid{margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px;width:100%}.pre-scrollable{max-height:340px;overflow-y:scroll}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.row{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.form-control,.form-control-file,.form-control-range,.form-text{display:block}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;-webkit-flex-basis:0;flex-basis:0;-ms-flex-positive:1;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;-webkit-box-flex:0;-webkit-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;-webkit-box-flex:0;-webkit-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;-webkit-box-flex:0;-webkit-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;-webkit-box-flex:0;-webkit-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-1{-ms-flex-order:1;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.order-2{-ms-flex-order:2;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.order-3{-ms-flex-order:3;-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.order-4{-ms-flex-order:4;-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.order-5{-ms-flex-order:5;-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.order-6{-ms-flex-order:6;-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.order-7{-ms-flex-order:7;-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.order-8{-ms-flex-order:8;-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.order-9{-ms-flex-order:9;-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.order-10{-ms-flex-order:10;-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.order-11{-ms-flex-order:11;-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.order-12{-ms-flex-order:12;-webkit-box-ordinal-group:13;-webkit-order:12;order:12}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;-webkit-flex-basis:0;flex-basis:0;-ms-flex-positive:1;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;-webkit-box-flex:0;-webkit-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;-webkit-box-flex:0;-webkit-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;-webkit-box-flex:0;-webkit-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;-webkit-box-flex:0;-webkit-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-1{-ms-flex-order:1;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.order-sm-2{-ms-flex-order:2;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.order-sm-3{-ms-flex-order:3;-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.order-sm-4{-ms-flex-order:4;-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.order-sm-5{-ms-flex-order:5;-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.order-sm-6{-ms-flex-order:6;-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.order-sm-7{-ms-flex-order:7;-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.order-sm-8{-ms-flex-order:8;-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.order-sm-9{-ms-flex-order:9;-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.order-sm-10{-ms-flex-order:10;-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.order-sm-11{-ms-flex-order:11;-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.order-sm-12{-ms-flex-order:12;-webkit-box-ordinal-group:13;-webkit-order:12;order:12}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;-webkit-flex-basis:0;flex-basis:0;-ms-flex-positive:1;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;-webkit-box-flex:0;-webkit-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;-webkit-box-flex:0;-webkit-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;-webkit-box-flex:0;-webkit-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;-webkit-box-flex:0;-webkit-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-1{-ms-flex-order:1;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.order-md-2{-ms-flex-order:2;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.order-md-3{-ms-flex-order:3;-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.order-md-4{-ms-flex-order:4;-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.order-md-5{-ms-flex-order:5;-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.order-md-6{-ms-flex-order:6;-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.order-md-7{-ms-flex-order:7;-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.order-md-8{-ms-flex-order:8;-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.order-md-9{-ms-flex-order:9;-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.order-md-10{-ms-flex-order:10;-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.order-md-11{-ms-flex-order:11;-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.order-md-12{-ms-flex-order:12;-webkit-box-ordinal-group:13;-webkit-order:12;order:12}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;-webkit-flex-basis:0;flex-basis:0;-ms-flex-positive:1;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;-webkit-box-flex:0;-webkit-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;-webkit-box-flex:0;-webkit-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;-webkit-box-flex:0;-webkit-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;-webkit-box-flex:0;-webkit-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-1{-ms-flex-order:1;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.order-lg-2{-ms-flex-order:2;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.order-lg-3{-ms-flex-order:3;-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.order-lg-4{-ms-flex-order:4;-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.order-lg-5{-ms-flex-order:5;-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.order-lg-6{-ms-flex-order:6;-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.order-lg-7{-ms-flex-order:7;-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.order-lg-8{-ms-flex-order:8;-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.order-lg-9{-ms-flex-order:9;-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.order-lg-10{-ms-flex-order:10;-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.order-lg-11{-ms-flex-order:11;-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.order-lg-12{-ms-flex-order:12;-webkit-box-ordinal-group:13;-webkit-order:12;order:12}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;-webkit-flex-basis:0;flex-basis:0;-ms-flex-positive:1;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;-webkit-box-flex:0;-webkit-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;-webkit-box-flex:0;-webkit-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;-webkit-box-flex:0;-webkit-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;-webkit-box-flex:0;-webkit-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-1{-ms-flex-order:1;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.order-xl-2{-ms-flex-order:2;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.order-xl-3{-ms-flex-order:3;-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.order-xl-4{-ms-flex-order:4;-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.order-xl-5{-ms-flex-order:5;-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.order-xl-6{-ms-flex-order:6;-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.order-xl-7{-ms-flex-order:7;-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.order-xl-8{-ms-flex-order:8;-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.order-xl-9{-ms-flex-order:9;-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.order-xl-10{-ms-flex-order:10;-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.order-xl-11{-ms-flex-order:11;-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.order-xl-12{-ms-flex-order:12;-webkit-box-ordinal-group:13;-webkit-order:12;order:12}}.table{width:100%;max-width:100%}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #e9ecef}.table thead th{vertical-align:bottom;border-bottom:2px solid #e9ecef}.table tbody+tbody{border-top:2px solid #e9ecef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #e9ecef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#dddfe2}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#cfd2d6}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.thead-inverse th{color:#fff;background-color:#212529}.thead-default th{color:#495057;background-color:#e9ecef}.table-inverse{color:#fff;background-color:#212529}.table-inverse.table-bordered{border:0}.table-inverse.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-inverse.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:991px){.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}}.collapsing,.modal,.modal-open{overflow:hidden}.form-control{width:100%;color:#495057;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0}.form-control::-webkit-input-placeholder{color:#868e96;opacity:1}.form-control:-ms-input-placeholder{color:#868e96;opacity:1}.form-control::-moz-placeholder{color:#868e96;opacity:1}.form-control::placeholder{color:#868e96;opacity:1}.form-control:disabled,.form-control[readonly]{opacity:1}select.form-control:not([size]):not([multiple]){height:-webkit-calc(2.25rem + 2px);height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.col-form-label{padding-top:-webkit-calc(.5rem - 1px * 2);padding-top:calc(.5rem - 1px * 2);padding-bottom:-webkit-calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:-webkit-calc(.5rem - 1px * 2);padding-top:calc(.5rem - 1px * 2);padding-bottom:-webkit-calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:-webkit-calc(.25rem - 1px * 2);padding-top:calc(.25rem - 1px * 2);padding-bottom:-webkit-calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend,.form-control-plaintext{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0}.col-form-legend{font-size:1rem}.form-control-plaintext{line-height:1.25;border:solid transparent;border-width:1px 0}.custom-file-input.is-valid~.custom-file-control,.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-file-input:valid~.custom-file-control,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.form-control-plaintext.input-group-addon,.input-group-lg>.input-group-btn>.form-control-plaintext.btn,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.form-control-plaintext.input-group-addon,.input-group-sm>.input-group-btn>.form-control-plaintext.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:-webkit-calc(1.8125rem + 2px);height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:-webkit-calc(2.3125rem + 2px);height:calc(2.3125rem + 2px)}.form-group{margin-bottom:1rem}.form-row{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#868e96}.form-check-label{padding-left:1.25rem;margin-bottom:0}.form-check-input{position:absolute;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.invalid-feedback{display:none;font-size:.875rem;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;width:250px;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.custom-select.is-valid~.invalid-feedback,.custom-select.is-valid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.form-control.is-valid~.invalid-feedback,.form-control.is-valid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .custom-select:valid~.invalid-feedback,.was-validated .custom-select:valid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip,.was-validated .form-control:valid~.invalid-feedback,.was-validated .form-control:valid~.invalid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-description,.form-check-input.is-valid+.form-check-label,.was-validated .custom-control-input:valid~.custom-control-description,.was-validated .form-check-input:valid+.form-check-label{color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.25);box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid~.custom-control-indicator,.was-validated .custom-control-input:valid~.custom-control-indicator{background-color:rgba(40,167,69,.25)}.custom-control-input.is-invalid~.custom-control-description,.form-check-input.is-invalid+.form-check-label,.was-validated .custom-control-input:invalid~.custom-control-description,.was-validated .form-check-input:invalid+.form-check-label{color:#dc3545}.custom-file-input.is-valid~.custom-file-control::before,.was-validated .custom-file-input:valid~.custom-file-control::before{border-color:inherit}.custom-file-input.is-invalid~.custom-file-control,.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-file-input:invalid~.custom-file-control,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-file-input.is-valid:focus,.was-validated .custom-file-input:valid:focus{-webkit-box-shadow:0 0 0 .2rem rgba(40,167,69,.25);box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.25);box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid~.custom-control-indicator,.was-validated .custom-control-input:invalid~.custom-control-indicator{background-color:rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-control::before,.was-validated .custom-file-input:invalid~.custom-file-control::before{border-color:inherit}.custom-file-input.is-invalid:focus,.was-validated .custom-file-input:invalid:focus{-webkit-box-shadow:0 0 0 .2rem rgba(220,53,69,.25);box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-box-orient:horizontal;-webkit-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;margin-bottom:0}.form-inline .form-check,.form-inline .form-group{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;margin-bottom:0}.form-inline .form-group{display:flex;-ms-flex:0 0 auto;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:flex;-ms-flex-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;width:auto;margin-top:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn-block,input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.collapsing,.dropdown,.dropup{position:relative}.btn{display:inline-block;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;line-height:1.25}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 3px rgba(0,123,255,.25);box-shadow:0 0 0 3px rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;border-color:#007bff}.btn-primary:hover{color:#fff;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 3px rgba(0,123,255,.5);box-shadow:0 0 0 3px rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#007bff;border-color:#007bff}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{background-color:#0069d9;background-image:none;border-color:#0062cc}.btn-secondary{color:#fff;border-color:#868e96}.btn-secondary:hover{color:#fff;border-color:#6c757d}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 3px rgba(134,142,150,.5);box-shadow:0 0 0 3px rgba(134,142,150,.5)}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{background-color:#727b84;background-image:none;border-color:#6c757d}.btn-success{color:#fff;border-color:#28a745}.btn-success:hover{color:#fff;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 3px rgba(40,167,69,.5);box-shadow:0 0 0 3px rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#28a745;border-color:#28a745}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{background-color:#218838;background-image:none;border-color:#1e7e34}.btn-info{color:#fff;border-color:#17a2b8}.btn-info:hover{color:#fff;border-color:#117a8b}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 3px rgba(23,162,184,.5);box-shadow:0 0 0 3px rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#17a2b8;border-color:#17a2b8}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{background-color:#138496;background-image:none;border-color:#117a8b}.btn-warning{color:#111;border-color:#ffc107}.btn-warning:hover{color:#111;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 3px rgba(255,193,7,.5);box-shadow:0 0 0 3px rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#ffc107;border-color:#ffc107}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{background-color:#e0a800;background-image:none;border-color:#d39e00}.btn-danger{color:#fff;border-color:#dc3545}.btn-danger:hover{color:#fff;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 3px rgba(220,53,69,.5);box-shadow:0 0 0 3px rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#dc3545;border-color:#dc3545}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{background-color:#c82333;background-image:none;border-color:#bd2130}.btn-light{color:#111;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#111;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{-webkit-box-shadow:0 0 0 3px rgba(248,249,250,.5);box-shadow:0 0 0 3px rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{background-color:#f8f9fa;border-color:#f8f9fa}.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{background-color:#e2e6ea;background-image:none;border-color:#dae0e5}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{-webkit-box-shadow:0 0 0 3px rgba(52,58,64,.5);box-shadow:0 0 0 3px rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{background-color:#343a40;border-color:#343a40}.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{background-color:#23272b;background-image:none;border-color:#1d2124}.btn-outline-primary{background-image:none}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 3px rgba(0,123,255,.5);box-shadow:0 0 0 3px rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-secondary{background-image:none}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 3px rgba(134,142,150,.5);box-shadow:0 0 0 3px rgba(134,142,150,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#868e96;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#868e96;border-color:#868e96}.btn-outline-success{background-image:none}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 3px rgba(40,167,69,.5);box-shadow:0 0 0 3px rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-info{background-image:none}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 3px rgba(23,162,184,.5);box-shadow:0 0 0 3px rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-warning{background-image:none}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 3px rgba(255,193,7,.5);box-shadow:0 0 0 3px rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#ffc107;border-color:#ffc107}.btn-outline-danger{background-image:none}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 3px rgba(220,53,69,.5);box-shadow:0 0 0 3px rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#fff;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{-webkit-box-shadow:0 0 0 3px rgba(248,249,250,.5);box-shadow:0 0 0 3px rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light.active,.btn-outline-light:active,.show>.btn-outline-light.dropdown-toggle{color:#fff;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{-webkit-box-shadow:0 0 0 3px rgba(52,58,64,.5);box-shadow:0 0 0 3px rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark.active,.btn-outline-dark:active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-link{border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#868e96}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block}.btn-block+.btn-block{margin-top:.5rem}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{height:0;-webkit-transition:height .35s ease;transition:height .35s ease}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropup .dropdown-menu{margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;color:#212529;text-align:inherit;background:0 0;border:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle),.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#868e96;background-color:transparent}.show>a{outline:0}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#868e96}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;vertical-align:middle}.btn-toolbar,.input-group{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;margin-bottom:0}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn+.dropdown-toggle-split::after,.btn-group>.btn:first-child{margin-left:0}.btn-toolbar{display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn+.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{display:-ms-inline-flexbox;display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;-ms-flex-align:start;-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.custom-control,.input-group,.input-group-btn,.input-group-btn>.btn{position:relative}.input-group{display:flex;width:100%}.input-group .form-control{position:relative;z-index:2;-ms-flex:1 1 auto;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover,.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.input-group-addon,.input-group-btn{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#495057;text-align:center;background-color:#e9ecef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.alert-link,.badge,.close{font-weight:700}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{font-size:0}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{display:-ms-inline-flexbox;display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #007bff;box-shadow:0 0 0 1px #fff,0 0 0 3px #007bff}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-indicator{background-color:#e9ecef}.custom-control-input:disabled~.custom-control-description{color:#868e96}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-file-control,.waves-effect{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#007bff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column}.custom-file,.custom-select{display:inline-block;max-width:100%}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{height:-webkit-calc(2.25rem + 2px);height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#495057;vertical-align:middle;background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center no-repeat #fff;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pswp__button,[type=reset],[type=submit],button,button.close,html [type=button],input[type=range]{-webkit-appearance:none}.custom-select:focus{border-color:#80bdff;outline:0}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select:disabled{color:#868e96;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:-webkit-calc(1.8125rem + 2px);height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;height:2.5rem;margin-bottom:0}.custom-file-control,.custom-file-control::before{position:absolute;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#495057}.custom-file-input{min-width:14rem;max-width:100%;height:2.5rem;margin:0;opacity:0}.custom-file-control{top:0;right:0;left:0;z-index:5;pointer-events:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en):empty::after{content:"Choose file..."}.custom-file-control::before{top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;background-color:#e9ecef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.modal,.modal-backdrop,.popover.bs-popover-auto[x-placement^=top] .arrow,.popover.bs-popover-top .arrow,.tooltip.bs-tooltip-auto[x-placement^=top] .arrow,.tooltip.bs-tooltip-top .arrow{bottom:0}.nav,.navbar{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;-ms-flex-wrap:wrap}.custom-file-control:lang(en)::before{content:"Browse"}.breadcrumb::after,.navbar-toggler-icon{content:""}.nav{display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0}.nav-link,.navbar{padding:.5rem 1rem}.nav-link{display:block}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#868e96}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #ddd}.nav-tabs .nav-link.disabled{color:#868e96;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.show>.nav-pills .nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;-webkit-flex-basis:0;flex-basis:0;-ms-flex-positive:1;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.navbar-expand,.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;-webkit-flex-basis:100%;flex-basis:100%;-ms-flex-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background:center center no-repeat;background-size:100% 100%}@media (max-width:575px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm,.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-sm{-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:-webkit-box!important;display:-webkit-flex!important;display:flex!important}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md,.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-md{-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:-webkit-box!important;display:-webkit-flex!important;display:flex!important}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg,.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-lg{-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:-webkit-box!important;display:-webkit-flex!important;display:flex!important}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl,.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.navbar-expand-xl{-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:-webkit-box!important;display:-webkit-flex!important;display:flex!important}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.card,.list-group{-ms-flex-direction:column}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:-webkit-box!important;display:-webkit-flex!important;display:flex!important}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.card{position:relative;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125)}.card-body{-ms-flex:1 1 auto;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-footer,.card-header{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03)}.card-title{margin-bottom:.75rem}.card-header,.card-subtitle,.card-text:last-child{margin-bottom:0}.card-subtitle{margin-top:-.375rem}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-header{border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:-webkit-calc(.25rem - 1px) -webkit-calc(.25rem - 1px) 0 0;border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 -webkit-calc(.25rem - 1px) -webkit-calc(.25rem - 1px);border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:-webkit-calc(.25rem - 1px);border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:-webkit-calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:-webkit-calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:-webkit-calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:-webkit-calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck,.card-deck .card{-webkit-box-direction:normal}.card-deck{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-box-orient:horizontal;-webkit-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex:1 0 0%;-webkit-box-flex:1;-webkit-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;margin-right:15px;margin-left:15px}.card-group{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-ms-flex:1 0 0%;-webkit-box-flex:1;-webkit-flex:1 0 0%;flex:1 0 0%}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child),.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.list-group,.modal-content{-webkit-box-orient:vertical;-webkit-box-direction:normal}.breadcrumb,.pagination{border-radius:.25rem;list-style:none}.card-columns .card{margin-bottom:.75rem}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;background-color:#e9ecef}.breadcrumb::after{display:block;clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#868e96;content:"/"}.media,.pagination{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#868e96}.pagination{display:flex;padding-left:0}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#868e96;pointer-events:none;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;line-height:1;color:#fff;text-align:center;vertical-align:baseline}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-primary{color:#fff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#6c757d}.badge-success{color:#fff}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#111;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#111;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#111;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{margin-bottom:2rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-dismissible .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.modal,.modal-backdrop,.popover.bs-popover-auto[x-placement^=left] .arrow,.popover.bs-popover-left .arrow,.tooltip.bs-tooltip-auto[x-placement^=left] .arrow,.tooltip.bs-tooltip-left .arrow{right:0}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#464a4e;background-color:#e7e8ea;border-color:#dddfe2}.alert-secondary hr{border-top-color:#cfd2d6}.alert-secondary .alert-link{color:#2e3133}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{font-size:.75rem;line-height:1rem;text-align:center;border-radius:.25rem}.progress-bar{height:1rem;line-height:1rem;color:#fff;background-color:#007bff;-webkit-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:flex;-ms-flex-align:start;-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start}.media-body{-ms-flex:1;-webkit-box-flex:1;-webkit-flex:1;flex:1}.list-group{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#868e96;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}a.list-group-item-primary,button.list-group-item-primary{color:#004085}a.list-group-item-primary:focus,a.list-group-item-primary:hover,button.list-group-item-primary:focus,button.list-group-item-primary:hover{color:#004085;background-color:#9fcdff}a.list-group-item-primary.active,button.list-group-item-primary.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#464a4e;background-color:#dddfe2}a.list-group-item-secondary,button.list-group-item-secondary{color:#464a4e}a.list-group-item-secondary:focus,a.list-group-item-secondary:hover,button.list-group-item-secondary:focus,button.list-group-item-secondary:hover{color:#464a4e;background-color:#cfd2d6}a.list-group-item-secondary.active,button.list-group-item-secondary.active{color:#fff;background-color:#464a4e;border-color:#464a4e}.list-group-item-success{color:#155724;background-color:#c3e6cb}a.list-group-item-success,button.list-group-item-success{color:#155724}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#155724;background-color:#b1dfbb}a.list-group-item-success.active,button.list-group-item-success.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}a.list-group-item-info,button.list-group-item-info{color:#0c5460}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#0c5460;background-color:#abdde5}a.list-group-item-info.active,button.list-group-item-info.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}a.list-group-item-warning,button.list-group-item-warning{color:#856404}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#856404;background-color:#ffe8a1}a.list-group-item-warning.active,button.list-group-item-warning.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}a.list-group-item-danger,button.list-group-item-danger{color:#721c24}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#721c24;background-color:#f1b0b7}a.list-group-item-danger.active,button.list-group-item-danger.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}a.list-group-item-light,button.list-group-item-light{color:#818182}a.list-group-item-light:focus,a.list-group-item-light:hover,button.list-group-item-light:focus,button.list-group-item-light:hover{color:#818182;background-color:#ececf6}a.list-group-item-light.active,button.list-group-item-light.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}a.list-group-item-dark,button.list-group-item-dark{color:#1b1e21}a.list-group-item-dark:focus,a.list-group-item-dark:hover,button.list-group-item-dark:focus,button.list-group-item-dark:hover{color:#1b1e21;background-color:#b9bbbe}a.list-group-item-dark.active,button.list-group-item-dark.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.popover,.tooltip{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;text-transform:none;letter-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;text-decoration:none;word-spacing:normal;word-break:normal}.font-weight-normal,.popover,.tooltip{font-weight:400}.modal-title,.popover,.tooltip{line-height:1.5}.popover,.text-hide,.tooltip{text-shadow:none}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background:0 0;border:0}.modal-content,.popover{background-clip:padding-box}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;outline:0}.modal-content,.modal-header{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.flex-column,.flex-row{-webkit-box-direction:normal!important}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;-ms-flex-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-pack:justify;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding:15px;border-bottom:1px solid #e9ecef}.modal-title{margin-bottom:0}.modal-body{position:relative;-ms-flex:1 1 auto;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-pack:end;-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;padding:15px;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.popover.bs-popover-auto[x-placement^=bottom] .arrow,.popover.bs-popover-bottom .arrow,.tooltip.bs-tooltip-auto[x-placement^=bottom] .arrow,.tooltip.bs-tooltip-bottom .arrow{top:0}.popover .arrow,.tooltip .arrow{height:5px;position:absolute;display:block}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;text-align:left;text-align:start;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{width:5px}.tooltip.bs-tooltip-auto[x-placement^=top],.tooltip.bs-tooltip-top{padding:5px 0}.tooltip.bs-tooltip-auto[x-placement^=top] .arrow::before,.tooltip.bs-tooltip-top .arrow::before{margin-left:-3px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tooltip-auto[x-placement^=right],.tooltip.bs-tooltip-right{padding:0 5px}.tooltip.bs-tooltip-auto[x-placement^=right] .arrow,.tooltip.bs-tooltip-right .arrow{left:0}.tooltip.bs-tooltip-auto[x-placement^=right] .arrow::before,.tooltip.bs-tooltip-right .arrow::before{margin-top:-3px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tooltip-auto[x-placement^=bottom],.tooltip.bs-tooltip-bottom{padding:5px 0}.tooltip.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.tooltip.bs-tooltip-bottom .arrow::before{margin-left:-3px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tooltip-auto[x-placement^=left],.tooltip.bs-tooltip-left{padding:0 5px}.tooltip.bs-tooltip-auto[x-placement^=left] .arrow::before,.tooltip.bs-tooltip-left .arrow::before{right:0;margin-top:-3px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip .arrow::before{position:absolute;border-color:transparent;border-style:solid}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;text-align:left;text-align:start;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{width:10px}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;border-color:transparent;border-style:solid;content:"";border-width:11px}.popover.bs-popover-auto[x-placement^=top],.popover.bs-popover-top{margin-bottom:10px}.popover.bs-popover-auto[x-placement^=top] .arrow::after,.popover.bs-popover-auto[x-placement^=top] .arrow::before,.popover.bs-popover-top .arrow::after,.popover.bs-popover-top .arrow::before{border-bottom-width:0}.popover.bs-popover-auto[x-placement^=top] .arrow::before,.popover.bs-popover-top .arrow::before{bottom:-11px;margin-left:-6px;border-top-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=top] .arrow::after,.popover.bs-popover-top .arrow::after{bottom:-10px;margin-left:-6px;border-top-color:#fff}.popover.bs-popover-auto[x-placement^=right],.popover.bs-popover-right{margin-left:10px}.popover.bs-popover-auto[x-placement^=right] .arrow,.popover.bs-popover-right .arrow{left:0}.popover.bs-popover-auto[x-placement^=right] .arrow::after,.popover.bs-popover-auto[x-placement^=right] .arrow::before,.popover.bs-popover-right .arrow::after,.popover.bs-popover-right .arrow::before{margin-top:-8px;border-left-width:0}.popover.bs-popover-auto[x-placement^=right] .arrow::before,.popover.bs-popover-right .arrow::before{left:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=right] .arrow::after,.popover.bs-popover-right .arrow::after{left:-10px;border-right-color:#fff}.popover.bs-popover-auto[x-placement^=bottom],.popover.bs-popover-bottom{margin-top:10px}.popover.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover.bs-popover-auto[x-placement^=bottom] .arrow::before,.popover.bs-popover-bottom .arrow::after,.popover.bs-popover-bottom .arrow::before{margin-left:-7px;border-top-width:0}.popover.bs-popover-auto[x-placement^=bottom] .arrow::before,.popover.bs-popover-bottom .arrow::before{top:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover.bs-popover-bottom .arrow::after{top:-10px;border-bottom-color:#fff}.popover.bs-popover-auto[x-placement^=bottom] .popover-header::before,.popover.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.carousel,.carousel-inner,.carousel-item{position:relative}.popover.bs-popover-auto[x-placement^=left],.popover.bs-popover-left{margin-right:10px}.popover.bs-popover-auto[x-placement^=left] .arrow::after,.popover.bs-popover-auto[x-placement^=left] .arrow::before,.popover.bs-popover-left .arrow::after,.popover.bs-popover-left .arrow::before{margin-top:-8px;border-right-width:0}.popover.bs-popover-auto[x-placement^=left] .arrow::before,.popover.bs-popover-left .arrow::before{right:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=left] .arrow::after,.popover.bs-popover-left .arrow::after{right:-10px;border-left-color:#fff}.popover-header{padding:8px 14px;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:-webkit-calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:-webkit-calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:9px 14px;color:#212529}.carousel-inner{width:100%;overflow:hidden}.carousel-item{display:none;-ms-flex-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;width:100%;-webkit-transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}@supports (transform-style:preserve-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}@supports (transform-style:preserve-3d){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}@supports (transform-style:preserve-3d){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-align:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:center center no-repeat;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-ms-flex-pack:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}.carousel-indicators li::after,.carousel-indicators li::before{left:0;display:inline-block;height:10px;position:absolute;content:"";width:100%}.carousel-indicators li::before{top:-10px}.carousel-indicators li::after{bottom:-10px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#0062cc!important}a.bg-secondary:focus,a.bg-secondary:hover{background-color:#6c757d!important}a.bg-success:focus,a.bg-success:hover{background-color:#1e7e34!important}a.bg-info:focus,a.bg-info:hover{background-color:#117a8b!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#d39e00!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover{background-color:#1d2124!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #e9ecef!important}.border-0{border:0!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-left,.rounded-top{border-top-left-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#868e96!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:-webkit-box!important;display:-webkit-flex!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:-webkit-box!important;display:-webkit-flex!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:-webkit-box!important;display:-webkit-flex!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:-webkit-box!important;display:-webkit-flex!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:-webkit-box!important;display:-webkit-flex!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:inline-flex!important}}.d-print-block{display:none!important}@media print{.d-print-block{display:block!important}}.d-print-inline{display:none!important}@media print{.d-print-inline{display:inline!important}}.d-print-inline-block{display:none!important}@media print{.d-print-inline-block{display:inline-block!important}.d-print-none{display:none!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;-webkit-box-orient:horizontal!important;-webkit-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;-webkit-box-orient:vertical!important;-webkit-flex-direction:column!important;flex-direction:column!important}.flex-column-reverse,.flex-row-reverse{-webkit-box-direction:reverse!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;-webkit-box-orient:horizontal!important;-webkit-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;-webkit-box-orient:vertical!important;-webkit-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;-webkit-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;-webkit-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important;-webkit-justify-content:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;-webkit-justify-content:space-around!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;-webkit-box-align:start!important;-webkit-align-items:flex-start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;-webkit-box-align:end!important;-webkit-align-items:flex-end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;-webkit-box-align:center!important;-webkit-align-items:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;-webkit-align-content:flex-start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;-webkit-align-content:flex-end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;-webkit-align-content:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;-webkit-align-content:space-between!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;-webkit-align-content:space-around!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;-webkit-align-content:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;-webkit-align-self:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;-webkit-align-self:flex-start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;-webkit-align-self:flex-end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;-webkit-align-self:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;-webkit-align-self:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;-webkit-align-self:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-column,.flex-sm-row{-webkit-box-direction:normal!important}.flex-sm-row{-ms-flex-direction:row!important;-webkit-box-orient:horizontal!important;-webkit-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;-webkit-box-orient:vertical!important;-webkit-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;-webkit-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;-webkit-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important;-webkit-justify-content:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;-webkit-justify-content:space-around!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;-webkit-box-align:start!important;-webkit-align-items:flex-start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;-webkit-box-align:end!important;-webkit-align-items:flex-end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;-webkit-box-align:center!important;-webkit-align-items:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;-webkit-align-content:flex-start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;-webkit-align-content:flex-end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;-webkit-align-content:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;-webkit-align-content:space-between!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;-webkit-align-content:space-around!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;-webkit-align-content:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;-webkit-align-self:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;-webkit-align-self:flex-start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;-webkit-align-self:flex-end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;-webkit-align-self:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;-webkit-align-self:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;-webkit-align-self:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-column,.flex-md-row{-webkit-box-direction:normal!important}.flex-md-row{-ms-flex-direction:row!important;-webkit-box-orient:horizontal!important;-webkit-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;-webkit-box-orient:vertical!important;-webkit-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;-webkit-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;-webkit-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important;-webkit-justify-content:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;-webkit-justify-content:space-around!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;-webkit-box-align:start!important;-webkit-align-items:flex-start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;-webkit-box-align:end!important;-webkit-align-items:flex-end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;-webkit-box-align:center!important;-webkit-align-items:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;-webkit-align-content:flex-start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;-webkit-align-content:flex-end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;-webkit-align-content:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;-webkit-align-content:space-between!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;-webkit-align-content:space-around!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;-webkit-align-content:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;-webkit-align-self:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;-webkit-align-self:flex-start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;-webkit-align-self:flex-end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;-webkit-align-self:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;-webkit-align-self:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;-webkit-align-self:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-column,.flex-lg-row{-webkit-box-direction:normal!important}.flex-lg-row{-ms-flex-direction:row!important;-webkit-box-orient:horizontal!important;-webkit-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;-webkit-box-orient:vertical!important;-webkit-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;-webkit-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;-webkit-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important;-webkit-justify-content:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;-webkit-justify-content:space-around!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;-webkit-box-align:start!important;-webkit-align-items:flex-start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;-webkit-box-align:end!important;-webkit-align-items:flex-end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;-webkit-box-align:center!important;-webkit-align-items:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;-webkit-align-content:flex-start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;-webkit-align-content:flex-end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;-webkit-align-content:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;-webkit-align-content:space-between!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;-webkit-align-content:space-around!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;-webkit-align-content:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;-webkit-align-self:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;-webkit-align-self:flex-start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;-webkit-align-self:flex-end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;-webkit-align-self:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;-webkit-align-self:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;-webkit-align-self:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-column,.flex-xl-row{-webkit-box-direction:normal!important}.flex-xl-row{-ms-flex-direction:row!important;-webkit-box-orient:horizontal!important;-webkit-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;-webkit-box-orient:vertical!important;-webkit-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;-webkit-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;-webkit-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important;-webkit-justify-content:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;-webkit-justify-content:space-around!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;-webkit-box-align:start!important;-webkit-align-items:flex-start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;-webkit-box-align:end!important;-webkit-align-items:flex-end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;-webkit-box-align:center!important;-webkit-align-items:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;-webkit-align-content:flex-start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;-webkit-align-content:flex-end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;-webkit-align-content:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;-webkit-align-content:space-between!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;-webkit-align-content:space-around!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;-webkit-align-content:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;-webkit-align-self:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;-webkit-align-self:flex-start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;-webkit-align-self:flex-end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;-webkit-align-self:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;-webkit-align-self:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;-webkit-align-self:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}.divider-new,.navbar .nav-flex-icons,.navbar.double-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.fixed-top{top:0}.fixed-bottom{bottom:0}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.btn .fa,.card .card-body{position:relative}.sr-only{white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.sr-only-focusable:active,.sr-only-focusable:focus{white-space:normal;-webkit-clip-path:none;clip-path:none}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-1{margin:.25rem!important}.mr-0,.mx-0{margin-right:0!important}.ml-0,.mx-0{margin-left:0!important}.mt-0,.my-0{margin-top:0!important}.mb-0,.my-0{margin-bottom:0!important}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.btn,.classic-tabs li a,.font-up,footer.page-footer .title{text-transform:uppercase}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#868e96!important}a.text-secondary:focus,a.text-secondary:hover{color:#6c757d!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-muted{color:#868e96!important}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.mdb-color.lighten-5{background-color:#D0D6E2!important}.mdb-color.lighten-4{background-color:#B1BACE!important}.mdb-color.lighten-3{background-color:#929FBA!important}.mdb-color.lighten-2{background-color:#7283A7!important}.mdb-color.lighten-1{background-color:#59698D!important}.mdb-color-text{color:#45526E!important}.mdb-color.darken-1{background-color:#3B465E!important}.mdb-color.darken-2{background-color:#2E3951!important}.mdb-color.darken-3{background-color:#1C2A48!important}.mdb-color.darken-4{background-color:#1C2331!important}.red.lighten-5{background-color:#FFEBEE!important}.red.lighten-4{background-color:#FFCDD2!important}.red.lighten-3{background-color:#EF9A9A!important}.red.lighten-2{background-color:#E57373!important}.red.lighten-1{background-color:#EF5350!important}.red{background-color:#F44336!important}.red-text{color:#F44336!important}.red.darken-1{background-color:#E53935!important}.red.darken-2{background-color:#D32F2F!important}.red.darken-3{background-color:#C62828!important}.red.darken-4{background-color:#B71C1C!important}.red.accent-1{background-color:#FF8A80!important}.red.accent-2{background-color:#FF5252!important}.red.accent-3{background-color:#FF1744!important}.red.accent-4{background-color:#D50000!important}.pink.lighten-5{background-color:#fce4ec!important}.pink.lighten-4{background-color:#f8bbd0!important}.pink.lighten-3{background-color:#f48fb1!important}.pink.lighten-2{background-color:#f06292!important}.pink.lighten-1{background-color:#ec407a!important}.pink{background-color:#e91e63!important}.pink-text{color:#e91e63!important}.pink.darken-1{background-color:#d81b60!important}.pink.darken-2{background-color:#c2185b!important}.pink.darken-3{background-color:#ad1457!important}.pink.darken-4{background-color:#880e4f!important}.pink.accent-1{background-color:#ff80ab!important}.pink.accent-2{background-color:#ff4081!important}.pink.accent-3{background-color:#f50057!important}.pink.accent-4{background-color:#c51162!important}.purple.lighten-5{background-color:#f3e5f5!important}.purple.lighten-4{background-color:#e1bee7!important}.purple.lighten-3{background-color:#ce93d8!important}.purple.lighten-2{background-color:#ba68c8!important}.purple.lighten-1{background-color:#ab47bc!important}.purple{background-color:#9c27b0!important}.purple-text{color:#9c27b0!important}.purple.darken-1{background-color:#8e24aa!important}.purple.darken-2{background-color:#7b1fa2!important}.purple.darken-3{background-color:#6a1b9a!important}.purple.darken-4{background-color:#4a148c!important}.purple.accent-1{background-color:#ea80fc!important}.purple.accent-2{background-color:#e040fb!important}.purple.accent-3{background-color:#d500f9!important}.purple.accent-4{background-color:#a0f!important}.deep-purple.lighten-5{background-color:#ede7f6!important}.deep-purple.lighten-4{background-color:#d1c4e9!important}.deep-purple.lighten-3{background-color:#b39ddb!important}.deep-purple.lighten-2{background-color:#9575cd!important}.deep-purple.lighten-1{background-color:#7e57c2!important}.deep-purple{background-color:#673ab7!important}.deep-purple-text{color:#673ab7!important}.deep-purple.darken-1{background-color:#5e35b1!important}.deep-purple.darken-2{background-color:#512da8!important}.deep-purple.darken-3{background-color:#4527a0!important}.deep-purple.darken-4{background-color:#311b92!important}.deep-purple.accent-1{background-color:#b388ff!important}.deep-purple.accent-2{background-color:#7c4dff!important}.deep-purple.accent-3{background-color:#651fff!important}.deep-purple.accent-4{background-color:#6200ea!important}.indigo.lighten-5{background-color:#e8eaf6!important}.indigo.lighten-4{background-color:#c5cae9!important}.indigo.lighten-3{background-color:#9fa8da!important}.indigo.lighten-2{background-color:#7986cb!important}.indigo.lighten-1{background-color:#5c6bc0!important}.indigo{background-color:#3f51b5!important}.indigo-text{color:#3f51b5!important}.indigo.darken-1{background-color:#3949ab!important}.indigo.darken-2{background-color:#303f9f!important}.indigo.darken-3{background-color:#283593!important}.indigo.darken-4{background-color:#1a237e!important}.indigo.accent-1{background-color:#8c9eff!important}.indigo.accent-2{background-color:#536dfe!important}.indigo.accent-3{background-color:#3d5afe!important}.indigo.accent-4{background-color:#304ffe!important}.blue.lighten-5{background-color:#E3F2FD!important}.blue.lighten-4{background-color:#BBDEFB!important}.blue.lighten-3{background-color:#90CAF9!important}.blue.lighten-2{background-color:#64B5F6!important}.blue.lighten-1{background-color:#42A5F5!important}.blue{background-color:#2196F3!important}.blue-text{color:#2196F3!important}.blue.darken-1{background-color:#1E88E5!important}.blue.darken-2{background-color:#1976D2!important}.blue.darken-3{background-color:#1565C0!important}.blue.darken-4{background-color:#0D47A1!important}.blue.accent-1{background-color:#82B1FF!important}.blue.accent-2{background-color:#448AFF!important}.blue.accent-3{background-color:#2979FF!important}.blue.accent-4{background-color:#2962FF!important}.light-blue.lighten-5{background-color:#e1f5fe!important}.light-blue.lighten-4{background-color:#b3e5fc!important}.light-blue.lighten-3{background-color:#81d4fa!important}.light-blue.lighten-2{background-color:#4fc3f7!important}.light-blue.lighten-1{background-color:#29b6f6!important}.light-blue{background-color:#03a9f4!important}.light-blue.darken-1{background-color:#039be5!important}.light-blue.darken-2{background-color:#0288d1!important}.light-blue.darken-3{background-color:#0277bd!important}.light-blue.darken-4{background-color:#01579b!important}.light-blue.accent-1{background-color:#80d8ff!important}.light-blue.accent-2{background-color:#40c4ff!important}.light-blue.accent-3{background-color:#00b0ff!important}.light-blue.accent-4{background-color:#0091ea!important}.cyan.lighten-5{background-color:#e0f7fa!important}.cyan.lighten-4{background-color:#b2ebf2!important}.cyan.lighten-3{background-color:#80deea!important}.cyan.lighten-2{background-color:#4dd0e1!important}.cyan.lighten-1{background-color:#26c6da!important}.cyan{background-color:#00bcd4!important}.cyan-text{color:#00bcd4!important}.cyan.darken-1{background-color:#00acc1!important}.cyan.darken-2{background-color:#0097a7!important}.cyan.darken-3{background-color:#00838f!important}.cyan.darken-4{background-color:#006064!important}.cyan.accent-1{background-color:#84ffff!important}.cyan.accent-2{background-color:#18ffff!important}.cyan.accent-3{background-color:#00e5ff!important}.cyan.accent-4{background-color:#00b8d4!important}.teal.lighten-5{background-color:#e0f2f1!important}.teal.lighten-4{background-color:#b2dfdb!important}.teal.lighten-3{background-color:#80cbc4!important}.teal.lighten-2{background-color:#4db6ac!important}.teal.lighten-1{background-color:#26a69a!important}.teal{background-color:#009688!important}.teal-text{color:#009688!important}.teal.darken-1{background-color:#00897b!important}.teal.darken-2{background-color:#00796b!important}.teal.darken-3{background-color:#00695c!important}.teal.darken-4{background-color:#004d40!important}.teal.accent-1{background-color:#a7ffeb!important}.teal.accent-2{background-color:#64ffda!important}.teal.accent-3{background-color:#1de9b6!important}.teal.accent-4{background-color:#00bfa5!important}.green.lighten-5{background-color:#E8F5E9!important}.green.lighten-4{background-color:#C8E6C9!important}.green.lighten-3{background-color:#A5D6A7!important}.green.lighten-2{background-color:#81C784!important}.green.lighten-1{background-color:#66BB6A!important}.green{background-color:#4CAF50!important}.green-text{color:#4CAF50!important}.green.darken-1{background-color:#43A047!important}.green.darken-2{background-color:#388E3C!important}.green.darken-3{background-color:#2E7D32!important}.green.darken-4{background-color:#1B5E20!important}.green.accent-1{background-color:#B9F6CA!important}.green.accent-2{background-color:#69F0AE!important}.green.accent-3{background-color:#00E676!important}.green.accent-4{background-color:#00C853!important}.light-green.lighten-5{background-color:#f1f8e9!important}.light-green.lighten-4{background-color:#dcedc8!important}.light-green.lighten-3{background-color:#c5e1a5!important}.light-green.lighten-2{background-color:#aed581!important}.light-green.lighten-1{background-color:#9ccc65!important}.light-green{background-color:#8bc34a!important}.light-green-text{color:#8bc34a!important}.light-green.darken-1{background-color:#7cb342!important}.light-green.darken-2{background-color:#689f38!important}.light-green.darken-3{background-color:#558b2f!important}.light-green.darken-4{background-color:#33691e!important}.light-green.accent-1{background-color:#ccff90!important}.light-green.accent-2{background-color:#b2ff59!important}.light-green.accent-3{background-color:#76ff03!important}.light-green.accent-4{background-color:#64dd17!important}.lime.lighten-5{background-color:#f9fbe7!important}.lime.lighten-4{background-color:#f0f4c3!important}.lime.lighten-3{background-color:#e6ee9c!important}.lime.lighten-2{background-color:#dce775!important}.lime.lighten-1{background-color:#d4e157!important}.lime{background-color:#cddc39!important}.lime-text{color:#cddc39!important}.lime.darken-1{background-color:#c0ca33!important}.lime.darken-2{background-color:#afb42b!important}.lime.darken-3{background-color:#9e9d24!important}.lime.darken-4{background-color:#827717!important}.lime.accent-1{background-color:#f4ff81!important}.lime.accent-2{background-color:#eeff41!important}.lime.accent-3{background-color:#c6ff00!important}.lime.accent-4{background-color:#aeea00!important}.yellow.lighten-5{background-color:#fffde7!important}.yellow.lighten-4{background-color:#fff9c4!important}.yellow.lighten-3{background-color:#fff59d!important}.yellow.lighten-2{background-color:#fff176!important}.yellow.lighten-1{background-color:#ffee58!important}.yellow{background-color:#ffeb3b!important}.yellow-text{color:#ffeb3b!important}.yellow.darken-1{background-color:#fdd835!important}.yellow.darken-2{background-color:#fbc02d!important}.yellow.darken-3{background-color:#f9a825!important}.yellow.darken-4{background-color:#f57f17!important}.yellow.accent-1{background-color:#ffff8d!important}.yellow.accent-2{background-color:#ff0!important}.yellow.accent-3{background-color:#ffea00!important}.yellow.accent-4{background-color:#ffd600!important}.amber.lighten-5{background-color:#fff8e1!important}.amber.lighten-4{background-color:#ffecb3!important}.amber.lighten-3{background-color:#ffe082!important}.amber.lighten-2{background-color:#ffd54f!important}.amber.lighten-1{background-color:#ffca28!important}.amber{background-color:#ffc107!important}.amber-text{color:#ffc107!important}.amber.darken-1{background-color:#ffb300!important}.amber.darken-2{background-color:#ffa000!important}.amber.darken-3{background-color:#ff8f00!important}.amber.darken-4{background-color:#ff6f00!important}.amber.accent-1{background-color:#ffe57f!important}.amber.accent-2{background-color:#ffd740!important}.amber.accent-3{background-color:#ffc400!important}.amber.accent-4{background-color:#ffab00!important}.orange.lighten-5{background-color:#fff3e0!important}.orange.lighten-4{background-color:#ffe0b2!important}.orange.lighten-3{background-color:#ffcc80!important}.orange.lighten-2{background-color:#ffb74d!important}.orange.lighten-1{background-color:#ffa726!important}.orange{background-color:#ff9800!important}.orange-text{color:#ff9800!important}.orange.darken-1{background-color:#fb8c00!important}.orange.darken-2{background-color:#f57c00!important}.orange.darken-3{background-color:#ef6c00!important}.orange.darken-4{background-color:#e65100!important}.orange.accent-1{background-color:#ffd180!important}.orange.accent-2{background-color:#ffab40!important}.orange.accent-3{background-color:#ff9100!important}.orange.accent-4{background-color:#ff6d00!important}.deep-orange.lighten-5{background-color:#fbe9e7!important}.deep-orange.lighten-4{background-color:#ffccbc!important}.deep-orange.lighten-3{background-color:#ffab91!important}.deep-orange.lighten-2{background-color:#ff8a65!important}.deep-orange.lighten-1{background-color:#ff7043!important}.deep-orange{background-color:#ff5722!important}.deep-orange-text{color:#ff5722!important}.deep-orange.darken-1{background-color:#f4511e!important}.deep-orange.darken-2{background-color:#e64a19!important}.deep-orange.darken-3{background-color:#d84315!important}.deep-orange.darken-4{background-color:#bf360c!important}.deep-orange.accent-1{background-color:#ff9e80!important}.deep-orange.accent-2{background-color:#ff6e40!important}.deep-orange.accent-3{background-color:#ff3d00!important}.deep-orange.accent-4{background-color:#dd2c00!important}.brown.lighten-5{background-color:#efebe9!important}.brown.lighten-4{background-color:#d7ccc8!important}.brown.lighten-3{background-color:#bcaaa4!important}.brown.lighten-2{background-color:#a1887f!important}.brown.lighten-1{background-color:#8d6e63!important}.brown{background-color:#795548!important}.brown-text{color:#795548!important}.brown.darken-1{background-color:#6d4c41!important}.brown.darken-2{background-color:#5d4037!important}.brown.darken-3{background-color:#4e342e!important}.brown.darken-4{background-color:#3e2723!important}.blue-grey.lighten-5{background-color:#eceff1!important}.blue-grey.lighten-4{background-color:#cfd8dc!important}.blue-grey.lighten-3{background-color:#b0bec5!important}.blue-grey.lighten-2{background-color:#90a4ae!important}.blue-grey.lighten-1{background-color:#78909c!important}.blue-grey{background-color:#607d8b!important}.blue-grey-text{color:#607d8b!important}.blue-grey.darken-1{background-color:#546e7a!important}.blue-grey.darken-2{background-color:#455a64!important}.blue-grey.darken-3{background-color:#37474f!important}.blue-grey.darken-4{background-color:#263238!important}.grey.lighten-5{background-color:#fafafa!important}.grey.lighten-4{background-color:#f5f5f5!important}.grey.lighten-3{background-color:#eee!important}.grey.lighten-2{background-color:#e0e0e0!important}.grey.lighten-1{background-color:#bdbdbd!important}.grey{background-color:#9e9e9e!important}.grey-text{color:#9e9e9e!important}.grey.darken-1{background-color:#757575!important}.grey.darken-2{background-color:#616161!important}.grey.darken-3{background-color:#424242!important}.grey.darken-4{background-color:#212121!important}.card .shades.card-review,.shades.black,.shades.picker__list-item:hover{background-color:#000!important}.card .shades.card-reveal,.card-wrapper .shades.face,.carousel-thumbnails .carousel-indicators .shades.active,.picker__box .picker__header .shades.picker__select--month.browser-default,.picker__box .picker__header .shades.picker__select--year.browser-default,.shades.picker__list-item,.shades.white,.testimonial-card .shades.avatar{background-color:#FFF!important}.shades.transparent{background-color:transparent!important}.black,.card .card-review,.picker__list-item:hover{background-color:#000!important}.black-text,.btn-link,.card .activator,.card-wrapper .face .content .rotate-btn,.toast-close-button:focus,.toast-close-button:hover{color:#000!important}.card .card-reveal,.card-wrapper .face,.carousel-thumbnails .carousel-indicators .active,.picker__box .picker__header .picker__select--month.browser-default,.picker__box .picker__header .picker__select--year.browser-default,.picker__list-item,.testimonial-card .avatar,.white{background-color:#FFF!important}#toast-container>div,.btn,.card.card-cascade .view.gradient-card-header,.card.card-dark .activator,.card.card-dark .card-body,.card.card-dark .card-body a,.clockpicker-display .clockpicker-display-column #click-am.text-primary,.clockpicker-display .clockpicker-display-column #click-pm.text-primary,.clockpicker-display .clockpicker-display-column .clockpicker-span-hours.text-primary,.clockpicker-display .clockpicker-display-column .clockpicker-span-minutes.text-primary,.colorful-side-nav .collapsible a,.colorful-side-nav .social a,.colorful-side-nav p,.dark-side-nav .collapsible a,.dark-side-nav .social a,.dark-side-nav p,.darktheme .picker__box .picker__calendar-container .clockpicker-plate .clockpicker-tick,.darktheme .picker__box .picker__date-display .clockpicker-display,.darktheme .picker__box .picker__date-display .clockpicker-display .clockpicker-span-am-pm,.darktheme .picker__box .picker__footer button,.dropdown .dropdown-menu .dropdown-item:active,.dropdown .dropdown-menu .dropdown-item:hover,.picker--focused .picker__list-item--selected,.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:focus:before,.picker--time .picker__button--clear:hover,.picker--time .picker__button--clear:hover:before,.picker__box .picker__header .picker__date-display,.picker__box .picker__table .picker--focused,.picker__box .picker__table .picker__day--outfocus,.picker__box .picker__table .picker__day--selected,.picker__box .picker__table .picker__day--selected:hover,.picker__date-display,.picker__date-display .clockpicker-display .clockpicker-display-column #click-am.text-primary,.picker__date-display .clockpicker-display .clockpicker-display-column #click-pm.text-primary,.picker__date-display .clockpicker-display .clockpicker-display-column .clockpicker-span-hours.text-primary,.picker__date-display .clockpicker-display .clockpicker-display-column .clockpicker-span-minutes.text-primary,.picker__list-item--selected,.picker__list-item--selected:hover,.side-nav,.side-nav .search-form .form-control,.stylish-side-nav .collapsible a,.stylish-side-nav .social a,.stylish-side-nav p,.toast-close-button,.toast-message a,.toast-message label,.white-text,section .contact{color:#FFF!important}.transparent{background-color:transparent!important}.transparent-text{color:transparent!important}.light-blue-text{color:#82B1FF!important}.dark-grey-text{color:#4f4f4f!important}.danger-color,.stepper li.warning a .circle,.toast-error{background-color:#ff3547!important}.danger-color-dark{background-color:#C00!important}.toast-warning,.warning-color{background-color:#fb3!important}.warning-color-dark{background-color:#F80!important}.success-color,.toast-success{background-color:#00C851!important}.success-color-dark{background-color:#007E33!important}.info-color,.toast-info{background-color:#33b5e5!important}.info-color-dark{background-color:#09C!important}.default-color{background-color:#2BBBAD!important}.default-color-dark{background-color:#00695c!important}.primary-color,.stepper li.active a .circle,.stepper li.completed a .circle{background-color:#4285F4!important}.primary-color-dark{background-color:#0d47a1!important}.secondary-color{background-color:#a6c!important}.secondary-color-dark{background-color:#93C!important}.elegant-color{background-color:#2E2E2E!important}.elegant-color-dark{background-color:#212121!important}.stylish-color{background-color:#4B515D!important}.stylish-color-dark{background-color:#3E4551!important}.special-color{background-color:#37474F!important}.special-color-dark{background-color:#263238!important}.unique-color{background-color:#3F729B!important}.unique-color-dark{background-color:#1C2331!important}.mdb-color{background-color:#45526E!important}.rgba-blue-light{background-color:rgba(3,169,244,.3)!important}.rgba-red-light{background-color:rgba(244,67,54,.3)!important}.rgba-pink-light{background-color:rgba(233,30,99,.3)!important}.rgba-purple-light{background-color:rgba(156,39,176,.3)!important}.rgba-indigo-light{background-color:rgba(63,81,181,.3)!important}.rgba-cyan-light{background-color:rgba(0,188,212,.3)!important}.rgba-teal-light{background-color:rgba(0,150,136,.3)!important}.rgba-green-light{background-color:rgba(76,175,80,.3)!important}.rgba-lime-light{background-color:rgba(205,220,57,.3)!important}.rgba-yellow-light{background-color:rgba(255,235,59,.3)!important}.rgba-orange-light{background-color:rgba(255,152,0,.3)!important}.rgba-brown-light{background-color:rgba(121,85,72,.3)!important}.rgba-grey-light{background-color:rgba(158,158,158,.3)!important}.rgba-bluegrey-light{background-color:rgba(96,125,139,.3)!important}.rgba-black-light{background-color:rgba(0,0,0,.3)!important}.rgba-stylish-light{background-color:rgba(62,69,81,.3)!important}.rgba-white-light{background-color:rgba(255,255,255,.3)!important}.rgba-blue-strong{background-color:rgba(3,169,244,.7)!important}.rgba-red-strong{background-color:rgba(244,67,54,.7)!important}.rgba-pink-strong{background-color:rgba(233,30,99,.7)!important}.rgba-purple-strong{background-color:rgba(156,39,176,.7)!important}.rgba-indigo-strong{background-color:rgba(63,81,181,.7)!important}.rgba-cyan-strong{background-color:rgba(0,188,212,.7)!important}.rgba-teal-strong{background-color:rgba(0,150,136,.7)!important}.rgba-green-strong{background-color:rgba(76,175,80,.7)!important}.rgba-lime-strong{background-color:rgba(205,220,57,.7)!important}.rgba-yellow-strong{background-color:rgba(255,235,59,.7)!important}.rgba-orange-strong{background-color:rgba(255,152,0,.7)!important}.rgba-brown-strong{background-color:rgba(121,85,72,.7)!important}.rgba-grey-strong{background-color:rgba(158,158,158,.7)!important}.rgba-bluegrey-strong{background-color:rgba(96,125,139,.7)!important}.rgba-black-strong{background-color:rgba(0,0,0,.7)!important}.rgba-stylish-strong{background-color:rgba(62,69,81,.7)!important}.rgba-white-strong{background-color:rgba(255,255,255,.7)!important}.rgba-blue-slight{background-color:rgba(3,169,244,.1)!important}.rgba-red-slight{background-color:rgba(244,67,54,.1)!important}.rgba-pink-slight{background-color:rgba(233,30,99,.1)!important}.rgba-purple-slight{background-color:rgba(156,39,176,.1)!important}.rgba-indigo-slight{background-color:rgba(63,81,181,.1)!important}.rgba-cyan-slight{background-color:rgba(0,188,212,.1)!important}.rgba-teal-slight{background-color:rgba(0,150,136,.1)!important}.rgba-green-slight{background-color:rgba(76,175,80,.1)!important}.rgba-lime-slight{background-color:rgba(205,220,57,.1)!important}.rgba-yellow-slight{background-color:rgba(255,235,59,.1)!important}.rgba-orange-slight{background-color:rgba(255,152,0,.1)!important}.rgba-brown-slight{background-color:rgba(121,85,72,.1)!important}.rgba-grey-slight{background-color:rgba(158,158,158,.1)!important}.rgba-bluegrey-slight{background-color:rgba(96,125,139,.1)!important}.rgba-black-slight{background-color:rgba(0,0,0,.1)!important}.rgba-stylish-slight{background-color:rgba(62,69,81,.1)!important}.rgba-white-slight{background-color:rgba(255,255,255,.1)!important}.bg-primary{background-color:#4285F4!important}.bg-danger{background-color:#ff3547!important}.bg-warning{background-color:#F80!important}.bg-success{background-color:#00C851!important}.bg-info{background-color:#33b5e5!important}.bg-default{background-color:#2BBBAD!important}.bg-secondary{background-color:#a6c!important}.bg-elegant{background-color:#2E2E2E!important}.bg-unique{background-color:#880e4f!important}.bg-dark-green{background-color:#388E3C!important}.bg-mdb-color{background-color:#59698D!important}.bg-red{background-color:#D32F2F!important}.bg-pink{background-color:#ec407a!important}.bg-purple{background-color:#8e24aa!important}.bg-deep-purple{background-color:#512da8!important}.bg-indigo{background-color:#3f51b5!important}.bg-blue{background-color:#1976D2!important}.bg-light-blue{background-color:#82B1FF!important}.bg-cyan{background-color:#00bcd4!important}.bg-teal{background-color:#00796b!important}.bg-green{background-color:#388E3C!important}.bg-light-green{background-color:#8bc34a!important}.bg-lime{background-color:#afb42b!important}.bg-yellow{background-color:#fbc02d!important}.bg-amber{background-color:#ffa000!important}.bg-orange{background-color:#f57c00!important}.bg-deep-orange{background-color:#ff7043!important}.bg-brown{background-color:#795548!important}.bg-grey{background-color:#616161!important}.bg-blue-grey{background-color:#78909c!important}.bg-white{background-color:#fff!important}.bg-black{background-color:#000!important}.card.card-cascade.wider,.colorful-select .dropdown-content li.disabled a:hover,.colorful-select .dropdown-content li.disabled span:hover,.colorful-select .dropdown-content li.disabled.active span,.colorful-select .dropdown-content li.optgroup a:hover,.colorful-select .dropdown-content li.optgroup span:hover,.colorful-select .dropdown-content li.optgroup.active span,.colorful-select .dropdown-content li:disabled a:hover,.colorful-select .dropdown-content li:disabled span:hover,.colorful-select .dropdown-content li:disabled.active span,.modal-dialog.cascading-modal.modal-avatar .modal-header,.z-depth-0{-webkit-box-shadow:none!important;box-shadow:none!important}#toast-container>div,.author-box,.badge,.btn,.card-wrapper .back,.card-wrapper .front,.card.card-cascade.wider .card-body,.card:not([class*=card-outline-]),.chip,.counter,.dropdown-content,.jumbotron,.md-pills .nav-link.active,.modal-dialog.cascading-modal .modal-c-tabs .nav-tabs,.modal-dialog.modal-notify .modal-header,.navbar,.pagination .active .page-link,.pricing-card .price .version,.section-blog-fw .view,.side-nav,.social-list,.z-depth-1{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12)}.btn-floating,.btn-floating.btn-flat.active,.btn:active,.btn:focus,.btn:hover,.card.card-cascade.card-avatar img,.card.card-cascade.wider.reverse .card-body,.colorful-select .dropdown-content li.active span,.comments-list .badge,.dropdown .dropdown-menu .dropdown-item:active,.dropdown .dropdown-menu .dropdown-item:hover,.form-header,.md-pills .nav-link.active:hover,.media .media-left img,.modal-dialog .modal-content,.modal-dialog.cascading-modal .modal-header,.nav-tabs,.picker__box .picker__table .picker--focused,.picker__box .picker__table .picker__day--selected,.picker__box .picker__table .picker__day--selected:hover,.pricing-card .header,.reply-form .badge,.z-depth-1-half,ul.instagram-photos li img{-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15);box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15)}.btn-floating:hover,.card-overlay,.card.card-cascade .view,.colorful-select .dropdown-content li a:hover,.colorful-select .dropdown-content li span:hover,.comments-list img,.modal-dialog.cascading-modal.modal-avatar .modal-header img,.reply-form img,.testimonial-carousel .testimonial .avatar img,.z-depth-2{-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.z-depth-3{-webkit-box-shadow:0 12px 15px 0 rgba(0,0,0,.24),0 17px 50px 0 rgba(0,0,0,.19);box-shadow:0 12px 15px 0 rgba(0,0,0,.24),0 17px 50px 0 rgba(0,0,0,.19)}.z-depth-4{-webkit-box-shadow:0 16px 28px 0 rgba(0,0,0,.22),0 25px 55px 0 rgba(0,0,0,.21);box-shadow:0 16px 28px 0 rgba(0,0,0,.22),0 25px 55px 0 rgba(0,0,0,.21)}.z-depth-5{-webkit-box-shadow:0 27px 24px 0 rgba(0,0,0,.2),0 40px 77px 0 rgba(0,0,0,.22);box-shadow:0 27px 24px 0 rgba(0,0,0,.2),0 40px 77px 0 rgba(0,0,0,.22)}.hoverable{-webkit-transition:-webkit-box-shadow .55s;transition:-webkit-box-shadow .55s;transition:box-shadow .55s;transition:box-shadow .55s,-webkit-box-shadow .55s;-webkit-box-shadow:0;box-shadow:0}.hoverable:hover{-webkit-transition:-webkit-box-shadow .45s;transition:-webkit-box-shadow .45s;transition:box-shadow .45s;transition:box-shadow .45s,-webkit-box-shadow .45s;-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}a{color:#0275d8;text-decoration:none;cursor:pointer}a:focus,a:hover{text-decoration:none}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}.disabled{cursor:not-allowed!important}.author-box,.badge,.jumbotron,.list-group .list-group-item,.navbar,.navbar-toggler{border-radius:2px}.card .card-circle ul,.card-overlay ul,.flex-center ul,.section.team-section .avatar ul,.testimonial-carousel .testimonial .avatar ul{list-style-type:none;padding:0;text-align:center}.pr-0,.px-0{padding-right:0!important}.pl-0,.px-0{padding-left:0!important}.pt-0,.py-0{padding-top:0!important}.pb-0,.py-0{padding-bottom:0!important}.media .avatar-sm{width:56px;border-radius:50%}.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}@keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}@keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}@keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}@keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.39063deg) skewY(.39063deg);transform:skewX(.39063deg) skewY(.39063deg)}88.8%{-webkit-transform:skewX(-.19531deg) skewY(-.19531deg);transform:skewX(-.19531deg) skewY(-.19531deg)}}@keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.39063deg) skewY(.39063deg);transform:skewX(.39063deg) skewY(.39063deg)}88.8%{-webkit-transform:skewX(-.19531deg) skewY(-.19531deg);transform:skewX(-.19531deg) skewY(-.19531deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}.flipInY,.flipOutX{-webkit-backface-visibility:visible!important}@-webkit-keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.hm-zoom:hover .mask,.modal-dialog.modal-notify .close,.overlay:hover .mask{opacity:1}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.m-0{margin:0!important}.mr-1,.mx-1{margin-right:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.m-1,.section-blog-fw .author-box,.section-blog-fw .jumbotron{margin:.25rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.m-2{margin:.5rem!important}.mr-3,.mx-3{margin-right:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.m-3{margin:1rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.m-4{margin:1.5rem!important}.mr-5,.mx-5{margin-right:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.m-5{margin:3rem!important}.mr-auto,.mx-auto{margin-right:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.p-0{padding:0!important}.pr-1,.px-1{padding-right:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.p-1{padding:.25rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.p-2{padding:.5rem!important}.pr-3,.px-3{padding-right:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.p-3{padding:1rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.p-4{padding:1.5rem!important}.pr-5,.px-5{padding-right:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.p-5{padding:3rem!important}.m-auto{margin:auto!important}@media (min-width:576px){.mr-sm-0,.mx-sm-0{margin-right:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.m-sm-0{margin:0!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.m-sm-1{margin:.25rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.m-sm-2{margin:.5rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.m-sm-3{margin:1rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.m-sm-4{margin:1.5rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.m-sm-5{margin:3rem!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.p-sm-0{padding:0!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.p-sm-1{padding:.25rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.p-sm-2{padding:.5rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.p-sm-3{padding:1rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.p-sm-4{padding:1.5rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.p-sm-5{padding:3rem!important}.m-sm-auto{margin:auto!important}}@media (min-width:768px){.mr-md-0,.mx-md-0{margin-right:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.m-md-0{margin:0!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.m-md-1{margin:.25rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.m-md-2{margin:.5rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.m-md-3{margin:1rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.m-md-4{margin:1.5rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.m-md-5{margin:3rem!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.p-md-0{padding:0!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.p-md-1{padding:.25rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.p-md-2{padding:.5rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.p-md-3{padding:1rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.p-md-4{padding:1.5rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.p-md-5{padding:3rem!important}.m-md-auto{margin:auto!important}}@media (min-width:992px){.mr-lg-0,.mx-lg-0{margin-right:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.m-lg-0{margin:0!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.m-lg-1{margin:.25rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.m-lg-2{margin:.5rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.m-lg-3{margin:1rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.m-lg-4{margin:1.5rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.m-lg-5{margin:3rem!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.p-lg-0{padding:0!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.p-lg-1{padding:.25rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.p-lg-2{padding:.5rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.p-lg-3{padding:1rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.p-lg-4{padding:1.5rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.p-lg-5{padding:3rem!important}.m-lg-auto{margin:auto!important}}@media (min-width:1200px){.mr-xl-0,.mx-xl-0{margin-right:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.m-xl-0{margin:0!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.m-xl-1{margin:.25rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.m-xl-2{margin:.5rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.m-xl-3{margin:1rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.m-xl-4{margin:1.5rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.m-xl-5{margin:3rem!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.p-xl-0{padding:0!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.p-xl-1{padding:.25rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.p-xl-2{padding:.5rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.p-xl-3{padding:1rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.p-xl-4{padding:1.5rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.p-xl-5{padding:3rem!important}.m-xl-auto{margin:auto!important}}.e-px{padding-left:0;padding-right:0}@media (min-width:576px){.e-px{padding-left:5%;padding-right:5%}}@media (min-width:768px){.e-px{padding-left:10%;padding-right:10%}}.comments-list img,.img-fluid,.modal-dialog.cascading-modal.modal-avatar .modal-header,.reply-form img,.section-blog-fw .view img{max-width:100%;height:auto}.inline-ul>li{display:inline}.list-inline-div>div{display:inline-block}@media only screen and (max-width:992px){.center-on-small-only{text-align:center}.center-on-small-only .comments-list img,.center-on-small-only .img-fluid,.center-on-small-only .modal-dialog.cascading-modal.modal-avatar .modal-header,.center-on-small-only .reply-form img,.center-on-small-only .section-blog-fw .view img,.comments-list .center-on-small-only img,.modal-dialog.cascading-modal.modal-avatar .center-on-small-only .modal-header,.reply-form .center-on-small-only img,.section-blog-fw .view .center-on-small-only img{display:inline}}.card .card-circle,.card-overlay,.flex-center,.section.team-section .avatar,.testimonial-carousel .testimonial .avatar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%}.divider-new:after,.divider-new:before{content:'';height:1.5px;background:#c6c6c6}.card .card-circle p,.card-overlay p,.flex-center p,.section.team-section .avatar p,.testimonial-carousel .testimonial .avatar p{margin:0}.card .card-circle ul li,.card-overlay ul li,.flex-center ul li,.section.team-section .avatar ul li,.testimonial-carousel .testimonial .avatar ul li{margin-bottom:1rem}@media (min-width:992px){.e-px{padding-left:15%;padding-right:15%}.mb-r{margin-bottom:3rem!important}}@media (max-width:992px){.hidden-md-down{display:none!important}.mb-r{margin-bottom:2rem!important}.navbar .container{width:100%}.navbar .container .navbar-toggler-right{right:0}}.font-bold{font-weight:500}.hr-light{border-top:1px solid #fff}.hr-dark{border-top:1px solid #666}.blockquote .bq-title{font-weight:400;font-size:1.5rem;margin-bottom:0}.divider-new,body,h1,h2,h3,h4,h5,h6{font-weight:300}.blockquote p{font-size:1.1rem}.bq-primary{border-left:3px solid #4285F4}.bq-primary .bq-title{color:#4285F4}.bq-warning{border-left:3px solid #fb3}.bq-warning .bq-title{color:#fb3}.bq-danger{border-left:3px solid #ff3547}.bq-danger .bq-title{color:#ff3547}.bq-success{border-left:3px solid #00C851}.bq-success .bq-title{color:#00C851}@font-face{font-family:Roboto;src:local(Roboto Thin),url(../font/roboto/Roboto-Thin.eot);src:url(../font/roboto/Roboto-Thin.eot?#iefix) format("embedded-opentype"),url(../font/roboto/Roboto-Thin.woff2) format("woff2"),url(../font/roboto/Roboto-Thin.woff) format("woff"),url(../font/roboto/Roboto-Thin.ttf) format("truetype");font-weight:200}@font-face{font-family:Roboto;src:local(Roboto Light),url(../font/roboto/Roboto-Light.eot);src:url(../font/roboto/Roboto-Light.eot?#iefix) format("embedded-opentype"),url(../font/roboto/Roboto-Light.woff2) format("woff2"),url(../font/roboto/Roboto-Light.woff) format("woff"),url(../font/roboto/Roboto-Light.ttf) format("truetype");font-weight:300}@font-face{font-family:Roboto;src:local(Roboto Regular),url(../font/roboto/Roboto-Regular.eot);src:url(../font/roboto/Roboto-Regular.eot?#iefix) format("embedded-opentype"),url(../font/roboto/Roboto-Regular.woff2) format("woff2"),url(../font/roboto/Roboto-Regular.woff) format("woff"),url(../font/roboto/Roboto-Regular.ttf) format("truetype");font-weight:400}@font-face{font-family:Roboto;src:url(../font/roboto/Roboto-Medium.eot);src:url(../font/roboto/Roboto-Medium.eot?#iefix) format("embedded-opentype"),url(../font/roboto/Roboto-Medium.woff2) format("woff2"),url(../font/roboto/Roboto-Medium.woff) format("woff"),url(../font/roboto/Roboto-Medium.ttf) format("truetype");font-weight:500}@font-face{font-family:Roboto;src:url(../font/roboto/Roboto-Bold.eot);src:url(../font/roboto/Roboto-Bold.eot?#iefix) format("embedded-opentype"),url(../font/roboto/Roboto-Bold.woff2) format("woff2"),url(../font/roboto/Roboto-Bold.woff) format("woff"),url(../font/roboto/Roboto-Bold.ttf) format("truetype");font-weight:700}body{font-family:Roboto,sans-serif}.h1-responsive,.section-heading h1{font-size:150%}.h2-responsive,.section-blog-fw h2{font-size:145%}.h3-responsive,.h4-responsive,.h5-responsive{font-size:135%}@media (min-width:576px){.h1-responsive,.section-heading h1{font-size:170%}.h2-responsive,.section-blog-fw h2{font-size:140%}.h3-responsive,.h4-responsive,.h5-responsive{font-size:125%}}@media (min-width:768px){.h1-responsive,.section-heading h1{font-size:200%}.h2-responsive,.section-blog-fw h2{font-size:170%}.h3-responsive{font-size:140%}.h4-responsive,.h5-responsive{font-size:125%}}@media (min-width:992px){.h1-responsive,.section-heading h1{font-size:200%}.h2-responsive,.section-blog-fw h2{font-size:170%}.h3-responsive{font-size:140%}.h4-responsive,.h5-responsive{font-size:125%}}@media (min-width:1200px){.e-px{padding-left:20%;padding-right:20%}.h1-responsive,.section-heading h1{font-size:250%}.h2-responsive,.section-blog-fw h2{font-size:200%}.h3-responsive{font-size:170%}.h4-responsive{font-size:140%}.h5-responsive{font-size:125%}}.fs-0{font-size:0!important}.fs-1{font-size:.25rem!important}.fs-2{font-size:.5rem!important}.fs-3{font-size:1rem!important}.fs-4{font-size:1.5rem!important}.fs-5{font-size:3rem!important}.divider-new{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-top:45px;margin-bottom:45px}.card,.card .card-body h3,.card .card-body h4,.card .card-text{font-weight:400}.divider-new h2{margin-top:5px}.divider-new:before{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin:0 .45em 0 0}.divider-new:after{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin:0 0 0 .45em}blockquote{padding:.5rem 1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}blockquote p{font-size:.9rem;padding-left:2rem;padding-top:1rem;padding-bottom:1rem}.btn{font-size:.8rem;padding:.85rem 2.13rem;margin:6px;border-radius:2px;border:0;-webkit-transition:.2s ease-out;transition:.2s ease-out;white-space:normal!important;word-wrap:break-word;cursor:pointer}.btn:active,.btn:focus,.btn:hover{outline:0}.btn .fa{font-size:1.1rem;vertical-align:middle;margin-top:-2px}.btn .fa.right{margin-left:3px}.btn .fa.left{margin-right:3px}.btn.btn-lg{font-size:.9rem;padding:1rem 2.4rem}.btn.btn-md{font-size:.7rem;padding:.7rem 1.6rem}.btn.btn-sm,.btn.wishlist{font-size:.6rem;padding:.5rem 1.6rem}.btn.btn-sm.btn-table,.btn.btn-table.wishlist{padding:.5rem .9rem}.btn.btn-sm .fa,.btn.wishlist .fa{font-size:.8rem}.btn.btn-tb{padding:.3rem 1rem}.btn.disabled,.btn:disabled{cursor:not-allowed}.btn[class*=btn-outline-]{padding-top:.76rem;padding-bottom:.76rem}.btn[class*=btn-outline-].btn-sm,.btn[class*=btn-outline-].wishlist{padding-top:.42rem;padding-bottom:.42rem}.btn[class*=btn-outline-].btn-md{padding-top:.58rem;padding-bottom:.58rem}.btn[class*=btn-outline-].btn-lg{padding-top:.9rem;padding-bottom:.9rem}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#b579d2!important;border-color:#b579d2!important}.btn-group .btn{margin:0}.btn-block{margin:inherit}.btn-split{padding-left:.85rem;padding-right:1.25rem}.btn-link,.btn-link:focus,.btn-link:hover{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-primary{background-color:#4285F4}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover{background-color:#5a95f5!important}.btn-primary.dropdown-toggle{background-color:#4285F4!important}.btn-primary.dropdown-toggle:focus,.btn-primary.dropdown-toggle:hover{background-color:#5a95f5!important}.btn-outline-primary{border:2px solid #4285F4;color:#4285F4!important;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.btn-outline-primary:active:focus,.btn-outline-primary:focus,.btn-outline-primary:hover{background-color:transparent;color:#4285F4;border-color:#4285F4}.btn-danger{background-color:#ff3547}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover{background-color:#ff4f5e!important}.btn-danger.dropdown-toggle{background-color:#ff3547!important}.btn-danger.dropdown-toggle:focus,.btn-danger.dropdown-toggle:hover{background-color:#ff4f5e!important}.btn-outline-danger{border:2px solid #ff3547;color:#ff3547!important;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.btn-outline-danger:active:focus,.btn-outline-danger:focus,.btn-outline-danger:hover{background-color:transparent;color:#ff3547;border-color:#ff3547}.btn-warning{background-color:#F80}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover{background-color:#ff941a!important}.btn-warning.dropdown-toggle{background-color:#F80!important}.btn-warning.dropdown-toggle:focus,.btn-warning.dropdown-toggle:hover{background-color:#ff941a!important}.btn-outline-warning{border:2px solid #F80;color:#F80!important;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.btn-outline-warning:active:focus,.btn-outline-warning:focus,.btn-outline-warning:hover{background-color:transparent;color:#F80;border-color:#F80}.btn-success{background-color:#00C851}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover{background-color:#00e25b!important}.btn-success.dropdown-toggle{background-color:#00C851!important}.btn-success.dropdown-toggle:focus,.btn-success.dropdown-toggle:hover{background-color:#00e25b!important}.btn-outline-success{border:2px solid #00C851;color:#00C851!important;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.btn-outline-success:active:focus,.btn-outline-success:focus,.btn-outline-success:hover{background-color:transparent;color:#00C851;border-color:#00C851}.btn-info{background-color:#33b5e5}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover{background-color:#4abde8!important}.btn-info.dropdown-toggle{background-color:#33b5e5!important}.btn-info.dropdown-toggle:focus,.btn-info.dropdown-toggle:hover{background-color:#4abde8!important}.btn-outline-info{border:2px solid #33b5e5;color:#33b5e5!important;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.btn-outline-info:active:focus,.btn-outline-info:focus,.btn-outline-info:hover{background-color:transparent;color:#33b5e5;border-color:#33b5e5}.btn-default{background-color:#2BBBAD}.btn-default.active,.btn-default:active,.btn-default:focus,.btn-default:hover{background-color:#30cfc0!important}.btn-default.dropdown-toggle{background-color:#2BBBAD!important}.btn-default.dropdown-toggle:focus,.btn-default.dropdown-toggle:hover{background-color:#30cfc0!important}.btn-outline-default{border:2px solid #2BBBAD;color:#2BBBAD!important;background-color:transparent}.btn-outline-default.active,.btn-outline-default:active,.btn-outline-default:active:focus,.btn-outline-default:focus,.btn-outline-default:hover{background-color:transparent;color:#2BBBAD;border-color:#2BBBAD}.btn-secondary{background-color:#a6c}.btn-secondary.active,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover{background-color:#b579d2!important}.btn-secondary.dropdown-toggle{background-color:#a6c!important}.btn-secondary.dropdown-toggle:focus,.btn-secondary.dropdown-toggle:hover{background-color:#b579d2!important}.btn-outline-secondary{border:2px solid #a6c;color:#a6c!important;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.btn-outline-secondary:active:focus,.btn-outline-secondary:focus,.btn-outline-secondary:hover{background-color:transparent;color:#a6c;border-color:#a6c}.btn-elegant{background-color:#2E2E2E}.btn-elegant.active,.btn-elegant:active,.btn-elegant:focus,.btn-elegant:hover{background-color:#3b3b3b!important}.btn-elegant.dropdown-toggle{background-color:#2E2E2E!important}.btn-elegant.dropdown-toggle:focus,.btn-elegant.dropdown-toggle:hover{background-color:#3b3b3b!important}.btn-outline-elegant{border:2px solid #2E2E2E;color:#2E2E2E!important;background-color:transparent}.btn-outline-elegant.active,.btn-outline-elegant:active,.btn-outline-elegant:active:focus,.btn-outline-elegant:focus,.btn-outline-elegant:hover{background-color:transparent;color:#2E2E2E;border-color:#2E2E2E}.btn-unique{background-color:#880e4f}.btn-unique.active,.btn-unique:active,.btn-unique:focus,.btn-unique:hover{background-color:#9f105c!important}.btn-unique.dropdown-toggle{background-color:#880e4f!important}.btn-unique.dropdown-toggle:focus,.btn-unique.dropdown-toggle:hover{background-color:#9f105c!important}.btn-outline-unique{border:2px solid #880e4f;color:#880e4f!important;background-color:transparent}.btn-outline-unique.active,.btn-outline-unique:active,.btn-outline-unique:active:focus,.btn-outline-unique:focus,.btn-outline-unique:hover{background-color:transparent;color:#880e4f;border-color:#880e4f}.btn-dark-green{background-color:#388E3C}.btn-dark-green.active,.btn-dark-green:active,.btn-dark-green:focus,.btn-dark-green:hover{background-color:#3fa044!important}.btn-dark-green.dropdown-toggle{background-color:#388E3C!important}.btn-dark-green.dropdown-toggle:focus,.btn-dark-green.dropdown-toggle:hover{background-color:#3fa044!important}.btn-outline-dark-green{border:2px solid #388E3C;color:#388E3C!important;background-color:transparent}.btn-outline-dark-green.active,.btn-outline-dark-green:active,.btn-outline-dark-green:active:focus,.btn-outline-dark-green:focus,.btn-outline-dark-green:hover{background-color:transparent;color:#388E3C;border-color:#388E3C}.btn-mdb-color{background-color:#59698D}.btn-mdb-color.active,.btn-mdb-color:active,.btn-mdb-color:focus,.btn-mdb-color:hover{background-color:#63759d!important}.btn-mdb-color.dropdown-toggle{background-color:#59698D!important}.btn-mdb-color.dropdown-toggle:focus,.btn-mdb-color.dropdown-toggle:hover{background-color:#63759d!important}.btn-outline-mdb-color{border:2px solid #59698D;color:#59698D!important;background-color:transparent}.btn-outline-mdb-color.active,.btn-outline-mdb-color:active,.btn-outline-mdb-color:active:focus,.btn-outline-mdb-color:focus,.btn-outline-mdb-color:hover{background-color:transparent;color:#59698D;border-color:#59698D}.btn-red{background-color:#D32F2F}.btn-red.active,.btn-red:active,.btn-red:focus,.btn-red:hover{background-color:#d74444!important}.btn-red.dropdown-toggle{background-color:#D32F2F!important}.btn-red.dropdown-toggle:focus,.btn-red.dropdown-toggle:hover{background-color:#d74444!important}.btn-outline-red{border:2px solid #D32F2F;color:#D32F2F!important;background-color:transparent}.btn-outline-red.active,.btn-outline-red:active,.btn-outline-red:active:focus,.btn-outline-red:focus,.btn-outline-red:hover{background-color:transparent;color:#D32F2F;border-color:#D32F2F}.btn-pink{background-color:#ec407a}.btn-pink.active,.btn-pink:active,.btn-pink:focus,.btn-pink:hover{background-color:#ee578a!important}.btn-pink.dropdown-toggle{background-color:#ec407a!important}.btn-pink.dropdown-toggle:focus,.btn-pink.dropdown-toggle:hover{background-color:#ee578a!important}.btn-outline-pink{border:2px solid #ec407a;color:#ec407a!important;background-color:transparent}.btn-outline-pink.active,.btn-outline-pink:active,.btn-outline-pink:active:focus,.btn-outline-pink:focus,.btn-outline-pink:hover{background-color:transparent;color:#ec407a;border-color:#ec407a}.btn-purple{background-color:#8e24aa}.btn-purple.active,.btn-purple:active,.btn-purple:focus,.btn-purple:hover{background-color:#a028bf!important}.btn-purple.dropdown-toggle{background-color:#8e24aa!important}.btn-purple.dropdown-toggle:focus,.btn-purple.dropdown-toggle:hover{background-color:#a028bf!important}.btn-outline-purple{border:2px solid #8e24aa;color:#8e24aa!important;background-color:transparent}.btn-outline-purple.active,.btn-outline-purple:active,.btn-outline-purple:active:focus,.btn-outline-purple:focus,.btn-outline-purple:hover{background-color:transparent;color:#8e24aa;border-color:#8e24aa}.btn-deep-purple{background-color:#512da8}.btn-deep-purple.active,.btn-deep-purple:active,.btn-deep-purple:focus,.btn-deep-purple:hover{background-color:#5b32bc!important}.btn-deep-purple.dropdown-toggle{background-color:#512da8!important}.btn-deep-purple.dropdown-toggle:focus,.btn-deep-purple.dropdown-toggle:hover{background-color:#5b32bc!important}.btn-outline-deep-purple{border:2px solid #512da8;color:#512da8!important;background-color:transparent}.btn-outline-deep-purple.active,.btn-outline-deep-purple:active,.btn-outline-deep-purple:active:focus,.btn-outline-deep-purple:focus,.btn-outline-deep-purple:hover{background-color:transparent;color:#512da8;border-color:#512da8}.btn-indigo{background-color:#3f51b5}.btn-indigo.active,.btn-indigo:active,.btn-indigo:focus,.btn-indigo:hover{background-color:#4d5ec1!important}.btn-indigo.dropdown-toggle{background-color:#3f51b5!important}.btn-indigo.dropdown-toggle:focus,.btn-indigo.dropdown-toggle:hover{background-color:#4d5ec1!important}.btn-outline-indigo{border:2px solid #3f51b5;color:#3f51b5!important;background-color:transparent}.btn-outline-indigo.active,.btn-outline-indigo:active,.btn-outline-indigo:active:focus,.btn-outline-indigo:focus,.btn-outline-indigo:hover{background-color:transparent;color:#3f51b5;border-color:#3f51b5}.btn-blue{background-color:#1976D2}.btn-blue.active,.btn-blue:active,.btn-blue:focus,.btn-blue:hover{background-color:#2083e4!important}.btn-blue.dropdown-toggle{background-color:#1976D2!important}.btn-blue.dropdown-toggle:focus,.btn-blue.dropdown-toggle:hover{background-color:#2083e4!important}.btn-outline-blue{border:2px solid #1976D2;color:#1976D2!important;background-color:transparent}.btn-outline-blue.active,.btn-outline-blue:active,.btn-outline-blue:active:focus,.btn-outline-blue:focus,.btn-outline-blue:hover{background-color:transparent;color:#1976D2;border-color:#1976D2}.btn-light-blue{background-color:#82B1FF}.btn-light-blue.active,.btn-light-blue:active,.btn-light-blue:focus,.btn-light-blue:hover{background-color:#9cc1ff!important}.btn-light-blue.dropdown-toggle{background-color:#82B1FF!important}.btn-light-blue.dropdown-toggle:focus,.btn-light-blue.dropdown-toggle:hover{background-color:#9cc1ff!important}.btn-outline-light-blue{border:2px solid #82B1FF;color:#82B1FF!important;background-color:transparent}.btn-outline-light-blue.active,.btn-outline-light-blue:active,.btn-outline-light-blue:active:focus,.btn-outline-light-blue:focus,.btn-outline-light-blue:hover{background-color:transparent;color:#82B1FF;border-color:#82B1FF}.btn-cyan{background-color:#00bcd4}.btn-cyan.active,.btn-cyan:active,.btn-cyan:focus,.btn-cyan:hover{background-color:#00d3ee!important}.btn-cyan.dropdown-toggle{background-color:#00bcd4!important}.btn-cyan.dropdown-toggle:focus,.btn-cyan.dropdown-toggle:hover{background-color:#00d3ee!important}.btn-outline-cyan{border:2px solid #00bcd4;color:#00bcd4!important;background-color:transparent}.btn-outline-cyan.active,.btn-outline-cyan:active,.btn-outline-cyan:active:focus,.btn-outline-cyan:focus,.btn-outline-cyan:hover{background-color:transparent;color:#00bcd4;border-color:#00bcd4}.btn-teal{background-color:#00796b}.btn-teal.active,.btn-teal:active,.btn-teal:focus,.btn-teal:hover{background-color:#009382!important}.btn-teal.dropdown-toggle{background-color:#00796b!important}.btn-teal.dropdown-toggle:focus,.btn-teal.dropdown-toggle:hover{background-color:#009382!important}.btn-outline-teal{border:2px solid #00796b;color:#00796b!important;background-color:transparent}.btn-outline-teal.active,.btn-outline-teal:active,.btn-outline-teal:active:focus,.btn-outline-teal:focus,.btn-outline-teal:hover{background-color:transparent;color:#00796b;border-color:#00796b}.btn-green{background-color:#388E3C}.btn-green.active,.btn-green:active,.btn-green:focus,.btn-green:hover{background-color:#3fa044!important}.btn-green.dropdown-toggle{background-color:#388E3C!important}.btn-green.dropdown-toggle:focus,.btn-green.dropdown-toggle:hover{background-color:#3fa044!important}.btn-outline-green{border:2px solid #388E3C;color:#388E3C!important;background-color:transparent}.btn-outline-green.active,.btn-outline-green:active,.btn-outline-green:active:focus,.btn-outline-green:focus,.btn-outline-green:hover{background-color:transparent;color:#388E3C;border-color:#388E3C}.btn-light-green{background-color:#8bc34a}.btn-light-green.active,.btn-light-green:active,.btn-light-green:focus,.btn-light-green:hover{background-color:#97c95d!important}.btn-light-green.dropdown-toggle{background-color:#8bc34a!important}.btn-light-green.dropdown-toggle:focus,.btn-light-green.dropdown-toggle:hover{background-color:#97c95d!important}.btn-outline-light-green{border:2px solid #8bc34a;color:#8bc34a!important;background-color:transparent}.btn-outline-light-green.active,.btn-outline-light-green:active,.btn-outline-light-green:active:focus,.btn-outline-light-green:focus,.btn-outline-light-green:hover{background-color:transparent;color:#8bc34a;border-color:#8bc34a}.btn-lime{background-color:#afb42b}.btn-lime.active,.btn-lime:active,.btn-lime:focus,.btn-lime:hover{background-color:#c3c930!important}.btn-lime.dropdown-toggle{background-color:#afb42b!important}.btn-lime.dropdown-toggle:focus,.btn-lime.dropdown-toggle:hover{background-color:#c3c930!important}.btn-outline-lime{border:2px solid #afb42b;color:#afb42b!important;background-color:transparent}.btn-outline-lime.active,.btn-outline-lime:active,.btn-outline-lime:active:focus,.btn-outline-lime:focus,.btn-outline-lime:hover{background-color:transparent;color:#afb42b;border-color:#afb42b}.btn-yellow{background-color:#fbc02d}.btn-yellow.active,.btn-yellow:active,.btn-yellow:focus,.btn-yellow:hover{background-color:#fbc846!important}.btn-yellow.dropdown-toggle{background-color:#fbc02d!important}.btn-yellow.dropdown-toggle:focus,.btn-yellow.dropdown-toggle:hover{background-color:#fbc846!important}.btn-outline-yellow{border:2px solid #fbc02d;color:#fbc02d!important;background-color:transparent}.btn-outline-yellow.active,.btn-outline-yellow:active,.btn-outline-yellow:active:focus,.btn-outline-yellow:focus,.btn-outline-yellow:hover{background-color:transparent;color:#fbc02d;border-color:#fbc02d}.btn-amber{background-color:#ffa000}.btn-amber.active,.btn-amber:active,.btn-amber:focus,.btn-amber:hover{background-color:#ffaa1a!important}.btn-amber.dropdown-toggle{background-color:#ffa000!important}.btn-amber.dropdown-toggle:focus,.btn-amber.dropdown-toggle:hover{background-color:#ffaa1a!important}.btn-outline-amber{border:2px solid #ffa000;color:#ffa000!important;background-color:transparent}.btn-outline-amber.active,.btn-outline-amber:active,.btn-outline-amber:active:focus,.btn-outline-amber:focus,.btn-outline-amber:hover{background-color:transparent;color:#ffa000;border-color:#ffa000}.btn-orange{background-color:#f57c00}.btn-orange.active,.btn-orange:active,.btn-orange:focus,.btn-orange:hover{background-color:#ff8910!important}.btn-orange.dropdown-toggle{background-color:#f57c00!important}.btn-orange.dropdown-toggle:focus,.btn-orange.dropdown-toggle:hover{background-color:#ff8910!important}.btn-outline-orange{border:2px solid #f57c00;color:#f57c00!important;background-color:transparent}.btn-outline-orange.active,.btn-outline-orange:active,.btn-outline-orange:active:focus,.btn-outline-orange:focus,.btn-outline-orange:hover{background-color:transparent;color:#f57c00;border-color:#f57c00}.btn-deep-orange{background-color:#ff7043}.btn-deep-orange.active,.btn-deep-orange:active,.btn-deep-orange:focus,.btn-deep-orange:hover{background-color:#ff835d!important}.btn-deep-orange.dropdown-toggle{background-color:#ff7043!important}.btn-deep-orange.dropdown-toggle:focus,.btn-deep-orange.dropdown-toggle:hover{background-color:#ff835d!important}.btn-outline-deep-orange{border:2px solid #ff7043;color:#ff7043!important;background-color:transparent}.btn-outline-deep-orange.active,.btn-outline-deep-orange:active,.btn-outline-deep-orange:active:focus,.btn-outline-deep-orange:focus,.btn-outline-deep-orange:hover{background-color:transparent;color:#ff7043;border-color:#ff7043}.btn-brown{background-color:#795548}.btn-brown.active,.btn-brown:active,.btn-brown:focus,.btn-brown:hover{background-color:#896052!important}.btn-brown.dropdown-toggle{background-color:#795548!important}.btn-brown.dropdown-toggle:focus,.btn-brown.dropdown-toggle:hover{background-color:#896052!important}.btn-outline-brown{border:2px solid #795548;color:#795548!important;background-color:transparent}.btn-outline-brown.active,.btn-outline-brown:active,.btn-outline-brown:active:focus,.btn-outline-brown:focus,.btn-outline-brown:hover{background-color:transparent;color:#795548;border-color:#795548}.btn-grey{background-color:#616161}.btn-grey.active,.btn-grey:active,.btn-grey:focus,.btn-grey:hover{background-color:#6e6e6e!important}.btn-grey.dropdown-toggle{background-color:#616161!important}.btn-grey.dropdown-toggle:focus,.btn-grey.dropdown-toggle:hover{background-color:#6e6e6e!important}.btn-outline-grey{border:2px solid #616161;color:#616161!important;background-color:transparent}.btn-outline-grey.active,.btn-outline-grey:active,.btn-outline-grey:active:focus,.btn-outline-grey:focus,.btn-outline-grey:hover{background-color:transparent;color:#616161;border-color:#616161}.btn-blue-grey{background-color:#78909c}.btn-blue-grey.active,.btn-blue-grey:active,.btn-blue-grey:focus,.btn-blue-grey:hover{background-color:#879ca7!important}.btn-blue-grey.dropdown-toggle{background-color:#78909c!important}.btn-blue-grey.dropdown-toggle:focus,.btn-blue-grey.dropdown-toggle:hover{background-color:#879ca7!important}.btn-outline-blue-grey{border:2px solid #78909c;color:#78909c!important;background-color:transparent}.btn-outline-blue-grey.active,.btn-outline-blue-grey:active,.btn-outline-blue-grey:active:focus,.btn-outline-blue-grey:focus,.btn-outline-blue-grey:hover{background-color:transparent;color:#78909c;border-color:#78909c}.btn-white{background-color:#fff}.btn-white.active,.btn-white.dropdown-toggle,.btn-white.dropdown-toggle:focus,.btn-white.dropdown-toggle:hover,.btn-white:active,.btn-white:focus,.btn-white:hover{background-color:#fff!important}.btn-outline-white{border:2px solid #fff;color:#fff!important;background-color:transparent}.btn-outline-white.active,.btn-outline-white:active,.btn-outline-white:active:focus,.btn-outline-white:focus,.btn-outline-white:hover{background-color:transparent;color:#fff;border-color:#fff}.btn-black{background-color:#000}.btn-black.active,.btn-black:active,.btn-black:focus,.btn-black:hover{background-color:#0d0d0d!important}.btn-black.dropdown-toggle{background-color:#000!important}.btn-black.dropdown-toggle:focus,.btn-black.dropdown-toggle:hover{background-color:#0d0d0d!important}.btn-outline-black{border:2px solid #000;color:#000!important;background-color:transparent}.btn-outline-black.active,.btn-outline-black:active,.btn-outline-black:active:focus,.btn-outline-black:focus,.btn-outline-black:hover{background-color:transparent;color:#000;border-color:#000}.card{border-radius:.3rem}.card:not([class*=card-outline-]){border:0}.card img{border-radius:2px 2px 0 0}.card .card-body h5{margin-bottom:1rem;font-size:1rem;font-weight:400}.card .card-body p{margin-bottom:1rem}.card .card-title a,.card .card-title a:hover{-webkit-transition:.3s;transition:.3s}.card .card-text{font-size:.9rem;color:#747373}.card .card-footer.links-light a{font-size:15px;color:#757575}.card .card-footer.links-light a:hover{color:#d50000;-webkit-transition:.4s;transition:.4s}.card .card-footer.links-light a .fa{font-size:17px}.dropdown .dropdown-menu .dropdown-item:active,.dropdown .dropdown-menu .dropdown-item:focus,.dropdown .dropdown-menu .dropdown-item:hover{color:#1d1e1f;background-color:#f7f7f9}.navbar{font-weight:300;padding-right:1rem!important}.navbar form input{margin:0 5px 1px 8px;height:1rem}.navbar .navbar-brand{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;overflow:visible}.navbar .breadcrumb{margin:0;background-color:inherit;font-weight:300;padding-left:1rem;font-size:15px}.navbar .navbar-toggler{border-width:0}.navbar .nav-flex-icons,.navbar.double-nav{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar.navbar-dark .navbar-nav .nav-item .nav-link.disabled,.navbar.navbar-dark .navbar-nav .nav-item .nav-link.disabled:hover{color:rgba(255,255,255,.5)}.navbar.navbar-light .navbar-nav .nav-item .nav-link.disabled,.navbar.navbar-light .navbar-nav .nav-item .nav-link.disabled:hover{color:rgba(0,0,0,.5)}.navbar .nav-item .nav-link{display:block}.navbar .nav-item .nav-link.disabled:active{pointer-events:none}.navbar .nav-item .nav-link .fa{padding-left:3px;padding-right:3px}@media (max-width:992px){.navbar .nav-item .nav-link{padding-left:6px;padding-right:6px}}.navbar .dropdown-menu{position:absolute!important;margin-top:0}.navbar .dropdown-menu a{font-size:.9375rem;font-weight:300;padding:10px;color:#000!important}.navbar .dropdown-menu a:hover{color:#fff!important}@media (max-width:600px){.navbar .dropdown-menu.dropdown-menu-right{right:auto!important}}.navbar.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");cursor:pointer}.navbar.navbar-light .breadcrumb .nav-item .nav-link,.navbar.navbar-light .navbar-nav .nav-item .nav-link{color:#000;-webkit-transition:.35s;transition:.35s}.navbar.navbar-light .breadcrumb .nav-item .nav-link:hover,.navbar.navbar-light .navbar-nav .nav-item .nav-link:hover{color:rgba(0,0,0,.75)}.navbar.navbar-light .breadcrumb .nav-item.active>.nav-link:hover,.navbar.navbar-light .navbar-nav .nav-item.active>.nav-link:hover,.navbar.navbar-light .navbar-toggler,.navbar.navbar-light form .form-control{color:#000}.navbar.navbar-light .breadcrumb .nav-item.active>.nav-link,.navbar.navbar-light .navbar-nav .nav-item.active>.nav-link{background-color:rgba(0,0,0,.1)}.navbar.navbar-light form input[type=text]{border-bottom:1px solid #000}.navbar.navbar-light form input[type=text]:focus:not([readonly]){border-color:#4285F4}.navbar.navbar-light form .form-control:-moz-placeholder{color:#000;font-weight:300}.navbar.navbar-light form .form-control::-ms-placeholder{color:#000;font-weight:300}.navbar.navbar-light form .form-control::-webkit-input-placeholder{color:#000;font-weight:300}.navbar.navbar-light form .form-control::-moz-placeholder{color:#000;font-weight:300}.navbar.navbar-light form .form-control:-ms-input-placeholder{color:#000;font-weight:300}.navbar.navbar-light form .form-control::placeholder{color:#000;font-weight:300}.navbar.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");cursor:pointer}.navbar.navbar-dark .breadcrumb .nav-item .nav-link,.navbar.navbar-dark .navbar-nav .nav-item .nav-link{color:#fff;-webkit-transition:.35s;transition:.35s}.navbar.navbar-dark .breadcrumb .nav-item .nav-link:hover,.navbar.navbar-dark .navbar-nav .nav-item .nav-link:hover{color:rgba(255,255,255,.75)}.navbar.navbar-dark .breadcrumb .nav-item.active>.nav-link:hover,.navbar.navbar-dark .navbar-nav .nav-item.active>.nav-link:hover,.navbar.navbar-dark .navbar-toggler,.navbar.navbar-dark form .form-control,.pagination .active .page-link:hover{color:#fff}.navbar.navbar-dark .breadcrumb .nav-item.active>.nav-link,.navbar.navbar-dark .navbar-nav .nav-item.active>.nav-link{background-color:rgba(255,255,255,.1)}.navbar.navbar-dark form input[type=text]{border-bottom:1px solid #fff}.navbar.navbar-dark form input[type=text]:focus:not([readonly]){border-color:#4285F4}.navbar.navbar-dark form .form-control:-moz-placeholder{color:#fff;font-weight:300}.navbar.navbar-dark form .form-control::-ms-placeholder{color:#fff;font-weight:300}.navbar.navbar-dark form .form-control::-webkit-input-placeholder{color:#fff;font-weight:300}.navbar.navbar-dark form .form-control::-moz-placeholder{color:#fff;font-weight:300}.navbar.navbar-dark form .form-control:-ms-input-placeholder{color:#fff;font-weight:300}.navbar.navbar-dark form .form-control::placeholder{color:#fff;font-weight:300}.navbar.scrolling-navbar{z-index:100}@media (min-width:600px){.navbar.scrolling-navbar{-webkit-transition:background .5s ease-in-out,padding .5s ease-in-out;transition:background .5s ease-in-out,padding .5s ease-in-out;padding-top:12px;padding-bottom:12px}.navbar.scrolling-navbar .navbar-nav>li{-webkit-transition-duration:1s;transition-duration:1s}.navbar.scrolling-navbar.top-nav-collapse{padding-top:5px;padding-bottom:5px}.intro-margin.view{overflow:visible;margin-top:-56px}}.pagination .active .page-link{border-radius:2px;-webkit-transition:all .2s linear;transition:all .2s linear}.pagination.pagination-circle .page-link{border-radius:50%;margin-left:2px;margin-right:2px}.pagination.pagination-circle .active .page-link,.pagination.pagination-circle .page-link:hover{border-radius:50%}.pagination .page-link{background-color:transparent;font-size:.8rem;border:0;-webkit-transition:all .3s linear;transition:all .3s linear}.pagination .page-link:hover{-webkit-transition:all .3s linear;transition:all .3s linear;background-color:#eee}.pagination .page-link:focus{background-color:transparent}.pagination.pg-blue .active .page-link{background-color:#4285F4}.pagination.pg-red .active .page-link{background-color:#ff3547}.pagination.pg-teal .active .page-link{background-color:#2BBBAD}.pagination.pg-darkgrey .active .page-link{background-color:#37474F}.pagination.pg-dark .active .page-link{background-color:#2E2E2E}.pagination.pg-bluegrey .active .page-link{background-color:#3F729B}.pagination.pg-amber .active .page-link{background-color:#ff6f00}.pagination.pg-purple .active .page-link{background-color:#5e35b1}.badge-primary{background-color:#4285F4}.badge-danger{background-color:#ff3547}.badge-warning{background-color:#F80;color:#FFF!important}.badge-success{background-color:#00C851}.badge-info{background-color:#33b5e5}.badge-default{background-color:#2BBBAD}.badge-secondary{background-color:#a6c}.badge-elegant{background-color:#2E2E2E}.badge-unique{background-color:#880e4f}.badge-dark-green{background-color:#388E3C}.badge-mdb-color{background-color:#59698D}.badge-red{background-color:#D32F2F}.badge-pink{background-color:#ec407a}.badge-purple{background-color:#8e24aa}.badge-deep-purple{background-color:#512da8}.badge-indigo{background-color:#3f51b5}.badge-blue{background-color:#1976D2}.badge-light-blue{background-color:#82B1FF}.badge-cyan{background-color:#00bcd4}.badge-teal{background-color:#00796b}.badge-green{background-color:#388E3C}.badge-light-green{background-color:#8bc34a}.badge-lime{background-color:#afb42b}.badge-yellow{background-color:#fbc02d}.badge-amber{background-color:#ffa000}.badge-orange{background-color:#f57c00}.badge-deep-orange{background-color:#ff7043}.badge-brown{background-color:#795548}.badge-grey{background-color:#616161}.badge-blue-grey{background-color:#78909c}.badge-white{background-color:#fff}.badge-black{background-color:#000}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.modal,body.modal-open{padding-right:0!important}body.modal-open{overflow:auto}body.scrollable{overflow-y:auto}.modal-dialog .modal-content{border-radius:2px;border:0}@media (min-width:768px){.modal .modal-dialog.modal-top{top:0}.modal .modal-dialog.modal-left{left:0}.modal .modal-dialog.modal-right{right:0}.modal .modal-dialog.modal-bottom{bottom:0}.modal .modal-dialog.modal-top-left{top:10px;left:10px}.modal .modal-dialog.modal-top-right{top:10px;right:10px}.modal .modal-dialog.modal-bottom-left{left:10px;bottom:10px}.modal .modal-dialog.modal-bottom-right{right:10px;bottom:10px}}.modal.fade.top:not(.show) .modal-dialog{-webkit-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.fade.left:not(.show) .modal-dialog{-webkit-transform:translate3d(-25%,0,0);transform:translate3d(-25%,0,0)}.modal.fade.right:not(.show) .modal-dialog{-webkit-transform:translate3d(25%,0,0);transform:translate3d(25%,0,0)}.modal.fade.bottom:not(.show) .modal-dialog{-webkit-transform:translate3d(0,25%,0);transform:translate3d(0,25%,0)}@media (min-width:992px){.modal .modal-fluid,.modal .modal-frame{width:100%;max-width:100%}.modal.modal-scrolling{position:relative}.modal.modal-scrolling .modal-dialog{position:fixed;z-index:1050}.modal.modal-content-clickable{top:auto;bottom:auto}.modal.modal-content-clickable .modal-dialog{position:fixed}.modal .modal-fluid .modal-content{width:100%}.modal .modal-frame{position:absolute;margin:0}.modal .modal-frame.modal-bottom{bottom:0}.modal .modal-full-height{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;width:400px;height:100%;margin:0;top:0;right:0}.modal .modal-full-height.modal-bottom,.modal .modal-full-height.modal-top{display:block;width:100%;max-width:100%;height:auto}.modal .modal-full-height.modal-top{bottom:auto}.modal .modal-full-height.modal-bottom{top:auto}.modal .modal-full-height .modal-content{width:100%}.modal .modal-full-height.modal-lg{max-width:90%;width:90%}}@media (min-width:992px) and (min-width:992px){.modal .modal-full-height.modal-lg{max-width:800px;width:800px}}@media (min-width:992px) and (min-width:1200px){.modal .modal-full-height.modal-lg{max-width:1000px;width:1000px}}@media (min-width:992px){.modal .modal-side{position:absolute;right:10px;bottom:10px;margin:0;width:400px}}.modal-dialog .btn .fa{color:#fff!important}.modal-dialog [class*=btn-outline-] .fa{color:inherit!important}.modal-dialog.cascading-modal{margin-top:10%}.modal-dialog.cascading-modal .close{color:#fff;opacity:1;text-shadow:none}.modal-dialog.cascading-modal .modal-header{text-align:center;margin:-2rem 1rem 1rem;padding:1.5rem;border:none;border-radius:3px}.modal-dialog.cascading-modal .modal-header .close{margin-right:1rem}.modal-dialog.cascading-modal .modal-header .title{width:100%;margin-bottom:0;font-size:1.25rem}.modal-dialog.cascading-modal .modal-header .title .fa{margin-right:9px}.modal-dialog.cascading-modal .modal-header .social-buttons{margin-top:1.5rem}.modal-dialog.cascading-modal .modal-header .social-buttons a{font-size:1rem}.modal-dialog.cascading-modal .modal-c-tabs .nav-tabs{margin:-1.5rem 1rem 0}.modal-dialog.cascading-modal .modal-c-tabs .tab-content{padding:1.7rem 0 0}.modal-dialog.cascading-modal .nav-tabs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.modal-dialog.cascading-modal .nav-tabs li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.modal-dialog.cascading-modal .nav-tabs li a{text-align:center;font-weight:400}.modal-dialog.cascading-modal .modal-body,.modal-dialog.cascading-modal .modal-footer{color:#616161;padding-right:2rem;padding-left:2rem}.modal-dialog.cascading-modal .modal-body .additional-option,.modal-dialog.cascading-modal .modal-footer .additional-option{text-align:center;margin-top:1rem}.modal-dialog.cascading-modal.modal-avatar{margin-top:6rem}.modal-dialog.cascading-modal.modal-avatar .modal-header{margin:-6rem 2rem -1rem}.modal-dialog.cascading-modal.modal-avatar .modal-header img{width:130px;margin-left:auto;margin-right:auto}.modal-dialog.modal-notify .heading{margin:0;padding:.3rem;color:#fff;font-size:1.15rem}.modal-dialog.modal-notify .modal-header{border:0}.modal-dialog.modal-notify .modal-body{padding:1.5rem;color:#616161}.modal-dialog.modal-notify .btn-outline-secondary-modal{background-color:transparent}.modal-dialog.modal-notify.modal-info .badge,.modal-dialog.modal-notify.modal-info .btn-primary-modal,.modal-dialog.modal-notify.modal-info .modal-header{background-color:#5394ff}.modal-dialog.modal-notify.modal-info .fa{color:#5394ff}.modal-dialog.modal-notify.modal-info .btn-primary-modal.active,.modal-dialog.modal-notify.modal-info .btn-primary-modal:active,.modal-dialog.modal-notify.modal-info .btn-primary-modal:focus,.modal-dialog.modal-notify.modal-info .btn-primary-modal:hover{background-color:#6da4ff!important}.modal-dialog.modal-notify.modal-info .btn-primary-modal.dropdown-toggle{background-color:#5394ff!important}.modal-dialog.modal-notify.modal-info .btn-primary-modal.dropdown-toggle:focus,.modal-dialog.modal-notify.modal-info .btn-primary-modal.dropdown-toggle:hover{background-color:#6da4ff!important}.modal-dialog.modal-notify.modal-info .btn-outline-secondary-modal{border:2px solid #5394ff;color:#5394ff!important;background-color:transparent}.modal-dialog.modal-notify.modal-info .btn-outline-secondary-modal.active,.modal-dialog.modal-notify.modal-info .btn-outline-secondary-modal:active,.modal-dialog.modal-notify.modal-info .btn-outline-secondary-modal:active:focus,.modal-dialog.modal-notify.modal-info .btn-outline-secondary-modal:focus,.modal-dialog.modal-notify.modal-info .btn-outline-secondary-modal:hover{background-color:transparent;color:#5394ff;border-color:#5394ff}.modal-dialog.modal-notify.modal-warning .badge,.modal-dialog.modal-notify.modal-warning .btn-primary-modal,.modal-dialog.modal-notify.modal-warning .modal-header{background-color:#ff8e38}.modal-dialog.modal-notify.modal-warning .fa{color:#ff8e38}.modal-dialog.modal-notify.modal-warning .btn-primary-modal.active,.modal-dialog.modal-notify.modal-warning .btn-primary-modal:active,.modal-dialog.modal-notify.modal-warning .btn-primary-modal:focus,.modal-dialog.modal-notify.modal-warning .btn-primary-modal:hover{background-color:#ff9c52!important}.modal-dialog.modal-notify.modal-warning .btn-primary-modal.dropdown-toggle{background-color:#ff8e38!important}.modal-dialog.modal-notify.modal-warning .btn-primary-modal.dropdown-toggle:focus,.modal-dialog.modal-notify.modal-warning .btn-primary-modal.dropdown-toggle:hover{background-color:#ff9c52!important}.modal-dialog.modal-notify.modal-warning .btn-outline-secondary-modal{border:2px solid #ff8e38;color:#ff8e38!important;background-color:transparent}.modal-dialog.modal-notify.modal-warning .btn-outline-secondary-modal.active,.modal-dialog.modal-notify.modal-warning .btn-outline-secondary-modal:active,.modal-dialog.modal-notify.modal-warning .btn-outline-secondary-modal:active:focus,.modal-dialog.modal-notify.modal-warning .btn-outline-secondary-modal:focus,.modal-dialog.modal-notify.modal-warning .btn-outline-secondary-modal:hover{background-color:transparent;color:#ff8e38;border-color:#ff8e38}.modal-dialog.modal-notify.modal-success .badge,.modal-dialog.modal-notify.modal-success .btn-primary-modal,.modal-dialog.modal-notify.modal-success .modal-header{background-color:#01d36b}.modal-dialog.modal-notify.modal-success .fa{color:#01d36b}.modal-dialog.modal-notify.modal-success .btn-primary-modal.active,.modal-dialog.modal-notify.modal-success .btn-primary-modal:active,.modal-dialog.modal-notify.modal-success .btn-primary-modal:focus,.modal-dialog.modal-notify.modal-success .btn-primary-modal:hover{background-color:#01ec78!important}.modal-dialog.modal-notify.modal-success .btn-primary-modal.dropdown-toggle{background-color:#01d36b!important}.modal-dialog.modal-notify.modal-success .btn-primary-modal.dropdown-toggle:focus,.modal-dialog.modal-notify.modal-success .btn-primary-modal.dropdown-toggle:hover{background-color:#01ec78!important}.modal-dialog.modal-notify.modal-success .btn-outline-secondary-modal{border:2px solid #01d36b;color:#01d36b!important;background-color:transparent}.modal-dialog.modal-notify.modal-success .btn-outline-secondary-modal.active,.modal-dialog.modal-notify.modal-success .btn-outline-secondary-modal:active,.modal-dialog.modal-notify.modal-success .btn-outline-secondary-modal:active:focus,.modal-dialog.modal-notify.modal-success .btn-outline-secondary-modal:focus,.modal-dialog.modal-notify.modal-success .btn-outline-secondary-modal:hover{background-color:transparent;color:#01d36b;border-color:#01d36b}.modal-dialog.modal-notify.modal-danger .badge,.modal-dialog.modal-notify.modal-danger .btn-primary-modal,.modal-dialog.modal-notify.modal-danger .modal-header{background-color:#ff4b4b}.modal-dialog.modal-notify.modal-danger .fa{color:#ff4b4b}.modal-dialog.modal-notify.modal-danger .btn-primary-modal.active,.modal-dialog.modal-notify.modal-danger .btn-primary-modal:active,.modal-dialog.modal-notify.modal-danger .btn-primary-modal:focus,.modal-dialog.modal-notify.modal-danger .btn-primary-modal:hover{background-color:#ff6565!important}.modal-dialog.modal-notify.modal-danger .btn-primary-modal.dropdown-toggle{background-color:#ff4b4b!important}.modal-dialog.modal-notify.modal-danger .btn-primary-modal.dropdown-toggle:focus,.modal-dialog.modal-notify.modal-danger .btn-primary-modal.dropdown-toggle:hover{background-color:#ff6565!important}.modal-dialog.modal-notify.modal-danger .btn-outline-secondary-modal{border:2px solid #ff4b4b;color:#ff4b4b!important;background-color:transparent}.modal-dialog.modal-notify.modal-danger .btn-outline-secondary-modal.active,.modal-dialog.modal-notify.modal-danger .btn-outline-secondary-modal:active,.modal-dialog.modal-notify.modal-danger .btn-outline-secondary-modal:active:focus,.modal-dialog.modal-notify.modal-danger .btn-outline-secondary-modal:focus,.modal-dialog.modal-notify.modal-danger .btn-outline-secondary-modal:hover{background-color:transparent;color:#ff4b4b;border-color:#ff4b4b}.progress.progress-default,.progress.progress-default .progress-bar{height:1rem}.progress.progress-wider,.progress.progress-wider .progress-bar{height:20px}.progress.progress-narrower,.progress.progress-narrower .progress-bar{height:1px}.carousel .carousel-control-next-icon,.carousel .carousel-control-prev-icon{width:36px;height:36px}.carousel .carousel-control-prev-icon{background-image:url(../img//svg/arrow_left.svg)}.carousel .carousel-control-next-icon{background-image:url(../img//svg/arrow_right.svg)}.carousel .carousel-indicators li{max-width:10px;height:10px;border-radius:50%;cursor:pointer}.carousel .video-fluid{height:100%;width:100%}.accordion .card{border-bottom:1px solid #eee;-webkit-box-shadow:none;box-shadow:none}.accordion .card .card-header{padding:1rem 1.5rem;background:0 0;border-bottom:0}.accordion .card .card-header a:not(.collapsed) .rotate-icon{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.accordion .card .fa-angle-down{float:right}.accordion .card .card-block{padding-top:.25rem}.accordion .card .card-body{line-height:1.7;color:#626262;font-size:.9rem;font-weight:300}.accordion .card h5{font-size:1.1rem;font-weight:400}.collapsible-body{display:none}.author-box,.jumbotron{background-color:#fff;padding:2rem}.jumbotron.m-1,.jumbotron.m-2,.jumbotron.m-3,.m-1.author-box,.m-2.author-box,.m-3.author-box,.section-blog-fw .author-box,.section-blog-fw .jumbotron{z-index:50;position:relative;margin-left:3%;margin-right:3%}.jumbotron.m-1,.m-1.author-box,.section-blog-fw .author-box,.section-blog-fw .jumbotron{margin-top:-20px}.jumbotron.m-2,.m-2.author-box{margin-top:-30px}.jumbotron.m-3,.m-3.author-box{margin-top:-40px}.view{overflow:hidden;position:relative;cursor:default}.view .mask{background-attachment:fixed}.view .full-bg-img,.view .mask{width:100%;height:100%;position:absolute;overflow:hidden;top:0;left:0}.view img,.view video{display:block;position:relative}.hm-zoom img,.hm-zoom video,.overlay img,.overlay video{-webkit-transition:all .2s linear;transition:all .2s linear}.hm-zoom:hover img{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.overlay .mask{opacity:0;-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out}.pattern-1{background:url(../img/overlays/01.png)}.pattern-2{background:url(../img/overlays/02.png)}.pattern-3{background:url(../img/overlays/03.png)}.pattern-4{background:url(../img/overlays/04.png)}.pattern-5{background:url(../img/overlays/05.png)}.pattern-6{background:url(../img/overlays/06.png)}.pattern-7{background:url(../img/overlays/07.png)}.pattern-8{background:url(../img/overlays/08.png)}.pattern-9{background:url(../img/overlays/09.png)}.hm-blue-slight .full-bg-img,.hm-blue-slight .mask{background-color:rgba(3,169,244,.1)}.hm-red-slight .full-bg-img,.hm-red-slight .mask{background-color:rgba(244,67,54,.1)}.hm-pink-slight .full-bg-img,.hm-pink-slight .mask{background-color:rgba(233,30,99,.1)}.hm-purple-slight .full-bg-img,.hm-purple-slight .mask{background-color:rgba(156,39,176,.1)}.hm-indigo-slight .full-bg-img,.hm-indigo-slight .mask{background-color:rgba(63,81,181,.1)}.hm-cyan-slight .full-bg-img,.hm-cyan-slight .mask{background-color:rgba(0,188,212,.1)}.hm-teal-slight .full-bg-img,.hm-teal-slight .mask{background-color:rgba(0,150,136,.1)}.hm-green-slight .full-bg-img,.hm-green-slight .mask{background-color:rgba(76,175,80,.1)}.hm-lime-slight .full-bg-img,.hm-lime-slight .mask{background-color:rgba(205,220,57,.1)}.hm-yellow-slight .full-bg-img,.hm-yellow-slight .mask{background-color:rgba(255,235,59,.1)}.hm-orange-slight .full-bg-img,.hm-orange-slight .mask{background-color:rgba(255,152,0,.1)}.hm-brown-slight .full-bg-img,.hm-brown-slight .mask{background-color:rgba(121,85,72,.1)}.hm-grey-slight .full-bg-img,.hm-grey-slight .mask{background-color:rgba(158,158,158,.1)}.hm-bluegrey-slight .full-bg-img,.hm-bluegrey-slight .mask{background-color:rgba(96,125,139,.1)}.hm-black-slight .full-bg-img,.hm-black-slight .mask{background-color:rgba(0,0,0,.1)}.hm-stylish-slight .full-bg-img,.hm-stylish-slight .mask{background-color:rgba(62,69,81,.1)}.hm-white-slight .full-bg-img,.hm-white-slight .mask{background-color:rgba(255,255,255,.1)}.hm-blue-light .full-bg-img,.hm-blue-light .mask{background-color:rgba(3,169,244,.3)}.hm-red-light .full-bg-img,.hm-red-light .mask{background-color:rgba(244,67,54,.3)}.hm-pink-light .full-bg-img,.hm-pink-light .mask{background-color:rgba(233,30,99,.3)}.hm-purple-light .full-bg-img,.hm-purple-light .mask{background-color:rgba(156,39,176,.3)}.hm-indigo-light .full-bg-img,.hm-indigo-light .mask{background-color:rgba(63,81,181,.3)}.hm-cyan-light .full-bg-img,.hm-cyan-light .mask{background-color:rgba(0,188,212,.3)}.hm-teal-light .full-bg-img,.hm-teal-light .mask{background-color:rgba(0,150,136,.3)}.hm-green-light .full-bg-img,.hm-green-light .mask{background-color:rgba(76,175,80,.3)}.hm-lime-light .full-bg-img,.hm-lime-light .mask{background-color:rgba(205,220,57,.3)}.hm-yellow-light .full-bg-img,.hm-yellow-light .mask{background-color:rgba(255,235,59,.3)}.hm-orange-light .full-bg-img,.hm-orange-light .mask{background-color:rgba(255,152,0,.3)}.hm-brown-light .full-bg-img,.hm-brown-light .mask{background-color:rgba(121,85,72,.3)}.hm-grey-light .full-bg-img,.hm-grey-light .mask{background-color:rgba(158,158,158,.3)}.hm-bluegrey-light .full-bg-img,.hm-bluegrey-light .mask{background-color:rgba(96,125,139,.3)}.hm-black-light .full-bg-img,.hm-black-light .mask{background-color:rgba(0,0,0,.3)}.hm-stylish-light .full-bg-img,.hm-stylish-light .mask{background-color:rgba(62,69,81,.3)}.hm-white-light .full-bg-img,.hm-white-light .mask{background-color:rgba(255,255,255,.3)}.hm-blue-strong .full-bg-img,.hm-blue-strong .mask{background-color:rgba(3,169,244,.7)}.hm-red-strong .full-bg-img,.hm-red-strong .mask{background-color:rgba(244,67,54,.7)}.hm-pink-strong .full-bg-img,.hm-pink-strong .mask{background-color:rgba(233,30,99,.7)}.hm-purple-strong .full-bg-img,.hm-purple-strong .mask{background-color:rgba(156,39,176,.7)}.hm-indigo-strong .full-bg-img,.hm-indigo-strong .mask{background-color:rgba(63,81,181,.7)}.hm-cyan-strong .full-bg-img,.hm-cyan-strong .mask{background-color:rgba(0,188,212,.7)}.hm-teal-strong .full-bg-img,.hm-teal-strong .mask{background-color:rgba(0,150,136,.7)}.hm-green-strong .full-bg-img,.hm-green-strong .mask{background-color:rgba(76,175,80,.7)}.hm-lime-strong .full-bg-img,.hm-lime-strong .mask{background-color:rgba(205,220,57,.7)}.hm-yellow-strong .full-bg-img,.hm-yellow-strong .mask{background-color:rgba(255,235,59,.7)}.hm-orange-strong .full-bg-img,.hm-orange-strong .mask{background-color:rgba(255,152,0,.7)}.hm-brown-strong .full-bg-img,.hm-brown-strong .mask{background-color:rgba(121,85,72,.7)}.hm-grey-strong .full-bg-img,.hm-grey-strong .mask{background-color:rgba(158,158,158,.7)}.hm-bluegrey-strong .full-bg-img,.hm-bluegrey-strong .mask{background-color:rgba(96,125,139,.7)}.hm-black-strong .full-bg-img,.hm-black-strong .mask{background-color:rgba(0,0,0,.7)}.hm-stylish-strong .full-bg-img,.hm-stylish-strong .mask{background-color:rgba(62,69,81,.7)}.hm-white-strong .full-bg-img,.hm-white-strong .mask{background-color:rgba(255,255,255,.7)}.full-height,.full-height body,.full-height header,.full-height header .view{height:100%}.intro{min-height:1000px;position:relative}@media (max-width:768px){.intro{min-height:1000px}}.intro-video video{top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;z-index:-100;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);background-repeat:no-repeat;background-size:cover;background-position:center center;-webkit-transition:1s opacity;transition:1s opacity}.waves-effect{position:relative;cursor:pointer;overflow:hidden;user-select:none;z-index:1}.pswp__container,.pswp__counter,.pswp__img,.pswp__share-modal{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background:rgba(0,0,0,.2);background:-webkit-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);-webkit-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-transform:scale(0) translate(0,0);-ms-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.4);background:-webkit-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%)}.waves-effect.waves-classic .waves-ripple{background:rgba(0,0,0,.2)}.waves-effect.waves-classic.waves-light .waves-ripple{background:rgba(255,255,255,.4)}.waves-notransition{-webkit-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.waves-button,.waves-button-input,.waves-button:hover,.waves-button:visited{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;color:inherit;background-color:transparent;font-size:1em;line-height:1em;text-align:center;text-decoration:none;z-index:1}.waves-button{padding:.85em 1.1em;border-radius:.2em}.waves-button-input{margin:0;padding:.85em 1.1em}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom;display:inline-block}.btn-floating,.picker .picker__box,.product-table td,.switch label .lever{vertical-align:middle}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);-webkit-transition:all .3s;transition:all .3s}.waves-float:active{-webkit-box-shadow:0 8px 20px 1px rgba(0,0,0,.3);box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.waves-block{display:block}a.waves-effect,a.waves-light{display:inline-block}input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=search-md],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],textarea.md-textarea{background-color:transparent;border:none;border-bottom:1px solid #bdbdbd;border-radius:0;outline:0;height:2.1rem;width:100%;font-size:1rem;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-transition:all .3s;transition:all .3s}input[type=date]:disabled,input[type=date][readonly=readonly],input[type=datetime-local]:disabled,input[type=datetime-local][readonly=readonly],input[type=email]:disabled,input[type=email][readonly=readonly],input[type=number]:disabled,input[type=number][readonly=readonly],input[type=password]:disabled,input[type=password][readonly=readonly],input[type=search-md]:disabled,input[type=search-md][readonly=readonly],input[type=search]:disabled,input[type=search][readonly=readonly],input[type=tel]:disabled,input[type=tel][readonly=readonly],input[type=text]:disabled,input[type=text][readonly=readonly],input[type=time]:disabled,input[type=time][readonly=readonly],input[type=url]:disabled,input[type=url][readonly=readonly],textarea.md-textarea:disabled,textarea.md-textarea[readonly=readonly]{color:rgba(0,0,0,.46);border-bottom:1px dotted rgba(0,0,0,.46);background-color:transparent}input[type=date]:disabled+label,input[type=date][readonly=readonly]+label,input[type=datetime-local]:disabled+label,input[type=datetime-local][readonly=readonly]+label,input[type=email]:disabled+label,input[type=email][readonly=readonly]+label,input[type=number]:disabled+label,input[type=number][readonly=readonly]+label,input[type=password]:disabled+label,input[type=password][readonly=readonly]+label,input[type=search-md]:disabled+label,input[type=search-md][readonly=readonly]+label,input[type=search]:disabled+label,input[type=search][readonly=readonly]+label,input[type=tel]:disabled+label,input[type=tel][readonly=readonly]+label,input[type=text]:disabled+label,input[type=text][readonly=readonly]+label,input[type=time]:disabled+label,input[type=time][readonly=readonly]+label,input[type=url]:disabled+label,input[type=url][readonly=readonly]+label,textarea.md-textarea:disabled+label,textarea.md-textarea[readonly=readonly]+label{color:rgba(0,0,0,.46);background-color:transparent}input[type=date]:focus:not([readonly]),input[type=datetime-local]:focus:not([readonly]),input[type=email]:focus:not([readonly]),input[type=number]:focus:not([readonly]),input[type=password]:focus:not([readonly]),input[type=search-md]:focus:not([readonly]),input[type=search]:focus:not([readonly]),input[type=tel]:focus:not([readonly]),input[type=text]:focus:not([readonly]),input[type=time]:focus:not([readonly]),input[type=url]:focus:not([readonly]),textarea.md-textarea:focus:not([readonly]){border-bottom:1px solid #4285F4;-webkit-box-shadow:0 1px 0 0 #4285F4;box-shadow:0 1px 0 0 #4285F4}input[type=date]:focus:not([readonly])+label,input[type=datetime-local]:focus:not([readonly])+label,input[type=email]:focus:not([readonly])+label,input[type=number]:focus:not([readonly])+label,input[type=password]:focus:not([readonly])+label,input[type=search-md]:focus:not([readonly])+label,input[type=search]:focus:not([readonly])+label,input[type=tel]:focus:not([readonly])+label,input[type=text]:focus:not([readonly])+label,input[type=time]:focus:not([readonly])+label,input[type=url]:focus:not([readonly])+label,textarea.md-textarea:focus:not([readonly])+label{color:#4285F4}input[type=date].valid,input[type=date]:focus.valid,input[type=datetime-local].valid,input[type=datetime-local]:focus.valid,input[type=email].valid,input[type=email]:focus.valid,input[type=number].valid,input[type=number]:focus.valid,input[type=password].valid,input[type=password]:focus.valid,input[type=search-md].valid,input[type=search-md]:focus.valid,input[type=search].valid,input[type=search]:focus.valid,input[type=tel].valid,input[type=tel]:focus.valid,input[type=text].valid,input[type=text]:focus.valid,input[type=time].valid,input[type=time]:focus.valid,input[type=url].valid,input[type=url]:focus.valid,textarea.md-textarea.valid,textarea.md-textarea:focus.valid{border-bottom:1px solid #00C851;-webkit-box-shadow:0 1px 0 0 #00C851;box-shadow:0 1px 0 0 #00C851}input[type=date].valid+label:after,input[type=date]:focus.valid+label:after,input[type=datetime-local].valid+label:after,input[type=datetime-local]:focus.valid+label:after,input[type=email].valid+label:after,input[type=email]:focus.valid+label:after,input[type=number].valid+label:after,input[type=number]:focus.valid+label:after,input[type=password].valid+label:after,input[type=password]:focus.valid+label:after,input[type=search-md].valid+label:after,input[type=search-md]:focus.valid+label:after,input[type=search].valid+label:after,input[type=search]:focus.valid+label:after,input[type=tel].valid+label:after,input[type=tel]:focus.valid+label:after,input[type=text].valid+label:after,input[type=text]:focus.valid+label:after,input[type=time].valid+label:after,input[type=time]:focus.valid+label:after,input[type=url].valid+label:after,input[type=url]:focus.valid+label:after,textarea.md-textarea.valid+label:after,textarea.md-textarea:focus.valid+label:after{content:attr(data-success);color:#00C851;opacity:1}input[type=date].invalid,input[type=date]:focus.invalid,input[type=datetime-local].invalid,input[type=datetime-local]:focus.invalid,input[type=email].invalid,input[type=email]:focus.invalid,input[type=number].invalid,input[type=number]:focus.invalid,input[type=password].invalid,input[type=password]:focus.invalid,input[type=search-md].invalid,input[type=search-md]:focus.invalid,input[type=search].invalid,input[type=search]:focus.invalid,input[type=tel].invalid,input[type=tel]:focus.invalid,input[type=text].invalid,input[type=text]:focus.invalid,input[type=time].invalid,input[type=time]:focus.invalid,input[type=url].invalid,input[type=url]:focus.invalid,textarea.md-textarea.invalid,textarea.md-textarea:focus.invalid{border-bottom:1px solid #F44336;-webkit-box-shadow:0 1px 0 0 #F44336;box-shadow:0 1px 0 0 #F44336}input[type=date].invalid+label:after,input[type=date]:focus.invalid+label:after,input[type=datetime-local].invalid+label:after,input[type=datetime-local]:focus.invalid+label:after,input[type=email].invalid+label:after,input[type=email]:focus.invalid+label:after,input[type=number].invalid+label:after,input[type=number]:focus.invalid+label:after,input[type=password].invalid+label:after,input[type=password]:focus.invalid+label:after,input[type=search-md].invalid+label:after,input[type=search-md]:focus.invalid+label:after,input[type=search].invalid+label:after,input[type=search]:focus.invalid+label:after,input[type=tel].invalid+label:after,input[type=tel]:focus.invalid+label:after,input[type=text].invalid+label:after,input[type=text]:focus.invalid+label:after,input[type=time].invalid+label:after,input[type=time]:focus.invalid+label:after,input[type=url].invalid+label:after,input[type=url]:focus.invalid+label:after,textarea.md-textarea.invalid+label:after,textarea.md-textarea:focus.invalid+label:after{content:attr(data-error);color:#F44336;opacity:1}input[type=date]+label:after,input[type=datetime-local]+label:after,input[type=email]+label:after,input[type=number]+label:after,input[type=password]+label:after,input[type=search-md]+label:after,input[type=search]+label:after,input[type=tel]+label:after,input[type=text]+label:after,input[type=time]+label:after,input[type=url]+label:after,textarea.md-textarea+label:after{display:block;content:"";position:absolute;top:65px;opacity:0;-webkit-transition:.2s opacity ease-out,.2s color ease-out;transition:.2s opacity ease-out,.2s color ease-out}input[type=date].input-alternate,input[type=datetime-local].input-alternate,input[type=email].input-alternate,input[type=number].input-alternate,input[type=password].input-alternate,input[type=search-md].input-alternate,input[type=search].input-alternate,input[type=tel].input-alternate,input[type=text].input-alternate,input[type=time].input-alternate,input[type=url].input-alternate,textarea.md-textarea.input-alternate{padding:0 15px;height:2.1rem;-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);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);font-size:.875rem;border-bottom:0;-webkit-transition:none!important;transition:none!important}input[type=date].input-alternate:focus,input[type=date].input-alternate:hover,input[type=datetime-local].input-alternate:focus,input[type=datetime-local].input-alternate:hover,input[type=email].input-alternate:focus,input[type=email].input-alternate:hover,input[type=number].input-alternate:focus,input[type=number].input-alternate:hover,input[type=password].input-alternate:focus,input[type=password].input-alternate:hover,input[type=search-md].input-alternate:focus,input[type=search-md].input-alternate:hover,input[type=search].input-alternate:focus,input[type=search].input-alternate:hover,input[type=tel].input-alternate:focus,input[type=tel].input-alternate:hover,input[type=text].input-alternate:focus,input[type=text].input-alternate:hover,input[type=time].input-alternate:focus,input[type=time].input-alternate:hover,input[type=url].input-alternate:focus,input[type=url].input-alternate:hover,textarea.md-textarea.input-alternate:focus,textarea.md-textarea.input-alternate:hover{-webkit-box-shadow:0 3px 8px 0 rgba(0,0,0,.2),0 0 0 1px rgba(0,0,0,.08)!important;box-shadow:0 3px 8px 0 rgba(0,0,0,.2),0 0 0 1px rgba(0,0,0,.08)!important;border-bottom:0}.form-control{padding:.5rem 0 .6rem;font-size:1rem;line-height:1.5;background-color:transparent;background-image:none;border-radius:0;margin-top:.2rem;margin-bottom:1rem}.md-form,.md-form .btn{margin-bottom:1.5rem}.form-control:focus{background:0 0}.form-control:disabled,.form-control[readonly]{background-color:transparent;border-bottom:1px solid #bdbdbd}.md-form{position:relative}.md-form label{-webkit-transition:.2s ease-out;transition:.2s ease-out;color:#757575;position:absolute;top:.8rem;left:0;font-size:1rem;cursor:text}.btn-floating,.card .card-reveal .card-title,.card-wrapper .back .card-title{cursor:pointer}.md-form label.active{-webkit-transform:translateY(-140%);-ms-transform:translateY(-140%);transform:translateY(-140%);font-size:.8rem}.md-form .prefix{-webkit-transition:color .2s;transition:color .2s;position:absolute;width:3rem;font-size:2rem}.md-form .prefix~input,.md-form .prefix~textarea{margin-left:3rem;width:92%;width:-webkit-calc(100% - 3rem);width:calc(100% - 3rem)}.md-form .prefix~textarea{padding-top:.8rem}.md-form .prefix~label{margin-left:3rem}.md-form .prefix.active{color:#4285F4}@media only screen and (max-width:992px){.md-form .prefix~input{width:86%;width:-webkit-calc(100% - 3rem);width:calc(100% - 3rem)}}@media only screen and (max-width:600px){.md-form .prefix~input{width:80%;width:-webkit-calc(100% - 3rem);width:calc(100% - 3rem)}}.md-form.form-sm input{padding-bottom:.2rem;padding-top:.2rem;font-size:.8rem;line-height:.5}.md-form.form-sm label{font-size:.9rem}.md-form.form-sm .prefix{font-size:1.5rem;top:.4rem}.md-form.form-sm .prefix~input,.md-form.form-sm .prefix~label,.md-form.form-sm .prefix~textarea{margin-left:2.2rem}.md-form.input-group{padding-left:1rem}.md-form.input-group:-moz-placeholder{color:#999;padding-top:2px}.md-form.input-group::-ms-placeholder{color:#999;padding-top:2px}.md-form.input-group::-webkit-input-placeholder{color:#999;padding-top:2px}.md-form.input-group::-moz-placeholder{color:#999;padding-top:2px}.md-form.input-group:-ms-input-placeholder{color:#999;padding-top:2px}.md-form.input-group::placeholder{color:#999;padding-top:2px}.form-group{display:block}.form-inline fieldset{margin-right:1.5rem}.form-inline .form-group{margin-right:2rem}textarea{width:100%;height:3rem;background-color:transparent}textarea.md-textarea{overflow-y:hidden;padding:1.6rem 0;resize:none;min-height:3rem}.hiddendiv{display:none;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding-top:1.2rem}.orange-gradient{background:-webkit-linear-gradient(50deg,#FFD86F,#FC6262);background:linear-gradient(40deg,#FFD86F,#FC6262)}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#fff}.edge-header{display:block;height:278px;background-color:#ccc}.free-bird{margin-top:-100px}footer.page-footer{margin-top:20px;padding-top:20px;background-color:#4285F4;color:#fff}footer.page-footer .container-fluid{width:auto}footer.page-footer .footer-copyright{overflow:hidden;height:50px;line-height:50px;color:rgba(255,255,255,.6);background-color:rgba(0,0,0,.2);text-align:center;font-size:.9rem}footer.page-footer a{color:#fff}footer.page-footer .call-to-action{text-align:center;padding-top:1.3rem;padding-bottom:.5rem}footer.page-footer .call-to-action ul li{display:inline-block;padding-right:10px}footer.page-footer .social-section ul li{display:inline-block}footer.page-footer .social-section ul a{margin-left:0;padding-left:0}footer.page-footer ul,ul.instagram-photos{list-style-type:none;padding:0}ul.instagram-photos li{display:inline-block;max-width:100px;margin:4px}ul.instagram-photos li img{margin:0}.media .media-left{padding:0 10px 10px 0}.list-group a:hover{-webkit-transition:.5s;transition:.5s}table th{font-size:.9rem;font-weight:400}table td{font-size:.9rem;font-weight:300}.card-inverse h3,.card.card-cascade .view.gradient-card-header h2,.social-list{font-weight:400}table.table thead th{border-top:none}table.table td,table.table th{padding-top:1.1rem;padding-bottom:1rem}table.table a{margin:0;color:#212529}table.table .label-table{margin:0;padding:0;line-height:15px;height:15px}table.table .btn-table{margin:0 1px;padding:3px 7px}.colorful-side-nav .collapsible a,.stylish-side-nav .collapsible a{margin:0}table.table .btn-table .fa{font-size:11px}table.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075);-webkit-transition:.5s;transition:.5s}table .th-lg{min-width:9rem}table.table-sm td,table.table-sm th{padding-top:.6rem;padding-bottom:.6rem}.colorful-side-nav .collapsible>li,.stylish-side-nav .collapsible>li{padding:0}.btn-mdb{background-color:#45526E}.btn-mdb.active,.btn-mdb:active,.btn-mdb:focus,.btn-mdb:hover{background-color:#4f5e7e!important}.btn-mdb.dropdown-toggle{background-color:#45526E!important}.btn-mdb.dropdown-toggle:focus,.btn-mdb.dropdown-toggle:hover{background-color:#4f5e7e!important}.colorful-side-nav,.colorful-side-nav li{background-color:#00695c}.colorful-side-nav .collapsible a.active,.colorful-side-nav .collapsible a:active,.colorful-side-nav li.active,.colorful-side-nav li:hover{background-color:#008372}.colorful-side-nav .social{border-top:1px solid #26a69a;border-bottom:1px solid #26a69a}.stylish-side-nav,.stylish-side-nav li{background-color:#3E4551}.stylish-side-nav .collapsible a.active,.stylish-side-nav .collapsible a:active,.stylish-side-nav li.active,.stylish-side-nav li:hover{background-color:#4B515D}.stylish-side-nav .social{border-top:1px solid #4B515D;border-bottom:1px solid #4B515D}.light-side-nav .logo-wrapper,.light-side-nav .logo-wrapper a{height:80px}.light-side-nav .logo-wrapper img{padding:7% 50px}.light-side-nav .collapsible a,.light-side-nav p{color:#1C2331}.light-side-nav .social{border-top:1px solid #eee;border-bottom:1px solid #eee}.light-side-nav .navbar-form{margin:10px}.dark-side-nav,.dark-side-nav li{background-color:#212121}.dark-side-nav .collapsible a .active,.dark-side-nav .collapsible a:active,.dark-side-nav li.active,.dark-side-nav li:hover{background-color:#2E2E2E}.dark-side-nav .collapsible a{margin:0}.dark-side-nav .collapsible>li{padding:0}.dark-side-nav .social{border-top:1px solid #4B515D;border-bottom:1px solid #4B515D}.social-list{width:auto;padding:1rem;list-style-type:none}.social-list li{margin-top:15px}.social-list .fa{margin-right:20px;font-size:20px}.social-list .fa-facebook{margin-right:26px}.btn-flat,.btn-floating{position:relative;margin:10px}.social-list a{font-size:20px}.btn-flat{padding:8px 30px;border:none;text-decoration:none;outline:0!important}.btn.btn-flat{color:inherit!important;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-floating,.btn-floating i{display:inline-block;color:#fff}.btn-floating{z-index:1;overflow:hidden;width:47px;height:47px;padding:0;border-radius:50%;background-color:#a6c;-webkit-transition:.3s;transition:.3s}.btn-floating i{width:inherit;font-size:1.25rem;line-height:47px;text-align:center}.btn-floating:before{border-radius:0}.btn-floating.btn-sm,.btn-floating.btn-small,.btn-floating.wishlist{width:36.15px;height:36.15px}.btn-floating.btn-sm i,.btn-floating.btn-small i,.btn-floating.wishlist i{font-size:.96154rem;line-height:36.15px}.btn-floating.btn-large,.btn-floating.btn-lg{width:61.1px;height:61.1px}.btn-floating.btn-large i,.btn-floating.btn-lg i{font-size:1.625rem;line-height:61.1px}.fixed-action-btn{position:fixed;z-index:998;right:35px;bottom:35px;padding-top:15px;margin-bottom:0}.fixed-action-btn ul{position:absolute;right:0;bottom:64px;left:0;margin:0;padding:0;list-style-type:none;text-align:center}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.btn-rounded{border-radius:10em}.btn.purple-gradient{background:-webkit-linear-gradient(50deg,#ff6ec4,#7873f5);background:linear-gradient(40deg,#ff6ec4,#7873f5);-webkit-transition:.5s ease;transition:.5s ease}.btn.purple-gradient:active,.btn.purple-gradient:active:focus .btn.purple-gradient.active,.btn.purple-gradient:focus,.btn.purple-gradient:hover{background:-webkit-linear-gradient(50deg,#ff88ce,#8f8bf7);background:linear-gradient(40deg,#ff88ce,#8f8bf7)}.btn.peach-gradient{background:-webkit-linear-gradient(50deg,#FFD86F,#FC6262);background:linear-gradient(40deg,#FFD86F,#FC6262);-webkit-transition:.5s ease;transition:.5s ease}.btn.peach-gradient:active,.btn.peach-gradient:active:focus .btn.peach-gradient.active,.btn.peach-gradient:focus,.btn.peach-gradient:hover{background:-webkit-linear-gradient(50deg,#ffdf89,#fc7b7b);background:linear-gradient(40deg,#ffdf89,#fc7b7b)}.btn.aqua-gradient{background:-webkit-linear-gradient(50deg,#2096ff,#05ffa3);background:linear-gradient(40deg,#2096ff,#05ffa3);-webkit-transition:.5s ease;transition:.5s ease}.btn.aqua-gradient:active,.btn.aqua-gradient:active:focus .btn.aqua-gradient.active,.btn.aqua-gradient:focus,.btn.aqua-gradient:hover{background:-webkit-linear-gradient(50deg,#3aa2ff,#1fffac);background:linear-gradient(40deg,#3aa2ff,#1fffac)}.btn.blue-gradient{background:-webkit-linear-gradient(50deg,#45cafc,#303f9f);background:linear-gradient(40deg,#45cafc,#303f9f);-webkit-transition:.5s ease;transition:.5s ease}.btn.blue-gradient:active,.btn.blue-gradient:active:focus .btn.blue-gradient.active,.btn.blue-gradient:focus,.btn.blue-gradient:hover{background:-webkit-linear-gradient(50deg,#5ed1fc,#3647b3);background:linear-gradient(40deg,#5ed1fc,#3647b3)}.btn-fb{background-color:#3B5998}.btn-fb:focus,.btn-fb:hover{background-color:#4264aa}.fb-ic{color:#3B5998!important}.fb-ic:focus,.fb-ic:hover{color:#3B5998}.btn-tw{background-color:#55ACEE}.btn-tw:focus,.btn-tw:hover{background-color:#6cb7f0}.tw-ic{color:#55ACEE!important}.tw-ic:focus,.tw-ic:hover{color:#55ACEE}.btn-gplus{background-color:#DD4B39}.btn-gplus:focus,.btn-gplus:hover{background-color:#e15f4f}.gplus-ic{color:#DD4B39!important}.gplus-ic:focus,.gplus-ic:hover{color:#DD4B39}.btn-yt{background-color:#ED302F}.btn-yt:focus,.btn-yt:hover{background-color:#ef4746}.yt-ic{color:#ED302F!important}.yt-ic:focus,.yt-ic:hover{color:#ED302F}.btn-li{background-color:#0082CA}.btn-li:focus,.btn-li:hover{background-color:#0092e4}.li-ic{color:#0082CA!important}.li-ic:focus,.li-ic:hover{color:#0082CA}.btn-pin{background-color:#C61118}.btn-pin:focus,.btn-pin:hover{background-color:#dd131b}.pin-ic{color:#C61118!important}.pin-ic:focus,.pin-ic:hover{color:#C61118}.btn-ins{background-color:#2E5E86}.btn-ins:focus,.btn-ins:hover{background-color:#356b99}.ins-ic{color:#2E5E86!important}.ins-ic:focus,.ins-ic:hover{color:#2E5E86}.btn-git{background-color:#333}.btn-git:focus,.btn-git:hover{background-color:#404040}.git-ic{color:#333!important}.git-ic:focus,.git-ic:hover{color:#333}.btn-comm{background-color:#30CFC0}.btn-comm:focus,.btn-comm:hover{background-color:#45d4c6}.comm-ic{color:#30CFC0!important}.comm-ic:focus,.comm-ic:hover{color:#30CFC0}.btn-vk{background-color:#4C75A3}.btn-vk:focus,.btn-vk:hover{background-color:#5882b1}.vk-ic{color:#4C75A3!important}.vk-ic:focus,.vk-ic:hover{color:#4C75A3}.btn-dribbble{background-color:#EC4A89}.btn-dribbble:focus,.btn-dribbble:hover{background-color:#ee6198}.dribbble-ic{color:#EC4A89!important}.dribbble-ic:focus,.dribbble-ic:hover{color:#EC4A89}.btn-so{background-color:#ffac44}.btn-so:focus,.btn-so:hover{background-color:#ffb75e}.so-ic{color:#ffac44!important}.so-ic:focus,.so-ic:hover{color:#ffac44}.btn-slack{background-color:#56b68b}.btn-slack:focus,.btn-slack:hover{background-color:#68be97}.slack-ic{color:#56b68b!important}.slack-ic:focus,.slack-ic:hover{color:#56b68b}.btn-email{background-color:#4B515D}.btn-email:focus,.btn-email:hover{background-color:#565d6b}.email-ic{color:#4B515D!important}.email-ic:focus,.email-ic:hover{color:#4B515D}.btn-social-all{background-color:#436281}.btn-social-all:focus,.btn-social-all:hover{background-color:#5c7fa3}.btn-social-all i.fa{margin-top:0}.counter{position:absolute;margin-left:-23px;margin-top:-1px;background-color:#fe1212;color:#fff;padding:1px 7px;font-size:11px;z-index:2;border-radius:10rem}.social-counters .btn{margin-left:9px}.icons-sm{padding:.5rem;margin:.5rem;font-size:1.2rem}.nav-tabs{border:0;padding:.7rem;margin-left:1rem;margin-right:1rem;margin-bottom:-20px;background-color:#2BBBAD;z-index:2;position:relative;border-radius:2px}.nav-tabs .nav-item+.nav-item{margin-left:0}.nav-tabs .nav-link{border:0;color:#fff}.nav-tabs .nav-item.open .nav-link,.nav-tabs .nav-link.active{background-color:rgba(255,255,255,.2);color:#fff;-webkit-transition:all 1s;transition:all 1s;border-radius:2px}.md-pills{border:0}.md-pills li{padding:.6rem}.md-pills .nav-link{-webkit-transition:all .4s;transition:all .4s;border-radius:2px;color:#666;text-align:center}.md-pills .nav-link:hover{background-color:rgba(158,158,158,.3)}.md-pills .nav-link.active{color:#fff;background-color:#2BBBAD}.pills-primary .nav-item .nav-link.active,.tabs-primary{background-color:#4285F4}.pills-danger .nav-item .nav-link.active,.tabs-danger{background-color:#ff3547}.pills-warning .nav-item .nav-link.active,.tabs-warning{background-color:#F80}.pills-success .nav-item .nav-link.active,.tabs-success{background-color:#00C851}.pills-info .nav-item .nav-link.active,.tabs-info{background-color:#33b5e5}.pills-default .nav-item .nav-link.active,.tabs-default{background-color:#2BBBAD}.pills-secondary .nav-item .nav-link.active,.tabs-secondary{background-color:#a6c}.pills-elegant .nav-item .nav-link.active,.tabs-elegant{background-color:#2E2E2E}.pills-unique .nav-item .nav-link.active,.tabs-unique{background-color:#880e4f}.pills-dark-green .nav-item .nav-link.active,.tabs-dark-green{background-color:#388E3C}.pills-mdb-color .nav-item .nav-link.active,.tabs-mdb-color{background-color:#59698D}.pills-red .nav-item .nav-link.active,.tabs-red{background-color:#D32F2F}.pills-pink .nav-item .nav-link.active,.tabs-pink{background-color:#ec407a}.pills-purple .nav-item .nav-link.active,.tabs-purple{background-color:#8e24aa}.pills-deep-purple .nav-item .nav-link.active,.tabs-deep-purple{background-color:#512da8}.pills-indigo .nav-item .nav-link.active,.tabs-indigo{background-color:#3f51b5}.pills-blue .nav-item .nav-link.active,.tabs-blue{background-color:#1976D2}.pills-light-blue .nav-item .nav-link.active,.tabs-light-blue{background-color:#82B1FF}.pills-cyan .nav-item .nav-link.active,.tabs-cyan{background-color:#00bcd4}.pills-teal .nav-item .nav-link.active,.tabs-teal{background-color:#00796b}.pills-green .nav-item .nav-link.active,.tabs-green{background-color:#388E3C}.pills-light-green .nav-item .nav-link.active,.tabs-light-green{background-color:#8bc34a}.pills-lime .nav-item .nav-link.active,.tabs-lime{background-color:#afb42b}.pills-yellow .nav-item .nav-link.active,.tabs-yellow{background-color:#fbc02d}.pills-amber .nav-item .nav-link.active,.tabs-amber{background-color:#ffa000}.pills-orange .nav-item .nav-link.active,.tabs-orange{background-color:#f57c00}.pills-deep-orange .nav-item .nav-link.active,.tabs-deep-orange{background-color:#ff7043}.pills-brown .nav-item .nav-link.active,.tabs-brown{background-color:#795548}.pills-grey .nav-item .nav-link.active,.tabs-grey{background-color:#616161}.pills-blue-grey .nav-item .nav-link.active,.tabs-blue-grey{background-color:#78909c}.pills-white .nav-item .nav-link.active,.tabs-white{background-color:#fff}.pills-black .nav-item .nav-link.active,.tabs-black{background-color:#000}.tab-content{padding:2rem 1rem 1rem;z-index:1;border-radius:0 0 .3rem .3rem}.tab-content.vertical{padding-top:0}.classic-tabs{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;white-space:nowrap;overflow-x:auto;border-radius:.3rem .3rem 0 0}@media (min-width:62rem){.classic-tabs{overflow-x:hidden}}.classic-tabs li{-webkit-box-flex:1 0 30%;-webkit-flex:1 0 30%;-ms-flex:1 0 30%;flex:1 0 30%}.classic-tabs li a{display:block;padding:20px 24px;font-size:13px;color:rgba(255,255,255,.7);text-align:center;border-radius:0}.card .card-data ul li,.card .card-review ul li{display:inline}.classic-tabs li a.active{border-bottom:3px solid;color:#fff}@media (min-width:62em){.classic-tabs li{-webkit-box-flex:inherit;-webkit-flex:inherit;-ms-flex:inherit;flex:inherit}.classic-tabs li:first-child{margin-left:56px}}.classic-tabs.tabs-cyan li a.active{border-color:#ffeb3b}.classic-tabs.tabs-orange li a.active{border-color:#E53935}.classic-tabs.tabs-grey li a.active{border-color:#FFF}.classic-tabs.tabs-pink li a.active{border-color:#673ab7}.classic-tabs.tabs-green li a.active{border-color:#1565C0}.classic-tabs.tabs-primary li a.active{border-color:#FFF}.card.card-image{background-size:cover;background-position:center;width:100%}.card .card-data{background-color:#929FBA;color:#fff;text-align:center;height:auto;padding:10px}.card .card-data ul{margin-bottom:0;font-size:.9rem}.card .card-data ul li .fa-clock-o{margin-left:10px}.card .card-data ul a{color:#fff}.card .card-data ul a .fa{margin-left:5px;margin-right:3px}.card.card-dark .card-body{background-color:#2E2E2E}.card.card-dark .card-body hr{background-color:#666}.card.card-cascade{width:100%}.card.card-cascade .view{border-radius:4px}.card.card-cascade .view.gradient-card-header{padding:1.6rem 1rem;text-align:center}.card.card-cascade .view.gradient-card-header .btn-floating{background-color:rgba(255,255,255,.2)}.card.card-cascade.narrower{margin-top:20px}.card.card-cascade.narrower .view{margin-left:4%;margin-right:4%;margin-top:-20px}.card.card-cascade.wider{background-color:transparent}.card.card-cascade.wider .view{z-index:2}.card.card-cascade.wider .card-body{margin-left:4%;margin-right:4%;background:#fff;z-index:1;border-radius:0 0 .3rem .3rem}.card.card-cascade.wider.reverse .card-body{z-index:3;margin-top:-1rem;border-radius:4px}.card.card-cascade.card-avatar{margin-top:6rem;text-align:center}.card.card-cascade.card-avatar img{margin-top:-5rem;margin-left:auto;margin-right:auto;width:160px;border-radius:50%}.card.card-cascade .card-body{padding-top:1.8rem}.card .activator{position:absolute;top:0;right:0;padding:1rem;margin-right:10px;font-size:1.2rem}.card .rating{color:#ffa000}.card .btn-action{margin:-23px 20px -23px auto;background-color:#929FBA;height:47px;width:47px;line-height:0}.card .btn-action .fa{font-size:18px}.card .btn-action .fa.fa-chevron-right{margin-top:2px;margin-left:2px}.card .card-review{margin-top:-1px;color:#fff;padding:50px 20px 20px}.card .card-review ul{margin-bottom:0;font-size:.9rem}.card .card-review ul a{color:#fff}.card .card-review ul a .fa{margin-left:5px;margin-right:3px}.card .card-reveal{position:absolute;width:100%;overflow-y:auto;top:100%;height:100%;z-index:1;display:none;padding:1rem}.card .card-reveal .card-title i{color:#9e9e9e;position:absolute;right:10px}.card .card-reveal .content,.card .card-share{position:relative}.card .card-reveal .content h4{margin-top:20px;margin-bottom:15px}.card .card-reveal .content h5{margin-top:30px}.card .card-share .social-reveal{position:absolute;top:-28px;right:30px;visibility:hidden;width:auto;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform .35s ease;transition:-webkit-transform .35s ease;transition:transform .35s ease;transition:transform .35s ease,-webkit-transform .35s ease}.card .card-share .social-reveal .btn-floating{margin:.3rem}.card .card-share .social-reveal .btn-floating i{font-size:18px}.card .card-share .social-reveal-active{z-index:11;visibility:visible;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transform:translateX(-48px);-ms-transform:translateX(-48px);transform:translateX(-48px);-webkit-transition:-webkit-transform .35s ease;transition:-webkit-transform .35s ease;transition:transform .35s ease;transition:transform .35s ease,-webkit-transform .35s ease}.pswp--touch .pswp__button--arrow--left,.pswp--touch .pswp__button--arrow--right,.pswp__caption--fake{visibility:hidden}.card.ovf-hidden{overflow:hidden}.card .card-footer{background-color:transparent}.card .card-footer .left{float:left}.card .card-footer .left .discount{text-decoration:line-through;color:#9e9e9e;font-size:1.1rem}.card .card-footer .right{float:right;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.card .card-footer .right a{color:#757575;margin-left:1rem;-webkit-transition:.4s;transition:.4s}.card .card-footer .right a:hover{color:#d50000;-webkit-transition:.4s;transition:.4s}.card .card-footer .right a.active{color:#d50000}.card-wrapper{margin:0;min-height:500px;position:relative;-webkit-perspective:800px;perspective:800px}.card-wrapper .face{position:absolute;width:100%;height:100%}.card-wrapper .face h4{margin-bottom:15px}.card-wrapper .face h5{margin-top:30px}.card-wrapper .face .content{text-align:left;padding:15px}.card-wrapper .face .content p{margin-bottom:30px}.card-wrapper .face .content .rotate-btn{padding:1rem;margin-right:-8px;float:right;font-size:1.2rem}.card-wrapper .card-up{overflow:hidden;height:50%}.card-wrapper .card-up img{min-width:400px}.card-wrapper .avatar{border-radius:50%;display:block;height:120px;margin:-65px auto 0;overflow:hidden;width:120px}.card-wrapper .avatar img{border:5px solid #fff;background:#FFF;width:100%}.card-wrapper .card-rotating{text-align:center;position:absolute;width:100%;height:100%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.card-wrapper .card-rotating .content{position:relative}.card-wrapper .card-rotating .content .rotate-btn{position:absolute;right:8px;top:0}.card-wrapper .fa-repeat,.card-wrapper .fa-undo{font-size:20px;margin-top:30px}.card-wrapper .fa-undo{margin-top:30px}.card-wrapper .back,.card-wrapper .front{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform 1s;transition:-webkit-transform 1s;transition:transform 1s;transition:transform 1s,-webkit-transform 1s}.card-wrapper .back{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg);padding:1rem}.card-wrapper .back .card-title i{color:#9e9e9e;position:absolute;right:20px}.card-wrapper .card-rotating.effect__click.flipped .front{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.card-wrapper .card-rotating.effect__click.flipped .back{-webkit-transform:rotateY(0);transform:rotateY(0)}.testimonial-card .card-up{overflow:hidden;height:120px;border-radius:.3rem .3rem 0 0}.testimonial-card .avatar{border-radius:50%;height:120px;width:120px;margin:-65px auto 0;overflow:hidden;border:5px solid #fff}.testimonial-card .avatar img{width:100%}.testimonial-card .card-body{text-align:center}.card-inverse h5{font-size:1rem}.card-overlay{background-size:cover;padding:1.5rem;border-radius:2px}.card-overlay p{margin-bottom:1rem}.dropdown .dropdown-menu{padding:.5rem}.dropdown .dropdown-menu.dropdown-primary .dropdown-item:active,.dropdown .dropdown-menu.dropdown-primary .dropdown-item:hover{background-color:#4285F4}.dropdown .dropdown-menu.dropdown-danger .dropdown-item:active,.dropdown .dropdown-menu.dropdown-danger .dropdown-item:hover{background-color:#C00}.dropdown .dropdown-menu.dropdown-default .dropdown-item:active,.dropdown .dropdown-menu.dropdown-default .dropdown-item:hover{background-color:#2BBBAD}.dropdown .dropdown-menu.dropdown-secondary .dropdown-item:active,.dropdown .dropdown-menu.dropdown-secondary .dropdown-item:hover{background-color:#a6c}.dropdown .dropdown-menu.dropdown-success .dropdown-item:active,.dropdown .dropdown-menu.dropdown-success .dropdown-item:hover{background-color:#00C851}.dropdown .dropdown-menu.dropdown-info .dropdown-item:active,.dropdown .dropdown-menu.dropdown-info .dropdown-item:hover{background-color:#33b5e5}.dropdown .dropdown-menu.dropdown-warning .dropdown-item:active,.dropdown .dropdown-menu.dropdown-warning .dropdown-item:hover{background-color:#fb3}.dropdown .dropdown-menu.dropdown-dark .dropdown-item:active,.dropdown .dropdown-menu.dropdown-dark .dropdown-item:hover{background-color:#2E2E2E}.dropdown .dropdown-menu.dropdown-ins .dropdown-item:active,.dropdown .dropdown-menu.dropdown-ins .dropdown-item:hover{background-color:#2E5E86}.dropdown .dropdown-menu .dropdown-item{padding:.5rem;margin-left:0;font-size:.9rem}.dropdown .dropdown-menu .dropdown-item.disabled{color:#868e96}.dropdown .dropdown-menu .dropdown-item.disabled:active,.dropdown .dropdown-menu .dropdown-item.disabled:focus,.dropdown .dropdown-menu .dropdown-item.disabled:hover{-webkit-box-shadow:none;box-shadow:none;color:#868e96!important;background-color:transparent!important}.dropdown .dropdown-menu .dropdown-item:active,.dropdown .dropdown-menu .dropdown-item:hover{border-radius:2px;-webkit-transition:all .1s linear;transition:all .1s linear;background-color:#4285F4}.dropdown-menu-right{right:0;left:auto!important}.dropdown-content{background-color:#fff;margin:0;display:none;min-width:100px;max-height:650px;overflow-y:auto;opacity:0;position:absolute;z-index:999;will-change:width,height}.dropdown-content li{clear:both;color:#000;cursor:pointer;line-height:1.3rem;width:100%;text-align:left;text-transform:none}.dropdown-content li.active,.dropdown-content li:hover{background-color:#eee}.dropdown-content li>a,.dropdown-content li>span{font-size:.9rem;color:#4285F4;display:block;padding:.5rem}.dropdown-content li>a>i{height:inherit;line-height:inherit}.colorful-select .dropdown-content{padding:.5rem}.navbar .nav-item.avatar,.navbar .nav-item.avatar .dropdown-toggle{padding:0}.colorful-select .dropdown-content li.active span{color:#fff!important}.colorful-select .dropdown-content li.active span [type=checkbox]:checked+label:before{border-color:transparent #fff #fff transparent}.colorful-select .dropdown-content li a:hover,.colorful-select .dropdown-content li span:hover{color:#fff!important;-webkit-transition:all .1s linear;transition:all .1s linear;border-radius:2px}.colorful-select .dropdown-content li a:hover [type=checkbox]+label:before,.colorful-select .dropdown-content li span:hover [type=checkbox]+label:before{border-color:#fff}.colorful-select .dropdown-content li a:hover [type=checkbox]:checked+label:before,.colorful-select .dropdown-content li span:hover [type=checkbox]:checked+label:before{border-color:transparent #fff #fff transparent}.colorful-select .dropdown-content li.disabled.active span,.colorful-select .dropdown-content li.optgroup.active span,.colorful-select .dropdown-content li:disabled.active span{color:rgba(0,0,0,.3)!important;border-bottom-color:rgba(0,0,0,.3);cursor:default}.colorful-select .dropdown-content li.disabled a:hover,.colorful-select .dropdown-content li.disabled span:hover,.colorful-select .dropdown-content li.optgroup a:hover,.colorful-select .dropdown-content li.optgroup span:hover,.colorful-select .dropdown-content li:disabled a:hover,.colorful-select .dropdown-content li:disabled span:hover{color:rgba(0,0,0,.3)!important;border-bottom-color:rgba(0,0,0,.3);cursor:default;background-color:#fff!important}.colorful-select .dropdown-content li.disabled label,.colorful-select .dropdown-content li.optgroup label,.colorful-select .dropdown-content li:disabled label{cursor:default}.dropdown-primary .dropdown-content li a,.dropdown-primary .dropdown-content li span:hover,.dropdown-primary .dropdown-content li.active{background-color:#4285F4}.dropdown-primary .search-wrap input:focus{border-bottom:1px solid #4285F4;-webkit-box-shadow:0 1px 0 0 #4285F4;box-shadow:0 1px 0 0 #4285F4}.dropdown-danger .dropdown-content li a,.dropdown-danger .dropdown-content li span:hover,.dropdown-danger .dropdown-content li.active{background-color:#C00}.dropdown-danger .search-wrap input:focus{border-bottom:1px solid #C00;-webkit-box-shadow:0 1px 0 0 #C00;box-shadow:0 1px 0 0 #C00}.dropdown-default .dropdown-content li a,.dropdown-default .dropdown-content li span:hover,.dropdown-default .dropdown-content li.active{background-color:#2BBBAD}.dropdown-default .search-wrap input:focus{border-bottom:1px solid #2BBBAD;-webkit-box-shadow:0 1px 0 0 #2BBBAD;box-shadow:0 1px 0 0 #2BBBAD}.dropdown-secondary .dropdown-content li a,.dropdown-secondary .dropdown-content li span:hover,.dropdown-secondary .dropdown-content li.active{background-color:#a6c}.dropdown-secondary .search-wrap input:focus{border-bottom:1px solid #a6c;-webkit-box-shadow:0 1px 0 0 #a6c;box-shadow:0 1px 0 0 #a6c}.dropdown-success .dropdown-content li a,.dropdown-success .dropdown-content li span:hover,.dropdown-success .dropdown-content li.active{background-color:#00C851}.dropdown-success .search-wrap input:focus{border-bottom:1px solid #00C851;-webkit-box-shadow:0 1px 0 0 #00C851;box-shadow:0 1px 0 0 #00C851}.dropdown-info .dropdown-content li a,.dropdown-info .dropdown-content li span:hover,.dropdown-info .dropdown-content li.active{background-color:#33b5e5}.dropdown-info .search-wrap input:focus{border-bottom:1px solid #33b5e5;-webkit-box-shadow:0 1px 0 0 #33b5e5;box-shadow:0 1px 0 0 #33b5e5}.dropdown-warning .dropdown-content li a,.dropdown-warning .dropdown-content li span:hover,.dropdown-warning .dropdown-content li.active{background-color:#fb3}.dropdown-warning .search-wrap input:focus{border-bottom:1px solid #fb3;-webkit-box-shadow:0 1px 0 0 #fb3;box-shadow:0 1px 0 0 #fb3}.dropdown-dark .dropdown-content li a,.dropdown-dark .dropdown-content li span:hover,.dropdown-dark .dropdown-content li.active{background-color:#2E2E2E}.dropdown-dark .search-wrap input:focus{border-bottom:1px solid #2E2E2E;-webkit-box-shadow:0 1px 0 0 #2E2E2E;box-shadow:0 1px 0 0 #2E2E2E}.dropdown-ins .dropdown-content li a,.dropdown-ins .dropdown-content li span:hover,.dropdown-ins .dropdown-content li.active{background-color:#2E5E86}.dropdown-ins .search-wrap input:focus{border-bottom:1px solid #2E5E86;-webkit-box-shadow:0 1px 0 0 #2E5E86;box-shadow:0 1px 0 0 #2E5E86}.dropdown-menu.animated{-webkit-animation-duration:.55s;animation-duration:.55s;-webkit-animation-timing-function:ease;animation-timing-function:ease}.navbar .nav-item.avatar.active{background-color:transparent!important}.nav-pills .nav-item a.active,.nav-pills .nav-item a.active:active,.nav-pills .nav-item a.active:focus,.nav-pills .nav-item a.active:hover,.nav-pills .nav-item a:hover{background-color:transparent;font-weight:500}.navbar .nav-item.avatar .dropdown-toggle img{height:35px}.navbar .nav-item.avatar .dropdown-toggle:after{display:none}.double-nav{z-index:100;color:#fff}@media (max-width:992px){.double-nav{padding-top:4px;padding-bottom:4px}}@media (max-width:768px){.double-nav .container{padding-left:0;padding-right:0}}.double-nav a{color:#fff;font-size:15px}.double-nav .breadcrumb-dn p{margin:0;padding-top:0;padding-left:1rem}@media (max-width:993px){.double-nav .breadcrumb-dn{display:none}}.double-nav .button-collapse{position:absolute;top:1px;left:10px;font-size:1.5rem}@media (min-width:1440px){.double-nav .button-collapse{display:none}}@media (max-width:1440px){.double-nav .button-collapse{display:block;position:relative;font-size:1.4rem;margin-top:2px;margin-right:10px;margin-left:10px}}.nav-pills .nav-item a{text-align:left;color:#666;border-radius:0}.nav-pills .nav-item a:hover{border-left:1px solid}.nav-pills .nav-item a.active{color:#45526E;border-left:2px solid;-webkit-box-shadow:none;box-shadow:none}.nav-pills .nav-item+.nav-item{margin-left:0}@media only screen and (max-width:991px){.sticky,.sticky-placeholder{display:none}}@media only screen and (max-width:992px){.col-lg-4 .sticky,.col-md-4 .sticky,.col-xl-4 .sticky{width:200px}}@media only screen and (min-width:992px){.col-md-4 .sticky .col-lg-4 .sticky,.col-xl-4 .sticky{width:400px}}@media only screen and (min-width:1200px){.col-md-4 .sticky{width:300px}}@media only screen and (min-width:1440px){.col-md-4 .sticky{width:350px}}.dotted-scrollspy{display:block;position:fixed;top:50%;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);background:rgba(0,0,0,.55);border-radius:2px 0 0 2px}.dotted-scrollspy li{display:block;padding:0 16px}.dotted-scrollspy li:first-child{padding-top:10px}.dotted-scrollspy li:last-child{padding-bottom:10px}.dotted-scrollspy li a{padding:.5rem}.dotted-scrollspy li a span{display:block;background-color:rgba(255,255,255,.54);width:8px;height:8px;border-radius:50%}.dotted-scrollspy li a.active span{background:#fff}.scrollspy-example{overflow-y:scroll;position:relative;height:200px;padding:1rem}.pswp,.pswp__item,.pswp__scroll-wrap{overflow:hidden}.pswp,.pswp__bg,.pswp__scroll-wrap{width:100%;height:100%;top:0;position:absolute;left:0}.pswp{display:none;-ms-touch-action:none;touch-action:none;z-index:1500;-webkit-backface-visibility:hidden;outline:0}.pswp--open,.pswp__button{display:block}.pswp *{-webkit-box-sizing:border-box;box-sizing:border-box}.pswp img{max-width:none}.pswp--animate_opacity{opacity:.001;will-change:opacity;-webkit-transition:opacity 333ms cubic-bezier(.4,0,.22,1);transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.pswp--zoom-allowed .pswp__img{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.pswp--zoomed-in .pswp__img{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.pswp--dragging .pswp__img{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.pswp__container,.pswp__zoom-wrap{-ms-touch-action:none;touch-action:none;position:absolute;left:0;right:0;top:0;bottom:0;-webkit-backface-visibility:hidden}.pswp__container,.pswp__img{user-select:none;-webkit-touch-callout:none}.pswp__zoom-wrap{position:absolute;width:100%;-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 333ms cubic-bezier(.4,0,.22,1);transition:-webkit-transform 333ms cubic-bezier(.4,0,.22,1);transition:transform 333ms cubic-bezier(.4,0,.22,1);transition:transform 333ms cubic-bezier(.4,0,.22,1),-webkit-transform 333ms cubic-bezier(.4,0,.22,1)}.pswp__bg{background:#000;opacity:0;-webkit-backface-visibility:hidden;will-change:opacity;-webkit-transition:opacity 333ms cubic-bezier(.4,0,.22,1);transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.pswp--animated-in .pswp__bg,.pswp--animated-in .pswp__zoom-wrap{-webkit-transition:none;transition:none}.pswp__item{position:absolute;left:0;right:0;top:0;bottom:0}.pswp__img{position:absolute;width:auto;height:auto;top:0;left:0}.pswp__img--placeholder{-webkit-backface-visibility:hidden}.pswp__img--placeholder--blank{background:#222}.pswp--ie .pswp__img{width:100%!important;height:auto!important;left:0;top:0}.pswp__error-msg{position:absolute;left:0;top:50%;width:100%;text-align:center;font-size:14px;line-height:16px;margin-top:-8px;color:#CCC}.pswp__error-msg a{color:#CCC;text-decoration:underline}.pswp__share-tooltip a,.pswp__share-tooltip a:hover{text-decoration:none;color:#000}.pswp__button{position:relative;cursor:pointer;overflow:visible;border:0;padding:0;margin:0;float:right;opacity:.75;-webkit-transition:opacity .2s;transition:opacity .2s;-webkit-box-shadow:none;box-shadow:none}.mdb-autocomplete-wrap,.pswp__share-tooltip{-webkit-box-shadow:0 2px 5px rgba(0,0,0,.25)}.pswp__button:focus,.pswp__button:hover{opacity:1}.pswp__button:active{outline:0;opacity:.9}.pswp__button::-moz-focus-inner{padding:0;border:0}.pswp__ui--over-close .pswp__button--close{opacity:1}.pswp__button,.pswp__button--arrow--left:before,.pswp__button--arrow--right:before{background:url(../img/lightbox/default-skin.png) no-repeat;background-size:264px 88px;width:44px;height:44px}@media (-webkit-min-device-pixel-ratio:1.1),(-webkit-min-device-pixel-ratio:1.09375),(min-resolution:105dpi),(min-resolution:1.1dppx){.pswp--svg .pswp__button,.pswp--svg .pswp__button--arrow--left:before,.pswp--svg .pswp__button--arrow--right:before{background-image:url(../img/lightbox/default-skin.svg)}.pswp--svg .pswp__button--arrow--left,.pswp--svg .pswp__button--arrow--right{background:0 0}}.pswp__button--close{background-position:0 -44px}.pswp__button--share{background-position:-44px -44px}.pswp__button--fs{display:none}.pswp--supports-fs .pswp__button--fs{display:block}.pswp--fs .pswp__button--fs{background-position:-44px 0}.pswp__button--zoom{display:none;background-position:-88px 0}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__button--zoom{background-position:-132px 0}.pswp__button--arrow--left,.pswp__button--arrow--right{background:0 0;top:50%;margin-top:-50px;width:70px;height:100px;position:absolute}.pswp__button--arrow--left{left:0}.pswp__button--arrow--right{right:0}.pswp__button--arrow--left:before,.pswp__button--arrow--right:before{content:'';top:35px;background-color:rgba(0,0,0,.3);height:30px;width:32px;position:absolute}.pswp__button--arrow--left:before{left:6px;background-position:-138px -44px}.pswp__button--arrow--right:before{right:6px;background-position:-94px -44px}.pswp__counter,.pswp__share-modal{user-select:none}.picker,.select-wrapper .select-dropdown,.switch,.switch *{-ms-user-select:none;-moz-user-select:none}.pswp__share-modal{display:block;background:rgba(0,0,0,.5);width:100%;height:100%;top:0;left:0;padding:10px;position:absolute;z-index:1600;opacity:0;-webkit-transition:opacity .25s ease-out;transition:opacity .25s ease-out;-webkit-backface-visibility:hidden;will-change:opacity}.pswp__share-modal--hidden{display:none}.pswp__share-tooltip{z-index:1620;position:absolute;background:#FFF;top:56px;border-radius:2px;display:block;width:auto;right:44px;box-shadow:0 2px 5px rgba(0,0,0,.25);-webkit-transform:translateY(6px);-ms-transform:translateY(6px);transform:translateY(6px);-webkit-transition:-webkit-transform .25s;transition:-webkit-transform .25s;transition:transform .25s;transition:transform .25s,-webkit-transform .25s;-webkit-backface-visibility:hidden;will-change:transform}.chips,.progress{-webkit-box-shadow:none}.pswp__share-tooltip a{display:block;padding:8px 12px;font-size:14px;line-height:18px}.pswp__share-tooltip a:first-child{border-radius:2px 2px 0 0}.pswp__share-tooltip a:last-child{border-radius:0 0 2px 2px}.pswp__share-modal--fade-in{opacity:1}.pswp__share-modal--fade-in .pswp__share-tooltip{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.pswp--touch .pswp__share-tooltip a{padding:16px 12px}a.pswp__share--facebook:before{content:'';display:block;width:0;height:0;position:absolute;top:-12px;right:15px;border:6px solid transparent;border-bottom-color:#FFF;-webkit-pointer-events:none;-moz-pointer-events:none;pointer-events:none}.pswp__caption--empty,.pswp__ui--one-slide .pswp__button--arrow--left,.pswp__ui--one-slide .pswp__button--arrow--right,.pswp__ui--one-slide .pswp__counter{display:none}.pswp__counter,.pswp__preloader{height:44px;top:0;position:absolute}a.pswp__share--facebook:hover{background:#3E5C9A;color:#FFF}a.pswp__share--facebook:hover:before{border-bottom-color:#3E5C9A}a.pswp__share--twitter:hover{background:#55ACEE;color:#FFF}a.pswp__share--pinterest:hover{background:#CCC;color:#CE272D}a.pswp__share--download:hover{background:#DDD}.pswp__counter{left:0;font-size:13px;line-height:44px;color:#FFF;opacity:.75;padding:0 10px}.pswp__caption{position:absolute;left:0;bottom:0;width:100%;min-height:44px}.pswp__caption small{font-size:11px;color:#BBB}.pswp__caption__center{text-align:left;max-width:420px;margin:0 auto;font-size:13px;padding:10px;line-height:20px;color:#CCC}.carousel-multi-item .controls-top,.cart-modal .table,.cart-modal th,.comments-list h4,.product-panel .modal-header,.ql-modal .modal-header,.reply-form h4,.side-nav .about p,.side-nav .social,.stepper li a,.stepper li a .circle,input[type=range]+.thumb .value{text-align:center}.chip,.chip .close,.chips .input{line-height:32px}.pswp--has_mouse .pswp__button--arrow--left,.pswp--has_mouse .pswp__button--arrow--right,.pswp__ui{visibility:visible}.pswp__preloader{width:44px;left:50%;margin-left:-22px;opacity:0;-webkit-transition:opacity .25s ease-out;transition:opacity .25s ease-out;will-change:opacity;direction:ltr}.pswp--css_animation .pswp__preloader--active,.pswp__preloader--active{opacity:1}.pswp__preloader__icn{width:20px;height:20px;margin:12px}.pswp__preloader--active .pswp__preloader__icn{background:url(../img/lightbox/preloader.gif) no-repeat}.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn{-webkit-animation:clockwise .5s linear infinite;animation:clockwise .5s linear infinite}.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut{-webkit-animation:donut-rotate 1s cubic-bezier(.4,0,.22,1) infinite;animation:donut-rotate 1s cubic-bezier(.4,0,.22,1) infinite}.pswp--css_animation .pswp__preloader__icn{background:0 0;opacity:.75;width:14px;height:14px;position:absolute;left:15px;top:15px;margin:0}.pswp--css_animation .pswp__preloader__cut{position:relative;width:7px;height:14px;overflow:hidden}.pswp--css_animation .pswp__preloader__donut{-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;border:2px solid #FFF;border-radius:50%;border-left-color:transparent;border-bottom-color:transparent;position:absolute;top:0;left:0;background:0 0;margin:0}@media screen and (max-width:1024px){.pswp__preloader{position:relative;left:auto;top:auto;margin:0;float:right}}@-webkit-keyframes clockwise{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes clockwise{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes donut-rotate{0%,100%{-webkit-transform:rotate(0);transform:rotate(0)}50%{-webkit-transform:rotate(-140deg);transform:rotate(-140deg)}}@keyframes donut-rotate{0%,100%{-webkit-transform:rotate(0);transform:rotate(0)}50%{-webkit-transform:rotate(-140deg);transform:rotate(-140deg)}}.pswp__ui{-webkit-font-smoothing:auto;opacity:1;z-index:1550}.pswp__top-bar{position:absolute;left:0;top:0;height:44px;width:100%}.pswp--has_mouse .pswp__button--arrow--left,.pswp--has_mouse .pswp__button--arrow--right,.pswp__caption,.pswp__top-bar{-webkit-backface-visibility:hidden;will-change:opacity;-webkit-transition:opacity 333ms cubic-bezier(.4,0,.22,1);transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.pswp__caption,.pswp__top-bar{background-color:rgba(0,0,0,.5)}.pswp__ui--fit .pswp__caption,.pswp__ui--fit .pswp__top-bar{background-color:rgba(0,0,0,.3)}.pswp__ui--idle .pswp__button--arrow--left,.pswp__ui--idle .pswp__button--arrow--right,.pswp__ui--idle .pswp__top-bar{opacity:0}.pswp__ui--hidden .pswp__button--arrow--left,.pswp__ui--hidden .pswp__button--arrow--right,.pswp__ui--hidden .pswp__caption,.pswp__ui--hidden .pswp__top-bar{opacity:.001}.pswp__element--disabled{display:none!important}.pswp--minimal--dark .pswp__top-bar{background:0 0}.mdb-lightbox figure{margin:0;float:left}.comments-list .mdb-lightbox figure img,.mdb-lightbox figure .comments-list img,.mdb-lightbox figure .img-fluid,.mdb-lightbox figure .modal-dialog.cascading-modal.modal-avatar .modal-header,.mdb-lightbox figure .reply-form img,.mdb-lightbox figure .section-blog-fw .view img,.modal-dialog.cascading-modal.modal-avatar .mdb-lightbox figure .modal-header,.reply-form .mdb-lightbox figure img,.section-blog-fw .view .mdb-lightbox figure img{display:inline}.chip,.chips .input{display:inline-block}.mdb-lightbox figure img{cursor:-webkit-zoom-in;cursor:zoom-in;-webkit-transition:opacity .4s;transition:opacity .4s;border-radius:0}.mdb-lightbox figure img:hover{opacity:.8}.mdb-lightbox.no-margin [class*=col-]{padding:0}.mdb-lightbox [class*=col-]{padding:.5rem}.chip{height:32px;font-size:13px;font-weight:500;color:rgba(0,0,0,.6);padding:0 12px;border-radius:16px;background-color:#eceff1;margin-bottom:1rem;margin-right:1rem}.chip img{float:left;margin:0 8px 0 -12px;height:32px;width:32px;border-radius:50%}.chip .close{cursor:pointer;float:right;font-size:16px;padding-left:8px;-webkit-transition:all .1s linear;transition:all .1s linear}.chips{outline:0;box-shadow:none;border:none;border-bottom:1px solid #bdbdbd;margin-bottom:30px;min-height:45px;padding-bottom:1rem;-webkit-transition:all .3s;transition:all .3s}.chips.focus{border-bottom:1px solid #4285F4;-webkit-box-shadow:0 1px 0 0 #4285F4;box-shadow:0 1px 0 0 #4285F4}.chips:hover{cursor:text}.chips .tag.selected{border-bottom:1px solid #4285F4;color:#fff}.chips .input{background:0 0;border:0;outline:0;padding:0!important;width:120px!important;color:rgba(0,0,0,.6);font-size:13px;font-weight:500;height:32px;margin-right:20px}.chips .input:focus{border:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}.table a{margin-left:1rem}.table fieldset{margin-bottom:0}.table fieldset label{height:8px}.product-table img{max-height:150px;min-width:50px}[type=radio],[type=checkbox]{position:absolute;left:-9999px;visibility:hidden}[type=radio]+label,[type=checkbox]+label{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.streak{display:block;position:relative;overflow:hidden;height:250px}.streak.streak-md{height:400px}@media (max-width:736px){.streak.streak-md{height:300px}}.streak.streak-lg{height:650px}@media (max-width:450px){.streak.streak-lg{height:900px}}.streak.streak-long{height:200px}@media (max-width:450px){.streak.streak-long{height:620px}}.streak.streak-long-2{height:400px}@media (max-width:450px){.streak.streak-long-2{height:700px}}.streak.streak-photo{background-repeat:no-repeat;background-size:cover;background-position:center}@media (min-width:1366px){.streak.streak-photo{background-attachment:fixed}}.streak.no-flex{padding-top:3.125rem;padding-bottom:3.125rem;height:auto}.purple-gradient{background:-webkit-linear-gradient(50deg,#ff6ec4,#7873f5);background:linear-gradient(40deg,#ff6ec4,#7873f5)}.peach-gradient{background:-webkit-linear-gradient(50deg,#FFD86F,#FC6262);background:linear-gradient(40deg,#FFD86F,#FC6262)}.aqua-gradient{background:-webkit-linear-gradient(50deg,#2096ff,#05ffa3);background:linear-gradient(40deg,#2096ff,#05ffa3)}.blue-gradient{background:-webkit-linear-gradient(50deg,#45cafc,#303f9f);background:linear-gradient(40deg,#45cafc,#303f9f)}[type=radio]+label{-webkit-transition:.28s ease;transition:.28s ease}[type=radio]+label:after,[type=radio]+label:before{content:'';position:absolute;left:0;top:0;margin:4px;width:16px;height:16px;z-index:0;border-radius:50%;border-style:solid;border-width:2px;-webkit-transition:.28s ease;transition:.28s ease}[type=radio]:not(:checked)+label:after,[type=radio]:not(:checked)+label:before{border-color:#5a5a5a}[type=radio]:not(:checked)+label:after{z-index:-1;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}[type=radio]:checked+label:before{border-color:transparent}[type=radio]:checked+label:after{border-color:#4285F4;background-color:#4285F4;z-index:0;-webkit-transform:scale(1.02);-ms-transform:scale(1.02);transform:scale(1.02)}[type=radio]:disabled+label{color:rgba(0,0,0,.46)}[type=radio]:disabled+label:before{background-color:transparent;border-color:rgba(0,0,0,.46)}[type=radio]:disabled:not(:checked)+label:before{border-color:rgba(0,0,0,.46)}[type=radio]:disabled:checked+label:after{background-color:rgba(0,0,0,.46);border-color:#BDBDBD}[type=radio].with-gap:checked+label:before{border-color:#4285F4}[type=radio].with-gap:checked+label:after{-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}[type=radio].with-gap:checked:disabled+label:before{border-color:rgba(0,0,0,.46)}[type=checkbox]+label:before{content:'';position:absolute;top:0;left:0;width:17px;height:17px;z-index:0;border:1.5px solid #8a8a8a;border-radius:1px;margin-top:2px;-webkit-transition:.2s;transition:.2s}[type=checkbox]:checked+label:before{top:-4px;left:-3px;width:12px;height:22px;border-style:solid;border-width:2px;border-color:transparent #4285F4 #4285F4 transparent;-webkit-transform:rotate(40deg);-ms-transform:rotate(40deg);transform:rotate(40deg);-webkit-backface-visibility:hidden;-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}[type=checkbox]:indeterminate+label:before{left:-10px;top:-11px;width:10px;height:22px;border:none;border-right:2px solid #4285F4;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);-webkit-backface-visibility:hidden;-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}[type=checkbox]:disabled:checked+label:before{border-color:transparent rgba(0,0,0,.46) rgba(0,0,0,.46) transparent}[type=checkbox]:disabled:not(:checked)+label:before{border:none;margin-left:2px;margin-top:2px;background-color:rgba(0,0,0,.46)}[type=checkbox]:disabled:indeterminate+label:before{border-right:2px solid rgba(0,0,0,.46);margin-left:0;margin-top:0;background-color:transparent}[type=checkbox][class*=filled-in]+label:after,[type=checkbox][class*=filled-in]+label:before{content:'';left:0;position:absolute;-webkit-transition:border .25s,background-color .25s,width .2s .1s,height .2s .1s,top .2s .1s,left .2s .1s;transition:border .25s,background-color .25s,width .2s .1s,height .2s .1s,top .2s .1s,left .2s .1s;z-index:1;border-style:solid;border-width:2px}[type=checkbox][class*=filled-in]+label:after{border-radius:2px;height:20px;width:20px}[type=checkbox][class*=filled-in]+label:before{-webkit-transform:rotateZ(37deg);-ms-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}[type=checkbox][class*=filled-in]:not(:checked)+label:before{width:0;height:0;border-style:3px;border-color:transparent;left:6px;top:10px}[type=checkbox][class*=filled-in]:not(:checked)+label:after{background-color:transparent;border-color:#5a5a5a;top:0;z-index:0}[type=checkbox][class*=filled-in]:checked+label:before{top:0;left:1px;width:8px;height:13px;border-color:transparent #fff #fff transparent}[type=checkbox][class*=filled-in]:checked+label:after{border-color:#a6c;background-color:#a6c;z-index:0}[type=checkbox][class*=filled-in]:disabled:not(:checked)+label:before{background-color:transparent;border-color:#BDBDBD}[type=checkbox][class*=filled-in]:disabled:not(:checked)+label:after{border-color:transparent;background-color:#BDBDBD}[type=checkbox][class*=filled-in]:disabled:checked+label:before{background-color:transparent}[type=checkbox][class*=filled-in]:disabled:checked+label:after{background-color:#BDBDBD;border-color:#BDBDBD}[type=checkbox].filled-in-danger:checked+label:after{background-color:red;border-color:red}.select-wrapper .select-dropdown{-webkit-user-select:none;-o-user-select:none;user-select:none}.clockpicker-plate,.picker,.switch,.switch *{-webkit-user-select:none}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper input.select-dropdown{position:relative;cursor:pointer;background-color:transparent;border:none;border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:#bdbdbd;outline:0;height:3rem;line-height:3rem;width:100%;font-size:1rem;margin:0 0 15px;padding:0;display:block}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,.3);border-bottom-color:rgba(0,0,0,.3);cursor:default}.select-wrapper .search-wrap{padding:1rem 0;width:93%;display:block;margin:0 auto}.select-wrapper .search-wrap input{padding-bottom:.4rem}.select-wrapper span.caret{color:initial;position:absolute;right:0;top:16px;font-size:10px}.select-wrapper span.caret.disabled{color:rgba(0,0,0,.46)}.select-wrapper i,select:disabled{color:rgba(0,0,0,.3)}.select-wrapper+label{position:absolute;top:-14px;font-size:.8rem}.select-wrapper ul{list-style-type:none;padding-left:0}select{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;display:none!important}select.browser-default{display:block!important}.switch label .lever,.switch label .lever:after{display:inline-block;content:""}.select-dropdown ul{list-style-type:none;padding:0}.select-dropdown li img{height:30px;width:30px;margin:3px 12px;float:right}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,.3);background-color:transparent!important;cursor:context-menu}.select-dropdown li.optgroup{border-top:1px solid #eee}.select-dropdown li.optgroup.selected>span{color:rgba(0,0,0,.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,.4)}.multiple-select-dropdown li [type=checkbox]+label{height:10px}.switch,.switch *{-khtml-user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#dccfe2}.switch label input[type=checkbox]:checked+.lever:after{background-color:#a6c;left:24px}.switch label input[type=checkbox]:checked:not(:disabled)~.lever:active:after{-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(170,102,204,.1);box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(170,102,204,.1)}.switch label input[type=checkbox]:not(:disabled)~.lever:active:after{-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,0,0,.08);box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,0,0,.08)}.switch label input[type=checkbox]:disabled+.lever{cursor:default}.switch label input[type=checkbox]:disabled+.lever:after,.switch label input[type=checkbox]:disabled:checked+.lever:after{background-color:#BDBDBD}.switch label .lever{position:relative;width:40px;height:15px;background-color:#818181;border-radius:15px;-webkit-transition:background .3s ease;transition:background .3s ease;margin:0 16px}.switch label .lever:after{position:absolute;width:21px;height:21px;background-color:#F1F1F1;border-radius:21px;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.4);box-shadow:0 1px 3px 1px rgba(0,0,0,.4);left:-5px;top:-3px;-webkit-transition:left .3s ease,background .3s ease,-webkit-box-shadow .1s ease;transition:left .3s ease,background .3s ease,-webkit-box-shadow .1s ease;transition:left .3s ease,background .3s ease,box-shadow .1s ease;transition:left .3s ease,background .3s ease,box-shadow .1s ease,-webkit-box-shadow .1s ease}.file-field{position:relative}.file-field .file-path-wrapper{overflow:hidden;padding-left:10px;height:2.5rem}.mdb-autocomplete-wrap,.side-nav{left:0;overflow-y:auto;list-style-type:none}.file-field input.file-path{width:100%;height:2.1rem}.file-field .btn{float:left}.file-field span{cursor:pointer}.file-field input[type=file]{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;margin:0;padding:0;font-size:1px;cursor:pointer;opacity:0;filter:alpha(opacity=0)}.range-field,input[type=range]{position:relative}.btn-file{padding-top:1px}input[type=range]{cursor:pointer;background-color:transparent;outline:0;width:100%;margin:15px 0;padding:0;border:1px solid #fff}input[type=range]:focus{outline:0}input[type=range]+.thumb{position:absolute;border:none;height:0;width:0;border-radius:50%;background-color:#4285F4;top:10px;margin-left:-6px;-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}input[type=range]+.thumb .value{display:block;width:30px;color:#4285F4;font-size:0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-left:-1px;margin-top:8px;font-size:10px}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:none;height:14px;width:14px;border-radius:50%;background-color:#4285F4;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;margin:-5px 0 0;-webkit-transition:.3s;transition:.3s}input[type=range]:focus::-webkit-slider-runnable-track{background:#ccc}input[type=range]::-moz-range-track{height:3px;background:#ddd;border:none}input[type=range]::-moz-range-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#4285F4;margin-top:-5px}input[type=range]:-moz-focusring{outline:#fff solid 1px;outline-offset:-1px}input[type=range]:focus::-moz-range-track{background:#ccc}input[type=range]::-ms-track{height:3px;background:0 0;border-color:transparent;border-width:6px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#4285F4}input[type=range]:focus::-ms-fill-lower{background:#888}input[type=range]:focus::-ms-fill-upper{background:#ccc}.input-group .input-group-addon{background-color:#e0e0e0}.input-group .input-group-addon [type=checkbox]+label{padding-left:18px;height:13px}.input-group .input-group-addon [type=radio]+label{padding-left:24px;height:13px}.input-group .input-group-addon:-moz-placeholder{padding-left:1rem}.input-group .input-group-addon::-ms-placeholder{padding-left:1rem}.input-group .input-group-addon::-webkit-input-placeholder{padding-left:1rem}.input-group .input-group-addon::-moz-placeholder{padding-left:1rem}.input-group .input-group-addon:-ms-input-placeholder{padding-left:1rem}.input-group .input-group-addon::placeholder{padding-left:1rem}.input-group span{z-index:10}.input-group .form-control{margin-top:3px;padding-top:14px;padding-bottom:7px;padding-left:1.2rem}.mdb-autocomplete{margin-bottom:1px}.mdb-autocomplete-clear{visibility:hidden;position:absolute;z-index:2;right:0;top:.85rem;background:0 0;border:none}.side-nav .collapsible a.active,.side-nav .collapsible a:hover,.side-nav .collapsible>li{border-radius:2px}.side-nav .about,.side-nav .social{border-bottom:1px solid rgba(153,153,153,.3)}.mdb-autocomplete-clear svg{fill:#a6a6a6}.mdb-autocomplete-wrap{position:absolute;right:0;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.25);z-index:100;max-height:210px;padding-left:0}.mdb-autocomplete-wrap li{cursor:pointer;padding:12px 15px;font-size:.875rem}.mdb-autocomplete-wrap li:hover{background:#eee}.jarallax,.side-nav{background-size:cover;background-repeat:no-repeat;background-position:center}.jarallax{min-height:700px}.side-nav{position:fixed;width:240px;top:0;margin:0;height:100%;height:-webkit-calc(100%+ 60px);height:calc(100%+ 60px);height:-moz-calc(100%);color:#d8d8d8;background-color:#2c2f34;z-index:999;-webkit-backface-visibility:hidden;will-change:transform;backface-visibility:hidden;-webkit-transform:translateX(-105%);-ms-transform:translateX(-105%);transform:translateX(-105%);padding:0}.side-nav ul{list-style-type:none}.side-nav ul li{padding:0}.side-nav.right-aligned{right:0;left:auto;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.side-nav .collapsible{margin:0;padding:0}.side-nav .collapsible li a:hover{background-color:rgba(0,0,0,.15)}.side-nav .collapsible>li a.collapsible-header.active,.side-nav .collapsible>li a.collapsible-header:hover{background-color:rgba(255,255,255,.15)}.side-nav .collapsible ul{padding:0;list-style-type:none}.side-nav .collapsible a{color:#fff;font-weight:300;font-size:.8rem}.side-nav .collapsible .fa{font-size:.8rem;margin-right:13px}.side-nav .collapsible-body a{padding-left:47px;height:36px;line-height:36px;background-color:rgba(0,0,0,.15)}.side-nav a{display:block;font-size:1rem;height:56px;line-height:56px;padding-left:20px}.side-nav .logo-wrapper{height:140px}.side-nav .logo-wrapper a{height:140px;width:240px;padding:0}.side-nav .logo-wrapper img{height:auto;padding:20% 50px}@media (max-height:992px){.side-nav .logo-wrapper,.side-nav .logo-wrapper a{height:80px}.side-nav .logo-wrapper img{padding:7% 50px}}.side-nav .about{padding:1rem}.side-nav .about p{margin-bottom:0}.side-nav .social{padding:0}.side-nav .social li{display:inline-block;padding:0;margin:0}.side-nav .social a{padding:0 .6rem;margin:0}.side-nav .social .fa{color:#dbe4e7}.side-nav .search-form{padding:0}.side-nav .search-form input[type=text]{border-bottom:1px solid #fff;font-weight:300;padding-left:30px}.side-nav .search-form input[type=text]:-moz-placeholder{color:#fff!important}.side-nav .search-form input[type=text]::-ms-placeholder{color:#fff!important}.side-nav .search-form input[type=text]::-webkit-input-placeholder{color:#fff!important}.side-nav .search-form input[type=text]::-moz-placeholder{color:#fff!important}.side-nav .search-form input[type=text]:-ms-input-placeholder{color:#fff!important}.side-nav .search-form input[type=text]::placeholder{color:#fff!important}.side-nav .search-form .form-control{margin-bottom:0}.side-nav .sn-avatar-wrapper{padding-left:33%;padding-right:33%;padding-top:10%}.side-nav .sn-avatar-wrapper img{margin:0;padding:0;max-width:90px;border-radius:5rem}@media only screen and (max-height:992px){.side-nav .sn-avatar-wrapper{padding-left:40%;padding-right:40%;padding-top:3%}.side-nav .sn-avatar-wrapper img{max-width:50px}}.side-nav .sn-ad-avatar-wrapper{height:auto;margin-bottom:0}.side-nav .sn-ad-avatar-wrapper img{max-width:60px;padding:20px 10px;float:left}.side-nav .sn-ad-avatar-wrapper p{font-size:15px;padding-top:20px;padding-bottom:20px;margin:0}.side-nav .user-box{padding:20px 10px 0}.side-nav .user-box img{margin:0 auto 10px;max-width:80px}.side-nav .fa-angle-down.rotate-icon{position:absolute;right:0;margin-right:20px}.side-nav .sidenav-bg{position:fixed;top:0;bottom:0;left:0;right:0;width:240px;z-index:-1;background-attachment:fixed}.side-nav .sidenav-bg:after{width:100%;display:block;content:"";position:absolute;height:100%;top:0;left:0;bottom:0;margin-bottom:-99999px;padding-bottom:99999px}.side-nav.fixed{left:0;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);position:fixed}.side-nav.fixed.right-aligned{right:0;left:auto}@media only screen and (max-width:1440px){.side-nav.fixed{-webkit-transform:translateX(-105%);-ms-transform:translateX(-105%);transform:translateX(-105%)}.side-nav.fixed.right-aligned{-webkit-transform:translateX(105%);-ms-transform:translateX(105%);transform:translateX(105%)}}.side-nav.side-nav-light{background-color:#e5e5e5}.side-nav.side-nav-light a{color:#555;font-weight:400}.side-nav.side-nav-light .social .fa{color:#555}.side-nav.side-nav-light .search-form input[type=text]{border-bottom-color:rgba(153,153,153,.3);color:#555!important}.side-nav.side-nav-light .search-form input[type=text]:-moz-placeholder{color:#555!important}.side-nav.side-nav-light .search-form input[type=text]::-ms-placeholder{color:#555!important}.side-nav.side-nav-light .search-form input[type=text]::-webkit-input-placeholder{color:#555!important}.side-nav.side-nav-light .search-form input[type=text]::-moz-placeholder{color:#555!important}.side-nav.side-nav-light .search-form input[type=text]:-ms-input-placeholder{color:#555!important}.side-nav.side-nav-light .search-form input[type=text]::placeholder{color:#555!important}.side-nav.side-nav-light .collapsible-body a{background-color:rgba(0,0,0,.1)}.side-nav.side-nav-light .collapsible li .collapsible-header:hover{background-color:rgba(0,0,0,.05)}.side-nav.side-nav-light .collapsible li .collapsible-header.active{color:#4285F4;background-color:transparent}.drag-target{height:100%;width:10px;position:fixed;top:0;z-index:998}#sidenav-overlay{position:fixed;top:0;left:0;right:0;height:120vh;background-color:rgba(0,0,0,.5);z-index:997;will-change:opacity}.side-nav .double-navbar .bc-min{padding:5px 10px}.no-padding .fa,.rating{padding:0}.side-nav .double-navbar .bc-min .button-collapse{padding-left:0}.rating{list-style-type:none}.rating li{display:inline-block}.product-panel .modal-dialog,.ql-modal .modal-dialog{max-width:none;width:auto;margin:2rem}.product-panel .price .badge,.ql-modal .price .badge{background-color:rgba(244,67,54,.7);font-size:1.4rem;display:inline-block;margin-left:1rem}.product-panel .price p,.ql-modal .price p{display:inline-block;font-size:1.3rem}.product-panel .price p .price-before,.ql-modal .price p .price-before{color:#000;text-decoration:line-through;margin-left:.5rem}.product-panel .price p .price-after,.ql-modal .price p .price-after{font-size:1.7rem;color:green}.product-panel .media img,.ql-modal .media img{max-width:60px}@media (max-width:1200px){.ql-modal{padding-left:0}.ql-modal .modal-dialog{margin:0}}.wishlist{background-color:#ff3547}.collection-card .stripe{position:absolute;bottom:3rem;width:100%;text-align:center;padding:1.2rem}.collection-card .stripe.dark{background-color:rgba(0,0,0,.7)}.collection-card .stripe.dark a p{color:#eee}.collection-card .stripe.light{background-color:rgba(255,255,255,.7)}.collection-card .stripe.light a p{color:#424242}.collection-card .stripe a p{padding:0;margin:0;letter-spacing:4px;font-size:1rem}.cart-modal .table .total{text-transform:uppercase;font-weight:600}.cart-modal .table .fa-remove{color:#4285F4}.carousel-multi-item{margin-bottom:100px}@media (min-width:768px){.carousel-multi-item .col-md-4{float:left;width:33.333333%;max-width:100%}}.carousel-multi-item .carousel-item-next,.carousel-multi-item .carousel-item-prev,.carousel-multi-item .carousel-item.active{display:block}.carousel-multi-item .carousel-indicators li{height:20px;max-width:20px;background-color:#4285F4;margin-bottom:-60px}.carousel-multi-item .carousel-indicators .active{height:25px;max-width:25px;background-color:#4285F4;border-radius:50%}.carousel-multi-item .controls-top{margin-bottom:30px}.carousel-multi-item .controls-top .btn-floating{background:#4285F4}.carousel-multi-item .carousel-indicators{margin-bottom:-2em}.carousel-multi-item .card{margin:1px}.carousel-multi-item .card-cascade.narrower{margin-top:20px;margin-bottom:5px}@media only screen and (max-width:992px){.carousel-multi-item .carousel-indicators li{margin-bottom:-30px}}.carousel-thumbnails{margin-bottom:80px}.carousel-thumbnails .carousel-indicators{margin-bottom:-75px;position:absolute}.carousel-thumbnails .carousel-indicators li{height:auto;max-width:100px;width:100px;border:none}.carousel-thumbnails .carousel-indicators .active{height:auto;width:auto;opacity:.5}.carousel-thumbnails .carousel-indicators img{max-width:100px;height:50px;overflow:hidden;display:block}@media only screen and (max-width:600px){.carousel-thumbnails{margin-bottom:60px}.carousel-thumbnails .carousel-indicators{margin-bottom:-60px}.carousel-thumbnails .carousel-indicators img{max-width:50px;height:25px}}.stepper li a{padding:24px;font-size:14px}.stepper li a .circle{display:inline-block;color:#fff;border-radius:50%;background:rgba(0,0,0,.38);width:24px;height:24px;line-height:24px;margin-right:8px}.stepper li a .label{display:inline-block;color:rgba(0,0,0,.38)}.stepper-horizontal,.stepper-horizontal li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox}.stepper li.active a .label,.stepper li.completed a .label{font-weight:600;color:rgba(0,0,0,.87)}.stepper-horizontal{position:relative;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.stepper-horizontal li{-webkit-transition:.5s;transition:.5s;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.stepper-vertical,.stepper-vertical li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;position:relative}.stepper-horizontal li a .label{margin-top:10px}.stepper-horizontal li:not(:first-child):before,.stepper-horizontal li:not(:last-child):after{content:'';position:relative;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin:8px 0 0;height:1px;background-color:rgba(0,0,0,.1)}.error404,.stepper-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column}.stepper-horizontal li:hover{background:#ddd}.stepper-vertical{display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.stepper-vertical li{display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.stepper-vertical li a{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.stepper-vertical li a .circle{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.stepper-vertical li a .label{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.stepper-vertical li.completed a .label{font-weight:500}.stepper-vertical li .step-content{display:block;margin-top:0;margin-left:50px;padding:15px}.stepper-vertical li .step-content p{font-size:.875rem}.stepper-vertical li:not(:last-child):after{content:" ";position:absolute;width:1px;height:-webkit-calc(100% - 40px);height:calc(100% - 40px);left:35px;top:55px;background-color:rgba(0,0,0,.1)}.author-box{padding:3rem}@media (max-width:601px){.author-box{text-align:center}.author-box img{margin-bottom:2rem;display:inline}}.author-box strong{font-weight:600}.comments-list,.reply-form{margin-bottom:3rem}.comments-list ul,.reply-form ul{list-style-type:none}.comments-list img,.reply-form img{max-width:100px;border-radius:50%}.comments-list .row,.reply-form .row{margin-bottom:2rem}.comments-list .user-name,.reply-form .user-name{color:#000}.comments-list .comment-date,.reply-form .comment-date{color:#666}.comments-list .comment-text,.reply-form .comment-text{color:#9e9e9e}@media (max-width:601px){.comments-list,.reply-form{text-align:center}.comments-list img,.reply-form img{display:inline;margin-bottom:1rem}.comments-list .md-form,.reply-form .md-form{text-align:left}}.comments-list .text-center,.reply-form .text-center{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.section-blog-fw h2{margin-bottom:1rem}.personal-sm{margin-bottom:10px}.personal-sm a{padding:5px}.personal-sm a:first-of-type{padding-left:0}.personal-sm a .fa{-webkit-transition-duration:.2s;transition-duration:.2s}.personal-sm a:hover .fa{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a:hover{color:#ccc;text-decoration:none}.white-skin .navbar .navbar-nav .nav-item a,.white-skin .side-nav .social a .fa{color:#424242}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}.toast-top-center,.toast-top-full-width{top:0;right:0;width:100%}.clockpicker-display .clockpicker-display-column,.picker__date-display .clockpicker-display .clockpicker-display-column{float:left}.toast-close-button:focus,.toast-close-button:hover{text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999}#toast-container *{-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;background-position:15px center;background-repeat:no-repeat;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>:hover{-webkit-transition:.45s;transition:.45s;-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin:auto}.toast{background-color:#030303}.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}}.collapsible .active .rotate-icon{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:all 150ms ease-in 0s;transition:all 150ms ease-in 0s}.min-chart{position:relative;display:inline-block;width:110px;height:110px;margin-top:50px;margin-bottom:50px;text-align:center}.min-chart canvas{position:absolute;top:0;left:0}.min-chart .percent{display:inline-block;line-height:110px;z-index:2}.min-chart .percent:after{content:'%';margin-left:.1em;font-size:.8em}.progress{box-shadow:none;position:relative;display:block;width:100%;height:4px;overflow:hidden;margin-bottom:1rem;background-color:#eee}.progress .progress-bar{-webkit-box-shadow:none;box-shadow:none;height:4px;border-radius:0;background-color:#0d47a1}.progress .progress-bar-animated{-webkit-transition:width 2s ease-in-out;transition:width 2s ease-in-out}.progress .indeterminate{background-color:#90caf9}.progress .indeterminate:after,.progress .indeterminate:before{content:'';position:absolute;background-color:inherit;left:0;will-change:left,right;top:0;bottom:0}.progress .indeterminate:before{-webkit-animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress .indeterminate:after{-webkit-animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}100%,60%{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}100%,60%{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}100%,60%{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}100%,60%{left:107%;right:-8%}}.preloader-wrapper{display:inline-block;position:relative;width:48px;height:48px}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}.preloader-wrapper.crazy{-webkit-animation-duration:333ms;animation-duration:333ms}.preloader-wrapper .spinner-layer{position:absolute;width:100%;height:100%;opacity:0}.preloader-wrapper .spinner-layer .gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.preloader-wrapper .spinner-layer .gap-patch .circle{width:1000%;left:-450%}.preloader-wrapper .spinner-layer .circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.preloader-wrapper .spinner-layer .circle-clipper .circle{width:200%;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent!important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0}.preloader-wrapper .spinner-layer .circle-clipper.left .circle{left:0;border-right-color:transparent!important;-webkit-transform:rotate(129deg);-ms-transform:rotate(129deg);transform:rotate(129deg)}.preloader-wrapper .spinner-layer .circle-clipper.right .circle{left:-100%;border-left-color:transparent!important;-webkit-transform:rotate(-129deg);-ms-transform:rotate(-129deg);transform:rotate(-129deg)}.preloader-wrapper .spinner-blue,.preloader-wrapper .spinner-blue-only{border-color:#4285f4}.preloader-wrapper .spinner-red,.preloader-wrapper .spinner-red-only{border-color:#db4437}.preloader-wrapper .spinner-yellow,.preloader-wrapper .spinner-yellow-only{border-color:#f4b400}.preloader-wrapper .spinner-green,.preloader-wrapper .spinner-green-only{border-color:#0f9d58}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,blue-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,blue-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,red-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,red-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,green-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both,green-fade-in-out 5332ms cubic-bezier(.4,0,.2,1) infinite both}.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-green-only,.active .spinner-layer.spinner-primary-color-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only{opacity:1;-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both}.active .circle-clipper.left .circle{-webkit-animation:left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.active .circle-clipper.right .circle{-webkit-animation:right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both;animation:right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes blue-fade-in-out{100%,25%,90%,from{opacity:1}26%,89%{opacity:0}}@keyframes blue-fade-in-out{100%,25%,90%,from{opacity:1}26%,89%{opacity:0}}@-webkit-keyframes red-fade-in-out{15%,51%,from{opacity:0}25%,50%{opacity:1}}@keyframes red-fade-in-out{15%,51%,from{opacity:0}25%,50%{opacity:1}}@-webkit-keyframes yellow-fade-in-out{40%,76%,from{opacity:0}50%,75%{opacity:1}}@keyframes yellow-fade-in-out{40%,76%,from{opacity:0}50%,75%{opacity:1}}@-webkit-keyframes green-fade-in-out{100%,65%,from{opacity:0}75%,90%{opacity:1}}@keyframes green-fade-in-out{100%,65%,from{opacity:0}75%,90%{opacity:1}}@-webkit-keyframes left-spin{from,to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}}@keyframes left-spin{from,to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}}@-webkit-keyframes right-spin{from,to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}}@keyframes right-spin{from,to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}}#spinnerContainer.cooldown{-webkit-animation:container-rotate 1568ms linear infinite,fade-out .4s cubic-bezier(.4,0,.2,1);animation:container-rotate 1568ms linear infinite,fade-out .4s cubic-bezier(.4,0,.2,1)}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}#mdb-preloader{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000;z-index:9998;height:100%;width:100%}.ps{-ms-touch-action:auto;touch-action:auto;overflow:hidden!important}.ps.ps--active-x>.ps__scrollbar-x-rail,.ps.ps--active-y>.ps__scrollbar-y-rail{display:block;background-color:transparent}.ps.ps--in-scrolling.ps--x>.ps__scrollbar-x-rail{background-color:#eee;opacity:.9}.ps.ps--in-scrolling.ps--x>.ps__scrollbar-x-rail>.ps__scrollbar-x{background-color:#999;height:11px}.ps>.ps__scrollbar-x-rail{display:none;position:absolute;opacity:0;-webkit-transition:background-color .2s linear,opacity .2s linear;transition:background-color .2s linear,opacity .2s linear;bottom:0;height:15px}.ps>.ps__scrollbar-x-rail>.ps__scrollbar-x{position:absolute;background-color:#aaa;border-radius:6px;-webkit-transition:background-color .2s linear,height .2s linear,width .2s ease-in-out,border-radius .2s ease-in-out;transition:background-color .2s linear,height .2s linear,width .2s ease-in-out,border-radius .2s ease-in-out;bottom:2px;height:6px}.ps>.ps__scrollbar-x-rail:hover>.ps__scrollbar-x,.ps>.ps__scrollbar-x-rail>.ps__scrollbar-x-rail:active>.ps__scrollbar-x{height:11px}.ps.ps--in-scrolling.ps--y>.ps__scrollbar-y-rail{background-color:#eee;opacity:.9}.ps.ps--in-scrolling.ps--y>.ps__scrollbar-y-rail>.ps__scrollbar-y{background-color:#999;width:11px}.ps>.ps__scrollbar-y-rail{display:none;position:absolute;opacity:0;-webkit-transition:background-color .2s linear,opacity .2s linear;transition:background-color .2s linear,opacity .2s linear;right:0;width:15px;z-index:999}.ps>.ps__scrollbar-y-rail>.ps__scrollbar-y{position:absolute;background-color:#aaa;border-radius:6px;-webkit-transition:background-color .2s linear,height .2s linear,width .2s ease-in-out,border-radius .2s ease-in-out;transition:background-color .2s linear,height .2s linear,width .2s ease-in-out,border-radius .2s ease-in-out;right:2px;width:6px}.ps>.ps__scrollbar-y-rail:hover>.ps__scrollbar-y,.ps>.ps__scrollbar-y-rail>.ps__scrollbar-y-rail:active>.ps__scrollbar-y{width:11px}.ps:hover.ps--in-scrolling.ps--x>.ps__scrollbar-x-rail{background-color:#eee;opacity:.9}.ps:hover.ps--in-scrolling.ps--x>.ps__scrollbar-x-rail>.ps__scrollbar-x{background-color:#999;height:11px}.ps:hover.ps--in-scrolling.ps--y>.ps__scrollbar-y-rail{background-color:#eee;opacity:.9}.ps:hover.ps--in-scrolling.ps--y>.ps__scrollbar-y-rail>.ps__scrollbar-y{background-color:#999;width:11px}.ps:hover>.ps__scrollbar-x-rail,.ps:hover>.ps__scrollbar-y-rail{opacity:.6}.ps:hover>.ps__scrollbar-x-rail:hover{background-color:#eee;opacity:.9}.ps:hover>.ps__scrollbar-x-rail:hover>.ps__scrollbar-x{background-color:#999}.ps:hover>.ps__scrollbar-y-rail:hover{background-color:#eee;opacity:.9}.ps:hover>.ps__scrollbar-y-rail:hover>.ps__scrollbar-y{background-color:#999}.sn-bg-1{background-image:url(https://mdbootstrap.com/img/Photos/Others/sidenav1.jpg)}.sn-bg-2{background-image:url(https://mdbootstrap.com/img/Photos/Others/sidenav2.jpg)}.sn-bg-3{background-image:url(https://mdbootstrap.com/img/Photos/Others/sidenav3.jpg)}.sn-bg-4{background-image:url(https://mdbootstrap.com/img/Photos/Others/sidenav4.jpg)}.white-skin .gradient{background:#ababab;background:-webkit-linear-gradient(315deg,#ababab 0,#fff 100%);background:linear-gradient(135deg,#ababab 0,#fff 100%)}.stepper li.active a .white-skin .circle,.stepper li.completed a .white-skin .circle,.white-skin .primary-color,.white-skin .stepper li.active a .circle,.white-skin .stepper li.completed a .circle{background-color:#4285F4!important}.white-skin .navbar{background-color:#fff;color:#424242}.white-skin .navbar .navbar-nav .nav-item .dropdown-menu a:active,.white-skin .navbar .navbar-nav .nav-item .dropdown-menu a:focus,.white-skin .navbar .navbar-nav .nav-item .dropdown-menu a:hover{background-color:#2a75f3}.white-skin .page-footer{background-color:#6f7178}.white-skin .side-nav{background-color:#F9F9F9}.white-skin .side-nav .logo-wrapper>div{background-color:transparent!important}.white-skin .side-nav .sn-avatar-wrapper img{border:3px solid #0d5bdd}.white-skin .side-nav .social a:hover .fa{color:#4285F4!important;-webkit-transition:all .3s linear;transition:all .3s linear}.white-skin .side-nav .search-form input[type=text]{color:#424242;border-bottom:1px solid rgba(153,153,153,.3)}.white-skin .side-nav .search-form input[type=text]:-moz-placeholder{color:rgba(66,66,66,.5)!important}.white-skin .side-nav .search-form input[type=text]::-ms-placeholder{color:rgba(66,66,66,.5)!important}.white-skin .side-nav .search-form input[type=text]::-webkit-input-placeholder{color:rgba(66,66,66,.5)!important}.white-skin .side-nav .search-form input[type=text]::-moz-placeholder{color:rgba(66,66,66,.5)!important}.white-skin .side-nav .search-form input[type=text]:-ms-input-placeholder{color:rgba(66,66,66,.5)!important}.white-skin .side-nav .search-form input[type=text]::placeholder{color:rgba(66,66,66,.5)!important}.white-skin .side-nav .collapsible li{background-color:transparent}.white-skin .side-nav .collapsible li a{font-weight:400}.white-skin .side-nav .collapsible li .collapsible-header{color:#424242;-webkit-transition:all .3s linear;transition:all .3s linear}.white-skin .side-nav .collapsible li .collapsible-header.active{color:#4285F4;background-color:transparent}.white-skin .side-nav .collapsible li .collapsible-header:hover{background-color:rgba(0,0,0,.05)}.white-skin .side-nav .collapsible li .collapsible-body a{color:#424242}.white-skin .side-nav .collapsible li .collapsible-body a:hover{color:#4285F4}.white-skin .side-nav .fa{color:#424242}.white-skin .dropdown-content li:not(.disabled) span,.white-skin .md-form .prefix.active,.white-skin input[type=email]:focus:not([readonly])+label,.white-skin input[type=text]:focus:not([readonly])+label,.white-skin input[type=password]:focus:not([readonly])+label,.white-skin textarea.md-textarea:focus:not([readonly])+label{color:#4285F4}.white-skin .side-nav .sidenav-bg.mask-strong:after,.white-skin .side-nav .sidenav-bg:after{background:rgba(255,255,255,.8)}.white-skin .side-nav .sidenav-bg.mask-light:after{background:rgba(255,255,255,.65)}.white-skin .side-nav .sidenav-bg.mask-slight:after{background:rgba(255,255,255,.5)}.white-skin .btn-primary{background-color:#4285F4}.white-skin .btn-primary.active,.white-skin .btn-primary:active,.white-skin .btn-primary:focus,.white-skin .btn-primary:hover{background-color:#5a95f5!important}.white-skin .btn-primary.dropdown-toggle{background-color:#4285F4!important}.white-skin .btn-primary.dropdown-toggle:focus,.white-skin .btn-primary.dropdown-toggle:hover{background-color:#5a95f5!important}.white-skin .btn-secondary{background-color:#fc685f}.white-skin .btn-secondary.active,.white-skin .btn-secondary:active,.white-skin .btn-secondary:focus,.white-skin .btn-secondary:hover{background-color:#fc8078!important}.white-skin .btn-secondary.dropdown-toggle{background-color:#fc685f!important}.white-skin .btn-secondary.dropdown-toggle:focus,.white-skin .btn-secondary.dropdown-toggle:hover{background-color:#fc8078!important}.white-skin .btn-default{background-color:#454545}.white-skin .btn-default.active,.white-skin .btn-default:active,.white-skin .btn-default:focus,.white-skin .btn-default:hover{background-color:#525252!important}.white-skin .btn-default.dropdown-toggle{background-color:#454545!important}.white-skin .btn-default.dropdown-toggle:focus,.white-skin .btn-default.dropdown-toggle:hover{background-color:#525252!important}.white-skin .card .btn-action{background:#454545}.white-skin .card .btn-action:focus,.white-skin .card .btn-action:hover{background-color:#525252!important}.white-skin .card .btn-action.active{background-color:#121212!important}.white-skin input[type=email]:focus:not([readonly]),.white-skin input[type=text]:focus:not([readonly]),.white-skin input[type=password]:focus:not([readonly]),.white-skin textarea.md-textarea:focus:not([readonly]){border-color:#4285F4;-webkit-box-shadow:0 1px 0 0 #4285F4;box-shadow:0 1px 0 0 #4285F4}.white-skin input[type=checkbox]:checked+label:before{border-right:2px solid #4285F4;border-bottom:2px solid #4285F4}.white-skin input[type=checkbox].filled-in:checked+label:before{border-right:2px solid #fff;border-bottom:2px solid #fff}.white-skin input[type=checkbox].filled-in:checked+label:after{background-color:#4285F4;border-color:#4285F4}.white-skin .top-nav-collapse{background-color:#fff}.white-skin .carousel-multi-item .carousel-indicators li,.white-skin .carousel-multi-item .carousel-indicators li.active,.white-skin .carousel-multi-item .controls-top>a{background-color:#4285F4}.white-skin .card-header,.white-skin .form-header{background-color:#4c8bf5}.white-skin .spinner-primary-color,.white-skin .spinner-primary-color-only{border-color:#4285F4}.white-skin .pagination-primary-color .page-item.active .page-link,.white-skin .pagination-primary-color .page-item.active .page-link:focus,.white-skin .pagination-primary-color .page-item.active .page-link:hover{color:#fff;background-color:#4285F4;border-color:#4285F4}.white-skin .pagination-primary-color .page-link{color:#4285F4}.black-skin .gradient{background:#000;background:-webkit-linear-gradient(315deg,#000 0,#616161 100%);background:linear-gradient(135deg,#000 0,#616161 100%)}.black-skin .primary-color,.black-skin .stepper li.active a .circle,.black-skin .stepper li.completed a .circle,.stepper li.active a .black-skin .circle,.stepper li.completed a .black-skin .circle{background-color:#2AD1A3!important}.black-skin .navbar{background-color:#222;color:#fff}.black-skin .navbar .navbar-nav .nav-item .dropdown-menu a:active,.black-skin .navbar .navbar-nav .nav-item .dropdown-menu a:focus,.black-skin .navbar .navbar-nav .nav-item .dropdown-menu a:hover{background-color:#26bc92}.black-skin .page-footer,.black-skin .side-nav{background-color:#222}.black-skin .side-nav .logo-wrapper>div{background-color:transparent!important}.black-skin .side-nav .sn-avatar-wrapper img{border:3px solid #1d9171}.black-skin .side-nav .social a:hover .fa{color:#2AD1A3!important;-webkit-transition:all .3s linear;transition:all .3s linear}.black-skin .side-nav .collapsible li{background-color:transparent}.black-skin .side-nav .collapsible li .collapsible-header{color:#fff;-webkit-transition:all .3s linear;transition:all .3s linear}.black-skin .side-nav .collapsible li .collapsible-header.active,.black-skin .side-nav .collapsible li .collapsible-header:hover{background-color:#2AD1A3}.black-skin .side-nav .collapsible li .collapsible-body a{color:#fff}.black-skin .side-nav .collapsible li .collapsible-body a:hover{color:#2AD1A3}.black-skin .side-nav .fa{color:#fff}.black-skin .dropdown-content li:not(.disabled) span,.black-skin .md-form .prefix.active,.black-skin input[type=email]:focus:not([readonly])+label,.black-skin input[type=text]:focus:not([readonly])+label,.black-skin input[type=password]:focus:not([readonly])+label,.black-skin textarea.md-textarea:focus:not([readonly])+label{color:#2AD1A3}.black-skin .side-nav .sidenav-bg.mask-strong:after,.black-skin .side-nav .sidenav-bg:after{background:rgba(0,0,0,.8)}.black-skin .side-nav .sidenav-bg.mask-light:after{background:rgba(0,0,0,.65)}.black-skin .side-nav .sidenav-bg.mask-slight:after{background:rgba(0,0,0,.5)}.black-skin .btn-primary{background-color:#2AD1A3}.black-skin .btn-primary.active,.black-skin .btn-primary:active,.black-skin .btn-primary:focus,.black-skin .btn-primary:hover{background-color:#3dd8ad!important}.black-skin .btn-primary.dropdown-toggle{background-color:#2AD1A3!important}.black-skin .btn-primary.dropdown-toggle:focus,.black-skin .btn-primary.dropdown-toggle:hover{background-color:#3dd8ad!important}.black-skin .btn-secondary{background-color:#0f478a}.black-skin .btn-secondary.active,.black-skin .btn-secondary:active,.black-skin .btn-secondary:focus,.black-skin .btn-secondary:hover{background-color:#1253a1!important}.black-skin .btn-secondary.dropdown-toggle{background-color:#0f478a!important}.black-skin .btn-secondary.dropdown-toggle:focus,.black-skin .btn-secondary.dropdown-toggle:hover{background-color:#1253a1!important}.black-skin .btn-default{background-color:#222}.black-skin .btn-default.active,.black-skin .btn-default:active,.black-skin .btn-default:focus,.black-skin .btn-default:hover{background-color:#2f2f2f!important}.black-skin .btn-default.dropdown-toggle{background-color:#222!important}.black-skin .btn-default.dropdown-toggle:focus,.black-skin .btn-default.dropdown-toggle:hover{background-color:#2f2f2f!important}.black-skin .card .btn-action{background:#222}.black-skin .card .btn-action:focus,.black-skin .card .btn-action:hover{background-color:#2f2f2f!important}.black-skin .card .btn-action.active{background-color:#000!important}.black-skin input[type=email]:focus:not([readonly]),.black-skin input[type=text]:focus:not([readonly]),.black-skin input[type=password]:focus:not([readonly]),.black-skin textarea.md-textarea:focus:not([readonly]){border-color:#2AD1A3;-webkit-box-shadow:0 1px 0 0 #2AD1A3;box-shadow:0 1px 0 0 #2AD1A3}.black-skin input[type=checkbox]:checked+label:before{border-right:2px solid #2AD1A3;border-bottom:2px solid #2AD1A3}.black-skin input[type=checkbox].filled-in:checked+label:before{border-right:2px solid #fff;border-bottom:2px solid #fff}.black-skin input[type=checkbox].filled-in:checked+label:after{background-color:#2AD1A3;border-color:#2AD1A3}.black-skin .top-nav-collapse{background-color:#222}.black-skin .carousel-multi-item .carousel-indicators li,.black-skin .carousel-multi-item .carousel-indicators li.active,.black-skin .carousel-multi-item .controls-top>a{background-color:#2AD1A3}.black-skin .card-header,.black-skin .form-header{background-color:#30d5a8}.black-skin .spinner-primary-color,.black-skin .spinner-primary-color-only{border-color:#2AD1A3}.black-skin .pagination-primary-color .page-item.active .page-link,.black-skin .pagination-primary-color .page-item.active .page-link:focus,.black-skin .pagination-primary-color .page-item.active .page-link:hover{color:#fff;background-color:#2AD1A3;border-color:#2AD1A3}.black-skin .pagination-primary-color .page-link{color:#2AD1A3}.cyan-skin .gradient{background:#114861;background:-webkit-linear-gradient(315deg,#114861 0,#45b0c0 100%);background:linear-gradient(135deg,#114861 0,#45b0c0 100%)}.cyan-skin .primary-color,.cyan-skin .stepper li.active a .circle,.cyan-skin .stepper li.completed a .circle,.stepper li.active a .cyan-skin .circle,.stepper li.completed a .cyan-skin .circle{background-color:#4fada7!important}.cyan-skin .navbar{background-color:#114861;color:#fff}.cyan-skin .navbar .navbar-nav .nav-item .dropdown-menu a:active,.cyan-skin .navbar .navbar-nav .nav-item .dropdown-menu a:focus,.cyan-skin .navbar .navbar-nav .nav-item .dropdown-menu a:hover{background-color:#eea82f}.cyan-skin .page-footer{background-color:#114861}.cyan-skin .side-nav{background-color:#24879d}.cyan-skin .side-nav .logo-wrapper>div{background-color:transparent!important}.cyan-skin .side-nav .sn-avatar-wrapper img{border:3px solid #d99012}.cyan-skin .side-nav .social a:hover .fa{color:#f0b247!important;-webkit-transition:all .3s linear;transition:all .3s linear}.cyan-skin .side-nav .collapsible li{background-color:transparent}.cyan-skin .side-nav .collapsible li .collapsible-header{color:#fff;-webkit-transition:all .3s linear;transition:all .3s linear}.cyan-skin .side-nav .collapsible li .collapsible-header.active,.cyan-skin .side-nav .collapsible li .collapsible-header:hover{background-color:rgba(29,65,82,.8)}.cyan-skin .side-nav .collapsible li .collapsible-body a{color:#fff}.cyan-skin .side-nav .collapsible li .collapsible-body a:hover{color:#ffa742}.cyan-skin .side-nav .fa{color:#fff}.cyan-skin .dropdown-content li:not(.disabled) span,.cyan-skin .md-form .prefix.active,.cyan-skin input[type=email]:focus:not([readonly])+label,.cyan-skin input[type=text]:focus:not([readonly])+label,.cyan-skin input[type=password]:focus:not([readonly])+label,.cyan-skin textarea.md-textarea:focus:not([readonly])+label{color:#f0b247}.cyan-skin .side-nav .sidenav-bg.mask-strong:after,.cyan-skin .side-nav .sidenav-bg:after{background:rgba(21,78,96,.8)}.cyan-skin .side-nav .sidenav-bg.mask-light:after{background:rgba(21,78,96,.65)}.cyan-skin .side-nav .sidenav-bg.mask-slight:after{background:rgba(21,78,96,.5)}.cyan-skin .btn-primary{background-color:#ffa742}.cyan-skin .btn-primary.active,.cyan-skin .btn-primary:active,.cyan-skin .btn-primary:focus,.cyan-skin .btn-primary:hover{background-color:#ffb35c!important}.cyan-skin .btn-primary.dropdown-toggle{background-color:#ffa742!important}.cyan-skin .btn-primary.dropdown-toggle:focus,.cyan-skin .btn-primary.dropdown-toggle:hover{background-color:#ffb35c!important}.cyan-skin .btn-secondary{background-color:#45b0c0}.cyan-skin .btn-secondary.active,.cyan-skin .btn-secondary:active,.cyan-skin .btn-secondary:focus,.cyan-skin .btn-secondary:hover{background-color:#58b8c6!important}.cyan-skin .btn-secondary.dropdown-toggle{background-color:#45b0c0!important}.cyan-skin .btn-secondary.dropdown-toggle:focus,.cyan-skin .btn-secondary.dropdown-toggle:hover{background-color:#58b8c6!important}.cyan-skin .btn-default{background-color:#114861}.cyan-skin .btn-default.active,.cyan-skin .btn-default:active,.cyan-skin .btn-default:focus,.cyan-skin .btn-default:hover{background-color:#155877!important}.cyan-skin .btn-default.dropdown-toggle{background-color:#114861!important}.cyan-skin .btn-default.dropdown-toggle:focus,.cyan-skin .btn-default.dropdown-toggle:hover{background-color:#155877!important}.cyan-skin .card .btn-action{background:#114861}.cyan-skin .card .btn-action:focus,.cyan-skin .card .btn-action:hover{background-color:#155877!important}.cyan-skin .card .btn-action.active{background-color:#02080a!important}.cyan-skin input[type=email]:focus:not([readonly]),.cyan-skin input[type=text]:focus:not([readonly]),.cyan-skin input[type=password]:focus:not([readonly]),.cyan-skin textarea.md-textarea:focus:not([readonly]){border-color:#f0b247;-webkit-box-shadow:0 1px 0 0 #f0b247;box-shadow:0 1px 0 0 #f0b247}.cyan-skin input[type=checkbox]:checked+label:before{border-right:2px solid #f0b247;border-bottom:2px solid #f0b247}.cyan-skin input[type=checkbox].filled-in:checked+label:before{border-right:2px solid #fff;border-bottom:2px solid #fff}.cyan-skin input[type=checkbox].filled-in:checked+label:after{background-color:#f0b247;border-color:#f0b247}.cyan-skin .top-nav-collapse{background-color:#114861}.cyan-skin .carousel-multi-item .carousel-indicators li,.cyan-skin .carousel-multi-item .carousel-indicators li.active,.cyan-skin .carousel-multi-item .controls-top>a{background-color:#f0b247}.cyan-skin .card-header,.cyan-skin .form-header{background-color:#f1b650}.cyan-skin .spinner-primary-color,.cyan-skin .spinner-primary-color-only{border-color:#4fada7}.cyan-skin .pagination-primary-color .page-item.active .page-link,.cyan-skin .pagination-primary-color .page-item.active .page-link:focus,.cyan-skin .pagination-primary-color .page-item.active .page-link:hover{color:#fff;background-color:#4fada7;border-color:#4fada7}.cyan-skin .pagination-primary-color .page-link{color:#4fada7}.mdb-skin .gradient{background:#0e2135;background:-webkit-linear-gradient(315deg,#0e2135 0,#2c76b8 100%);background:linear-gradient(135deg,#0e2135 0,#2c76b8 100%)}.mdb-skin .primary-color,.mdb-skin .stepper li.active a .circle,.mdb-skin .stepper li.completed a .circle,.stepper li.active a .mdb-skin .circle,.stepper li.completed a .mdb-skin .circle{background-color:#33b5e5!important}.mdb-skin .navbar{background-color:#243a51;color:#fff}.mdb-skin .navbar .navbar-nav .nav-item .dropdown-menu a:active,.mdb-skin .navbar .navbar-nav .nav-item .dropdown-menu a:focus,.mdb-skin .navbar .navbar-nav .nav-item .dropdown-menu a:hover{background-color:#1dade2}.mdb-skin .page-footer{background-color:#243a51}.mdb-skin .side-nav{background-color:#224562}.mdb-skin .side-nav .logo-wrapper>div{background-color:transparent!important}.mdb-skin .side-nav .sn-avatar-wrapper img{border:3px solid #178ab4}.mdb-skin .side-nav .social a:hover .fa{color:#33b5e5!important;-webkit-transition:all .3s linear;transition:all .3s linear}.mdb-skin .side-nav .collapsible li{background-color:transparent}.mdb-skin .side-nav .collapsible li .collapsible-header{color:#fff;-webkit-transition:all .3s linear;transition:all .3s linear}.mdb-skin .side-nav .collapsible li .collapsible-header.active,.mdb-skin .side-nav .collapsible li .collapsible-header:hover{background-color:rgba(72,198,255,.8)}.mdb-skin .side-nav .collapsible li .collapsible-body a{color:#fff}.mdb-skin .side-nav .collapsible li .collapsible-body a:hover{color:#67d5ff}.mdb-skin .side-nav .fa{color:#fff}.mdb-skin .dropdown-content li:not(.disabled) span,.mdb-skin .md-form .prefix.active,.mdb-skin input[type=email]:focus:not([readonly])+label,.mdb-skin input[type=text]:focus:not([readonly])+label,.mdb-skin input[type=password]:focus:not([readonly])+label,.mdb-skin textarea.md-textarea:focus:not([readonly])+label{color:#33b5e5}.mdb-skin .side-nav .sidenav-bg.mask-strong:after,.mdb-skin .side-nav .sidenav-bg:after{background:rgba(13,36,60,.8)}.mdb-skin .side-nav .sidenav-bg.mask-light:after{background:rgba(13,36,60,.65)}.mdb-skin .side-nav .sidenav-bg.mask-slight:after{background:rgba(13,36,60,.5)}.mdb-skin .btn-primary{background-color:#33b5e5}.mdb-skin .btn-primary.active,.mdb-skin .btn-primary:active,.mdb-skin .btn-primary:focus,.mdb-skin .btn-primary:hover{background-color:#4abde8!important}.mdb-skin .btn-primary.dropdown-toggle{background-color:#33b5e5!important}.mdb-skin .btn-primary.dropdown-toggle:focus,.mdb-skin .btn-primary.dropdown-toggle:hover{background-color:#4abde8!important}.mdb-skin .btn-secondary{background-color:#0e3d67}.mdb-skin .btn-secondary.active,.mdb-skin .btn-secondary:active,.mdb-skin .btn-secondary:focus,.mdb-skin .btn-secondary:hover{background-color:#114a7d!important}.mdb-skin .btn-secondary.dropdown-toggle{background-color:#0e3d67!important}.mdb-skin .btn-secondary.dropdown-toggle:focus,.mdb-skin .btn-secondary.dropdown-toggle:hover{background-color:#114a7d!important}.mdb-skin .btn-default{background-color:#1a6398}.mdb-skin .btn-default.active,.mdb-skin .btn-default:active,.mdb-skin .btn-default:focus,.mdb-skin .btn-default:hover{background-color:#1e71ae!important}.mdb-skin .btn-default.dropdown-toggle{background-color:#1a6398!important}.mdb-skin .btn-default.dropdown-toggle:focus,.mdb-skin .btn-default.dropdown-toggle:hover{background-color:#1e71ae!important}.mdb-skin .card .btn-action{background:#1a6398}.mdb-skin .card .btn-action:focus,.mdb-skin .card .btn-action:hover{background-color:#1e71ae!important}.mdb-skin .card .btn-action.active{background-color:#0b2a41!important}.mdb-skin input[type=email]:focus:not([readonly]),.mdb-skin input[type=text]:focus:not([readonly]),.mdb-skin input[type=password]:focus:not([readonly]),.mdb-skin textarea.md-textarea:focus:not([readonly]){border-color:#33b5e5;-webkit-box-shadow:0 1px 0 0 #33b5e5;box-shadow:0 1px 0 0 #33b5e5}.mdb-skin input[type=checkbox]:checked+label:before{border-right:2px solid #33b5e5;border-bottom:2px solid #33b5e5}.mdb-skin input[type=checkbox].filled-in:checked+label:before{border-right:2px solid #fff;border-bottom:2px solid #fff}.mdb-skin input[type=checkbox].filled-in:checked+label:after{background-color:#33b5e5;border-color:#33b5e5}.mdb-skin .top-nav-collapse,.mdb-skin-custom .navbar{background-color:#243a51}.mdb-skin .carousel-multi-item .carousel-indicators li,.mdb-skin .carousel-multi-item .carousel-indicators li.active,.mdb-skin .carousel-multi-item .controls-top>a{background-color:#33b5e5}.mdb-skin .card-header,.mdb-skin .form-header{background-color:#3cb8e6}.mdb-skin .spinner-primary-color,.mdb-skin .spinner-primary-color-only{border-color:#33b5e5}.mdb-skin .pagination-primary-color .page-item.active .page-link,.mdb-skin .pagination-primary-color .page-item.active .page-link:focus,.mdb-skin .pagination-primary-color .page-item.active .page-link:hover{color:#fff;background-color:#33b5e5;border-color:#33b5e5}.mdb-skin .pagination-primary-color .page-link{color:#33b5e5}.deep-purple-skin .gradient{background:#2e1f49;background:-webkit-linear-gradient(315deg,#2e1f49 0,#a47fe3 100%);background:linear-gradient(135deg,#2e1f49 0,#a47fe3 100%)}.deep-purple-skin .primary-color,.deep-purple-skin .stepper li.active a .circle,.deep-purple-skin .stepper li.completed a .circle,.stepper li.active a .deep-purple-skin .circle,.stepper li.completed a .deep-purple-skin .circle{background-color:#d0637c!important}.deep-purple-skin .navbar{background-color:#7f7e91;color:#fff}.deep-purple-skin .navbar .navbar-nav .nav-item .dropdown-menu a:active,.deep-purple-skin .navbar .navbar-nav .nav-item .dropdown-menu a:focus,.deep-purple-skin .navbar .navbar-nav .nav-item .dropdown-menu a:hover{background-color:#9d6eed}.deep-purple-skin .page-footer{background-color:#7f7e91}.deep-purple-skin .side-nav{background-color:#372e5f}.deep-purple-skin .side-nav .logo-wrapper>div{background-color:transparent!important}.deep-purple-skin .side-nav .sn-avatar-wrapper img{border:3px solid #7e41e8}.deep-purple-skin .side-nav .social a:hover .fa{color:#ac85f0!important;-webkit-transition:all .3s linear;transition:all .3s linear}.deep-purple-skin .side-nav .collapsible li{background-color:transparent}.deep-purple-skin .side-nav .collapsible li .collapsible-header{color:#fff;-webkit-transition:all .3s linear;transition:all .3s linear}.deep-purple-skin .side-nav .collapsible li .collapsible-header.active,.deep-purple-skin .side-nav .collapsible li .collapsible-header:hover{background-color:rgba(176,139,240,.5)}.deep-purple-skin .side-nav .collapsible li .collapsible-body a{color:#fff}.deep-purple-skin .side-nav .collapsible li .collapsible-body a:hover{color:#c9abfc}.deep-purple-skin .side-nav .fa{color:#fff}.deep-purple-skin .dropdown-content li:not(.disabled) span,.deep-purple-skin .md-form .prefix.active,.deep-purple-skin input[type=email]:focus:not([readonly])+label,.deep-purple-skin input[type=text]:focus:not([readonly])+label,.deep-purple-skin input[type=password]:focus:not([readonly])+label,.deep-purple-skin textarea.md-textarea:focus:not([readonly])+label{color:#ac85f0}.deep-purple-skin .side-nav .sidenav-bg.mask-strong:after,.deep-purple-skin .side-nav .sidenav-bg:after{background:rgba(36,9,56,.88)}.deep-purple-skin .side-nav .sidenav-bg.mask-light:after{background:rgba(36,9,56,.65)}.deep-purple-skin .side-nav .sidenav-bg.mask-slight:after{background:rgba(36,9,56,.5)}.deep-purple-skin .btn-primary{background-color:#ac85f0}.deep-purple-skin .btn-primary.active,.deep-purple-skin .btn-primary:active,.deep-purple-skin .btn-primary:focus,.deep-purple-skin .btn-primary:hover{background-color:#bb9cf3!important}.deep-purple-skin .btn-primary.dropdown-toggle{background-color:#ac85f0!important}.deep-purple-skin .btn-primary.dropdown-toggle:focus,.deep-purple-skin .btn-primary.dropdown-toggle:hover{background-color:#bb9cf3!important}.deep-purple-skin .btn-secondary{background-color:#6e4ca3}.deep-purple-skin .btn-secondary.active,.deep-purple-skin .btn-secondary:active,.deep-purple-skin .btn-secondary:focus,.deep-purple-skin .btn-secondary:hover{background-color:#7a58b1!important}.deep-purple-skin .btn-secondary.dropdown-toggle{background-color:#6e4ca3!important}.deep-purple-skin .btn-secondary.dropdown-toggle:focus,.deep-purple-skin .btn-secondary.dropdown-toggle:hover{background-color:#7a58b1!important}.deep-purple-skin .btn-default{background-color:#372e5f}.deep-purple-skin .btn-default.active,.deep-purple-skin .btn-default:active,.deep-purple-skin .btn-default:focus,.deep-purple-skin .btn-default:hover{background-color:#413670!important}.deep-purple-skin .btn-default.dropdown-toggle{background-color:#372e5f!important}.deep-purple-skin .btn-default.dropdown-toggle:focus,.deep-purple-skin .btn-default.dropdown-toggle:hover{background-color:#413670!important}.deep-purple-skin .card .btn-action{background:#372e5f}.deep-purple-skin .card .btn-action:focus,.deep-purple-skin .card .btn-action:hover{background-color:#413670!important}.deep-purple-skin .card .btn-action.active{background-color:#0f0d1a!important}.deep-purple-skin input[type=email]:focus:not([readonly]),.deep-purple-skin input[type=text]:focus:not([readonly]),.deep-purple-skin input[type=password]:focus:not([readonly]),.deep-purple-skin textarea.md-textarea:focus:not([readonly]){border-color:#ac85f0;-webkit-box-shadow:0 1px 0 0 #ac85f0;box-shadow:0 1px 0 0 #ac85f0}.deep-purple-skin input[type=checkbox]:checked+label:before{border-right:2px solid #ac85f0;border-bottom:2px solid #ac85f0}.deep-purple-skin input[type=checkbox].filled-in:checked+label:before{border-right:2px solid #fff;border-bottom:2px solid #fff}.deep-purple-skin input[type=checkbox].filled-in:checked+label:after{background-color:#ac85f0;border-color:#ac85f0}.deep-purple-skin .top-nav-collapse{background-color:#7f7e91}.deep-purple-skin .carousel-multi-item .carousel-indicators li,.deep-purple-skin .carousel-multi-item .carousel-indicators li.active,.deep-purple-skin .carousel-multi-item .controls-top>a{background-color:#ac85f0}.deep-purple-skin .card-header,.deep-purple-skin .form-header{background-color:#b28ef1}.deep-purple-skin .spinner-primary-color,.deep-purple-skin .spinner-primary-color-only{border-color:#d0637c}.deep-purple-skin .pagination-primary-color .page-item.active .page-link,.deep-purple-skin .pagination-primary-color .page-item.active .page-link:focus,.deep-purple-skin .pagination-primary-color .page-item.active .page-link:hover{color:#fff;background-color:#d0637c;border-color:#d0637c}.deep-purple-skin .pagination-primary-color .page-link{color:#d0637c}.navy-blue-skin .gradient{background:#222735;background:-webkit-linear-gradient(315deg,#222735 0,#4f68a6 100%);background:linear-gradient(135deg,#222735 0,#4f68a6 100%)}.navy-blue-skin .primary-color,.navy-blue-skin .stepper li.active a .circle,.navy-blue-skin .stepper li.completed a .circle,.stepper li.active a .navy-blue-skin .circle,.stepper li.completed a .navy-blue-skin .circle{background-color:#309e9e!important}.navy-blue-skin .navbar{background-color:#353b50;color:#fff}.navy-blue-skin .navbar .navbar-nav .nav-item .dropdown-menu a:active,.navy-blue-skin .navbar .navbar-nav .nav-item .dropdown-menu a:focus,.navy-blue-skin .navbar .navbar-nav .nav-item .dropdown-menu a:hover{background-color:#36b6b6}.navy-blue-skin .page-footer{background-color:#353b50}.navy-blue-skin .side-nav{background-color:#4c5678}.navy-blue-skin .side-nav .logo-wrapper>div{background-color:transparent!important}.navy-blue-skin .side-nav .sn-avatar-wrapper img{border:3px solid #2b8f8f}.navy-blue-skin .side-nav .social a:hover .fa{color:#40c6c6!important;-webkit-transition:all .3s linear;transition:all .3s linear}.navy-blue-skin .side-nav .collapsible li{background-color:transparent}.navy-blue-skin .side-nav .collapsible li .collapsible-header{color:#fff;-webkit-transition:all .3s linear;transition:all .3s linear}.navy-blue-skin .side-nav .collapsible li .collapsible-header.active,.navy-blue-skin .side-nav .collapsible li .collapsible-header:hover{background-color:rgba(37,207,207,.8)}.navy-blue-skin .side-nav .collapsible li .collapsible-body a{color:#fff}.navy-blue-skin .side-nav .collapsible li .collapsible-body a:hover{color:#40c6c6}.navy-blue-skin .side-nav .fa{color:#fff}.navy-blue-skin .dropdown-content li:not(.disabled) span,.navy-blue-skin .md-form .prefix.active,.navy-blue-skin input[type=email]:focus:not([readonly])+label,.navy-blue-skin input[type=text]:focus:not([readonly])+label,.navy-blue-skin input[type=password]:focus:not([readonly])+label,.navy-blue-skin textarea.md-textarea:focus:not([readonly])+label{color:#40c6c6}.navy-blue-skin .side-nav .sidenav-bg.mask-strong:after,.navy-blue-skin .side-nav .sidenav-bg:after{background:rgba(14,15,32,.8)}.navy-blue-skin .side-nav .sidenav-bg.mask-light:after{background:rgba(14,15,32,.65)}.navy-blue-skin .side-nav .sidenav-bg.mask-slight:after{background:rgba(14,15,32,.5)}.navy-blue-skin .btn-primary{background-color:#40c6c6}.navy-blue-skin .btn-primary.active,.navy-blue-skin .btn-primary:active,.navy-blue-skin .btn-primary:focus,.navy-blue-skin .btn-primary:hover{background-color:#54cccc!important}.navy-blue-skin .btn-primary.dropdown-toggle{background-color:#40c6c6!important}.navy-blue-skin .btn-primary.dropdown-toggle:focus,.navy-blue-skin .btn-primary.dropdown-toggle:hover{background-color:#54cccc!important}.navy-blue-skin .btn-secondary{background-color:#7e51b4}.navy-blue-skin .btn-secondary.active,.navy-blue-skin .btn-secondary:active,.navy-blue-skin .btn-secondary:focus,.navy-blue-skin .btn-secondary:hover{background-color:#8b63bc!important}.navy-blue-skin .btn-secondary.dropdown-toggle{background-color:#7e51b4!important}.navy-blue-skin .btn-secondary.dropdown-toggle:focus,.navy-blue-skin .btn-secondary.dropdown-toggle:hover{background-color:#8b63bc!important}.navy-blue-skin .btn-default{background-color:#293756}.navy-blue-skin .btn-default.active,.navy-blue-skin .btn-default:active,.navy-blue-skin .btn-default:focus,.navy-blue-skin .btn-default:hover{background-color:#314267!important}.navy-blue-skin .btn-default.dropdown-toggle{background-color:#293756!important}.navy-blue-skin .btn-default.dropdown-toggle:focus,.navy-blue-skin .btn-default.dropdown-toggle:hover{background-color:#314267!important}.navy-blue-skin .card .btn-action{background:#293756}.navy-blue-skin .card .btn-action:focus,.navy-blue-skin .card .btn-action:hover{background-color:#314267!important}.navy-blue-skin .card .btn-action.active{background-color:#080b11!important}.navy-blue-skin input[type=email]:focus:not([readonly]),.navy-blue-skin input[type=text]:focus:not([readonly]),.navy-blue-skin input[type=password]:focus:not([readonly]),.navy-blue-skin textarea.md-textarea:focus:not([readonly]){border-color:#40c6c6;-webkit-box-shadow:0 1px 0 0 #40c6c6;box-shadow:0 1px 0 0 #40c6c6}.navy-blue-skin input[type=checkbox]:checked+label:before{border-right:2px solid #40c6c6;border-bottom:2px solid #40c6c6}.navy-blue-skin input[type=checkbox].filled-in:checked+label:before{border-right:2px solid #fff;border-bottom:2px solid #fff}.navy-blue-skin input[type=checkbox].filled-in:checked+label:after{background-color:#40c6c6;border-color:#40c6c6}.navy-blue-skin .top-nav-collapse{background-color:#353b50}.navy-blue-skin .carousel-multi-item .carousel-indicators li,.navy-blue-skin .carousel-multi-item .carousel-indicators li.active,.navy-blue-skin .carousel-multi-item .controls-top>a{background-color:#40c6c6}.navy-blue-skin .card-header,.navy-blue-skin .form-header{background-color:#48c8c8}.navy-blue-skin .spinner-primary-color,.navy-blue-skin .spinner-primary-color-only{border-color:#309e9e}.navy-blue-skin .pagination-primary-color .page-item.active .page-link,.navy-blue-skin .pagination-primary-color .page-item.active .page-link:focus,.navy-blue-skin .pagination-primary-color .page-item.active .page-link:hover{color:#fff;background-color:#309e9e;border-color:#309e9e}.navy-blue-skin .pagination-primary-color .page-link{color:#309e9e}.pink-skin .gradient{background:#812b5a;background:-webkit-linear-gradient(315deg,#812b5a 0,#f28cc0 100%);background:linear-gradient(135deg,#812b5a 0,#f28cc0 100%)}.pink-skin .primary-color,.pink-skin .stepper li.active a .circle,.pink-skin .stepper li.completed a .circle,.stepper li.active a .pink-skin .circle,.stepper li.completed a .pink-skin .circle{background-color:#bd5d70!important}.pink-skin .navbar{background-color:#535466;color:#fff}.pink-skin .navbar .navbar-nav .nav-item .dropdown-menu a:active,.pink-skin .navbar .navbar-nav .nav-item .dropdown-menu a:focus,.pink-skin .navbar .navbar-nav .nav-item .dropdown-menu a:hover{background-color:#9192a2}.pink-skin .page-footer{background-color:#535466}.pink-skin .side-nav{background-color:#aa5077}.pink-skin .side-nav .logo-wrapper>div{background-color:transparent!important}.pink-skin .side-nav .sn-avatar-wrapper img{border:3px solid #76778b}.pink-skin .side-nav .social a:hover .fa{color:#9fa0ae!important;-webkit-transition:all .3s linear;transition:all .3s linear}.pink-skin .side-nav .collapsible li{background-color:transparent}.pink-skin .side-nav .collapsible li .collapsible-header{color:#fff;-webkit-transition:all .3s linear;transition:all .3s linear}.pink-skin .side-nav .collapsible li .collapsible-header.active,.pink-skin .side-nav .collapsible li .collapsible-header:hover{background-color:rgba(0,0,0,.4)}.pink-skin .side-nav .collapsible li .collapsible-body a{color:#fff}.pink-skin .side-nav .collapsible li .collapsible-body a:hover{color:#ffb0e6}.pink-skin .side-nav .fa{color:#fff}.pink-skin .dropdown-content li:not(.disabled) span,.pink-skin .md-form .prefix.active,.pink-skin input[type=email]:focus:not([readonly])+label,.pink-skin input[type=text]:focus:not([readonly])+label,.pink-skin input[type=password]:focus:not([readonly])+label,.pink-skin textarea.md-textarea:focus:not([readonly])+label{color:#9fa0ae}.pink-skin .side-nav .sidenav-bg.mask-strong:after,.pink-skin .side-nav .sidenav-bg:after{background:rgba(152,47,88,.8)}.pink-skin .side-nav .sidenav-bg.mask-light:after{background:rgba(152,47,88,.65)}.pink-skin .side-nav .sidenav-bg.mask-slight:after{background:rgba(152,47,88,.5)}.pink-skin .btn-primary{background-color:#601f39}.pink-skin .btn-primary.active,.pink-skin .btn-primary:active,.pink-skin .btn-primary:focus,.pink-skin .btn-primary:hover{background-color:#732544!important}.pink-skin .btn-primary.dropdown-toggle{background-color:#601f39!important}.pink-skin .btn-primary.dropdown-toggle:focus,.pink-skin .btn-primary.dropdown-toggle:hover{background-color:#732544!important}.pink-skin .btn-secondary{background-color:#e7649d}.pink-skin .btn-secondary.active,.pink-skin .btn-secondary:active,.pink-skin .btn-secondary:focus,.pink-skin .btn-secondary:hover{background-color:#ea7aab!important}.pink-skin .btn-secondary.dropdown-toggle{background-color:#e7649d!important}.pink-skin .btn-secondary.dropdown-toggle:focus,.pink-skin .btn-secondary.dropdown-toggle:hover{background-color:#ea7aab!important}.pink-skin .btn-default{background-color:#535466}.pink-skin .btn-default.active,.pink-skin .btn-default:active,.pink-skin .btn-default:focus,.pink-skin .btn-default:hover{background-color:#5e6074!important}.pink-skin .btn-default.dropdown-toggle{background-color:#535466!important}.pink-skin .btn-default.dropdown-toggle:focus,.pink-skin .btn-default.dropdown-toggle:hover{background-color:#5e6074!important}.pink-skin .card .btn-action{background:#535466}.pink-skin .card .btn-action:focus,.pink-skin .card .btn-action:hover{background-color:#5e6074!important}.pink-skin .card .btn-action.active{background-color:#25262e!important}.pink-skin input[type=email]:focus:not([readonly]),.pink-skin input[type=text]:focus:not([readonly]),.pink-skin input[type=password]:focus:not([readonly]),.pink-skin textarea.md-textarea:focus:not([readonly]){border-color:#9fa0ae;-webkit-box-shadow:0 1px 0 0 #9fa0ae;box-shadow:0 1px 0 0 #9fa0ae}.pink-skin input[type=checkbox]:checked+label:before{border-right:2px solid #9fa0ae;border-bottom:2px solid #9fa0ae}.pink-skin input[type=checkbox].filled-in:checked+label:before{border-right:2px solid #fff;border-bottom:2px solid #fff}.pink-skin input[type=checkbox].filled-in:checked+label:after{background-color:#9fa0ae;border-color:#9fa0ae}.pink-skin .top-nav-collapse{background-color:#535466}.pink-skin .carousel-multi-item .carousel-indicators li,.pink-skin .carousel-multi-item .carousel-indicators li.active,.pink-skin .carousel-multi-item .controls-top>a{background-color:#9fa0ae}.pink-skin .card-header,.pink-skin .form-header{background-color:#a5a5b3}.pink-skin .spinner-primary-color,.pink-skin .spinner-primary-color-only{border-color:#bd5d70}.pink-skin .pagination-primary-color .page-item.active .page-link,.pink-skin .pagination-primary-color .page-item.active .page-link:focus,.pink-skin .pagination-primary-color .page-item.active .page-link:hover{color:#fff;background-color:#bd5d70;border-color:#bd5d70}.pink-skin .pagination-primary-color .page-link{color:#bd5d70}.indigo-skin .gradient{background:#272d6e;background:-webkit-linear-gradient(315deg,#272d6e 0,#90a8ff 100%);background:linear-gradient(135deg,#272d6e 0,#90a8ff 100%)}.indigo-skin .primary-color,.indigo-skin .stepper li.active a .circle,.indigo-skin .stepper li.completed a .circle,.stepper li.active a .indigo-skin .circle,.stepper li.completed a .indigo-skin .circle{background-color:#7f82c5!important}.indigo-skin .navbar{background-color:#9095aa;color:#fff}.indigo-skin .navbar .navbar-nav .nav-item .dropdown-menu a:active,.indigo-skin .navbar .navbar-nav .nav-item .dropdown-menu a:focus,.indigo-skin .navbar .navbar-nav .nav-item .dropdown-menu a:hover{background-color:#fd4d79}.indigo-skin .page-footer{background-color:#9095aa}.indigo-skin .side-nav{background-color:#404f9f}.indigo-skin .side-nav .logo-wrapper>div{background-color:transparent!important}.indigo-skin .side-nav .sn-avatar-wrapper img{border:3px solid #fc1a53}.indigo-skin .side-nav .social a:hover .fa{color:#fd668c!important;-webkit-transition:all .3s linear;transition:all .3s linear}.indigo-skin .side-nav .collapsible li{background-color:transparent}.indigo-skin .side-nav .collapsible li .collapsible-header{color:#fff;-webkit-transition:all .3s linear;transition:all .3s linear}.indigo-skin .side-nav .collapsible li .collapsible-header.active,.indigo-skin .side-nav .collapsible li .collapsible-header:hover{background-color:rgba(250,80,121,.8)}.indigo-skin .side-nav .collapsible li .collapsible-body a{color:#fff}.indigo-skin .side-nav .collapsible li .collapsible-body a:hover{color:#ff89ac}.indigo-skin .side-nav .fa{color:#fff}.indigo-skin .dropdown-content li:not(.disabled) span,.indigo-skin .md-form .prefix.active,.indigo-skin input[type=email]:focus:not([readonly])+label,.indigo-skin input[type=text]:focus:not([readonly])+label,.indigo-skin input[type=password]:focus:not([readonly])+label,.indigo-skin textarea.md-textarea:focus:not([readonly])+label{color:#fd668c}.indigo-skin .side-nav .sidenav-bg.mask-strong:after,.indigo-skin .side-nav .sidenav-bg:after{background:rgba(35,65,134,.8)}.indigo-skin .side-nav .sidenav-bg.mask-light:after{background:rgba(35,65,134,.65)}.indigo-skin .side-nav .sidenav-bg.mask-slight:after{background:rgba(35,65,134,.5)}.indigo-skin .btn-primary{background-color:#fd668c}.indigo-skin .btn-primary.active,.indigo-skin .btn-primary:active,.indigo-skin .btn-primary:focus,.indigo-skin .btn-primary:hover{background-color:#fd7f9f!important}.indigo-skin .btn-primary.dropdown-toggle{background-color:#fd668c!important}.indigo-skin .btn-primary.dropdown-toggle:focus,.indigo-skin .btn-primary.dropdown-toggle:hover{background-color:#fd7f9f!important}.indigo-skin .btn-secondary{background-color:#3c61ae}.indigo-skin .btn-secondary.active,.indigo-skin .btn-secondary:active,.indigo-skin .btn-secondary:focus,.indigo-skin .btn-secondary:hover{background-color:#456cbf!important}.indigo-skin .btn-secondary.dropdown-toggle{background-color:#3c61ae!important}.indigo-skin .btn-secondary.dropdown-toggle:focus,.indigo-skin .btn-secondary.dropdown-toggle:hover{background-color:#456cbf!important}.indigo-skin .btn-default{background-color:#9095aa}.indigo-skin .btn-default.active,.indigo-skin .btn-default:active,.indigo-skin .btn-default:focus,.indigo-skin .btn-default:hover{background-color:#9ea3b5!important}.indigo-skin .btn-default.dropdown-toggle{background-color:#9095aa!important}.indigo-skin .btn-default.dropdown-toggle:focus,.indigo-skin .btn-default.dropdown-toggle:hover{background-color:#9ea3b5!important}.indigo-skin .card .btn-action{background:#9095aa}.indigo-skin .card .btn-action:focus,.indigo-skin .card .btn-action:hover{background-color:#9ea3b5!important}.indigo-skin .card .btn-action.active{background-color:#5c6178!important}.indigo-skin input[type=email]:focus:not([readonly]),.indigo-skin input[type=text]:focus:not([readonly]),.indigo-skin input[type=password]:focus:not([readonly]),.indigo-skin textarea.md-textarea:focus:not([readonly]){border-color:#fd668c;-webkit-box-shadow:0 1px 0 0 #fd668c;box-shadow:0 1px 0 0 #fd668c}.indigo-skin input[type=checkbox]:checked+label:before{border-right:2px solid #fd668c;border-bottom:2px solid #fd668c}.indigo-skin input[type=checkbox].filled-in:checked+label:before{border-right:2px solid #fff;border-bottom:2px solid #fff}.indigo-skin input[type=checkbox].filled-in:checked+label:after{background-color:#fd668c;border-color:#fd668c}.indigo-skin .top-nav-collapse{background-color:#9095aa}.indigo-skin .carousel-multi-item .carousel-indicators li,.indigo-skin .carousel-multi-item .carousel-indicators li.active,.indigo-skin .carousel-multi-item .controls-top>a{background-color:#fd668c}.indigo-skin .card-header,.indigo-skin .form-header{background-color:#fd7094}.indigo-skin .spinner-primary-color,.indigo-skin .spinner-primary-color-only{border-color:#7f82c5}.indigo-skin .pagination-primary-color .page-item.active .page-link,.indigo-skin .pagination-primary-color .page-item.active .page-link:focus,.indigo-skin .pagination-primary-color .page-item.active .page-link:hover{color:#fff;background-color:#7f82c5;border-color:#7f82c5}.indigo-skin .pagination-primary-color .page-link{color:#7f82c5}.light-blue-skin .gradient{background:#69adf4;background:-webkit-linear-gradient(315deg,#69adf4 0,#69adf4 100%);background:linear-gradient(135deg,#69adf4 0,#69adf4 100%)}.light-blue-skin .primary-color,.light-blue-skin .stepper li.active a .circle,.light-blue-skin .stepper li.completed a .circle,.stepper li.active a .light-blue-skin .circle,.stepper li.completed a .light-blue-skin .circle{background-color:#3d799c!important}.light-blue-skin .navbar{background-color:#3f5c80;color:#fff}.light-blue-skin .navbar .navbar-nav .nav-item .dropdown-menu a:active,.light-blue-skin .navbar .navbar-nav .nav-item .dropdown-menu a:focus,.light-blue-skin .navbar .navbar-nav .nav-item .dropdown-menu a:hover{background-color:#a5b6be}.light-blue-skin .page-footer{background-color:#3f5c80}.light-blue-skin .side-nav{background-color:#6a9ed3}.light-blue-skin .side-nav .logo-wrapper>div{background-color:transparent!important}.light-blue-skin .side-nav .sn-avatar-wrapper img{border:3px solid #889ea9}.light-blue-skin .side-nav .social a:hover .fa{color:#b4c2c9!important;-webkit-transition:all .3s linear;transition:all .3s linear}.light-blue-skin .side-nav .collapsible li{background-color:transparent}.light-blue-skin .side-nav .collapsible li .collapsible-header{color:#fff;-webkit-transition:all .3s linear;transition:all .3s linear}.light-blue-skin .side-nav .collapsible li .collapsible-header.active,.light-blue-skin .side-nav .collapsible li .collapsible-header:hover{background-color:rgba(29,54,86,.6)}.light-blue-skin .side-nav .collapsible li .collapsible-body a{color:#fff}.light-blue-skin .side-nav .collapsible li .collapsible-body a:hover{color:#aadeff}.light-blue-skin .side-nav .fa{color:#fff}.light-blue-skin .dropdown-content li:not(.disabled) span,.light-blue-skin .md-form .prefix.active,.light-blue-skin input[type=email]:focus:not([readonly])+label,.light-blue-skin input[type=text]:focus:not([readonly])+label,.light-blue-skin input[type=password]:focus:not([readonly])+label,.light-blue-skin textarea.md-textarea:focus:not([readonly])+label{color:#b4c2c9}.light-blue-skin .side-nav .sidenav-bg.mask-strong:after,.light-blue-skin .side-nav .sidenav-bg:after{background:rgba(87,134,180,.8)}.light-blue-skin .side-nav .sidenav-bg.mask-light:after{background:rgba(87,134,180,.65)}.light-blue-skin .side-nav .sidenav-bg.mask-slight:after{background:rgba(87,134,180,.5)}.light-blue-skin .btn-primary{background-color:#ff4a67}.light-blue-skin .btn-primary.active,.light-blue-skin .btn-primary:active,.light-blue-skin .btn-primary:focus,.light-blue-skin .btn-primary:hover{background-color:#ff647c!important}.light-blue-skin .btn-primary.dropdown-toggle{background-color:#ff4a67!important}.light-blue-skin .btn-primary.dropdown-toggle:focus,.light-blue-skin .btn-primary.dropdown-toggle:hover{background-color:#ff647c!important}.light-blue-skin .btn-secondary{background-color:#64c3f0}.light-blue-skin .btn-secondary.active,.light-blue-skin .btn-secondary:active,.light-blue-skin .btn-secondary:focus,.light-blue-skin .btn-secondary:hover{background-color:#7bccf2!important}.light-blue-skin .btn-secondary.dropdown-toggle{background-color:#64c3f0!important}.light-blue-skin .btn-secondary.dropdown-toggle:focus,.light-blue-skin .btn-secondary.dropdown-toggle:hover{background-color:#7bccf2!important}.light-blue-skin .btn-default{background-color:#2d486a}.light-blue-skin .btn-default.active,.light-blue-skin .btn-default:active,.light-blue-skin .btn-default:focus,.light-blue-skin .btn-default:hover{background-color:#35547c!important}.light-blue-skin .btn-default.dropdown-toggle{background-color:#2d486a!important}.light-blue-skin .btn-default.dropdown-toggle:focus,.light-blue-skin .btn-default.dropdown-toggle:hover{background-color:#35547c!important}.light-blue-skin .card .btn-action{background:#2d486a}.light-blue-skin .card .btn-action:focus,.light-blue-skin .card .btn-action:hover{background-color:#35547c!important}.light-blue-skin .card .btn-action.active{background-color:#0f1722!important}.light-blue-skin input[type=email]:focus:not([readonly]),.light-blue-skin input[type=text]:focus:not([readonly]),.light-blue-skin input[type=password]:focus:not([readonly]),.light-blue-skin textarea.md-textarea:focus:not([readonly]){border-color:#b4c2c9;-webkit-box-shadow:0 1px 0 0 #b4c2c9;box-shadow:0 1px 0 0 #b4c2c9}.light-blue-skin input[type=checkbox]:checked+label:before{border-right:2px solid #b4c2c9;border-bottom:2px solid #b4c2c9}.light-blue-skin input[type=checkbox].filled-in:checked+label:before{border-right:2px solid #fff;border-bottom:2px solid #fff}.light-blue-skin input[type=checkbox].filled-in:checked+label:after{background-color:#b4c2c9;border-color:#b4c2c9}.light-blue-skin .top-nav-collapse{background-color:#3f5c80}.light-blue-skin .carousel-multi-item .carousel-indicators li,.light-blue-skin .carousel-multi-item .carousel-indicators li.active,.light-blue-skin .carousel-multi-item .controls-top>a{background-color:#b4c2c9}.light-blue-skin .card-header,.light-blue-skin .form-header{background-color:#bac7cd}.light-blue-skin .spinner-primary-color,.light-blue-skin .spinner-primary-color-only{border-color:#3d799c}.light-blue-skin .pagination-primary-color .page-item.active .page-link,.light-blue-skin .pagination-primary-color .page-item.active .page-link:focus,.light-blue-skin .pagination-primary-color .page-item.active .page-link:hover{color:#fff;background-color:#3d799c;border-color:#3d799c}.light-blue-skin .pagination-primary-color .page-link{color:#3d799c}.grey-skin .gradient{background:#383838;background:-webkit-linear-gradient(315deg,#383838 0,#a5a4a4 100%);background:linear-gradient(135deg,#383838 0,#a5a4a4 100%)}.grey-skin .primary-color,.grey-skin .stepper li.active a .circle,.grey-skin .stepper li.completed a .circle,.stepper li.active a .grey-skin .circle,.stepper li.completed a .grey-skin .circle{background-color:#2b2b2b!important}.grey-skin .navbar{background-color:#44474b;color:#fff}.grey-skin .navbar .navbar-nav .nav-item .dropdown-menu a:active,.grey-skin .navbar .navbar-nav .nav-item .dropdown-menu a:focus,.grey-skin .navbar .navbar-nav .nav-item .dropdown-menu a:hover{background-color:#5eb7ee}.grey-skin .page-footer{background-color:#44474b}.grey-skin .side-nav{background-color:#a5a4a4}.grey-skin .side-nav .logo-wrapper>div{background-color:transparent!important}.grey-skin .side-nav .sn-avatar-wrapper img{border:3px solid #30a2e9}.grey-skin .side-nav .social a:hover .fa{color:#75c1f0!important;-webkit-transition:all .3s linear;transition:all .3s linear}.grey-skin .side-nav .collapsible li{background-color:transparent}.grey-skin .side-nav .collapsible li .collapsible-header{color:#fff;-webkit-transition:all .3s linear;transition:all .3s linear}.grey-skin .side-nav .collapsible li .collapsible-header.active,.grey-skin .side-nav .collapsible li .collapsible-header:hover{background-color:rgba(0,0,0,.4)}.grey-skin .side-nav .collapsible li .collapsible-body a{color:#fff}.grey-skin .side-nav .collapsible li .collapsible-body a:hover{color:#afdffc}.grey-skin .side-nav .fa{color:#fff}.grey-skin .dropdown-content li:not(.disabled) span,.grey-skin .md-form .prefix.active,.grey-skin input[type=email]:focus:not([readonly])+label,.grey-skin input[type=text]:focus:not([readonly])+label,.grey-skin input[type=password]:focus:not([readonly])+label,.grey-skin textarea.md-textarea:focus:not([readonly])+label{color:#75c1f0}.grey-skin .side-nav .sidenav-bg.mask-strong:after,.grey-skin .side-nav .sidenav-bg:after{background:rgba(121,121,121,.8)}.grey-skin .side-nav .sidenav-bg.mask-light:after{background:rgba(121,121,121,.65)}.grey-skin .side-nav .sidenav-bg.mask-slight:after{background:rgba(121,121,121,.5)}.grey-skin .btn-primary{background-color:#46aded}.grey-skin .btn-primary.active,.grey-skin .btn-primary:active,.grey-skin .btn-primary:focus,.grey-skin .btn-primary:hover{background-color:#5db7ef!important}.grey-skin .btn-primary.dropdown-toggle{background-color:#46aded!important}.grey-skin .btn-primary.dropdown-toggle:focus,.grey-skin .btn-primary.dropdown-toggle:hover{background-color:#5db7ef!important}.grey-skin .btn-secondary{background-color:#7d8488}.grey-skin .btn-secondary.active,.grey-skin .btn-secondary:active,.grey-skin .btn-secondary:focus,.grey-skin .btn-secondary:hover{background-color:#8a9194!important}.grey-skin .btn-secondary.dropdown-toggle{background-color:#7d8488!important}.grey-skin .btn-secondary.dropdown-toggle:focus,.grey-skin .btn-secondary.dropdown-toggle:hover{background-color:#8a9194!important}.grey-skin .btn-default{background-color:#353637}.grey-skin .btn-default.active,.grey-skin .btn-default:active,.grey-skin .btn-default:focus,.grey-skin .btn-default:hover{background-color:#424344!important}.grey-skin .btn-default.dropdown-toggle{background-color:#353637!important}.grey-skin .btn-default.dropdown-toggle:focus,.grey-skin .btn-default.dropdown-toggle:hover{background-color:#424344!important}.grey-skin .card .btn-action{background:#353637}.grey-skin .card .btn-action:focus,.grey-skin .card .btn-action:hover{background-color:#424344!important}.grey-skin .card .btn-action.active{background-color:#030303!important}.grey-skin input[type=email]:focus:not([readonly]),.grey-skin input[type=text]:focus:not([readonly]),.grey-skin input[type=password]:focus:not([readonly]),.grey-skin textarea.md-textarea:focus:not([readonly]){border-color:#75c1f0;-webkit-box-shadow:0 1px 0 0 #75c1f0;box-shadow:0 1px 0 0 #75c1f0}.grey-skin input[type=checkbox]:checked+label:before{border-right:2px solid #75c1f0;border-bottom:2px solid #75c1f0}.grey-skin input[type=checkbox].filled-in:checked+label:before{border-right:2px solid #fff;border-bottom:2px solid #fff}.grey-skin input[type=checkbox].filled-in:checked+label:after{background-color:#75c1f0;border-color:#75c1f0}.grey-skin .top-nav-collapse{background-color:#44474b}.grey-skin .carousel-multi-item .carousel-indicators li,.grey-skin .carousel-multi-item .carousel-indicators li.active,.grey-skin .carousel-multi-item .controls-top>a{background-color:#75c1f0}.grey-skin .card-header,.grey-skin .form-header{background-color:#7ec5f1}.grey-skin .spinner-primary-color,.grey-skin .spinner-primary-color-only{border-color:#2b2b2b}.grey-skin .pagination-primary-color .page-item.active .page-link,.grey-skin .pagination-primary-color .page-item.active .page-link:focus,.grey-skin .pagination-primary-color .page-item.active .page-link:hover{color:#fff;background-color:#2b2b2b;border-color:#2b2b2b}.grey-skin .pagination-primary-color .page-link{color:#2b2b2b}.picker__input{cursor:default}.picker{font-size:16px;text-align:center;line-height:1.2;color:#000;position:absolute;z-index:10000;user-select:none}.picker .picker__holder{width:100%;overflow-y:auto;overflow-scrolling:touch;position:fixed;-webkit-transition:background .15s ease-out,top 0s .15s;transition:background .15s ease-out,top 0s .15s;-webkit-backface-visibility:hidden;backface-visibility:hidden}.picker .picker__frame,.picker .picker__holder{bottom:0;left:0;right:0;top:100%}.picker .picker__frame{position:absolute;margin:0 auto;min-width:256px;max-width:325px;width:300px;max-height:350px;filter:alpha(opacity=0);opacity:0;-webkit-transition:all .15s ease-out;transition:all .15s ease-out}@media (min-height:40.125em){.picker .picker__frame{margin-bottom:7.5%}}.picker .picker__frame .picker__wrap{display:table;width:100%;height:100%}@media (min-height:28.875em){.picker .picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}.picker .picker__frame .picker__wrap{display:block}}.picker .picker__box{background:#fff;display:table-cell}@media (min-height:28.875em){.picker .picker__box{display:block;border:1px solid #777;border-top-color:#898989;border-bottom-width:0;border-radius:5px 5px 0 0;-webkit-box-shadow:0 12px 36px 16px rgba(0,0,0,.24);box-shadow:0 12px 36px 16px rgba(0,0,0,.24)}}.picker--opened .picker__holder{top:0;zoom:1;background:rgba(0,0,0,.32);-webkit-transition:background .15s ease-out;transition:background .15s ease-out}.picker--opened .picker__frame{top:0;filter:alpha(opacity=100);opacity:1}@media (min-height:35.875em){.picker--opened .picker__frame{top:10%;bottom:auto}}.picker__input.picker__input--active{border-color:#E3F2FD}.picker__list{list-style:none;padding:.75em 0 4.2em;margin:0}.picker__list-item{border-bottom:1px solid #ddd;border-top:1px solid #ddd;margin-bottom:-1px;position:relative;padding:.75em 1.25em}.picker__list-item--highlighted,.picker__list-item:hover{border-color:#0089ec;z-index:10}@media (min-height:46.75em){.picker__list-item{padding:.5em 1em}}.picker__list-item:hover{cursor:pointer;background:#b1dcfb}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted:hover{cursor:pointer;color:#000;background:#b1dcfb}.picker--focused .picker__list-item--selected,.picker__list-item--selected,.picker__list-item--selected:hover{background:#0089ec;z-index:10}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{background:#f5f5f5;color:#ddd;cursor:default;border-color:#ddd;z-index:auto}.picker--time .picker__button--clear{display:block;width:80%;margin:1em auto 0;padding:1em 1.25em;background:0 0;border:0;font-weight:500;font-size:.67em;text-align:center;text-transform:uppercase;color:#666}.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:hover{color:#000;background:#e20;border-color:#e20;cursor:pointer;outline:0}.picker--time .picker__button--clear:before{top:-.25em;color:#666;font-size:1.25em;font-weight:700}.picker--time .picker__frame{min-width:256px;max-width:320px}.picker--time .picker__box{font-size:1em;background:#f2f2f2;padding:0}@media (min-height:40.125em){.picker--time .picker__box{margin-bottom:5em}}.picker__date-display{text-align:center;background-color:#4285F4;padding-bottom:15px;font-weight:300;margin-bottom:1rem}.picker__date-display .clockpicker-display{vertical-align:middle;display:inline-block;margin:auto;height:85px;font-size:70px;padding:10px 10px 0;color:#b2dfdb}.picker__date-display .clockpicker-display .clockpicker-display-column #click-am.text-primary,.picker__date-display .clockpicker-display .clockpicker-display-column #click-pm.text-primary,.picker__date-display .clockpicker-display .clockpicker-display-column .clockpicker-span-hours.text-primary,.picker__date-display .clockpicker-display .clockpicker-display-column .clockpicker-span-minutes.text-primary{-webkit-animation-name:pulse;animation-name:pulse}.picker__date-display .clockpicker-display .clockpicker-display-column #click-am,.picker__date-display .clockpicker-display .clockpicker-display-column #click-pm{cursor:pointer}.picker__date-display .clockpicker-display .clockpicker-display-am-pm{padding-left:5px;vertical-align:bottom;height:85px}.picker__date-display .clockpicker-display .clockpicker-display-am-pm .clockpicker-span-am-pm{display:inline-block;font-size:23px;line-height:25px;color:#b2dfdb}.picker__date-display .clockpicker-display .clockpicker-span-hours,.picker__date-display .clockpicker-display .clockpicker-span-minutes{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-transition:color .5s;transition:color .5s;cursor:pointer}.clockpicker-display{text-align:center;vertical-align:middle;display:inline-block;margin:auto;height:85px;font-size:70px;padding:10px 10px 0;color:#b2dfdb}.clockpicker-display .clockpicker-display-column #click-am.text-primary,.clockpicker-display .clockpicker-display-column #click-pm.text-primary,.clockpicker-display .clockpicker-display-column .clockpicker-span-hours.text-primary,.clockpicker-display .clockpicker-display-column .clockpicker-span-minutes.text-primary{-webkit-animation-name:pulse;animation-name:pulse}.clockpicker-display .clockpicker-display-column #click-am,.clockpicker-display .clockpicker-display-column #click-pm{cursor:pointer}.clockpicker-display .clockpicker-display-am-pm{padding-left:5px;vertical-align:bottom;height:85px}.clockpicker-display .clockpicker-display-am-pm .clockpicker-span-am-pm{display:inline-block;font-size:23px;line-height:25px;color:#b2dfdb}.clockpicker-display .clockpicker-span-hours,.clockpicker-display .clockpicker-span-minutes{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-transition:color .5s;transition:color .5s;cursor:pointer}@keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}}.clockpicker-moving{cursor:move}.clockpicker-plate{background-color:#eee;border-radius:50%;width:270px;height:270px;overflow:visible;position:relative;margin:20px auto auto;-moz-user-select:none;-ms-user-select:none;user-select:none}.clockpicker-plate .clockpicker-canvas,.clockpicker-plate .clockpicker-dial{width:270px;height:270px;position:absolute;left:-1px;top:-1px}.clockpicker-plate .clockpicker-dial{-webkit-transition:opacity 350ms,-webkit-transform 350ms;transition:opacity 350ms,-webkit-transform 350ms;transition:transform 350ms,opacity 350ms;transition:transform 350ms,opacity 350ms,-webkit-transform 350ms}.clockpicker-plate .clockpicker-dial .clockpicker-tick{border-radius:50%;color:#666;line-height:40px;text-align:center;width:40px;height:40px;position:absolute;cursor:pointer;-webkit-transition:background-color .3s;transition:background-color .3s;background-color:rgba(0,150,136,0)}.clockpicker-plate .clockpicker-dial .clockpicker-tick.active,.clockpicker-plate .clockpicker-dial .clockpicker-tick:hover{background-color:rgba(0,150,136,.25)}.clockpicker-plate .clockpicker-minutes{visibility:hidden}.clockpicker-plate .clockpicker-dial-out{opacity:0}.clockpicker-plate .clockpicker-hours.clockpicker-dial-out{-webkit-transform:scale(1.2,1.2);-ms-transform:scale(1.2,1.2);transform:scale(1.2,1.2)}.clockpicker-plate .clockpicker-minutes.clockpicker-dial-out{-webkit-transform:scale(.8,.8);-ms-transform:scale(.8,.8);transform:scale(.8,.8)}.clockpicker-canvas{-webkit-transition:opacity .3s;transition:opacity .3s}.clockpicker-canvas line{stroke:rgba(0,150,136,.25);stroke-width:1}.clockpicker-canvas-out{opacity:.25}.clockpicker-canvas-bearing{stroke:none;fill:rgba(0,77,64,.75)}.clockpicker-canvas-fg{stroke:none;fill:rgba(0,77,64,0)}.clockpicker-canvas-fg.active{fill:rgba(0,77,64,.5)}.clockpicker-canvas-bg,.clockpicker-canvas-bg-trans{fill:rgba(0,150,136,.25)}.clockpicker-canvas-bg{stroke:none}.clockpicker-am-pm-block{margin-top:-10px;width:100%;height:50px}.clockpicker-am-pm-block .clockpicker-button.am-button{height:45px;width:45px;float:left}.clockpicker-am-pm-block .clockpicker-button.pm-button{height:45px;width:45px;float:right}.btn-floating.btn-flat{padding:0;background:#4285F4}.btn-floating.btn-flat:hover{-webkit-box-shadow:none;box-shadow:none}.btn-floating.btn-flat:focus,.btn-floating.btn-flat:hover{background-color:#5a95f5!important}.btn-floating.btn-flat.active{background-color:#0b51c5!important}.picker__footer .clockpicker-button{margin:15px auto auto;background-color:transparent;text-transform:uppercase}.picker__footer .clockpicker-button:focus{background-color:transparent}.picker__footer .clockpicker-button:active{background-color:rgba(0,150,136,.25)}.darktheme .picker__box{background-color:#212121}.darktheme .picker__box .picker__calendar-container .clockpicker-plate,.darktheme .picker__box .picker__date-display{background-color:transparent}.darktheme .picker__box .picker__calendar-container .clockpicker-plate .clockpicker-tick{background-color:rgba(255,64,129,0)}.darktheme .picker__box .picker__calendar-container .clockpicker-plate .clockpicker-tick.active,.darktheme .picker__box .picker__calendar-container .clockpicker-plate .clockpicker-tick:hover,.darktheme .picker__box .picker__footer .clockpicker-button:active{background-color:rgba(255,64,129,.25)}.darktheme .picker__box .picker__calendar-container .clockpicker-plate .clockpicker-canvas line{stroke:rgba(255,64,129,.25)}.darktheme .picker__box .picker__calendar-container .clockpicker-plate .clockpicker-canvas-bearing{fill:#fff}.darktheme .picker__box .picker__calendar-container .clockpicker-plate .clockpicker-canvas-fg{fill:rgba(255,64,129,0)}.darktheme .picker__box .picker__calendar-container .clockpicker-plate .clockpicker-canvas-fg.active{fill:rgba(255,64,129,.5)}.darktheme .picker__box .picker__calendar-container .clockpicker-plate .clockpicker-canvas-bg,.darktheme .picker__box .picker__calendar-container .clockpicker-plate .clockpicker-canvas-bg-trans{fill:rgba(255,64,129,.25)}.picker__box{padding:0;border-radius:2px;overflow:hidden}.picker__box .picker__header{text-align:center;position:relative;margin-bottom:20px}.picker__box .picker__header .picker__date-display{text-align:center;background-color:#4285F4;padding-bottom:15px;font-weight:300;margin-bottom:1rem}.picker__box .picker__header .picker__date-display .picker__weekday-display{background-color:#206ff2;padding:10px;font-weight:200;letter-spacing:.5;font-size:1rem;margin-bottom:15px}.picker__box .picker__header .picker__date-display .picker__month-display{text-transform:uppercase;font-size:2rem}.picker__box .picker__header .picker__date-display .picker__day-display{font-size:4.5rem;font-weight:400}.picker__box .picker__header .picker__date-display .picker__year-display{font-size:1.8rem;color:rgba(255,255,255,.4)}.picker__box .picker__header .picker__month,.picker__box .picker__header .picker__year{display:inline-block;margin-left:.25em;margin-right:.25em}.picker__box .picker__header .picker__select--month,.picker__box .picker__header .picker__select--year{height:2em;padding:0;margin-left:.25em;margin-right:.25em;display:inline-block}.picker__box .picker__header .picker__select--month:focus,.picker__box .picker__header .picker__select--year:focus{border-color:rgba(0,0,0,.05)}.picker__box .picker__header .picker__select--year{width:30%}.picker__box .picker__header .picker__select--month.browser-default{display:inline;width:40%}.picker__box .picker__header .picker__select--year.browser-default{display:inline;width:25%}.picker__box .picker__header .picker__nav--next,.picker__box .picker__header .picker__nav--prev{position:absolute;padding:.5em 1.55em;width:1em;height:1em;-webkit-box-sizing:content-box;box-sizing:content-box;bottom:0}.picker__box .picker__header .picker__nav--next:hover,.picker__box .picker__header .picker__nav--prev:hover{cursor:pointer;color:#000;background:#ecf2fc}.picker__box .picker__header .picker__nav--next:before,.picker__box .picker__header .picker__nav--prev:before{content:" ";border-top:.5em solid transparent;border-bottom:.5em solid transparent;border-right:.75em solid #676767;width:0;height:0;display:block;margin:0 auto}.picker__box .picker__header .picker__nav--prev{left:-1em;padding-right:1.25em}.picker__box .picker__header .picker__nav--next{right:-1em;padding-left:1.25em}.picker__box .picker__header .picker__nav--next:before{border-right:0;border-left:.75em solid #676767}.picker__box .picker__header .picker__nav--disabled,.picker__box .picker__header .picker__nav--disabled:before,.picker__box .picker__header .picker__nav--disabled:before:hover,.picker__box .picker__header .picker__nav--disabled:hover{cursor:default;background:0 0;border-right-color:#f5f5f5;border-left-color:#f5f5f5}.picker__box .picker__table{text-align:center;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:1rem;width:100%;margin-top:.75em;margin-bottom:.5em}.picker__box .picker__table td,.picker__box .picker__table th{text-align:center}.picker__box .picker__table td{margin:0;padding:0}.picker__box .picker__table .picker__weekday{width:14%;font-size:.9em;padding-bottom:.25em;color:#999;font-weight:500}@media (min-height:33.875em){.picker__box .picker__table .picker__weekday{padding-bottom:.5em}}.picker__box .picker__table .picker__day--today{position:relative;letter-spacing:-.3;padding:.75rem 0;font-weight:400;border:1px solid transparent}.picker__box .picker__table .picker__day.picker__day--today{color:#4285F4}.picker__box .picker__table .picker__day--disabled:before{border-top-color:#aaa}.picker__box .picker__table .picker__day--infocus{color:#595959;letter-spacing:-.3;padding:.75rem 0;font-weight:400;border:1px solid transparent}.picker__box .picker__table .picker__day--infocus:hover{cursor:pointer;color:#000;font-weight:500}.picker__box .picker__table .picker__day--outfocus{display:none;padding:.75rem 0}.picker__box .picker__table .picker__day--outfocus:hover{cursor:pointer;color:#ddd;font-weight:500}.picker__box .picker__table .picker--focused .picker__day--highlighted,.picker__box .picker__table .picker__day--highlighted:hover{cursor:pointer}.picker__box .picker__table .picker--focused,.picker__box .picker__table .picker__day--selected,.picker__box .picker__table .picker__day--selected:hover{border-radius:50%;-webkit-transform:scale(.9);-ms-transform:scale(.9);transform:scale(.9);background-color:#4285F4}.picker__box .picker__table .picker--focused.picker__day--outfocus,.picker__box .picker__table .picker__day--selected.picker__day--outfocus,.picker__box .picker__table .picker__day--selected:hover.picker__day--outfocus{background-color:#ecf2fc}.picker__box .picker__table .picker--focused,.picker__box .picker__table .picker__day--disabled,.picker__box .picker__table .picker__day--disabled:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default}.picker__box .picker__table .picker__day--highlighted.picker__day--disabled,.picker__box .picker__table .picker__day--highlighted.picker__day--disabled:hover{background:#bbb}.picker__box .picker__footer{text-align:right;padding:5px 10px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.picker__box .picker__footer .picker__button--clear,.picker__box .picker__footer .picker__button--close,.picker__box .picker__footer .picker__button--today{border:1px solid #fff;background:#fff;font-size:.8em;padding:1rem 0 .7rem;font-weight:700;width:33%;display:inline-block;vertical-align:bottom;text-transform:uppercase}.picker__box .picker__footer .picker__button--clear:hover,.picker__box .picker__footer .picker__button--close:hover,.picker__box .picker__footer .picker__button--today:hover{cursor:pointer;color:#000;background:#b1dcfb;border-bottom-color:#b1dcfb}.picker__box .picker__footer .picker__button--clear:focus,.picker__box .picker__footer .picker__button--close:focus,.picker__box .picker__footer .picker__button--today:focus{background:#b1dcfb;border-color:rgba(0,0,0,.05);outline:0}.picker__box .picker__footer .picker__button--clear:before,.picker__box .picker__footer .picker__button--close:before,.picker__box .picker__footer .picker__button--today:before{position:relative;display:inline-block;height:0}.picker__box .picker__footer .picker__button--clear:before,.picker__box .picker__footer .picker__button--today:before{content:" ";margin-right:.45em}.picker__box .picker__footer .picker__button--today:before{top:-.05em;width:0;border-top:.66em solid #0059bc;border-left:.66em solid transparent}.picker__box .picker__footer .picker__button--clear:before{top:-.25em;width:.66em;border-top:3px solid #e20}.picker__box .picker__footer .picker__button--close:before{content:"\D7";top:-.1em;vertical-align:top;font-size:1.1em;margin-right:.35em;color:#777}.picker__box .picker__footer .picker__button--today[disabled],.picker__box .picker__footer .picker__button--today[disabled]:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default}.picker__box .picker__footer .picker__button--today[disabled]:before{border-top-color:#aaa}.picker__calendar-container{padding:0 1rem}.fixed-sn main,.hidden-sn main{padding-top:5.5rem}.picker__calendar-container thead{border:none}.section img{max-width:100%;height:auto}.fixed-sn .double-nav,.fixed-sn footer,.fixed-sn main{padding-left:240px}@media (max-width:1440px){.fixed-sn .double-nav,.fixed-sn footer,.fixed-sn main{padding-left:0}}@media (min-width:600px){.fixed-sn .page-footer .container-fluid,.fixed-sn main{margin-left:2%;margin-right:2%}}@media (min-width:992px){.fixed-sn .page-footer .container-fluid,.fixed-sn main{margin-left:5%;margin-right:5%}}@media (min-width:1200px){.fixed-sn .page-footer .container-fluid,.fixed-sn main{margin-left:6%;margin-right:6%}}.hidden-sn .button-collapse{display:block;position:relative;font-size:1.4rem;margin-right:10px;margin-left:-6px;padding-left:0}.feature-box{text-align:center}.feature-box .feature-title{font-weight:500;margin-bottom:1rem}.feature-box .features-big .feature-title{margin-top:1.5rem;margin-bottom:1.5rem}.feature-box .features-big .fa{font-size:4rem}.feature-box .features-small{text-align:left}.section-blog-fw .author-box,.section-blog-fw .jumbotron,.section-heading{text-align:center}.feature-box .features-small .fa{font-size:2rem}.mdb-feed{margin:1rem 0}.mdb-feed .news{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.mdb-feed .news .label{display:block;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch;width:2.5rem}.mdb-feed .news .label img{width:100%;height:auto}.mdb-feed .news .excerpt{display:block;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch;word-wrap:break-word;margin:0 0 1.2rem 1.2rem}.mdb-feed .news .excerpt .brief{padding-bottom:.5rem;font-weight:500}.mdb-feed .news .excerpt .brief a{color:#4285F4}.mdb-feed .news .excerpt .brief .date,.mdb-feed .news .excerpt .feed-footer .like{font-weight:300;color:#9e9e9e;font-size:.86rem}.mdb-feed .news .excerpt .brief .name{display:inline-block;vertical-align:baseline}.mdb-feed .news .excerpt .brief .date{display:inline-block;float:none;padding-left:.7rem}.mdb-feed .news .excerpt .added-images{margin-bottom:.6rem}.mdb-feed .news .excerpt .added-images img{display:inline-block;margin-right:.3rem;width:7rem}.mdb-feed .news .excerpt .added-text{margin-bottom:.6rem;max-width:450px}.mdb-feed .news .excerpt .feed-footer .like:hover .fa{color:#F44336;-webkit-transition:.4s;transition:.4s}.mdb-feed .news .excerpt .feed-footer .like:hover span{color:#000;-webkit-transition:.4s;transition:.4s}.mdb-feed .news .excerpt .feed-footer .like .fa{padding-right:.5rem}.mdb-feed .news .excerpt .feed-footer span a{padding-right:.3rem;color:#4285F4;cursor:default}.mdb-feed .news .excerpt .feed-footer .thumbs .fa{color:#9e9e9e;-webkit-transition:.4s;transition:.4s}.mdb-feed .news .excerpt .feed-footer .thumbs .fa:hover{color:#757575}.mdb-feed .news .excerpt .feed-footer .thumbs .fa-thumbs-up{padding-right:.3rem}.mdb-feed .news .excerpt .feed-footer .comment{color:#9e9e9e}.card-personal .card-body .card-title{font-weight:400;margin-bottom:.3rem}.card-personal .card-body .card-title.title-one{-webkit-transition:.4s;transition:.4s}.card-personal .card-body .card-title.title-one:hover{color:#4285F4}.card-personal .card-body .card-meta{font-weight:300;font-size:.86rem;color:#757575}.card-personal .card-body .card-meta .fa{padding-right:.5rem}.card-personal .card-body span{-webkit-transition:.5s;transition:.5s}.card-personal .card-body span:hover{color:#4285F4}.news-card .content .right-side-meta{float:right;font-weight:300;color:#9e9e9e;margin-top:.3rem}.news-card .content .avatar-img{width:2rem;margin-right:1rem}.news-card .content img{border-radius:50%;display:inline-block;vertical-align:middle;max-width:100%}.news-card .social-meta .fa{padding-right:.6rem}.news-card .social-meta .fa-heart-o{cursor:pointer;color:rgba(0,0,0,.4);-webkit-transition:.53s;transition:.53s}.news-card .social-meta .fa-heart-o:hover{color:#F44336}.news-card .social-meta span{float:right}.news-card .md-form{margin-top:1.3rem;margin-bottom:.3rem}.news-card .md-form .prefix{font-size:1.5rem;margin-left:.2rem;color:rgba(0,0,0,.4)}.news-card .md-form .prefix .md-form .prefix~textarea,.news-card .md-form .prefix~input{width:-webkit-calc(100% - 4rem);width:calc(100% - 4rem)}.news-card .md-form .prefix.active{color:rgba(0,0,0,.4)}.news-card .md-form .form-control{padding-top:0;padding-bottom:.5rem;margin-left:3rem;margin-bottom:0;height:1.3rem;border-bottom:1px solid rgba(0,0,0,.1)}.no-radius{border-radius:0!important}.section .section-heading{margin-top:2rem;margin-bottom:4rem}.section-heading h1{margin-top:2rem;margin-bottom:3rem}.section-heading p{margin-bottom:3rem;margin-right:15%;margin-left:15%}.section-description{color:#757575;margin-bottom:4rem;margin-left:15%;margin-right:15%;text-align:center}@media (max-width:992px){.section-description{margin-left:5%;margin-right:5%}}.section-blog-fw .view img{border-radius:2px}.section-blog-fw h2{font-weight:300}.section-blog-fw h2 a{color:#424242;-webkit-transition:.2s;transition:.2s}.section-blog-fw h2 a:hover{color:#616161;-webkit-transition:.2s;transition:.2s}.section-blog-fw .excerpt,.section-blog-fw .post-text{margin-left:10%;margin-right:10%;text-align:justify}@media (max-width:992px){.section-blog-fw .excerpt,.section-blog-fw .post-text{margin-left:5%;margin-right:5%}}.section-blog-fw hr{display:block}@media (min-width:1200px){.hr-width{width:83%}}.section.team-section .avatar{margin-bottom:2rem;height:auto}.section.team-section .avatar .rounded-circle{max-width:170px}.section.team-section .avatar img{max-width:200px;height:auto}.section.team-section .title-color{font-weight:400;color:rgba(0,0,0,.6)}.section.team-section h4,.section.team-section h5{margin-bottom:1rem}.section.team-section .grey-text{color:#6e6e6e!important}.section h4{font-weight:400}.section .card-wrapper .fa-repeat,.section .card-wrapper .fa-undo{font-size:15px}.testimonial-carousel .carousel-control{background-image:none;top:50%;-webkit-transform:translateY(-35%);-ms-transform:translateY(-35%);transform:translateY(-35%)}.testimonial-carousel .carousel-control:before{font-size:5rem;color:rgba(0,0,0,.6)}.testimonial-carousel .carousel-control:hover:before{color:#000;-webkit-transition:.4s;transition:.4s}.testimonial-carousel .carousel-control.left{left:6%}.testimonial-carousel .carousel-control.left:before{content:"\2039"}.testimonial-carousel .carousel-control.right{right:6%}.testimonial-carousel .carousel-control.right:before{content:"\203a"}.testimonial-carousel .testimonial{margin-right:15%;margin-left:15%}.testimonial-carousel .testimonial .avatar{margin-bottom:2rem}.testimonial-carousel .testimonial .avatar img{max-width:170px}.testimonial-carousel .testimonial h4{margin-bottom:1.3rem;font-weight:500}.testimonial-carousel .testimonial h5{margin-bottom:.9rem;color:#424242;font-weight:400}.testimonial-carousel .testimonial p{color:#666}.card-body h3,.card-body h5{font-weight:400;margin-bottom:1rem}.card-body h4{font-weight:500;margin-bottom:1rem}.card-body a h5{font-size:1rem}.magazine-section .view{margin-bottom:2rem}.magazine-section .single-news{border-bottom:1px solid #e0e0e0;margin-bottom:1.5rem}.magazine-section .single-news:last-of-type{border-bottom:none}@media (max-width:772px){.magazine-section .single-news{padding-bottom:1rem}}.magazine-section .single-news .news-data{margin-bottom:5rem}.magazine-section .single-news .news-data h6{float:left}.magazine-section .single-news .news-data p,.magazine-section .single-news a .fa-angle-right{float:right}.magazine-section .single-news h3{margin-top:1.5rem;margin-bottom:1.5rem}.magazine-section .single-news a{color:#424242;font-weight:300;margin-bottom:1rem}.magazine-section .single-news a:hover{color:#616161;-webkit-transition:.2s;transition:.2s}.magazine-section .single-news p{color:#757575}.magazine-section .single-news strong{font-weight:500}.magazine-section.multi-columns h6{margin-bottom:1.5rem;text-align:center}.magazine-section.multi-columns .view{margin-bottom:2rem}.magazine-section.multi-columns .single-news{padding-bottom:1rem}.magazine-section.multi-columns .single-news strong{font-size:1.2rem}.pricing-card{text-align:center}.pricing-card p{font-size:1rem}.pricing-card ul{list-style-type:none;padding:0}.pricing-card .header{border-radius:6px 6px 0 0;color:#fff}.pricing-card .header h4{padding:2.5rem;font-weight:500}.pricing-card .price{position:relative;padding-top:3rem}.pricing-card .price h1,.pricing-card .price h2{font-size:5rem;padding:1.5rem;font-weight:300}.pricing-card .price h1:before,.pricing-card .price h2:before{content:"$";font-size:30px;position:absolute;margin-left:-1.2rem;margin-top:.7rem}.pricing-card .price h1:after,.pricing-card .price h2:after{content:"/mo";font-size:30px;position:absolute;margin-top:3rem}.pricing-card .price .version{position:absolute;top:0;width:100%;background-color:rgba(0,0,0,.3);padding:1rem}.pricing-card .price .version h5{padding:0;margin:0}.pricing-card .heading h1{font-size:4rem;font-weight:400}.pricing-card .striped{padding:.6rem}.naked-card .price,.pricing-card.card-overlay .price{padding-top:0}.pricing-card .striped .fa{margin-right:5px}.pricing-card .striped .fa-check{color:green}.pricing-card .striped .fa-times{color:red}.pricing-card .striped li{border-bottom:1px solid rgba(153,153,153,.298039);margin-bottom:1rem}.pricing-card.card-overlay{display:block;color:#fff}.pricing-card.card-overlay p{color:#fff}.pricing-card .green-striped li{border-color:#33c28a}.pricing-card .orange-striped li{border-color:#e97d63}.pricing-card .purple-striped li{border-color:#963c94}.pricing-card .card-background{background-color:#28283f;border-radius:0 0 6px 6px}.card .card-circle{border:2px solid #e0e0e0;height:120px;width:120px;margin-bottom:2rem;border-radius:50%}.card .card-circle .fa{font-size:4rem}.naked-card h5{margin-top:1.2rem}.form-header{color:#fff;text-align:center;margin-top:-50px;margin-bottom:3rem;padding:1rem;border-radius:2px}.card .card-body h3{margin-bottom:0;padding:.7rem}.md-form .prefix.grey-text{font-size:1.5rem;margin-top:1rem}.section .contact-icons{text-align:center;list-style-type:none;padding:0}.section .contact-icons li{margin-bottom:2.2rem}section .form form .btn-floating{float:right;position:relative;bottom:3rem;margin-right:0}section .contact{background-color:#103f6d;height:100%}section .contact .contact-icons li i{float:left;clear:both;margin-right:1rem}section .contact .contact-icons li i.fa{font-size:1.5rem}section .contact .contact-icons li p{padding-top:.5rem;text-align:left}section .contact i{color:#6b89a5}code[class*=language-],pre[class*=language-]{color:#292b2c;background:#eaeaea;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;font-size:.85rem;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}:not(pre)>code[class*=language-],pre[class*=language-]{background:#eaeaea}pre[class*=language-]{-webkit-box-shadow:0 1px 6px 0 rgba(0,0,0,.2),0 1px 6px 0 rgba(0,0,0,.19);box-shadow:0 1px 6px 0 rgba(0,0,0,.2),0 1px 6px 0 rgba(0,0,0,.19);margin:2.5em 0;overflow:auto;padding:1em}pre[class*=language-]::-moz-selection{background:rgba(3,169,244,.7)}code[class*=language-]::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:rgba(3,169,244,.7)}code[class*=language-]::selection,pre[class*=language-]::selection{text-shadow:none;background:rgba(3,169,244,.7)}pre[class*=language-] span::-moz-selection{background:rgba(3,169,244,.7)}code[class*=language-] span::-moz-selection,pre[class*=language-] span::-moz-selection{text-shadow:none;background:rgba(3,169,244,.7)}code[class*=language-] span::selection,pre[class*=language-] span::selection{text-shadow:none;background:rgba(3,169,244,.7)}:not(pre)>code[class*=language-]{border:.13em solid #545454;-webkit-box-shadow:1px 1px .3em -.1em #000 inset;box-shadow:1px 1px .3em -.1em #000 inset;padding:.15em .2em .05em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#777}.namespace,.token.punctuation{opacity:.7}.token.boolean,.token.deleted,.token.number,.token.tag{color:#ce6849}.token.tag{-webkit-box-shadow:none;box-shadow:none;text-shadow:none;font-weight:400;display:inline;padding:0}.token.builtin,.token.constant,.token.keyword,.token.property,.token.selector,.token.symbol{color:#328946}.language-css .token.string,.style .token.string,.token.attr-name,.token.attr-value,.token.char,.token.entity,.token.inserted,.token.operator,.token.string,.token.url,.token.variable{color:#b4284f}.token.atrule{color:#7385a5}.token.important,.token.regex{color:#e8c062}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}pre[data-line]{padding:1em 0 1em 3em;position:relative}.language-markup .token.attr-name,.language-markup .token.punctuation,.language-markup .token.tag{color:#2456a0}.token{position:relative;z-index:1}.line-highlight{background:-webkit-linear-gradient(to right,rgba(84,84,84,.1) 70%,rgba(84,84,84,0));background:rgba(84,84,84,.25);background:-webkit-gradient(linear,left top,right top,color-stop(70%,rgba(84,84,84,.1)),color-stop(70%,rgba(84,84,84,0)));background:-webkit-linear-gradient(left,rgba(84,84,84,.1) 70%,rgba(84,84,84,0));background:linear-gradient(to right,rgba(84,84,84,.1) 70%,rgba(84,84,84,0));border-bottom:1px dashed #545454;border-top:1px dashed #545454;left:0;line-height:inherit;margin-top:.75em;padding:inherit 0;pointer-events:none;position:absolute;right:0;white-space:pre;z-index:0}.line-highlight:before,.line-highlight[data-end]:after{background-color:#8693a6;border-radius:999px;-webkit-box-shadow:0 1px #fff;box-shadow:0 1px #fff;color:#f4f1ef;content:attr(data-start);font:700 65%/1.5 sans-serif;left:.6em;min-width:1em;padding:0 .5em;position:absolute;text-align:center;text-shadow:none;top:.4em;vertical-align:.3em}.line-highlight[data-end]:after{bottom:.4em;content:attr(data-end);top:auto}pre.code-toolbar{position:relative}pre.code-toolbar>.toolbar{position:absolute;top:.3em;right:.3em;background:#f5f2f0;background:rgba(224,224,224,.2)}pre.code-toolbar>.toolbar a{color:#6e6e6e;font-size:.9rem;cursor:pointer;padding:0 .5em;font-weight:600}pre.code-toolbar>.toolbar a.zeroclipboard-is-hover,pre.code-toolbar>.toolbar a:focus,pre.code-toolbar>.toolbar a:hover{color:inherit}.wpcf7-submit,div.bbp-submit-wrapper button{line-height:1.33333;position:relative;padding:5px 22px;border:0;margin:10px;cursor:pointer;border-radius:2px;text-transform:uppercase;text-decoration:none;outline:0!important;color:#fff!important;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);-webkit-transition:.2s ease-out;transition:.2s ease-out;background-color:#154771!important}.wpcf7-submit:hover,div.bbp-submit-wrapper button:hover{-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15);box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15);background-color:#1d629c!important}.wpcf7-submit:focus,div.bbp-submit-wrapper button:focus{background-color:#1d629c!important}@media only screen and (min-width:992px){footer.page-footer .col-md-4{margin-left:2rem}}.price-select{margin-left:30%;margin-right:30%}@media only screen and (max-width:992px){.price-select{margin-left:25%;margin-right:25%}}@media only screen and (max-width:768px){.price-select{margin-left:15%;margin-right:15%}}@media only screen and (max-width:500px){.price-select{margin-left:5%;margin-right:5%}}.side-nav .collapsible a{height:40px;line-height:40px;margin-bottom:0}.side-nav .collapsible .collapsible-body a{height:32px;line-height:32px}.side-nav .fa-angle-down.rotate-icon{top:12px}.side-nav #mdw_main_search{height:1.1rem}.side-nav .form-group{margin-bottom:.7rem}.side-nav .current-menu-item a{background:#33b5e5}#menu-item-403,#menu-item-43627,#menu-item-43629,#menu-item-44795{border-top:1px solid rgba(153,153,153,.298039)}#bbpress-forums div.bbp-the-content-wrapper textarea.bbp-the-content{height:200px}#bbpress-forums #bbp-search-form{margin-bottom:2rem}#bbp_search_submit{border-radius:0;border:0;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);-webkit-transition:.2s ease-out;transition:.2s ease-out;color:#fff;margin:6px;background-color:#154771!important;padding:.6rem 1.05rem;font-size:1.05rem;line-height:1.11}#bbp_search_submit:hover{-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15);box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15);color:#fff}#bbp_search_submit.active,#bbp_search_submit:active,#bbp_search_submit:focus{outline:0;color:#fff}#bbp_search_submit:focus,#bbp_search_submit:hover{background-color:#1d629c!important}.newsfeed .img-fluid{width:100%}.documentation .doc-title{border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;padding:2rem 0;margin:5rem 0 2rem;text-transform:uppercase;font-size:2rem}.documentation .doc-title.doc-first{border-top:none;margin-top:0;padding-top:1.2rem}.documentation .doc-title.doc-subtitle{text-transform:none;border-top:none;font-size:1.7rem;margin-top:2rem}.documentation .doc-title .btn{margin-top:-2px}@media (max-width:776px){.documentation .doc-title .btn{margin-top:1rem;display:block}}.documentation .col-example{padding:1rem;background-color:#33b5e5;border:2px solid #fff;color:#fff;text-align:center}.documentation .example-td{padding:1rem;background-color:#33b5e5!important;border:2px solid #fff!important;color:#fff}.documentation .example-parent{background-color:#eee!important}.documentation li.circle-li{list-style-type:disc}.documentation ul.ul-flex{padding-left:3rem}.documentation .is-visible{background-color:#bbdefb}.documentation .is-hidden{color:#9e9e9e}.documentation .scroll-box{position:relative}.documentation .scrollspy-example{overflow-y:scroll;position:relative;height:200px;padding:1rem}.documentation .dzik:after{content:"Wrrr. jestem wielkim strasznym dzikiem"}.documentation footer{padding-left:0}.color-block,.color-block-dark{height:130px;padding:40px;text-align:center;color:#fff}.color-block-dark h5{font-size:1rem}.dynamic-color .col-md-4{margin-bottom:2rem}.dynamic-color .col-md-4 div{padding:7px 20px}#comments .comment-text{margin-top:1rem}#comments button,#comments html input[type=button],#comments input[type=reset],#comments input[type=submit]{display:inline-block;padding:.375rem 1rem;font-size:1rem;font-weight:400;line-height:1.5;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:0;border:0;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);-webkit-transition:.2s ease-out;transition:.2s ease-out;color:#fff;margin:6px}.bbp-author-ip,.variations_form label:not(.active) .fa.fa-check{display:none}.author-box,.comments-section{margin-bottom:2rem}#comments button:hover,#comments html input[type=button]:hover,#comments input[type=reset]:hover,#comments input[type=submit]:hover{-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15);box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15);color:#fff}p.form-submit i.btn input[type=submit],p.form-submit i.btn input[type=submit]:hover{-webkit-box-shadow:none!important;box-shadow:none!important}.comments-section{padding-top:1rem}#billing_vat_field,.main-title{margin-bottom:1.5rem}.comments-section .avatar{max-width:100px!important}.tutorial-content pre.code-toolbar{max-height:450px!important}.tutorial-content p{text-align:justify}input[name=quantity]{position:absolute;left:-99999px}.product_meta{position:absolute;top:-1000px}.variable_name label{font-size:1.3rem}.single_variation span,p.price{font-size:2.5rem}code[class*=language-],pre[class*=language-]{max-height:450px}.mdb-skin-custom .navbar{color:#fff}.mdb-skin-custom .navbar .navbar-nav .nav-item .dropdown-menu a:active,.mdb-skin-custom .navbar .navbar-nav .nav-item .dropdown-menu a:focus,.mdb-skin-custom .navbar .navbar-nav .nav-item .dropdown-menu a:hover{background-color:#1dade2}.mdb-skin-custom .page-footer{background-color:#243a51}.mdb-skin-custom .side-nav{background-color:#224562}.mdb-skin-custom .side-nav .social a:hover .fa{color:#33b5e5!important;-webkit-transition:all .3s linear;transition:all .3s linear}.mdb-skin-custom .side-nav .collapsible li{background-color:transparent}.mdb-skin-custom .side-nav .collapsible li .collapsible-header{color:#fff;-webkit-transition:all .3s linear;transition:all .3s linear}.mdb-skin-custom .side-nav .collapsible li .collapsible-header.active,.mdb-skin-custom .side-nav .collapsible li .collapsible-header:hover{background-color:rgba(72,198,255,.8)}.mdb-skin-custom .side-nav .collapsible li .collapsible-body a{color:#fff}.mdb-skin-custom .side-nav .collapsible li .collapsible-body a:hover{background-color:transparent;color:#67d5ff}.mdb-skin-custom .side-nav .fa{color:#fff}.mdb-skin-custom .side-nav .sidenav-bg.mask-strong:after,.mdb-skin-custom .side-nav .sidenav-bg:after{background:rgba(13,36,60,.85)}.mdb-skin-custom .side-nav .sidenav-bg.mask-light:after{background:rgba(13,36,60,.65)}.mdb-skin-custom .side-nav .sidenav-bg.mask-slight:after{background:rgba(13,36,60,.5)}.mdb-skin-custom .btn-ptc{background:#08aae6}.mdb-skin-custom .btn-ptc:focus,.mdb-skin-custom .btn-ptc:hover{background-color:#4abde8!important}.mdb-skin-custom .btn-ptc.active{background-color:#14799e!important}.mdb-skin-custom .btn-dtc{background:#086fb9}.mdb-skin-custom .btn-dtc:focus,.mdb-skin-custom .btn-dtc:hover{background-color:#1e71ae!important}.mdb-skin-custom .btn-dtc.active{background-color:#0b2a41!important}.mdb-skin-custom .btn-stc{background:#083761}.mdb-skin-custom .btn-stc:focus,.mdb-skin-custom .btn-stc:hover{background-color:#114a7d!important}.mdb-skin-custom .btn-stc.active{background-color:#02080d!important}.mdb-skin-custom .form-header-custom{background:#1b95c1!important}.angular-skin .navbar{background-color:#4c576c;color:#fff}.angular-skin .navbar .navbar-nav .nav-item .dropdown-menu a:active,.angular-skin .navbar .navbar-nav .nav-item .dropdown-menu a:focus,.angular-skin .navbar .navbar-nav .nav-item .dropdown-menu a:hover{background-color:#1dade2}.angular-skin .page-footer{background-color:#4c576c}.angular-skin .side-nav{background-color:#224562}.angular-skin .side-nav .social a:hover .fa{color:#33b5e5!important;-webkit-transition:all .3s linear;transition:all .3s linear}.angular-skin .side-nav .collapsible li{background-color:transparent}.angular-skin .side-nav .collapsible li .collapsible-header{color:#fff;-webkit-transition:all .3s linear;transition:all .3s linear}.angular-skin .side-nav .collapsible li .collapsible-header.active,.angular-skin .side-nav .collapsible li .collapsible-header:hover{background-color:rgba(232,44,64,.8)}.angular-skin .side-nav .collapsible li .collapsible-body a{color:#fff}.angular-skin .side-nav .collapsible li .collapsible-body a:hover{background-color:transparent;color:#fc96ad}.angular-skin .side-nav .fa{color:#fff}.angular-skin .side-nav .sidenav-bg.mask-strong:after,.angular-skin .side-nav .sidenav-bg:after{background:rgba(52,64,86,.85)}.angular-skin .side-nav .sidenav-bg.mask-light:after{background:rgba(52,64,86,.65)}.angular-skin .side-nav .sidenav-bg.mask-slight:after{background:rgba(52,64,86,.5)}.angular-skin .btn-ptc{background:#08aae6}.angular-skin .btn-ptc:focus,.angular-skin .btn-ptc:hover{background-color:#4abde8!important}.angular-skin .btn-ptc.active{background-color:#14799e!important}.angular-skin .btn-dtc{background:#086fb9}.angular-skin .btn-dtc:focus,.angular-skin .btn-dtc:hover{background-color:#1e71ae!important}.angular-skin .btn-dtc.active{background-color:#0b2a41!important}.angular-skin .btn-stc{background:#083761}.angular-skin .btn-stc:focus,.angular-skin .btn-stc:hover{background-color:#114a7d!important}.angular-skin .btn-stc.active{background-color:#02080d!important}.angular-skin .form-header-custom{background:#1b95c1!important}#billing_vat_field label{font-size:1.2rem;font-weight:500}div.dropdown-wrapper{position:relative;width:100%;height:0}ul.search-dropdown{position:absolute;top:-20px;width:100%;background-color:#293a48;padding:20px 0;z-index:100}ul.search-dropdown li{padding:0 5px}ul.search-dropdown li a{color:#fff;line-height:30px;height:30px}ul.search-dropdown li a:hover{background:rgba(0,0,0,.12)}.variations_form label{width:100%;font-size:.7rem;padding:.85rem 1.5rem}.variations_form .btn-group .btn+.btn{margin-left:0!important}@media (min-width:992px){.variations_form label{width:50%}}@media (min-width:1200px){.variations_form label{width:auto}}.variations_form label.active .fa{margin-left:7px;font-size:.9rem;color:#fff}.woocommerce-MyAccount-navigation ul{padding:.7rem;margin-left:1rem;margin-right:1rem;position:relative}.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link{display:inline-block}.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link a{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;color:#666;text-align:center;padding:10px}.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link:not(.is-active) a:hover{background:rgba(158,158,158,.3)}.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link.is-active a{background:#3F729B;color:#fff;-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15);box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15)}.error404{min-height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.error404 main{-webkit-box-flex:2;-webkit-flex:2 0 auto;-ms-flex:2 0 auto;flex:2 0 auto}#wpadminbar{top:auto;bottom:0}@media screen and (max-width:600px){#wpadminbar{position:fixed}}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{bottom:32px}@media screen and (max-width:782px){#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{bottom:46px}}@media screen and (min-width:783px){.admin-bar.masthead-fixed .site-header{top:0}}img[alt=amex]{display:none!important}.header-breadcrumb .breadcrumb-item.active{color:rgba(255,255,255,.65)}.reviews-rating{display:inline-block;width:184px;height:28px;background-image:url(https://mdbootstrap.com/img/Others/stars.png);background-repeat:no-repeat}.stars-5{background-position:-15px -22px}.stars-4{background-position:-15px -76px}.stars-3{background-position:-15px -134px}.stars-2{background-position:-15px -190px}.stars-1{background-position:-15px -248px}@media (max-width:760px){.modal-backdrop,.side-modal{display:none!important}}.main-title:before,.title:before{display:block;height:6rem;margin-top:-6rem;visibility:hidden;content:""}#scrollspy{width:100%}#scrollspy a{font-size:.9rem}.scrollspy-col{margin-left:6%}.main-title{font-size:3.5rem}.title{margin-bottom:1rem}.fa,.fa-stack{display:inline-block}.description{margin-bottom:2rem}.related-content-heading{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;overflow:visible;padding-top:.5rem;padding-bottom:.3125rem;margin-right:1rem;line-height:inherit;white-space:nowrap}.fa.fa-pull-left,.fa.pull-left{margin-right:.3em}@font-face{font-family:FontAwesome;src:url(../font/fa/fontawesome-webfont.eot?v=4.7.0);src:url(../font/fa/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(../font/fa/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(../font/fa/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(../font/fa/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(../font/fa/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa.fa-pull-right,.fa.pull-right{margin-left:.3em}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right,.pull-right{float:right}.pull-left{float:left}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{position:relative;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.dwqa-search,.dwqa-user-block{margin-bottom:3rem}.dwqa-search{margin-right:1.8rem}.dwqa-sort-by{margin-top:-20px}.wp-editor-area{height:300px}.btn-submit-dwqa,.dwqa-btn-primary{font-size:1rem;padding:.2rem 1rem;margin-bottom:3rem}.dwqa-leaderboard{list-style:none}.dwqa-leaderboard img{border-radius:50%;-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15);box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15);float:left;margin-right:20px}.dwqa-user-header{font-size:1.1rem}.dwqa-container .rounded,.dwqa-container label{font-weight:500;font-size:1.25rem;text-align:center}.dwqa-container .rounded{margin-bottom:2rem} \ No newline at end of file diff --git a/angular7demo/src/assets/js/compiled.min.js b/angular7demo/src/assets/js/compiled.min.js new file mode 100644 index 0000000..fdd5eb8 --- /dev/null +++ b/angular7demo/src/assets/js/compiled.min.js @@ -0,0 +1 @@ +function dropdownEffectData(e){var t=null,n=null,i=$(e),o=$(".dropdown-menu",e),r=i.parents("ul.nav");return r.height>0&&(t=r.data("dropdown-in")||null,n=r.data("dropdown-out")||null),{target:e,dropdown:i,dropdownMenu:o,effectIn:o.data("dropdown-in")||t,effectOut:o.data("dropdown-out")||n}}function dropdownEffectStart(e,t){t&&(e.dropdown.addClass("dropdown-animating"),e.dropdownMenu.addClass("animated"),e.dropdownMenu.addClass(t))}function dropdownEffectEnd(e,t){e.dropdown.one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){e.dropdown.removeClass("dropdown-animating"),e.dropdownMenu.removeClass("animated"),e.dropdownMenu.removeClass(e.effectIn),e.dropdownMenu.removeClass(e.effectOut),"function"==typeof t&&t()})}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function get_social_counts(){var e=window.location.protocol+"//"+window.location.host+window.location.pathname;$.ajax({type:"GET",url:"https://mdbootstrap.com/wp-content/themes/mdbootstrap4/inc/get_social_counts.php?thisurl="+e,dataType:"json",success:function(e){var t=document.getElementById("dom-target-fb"),n=t.textContent,i=(t=document.getElementById("dom-target-tw")).textContent,o=(t=document.getElementById("dom-target-gp")).textContent;n.valueOf(),e.facebook,i.valueOf(),e.twitter,o.valueOf(),e.gplus}}),fbShare>0?$("#facebook-span").text(fbShare):$("#facebook-span").hide(),$("#twitter-span").html(twShare),$("#gplus-span").html(gpShare)}function loadTemplatesBy(e,t){$.post(ajax_object.ajaxurl,{action:"ajax_action",category:e},function(t){console.log(e),$("#products").html(t)})}if(function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){var n=(t=t||ee).createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function i(e){var t=!!e&&"length"in e&&e.length,n=he.type(e);return"function"!==n&&!he.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function o(e,t,n){return he.isFunction(t)?he.grep(e,function(e,i){return!!t.call(e,i,e)!==n}):t.nodeType?he.grep(e,function(e){return e===t!==n}):"string"!=typeof t?he.grep(e,function(e){return re.call(t,e)>-1!==n}):Ce.test(t)?he.filter(t,e,n):(t=he.filter(t,e),he.grep(e,function(e){return re.call(t,e)>-1!==n&&1===e.nodeType}))}function r(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t={};return he.each(e.match(Ee)||[],function(e,n){t[n]=!0}),t}function s(e){return e}function l(e){throw e}function c(e,t,n){var i;try{e&&he.isFunction(i=e.promise)?i.call(e).done(t).fail(n):e&&he.isFunction(i=e.then)?i.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function u(){ee.removeEventListener("DOMContentLoaded",u),e.removeEventListener("load",u),he.ready()}function d(){this.expando=he.expando+d.uid++}function h(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Le.test(e)?JSON.parse(e):e)}function f(e,t,n){var i;if(void 0===n&&1===e.nodeType)if(i="data-"+t.replace(Fe,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(i))){try{n=h(n)}catch(e){}Me.set(e,t,n)}else n=void 0;return n}function p(e,t,n,i){var o,r=1,a=20,s=i?function(){return i.cur()}:function(){return he.css(e,t,"")},l=s(),c=n&&n[3]||(he.cssNumber[t]?"":"px"),u=(he.cssNumber[t]||"px"!==c&&+l)&&Re.exec(he.css(e,t));if(u&&u[3]!==c){c=c||u[3],n=n||[],u=+l||1;do{u/=r=r||".5",he.style(e,t,u+c)}while(r!==(r=s()/l)&&1!==r&&--a)}return n&&(u=+u||+l||0,o=n[1]?u+(n[1]+1)*n[2]:+n[2],i&&(i.unit=c,i.start=u,i.end=o)),o}function m(e){var t,n=e.ownerDocument,i=e.nodeName,o=je[i];return o||(t=n.body.appendChild(n.createElement(i)),o=he.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),je[i]=o,o)}function g(e,t){for(var n,i,o=[],r=0,a=e.length;r-1)o&&o.push(r);else if(c=he.contains(r.ownerDocument,r),a=v(d.appendChild(r),"script"),c&&y(a),n)for(u=0;r=a[u++];)qe.test(r.type||"")&&n.push(r);return d}function x(){return!0}function w(){return!1}function C(){try{return ee.activeElement}catch(e){}}function k(e,t,n,i,o,r){var a,s;if("object"==typeof t){"string"!=typeof n&&(i=i||n,n=void 0);for(s in t)k(e,s,n,i,t[s],r);return e}if(null==i&&null==o?(o=n,i=n=void 0):null==o&&("string"==typeof n?(o=i,i=void 0):(o=i,i=n,n=void 0)),!1===o)o=w;else if(!o)return e;return 1===r&&(a=o,(o=function(e){return he().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=he.guid++)),e.each(function(){he.event.add(this,t,o,i,n)})}function T(e,t){return he.nodeName(e,"table")&&he.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function _(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function S(e){var t=et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function E(e,t){var n,i,o,r,a,s,l,c;if(1===t.nodeType){if(Pe.hasData(e)&&(r=Pe.access(e),a=Pe.set(t,r),c=r.events)){delete a.handle,a.events={};for(o in c)for(n=0,i=c[o].length;n1&&"string"==typeof p&&!de.checkClone&&Je.test(p))return e.each(function(n){var r=e.eq(n);m&&(t[0]=p.call(this,n,r.html())),I(r,t,i,o)});if(h&&(r=b(t,e[0].ownerDocument,!1,e,o),a=r.firstChild,1===r.childNodes.length&&(r=a),a||o)){for(l=(s=he.map(v(r,"script"),_)).length;d=0&&nw.cacheLength&&delete e[t.shift()],e[n+" "]=i}var t=[];return e}function i(e){return e[W]=!0,e}function o(e){var t=O.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function r(e,t){for(var n=e.split("|"),i=n.length;i--;)w.attrHandle[n[i]]=t}function a(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&Ce(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function l(e){return i(function(t){return t=+t,i(function(n,i){for(var o,r=e([],n.length,t),a=r.length;a--;)n[o=r[a]]&&(n[o]=!(i[o]=n[o]))})})}function c(e){return e&&void 0!==e.getElementsByTagName&&e}function u(){}function d(e){for(var t=0,n=e.length,i="";t1?function(t,n,i){for(var o=e.length;o--;)if(!e[o](t,n,i))return!1;return!0}:e[0]}function p(e,n,i){for(var o=0,r=n.length;o-1&&(i[c]=!(a[c]=d))}}else b=m(b===a?b.splice(g,b.length):b),r?r(null,a,b,l):G.apply(a,b)})}function v(e){for(var t,n,i,o=e.length,r=w.relative[e[0].type],a=r||w.relative[" "],s=r?1:0,l=h(function(e){return e===t},a,!0),c=h(function(e){return Z(t,e)>-1},a,!0),u=[function(e,n,i){var o=!r&&(i||n!==E)||((t=n).nodeType?l(e,n,i):c(e,n,i));return t=null,o}];s1&&f(u),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(re,"$1"),n,s0,r=e.length>0,a=function(i,a,s,l,c){var u,d,h,f=0,p="0",g=i&&[],v=[],y=E,b=i||r&&w.find.TAG("*",c),x=V+=null==y?1:Math.random()||.1,C=b.length;for(c&&(E=a===O||a||c);p!==C&&null!=(u=b[p]);p++){if(r&&u){for(d=0,a||u.ownerDocument===O||(D(u),s=!M);h=e[d++];)if(h(u,a||O,s)){l.push(u);break}c&&(V=x)}o&&((u=!h&&u)&&f--,i&&g.push(u))}if(f+=p,o&&p!==f){for(d=0;h=n[d++];)h(g,v,a,s);if(i){if(f>0)for(;p--;)g[p]||v[p]||(v[p]=U.call(l));v=m(v)}G.apply(l,v),c&&!i&&v.length>0&&f+n.length>1&&t.uniqueSort(l)}return c&&(V=x,E=y),g};return o?i(a):a}var b,x,w,C,k,T,_,S,E,A,I,D,O,P,M,L,F,N,R,W="sizzle"+1*new Date,H=e.document,V=0,j=0,B=n(),z=n(),q=n(),$=function(e,t){return e===t&&(I=!0),0},Y={}.hasOwnProperty,X=[],U=X.pop,Q=X.push,G=X.push,K=X.slice,Z=function(e,t){for(var n=0,i=e.length;n+~]|"+ee+")"+ee+"*"),le=new RegExp("="+ee+"*([^\\]'\"]*?)"+ee+"*\\]","g"),ce=new RegExp(ie),ue=new RegExp("^"+te+"$"),de={ID:new RegExp("^#("+te+")"),CLASS:new RegExp("^\\.("+te+")"),TAG:new RegExp("^("+te+"|[*])"),ATTR:new RegExp("^"+ne),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ee+"*(even|odd|(([+-]|)(\\d*)n|)"+ee+"*(?:([+-]|)"+ee+"*(\\d+)|))"+ee+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+ee+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ee+"*((?:-\\d)?\\d*)"+ee+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,fe=/^h\d$/i,pe=/^[^{]+\{\s*\[native \w/,me=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ge=/[+~]/,ve=new RegExp("\\\\([\\da-f]{1,6}"+ee+"?|("+ee+")|.)","ig"),ye=function(e,t,n){var i="0x"+t-65536;return i!==i||n?t:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},be=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,xe=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},we=function(){D()},Ce=h(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{G.apply(X=K.call(H.childNodes),H.childNodes),X[H.childNodes.length].nodeType}catch(e){G={apply:X.length?function(e,t){Q.apply(e,K.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}x=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},D=t.setDocument=function(e){var t,n,i=e?e.ownerDocument||e:H;return i!==O&&9===i.nodeType&&i.documentElement?(O=i,P=O.documentElement,M=!k(O),H!==O&&(n=O.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",we,!1):n.attachEvent&&n.attachEvent("onunload",we)),x.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),x.getElementsByTagName=o(function(e){return e.appendChild(O.createComment("")),!e.getElementsByTagName("*").length}),x.getElementsByClassName=pe.test(O.getElementsByClassName),x.getById=o(function(e){return P.appendChild(e).id=W,!O.getElementsByName||!O.getElementsByName(W).length}),x.getById?(w.filter.ID=function(e){var t=e.replace(ve,ye);return function(e){return e.getAttribute("id")===t}},w.find.ID=function(e,t){if(void 0!==t.getElementById&&M){var n=t.getElementById(e);return n?[n]:[]}}):(w.filter.ID=function(e){var t=e.replace(ve,ye);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},w.find.ID=function(e,t){if(void 0!==t.getElementById&&M){var n,i,o,r=t.getElementById(e);if(r){if((n=r.getAttributeNode("id"))&&n.value===e)return[r];for(o=t.getElementsByName(e),i=0;r=o[i++];)if((n=r.getAttributeNode("id"))&&n.value===e)return[r]}return[]}}),w.find.TAG=x.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):x.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],o=0,r=t.getElementsByTagName(e);if("*"===e){for(;n=r[o++];)1===n.nodeType&&i.push(n);return i}return r},w.find.CLASS=x.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&M)return t.getElementsByClassName(e)},F=[],L=[],(x.qsa=pe.test(O.querySelectorAll))&&(o(function(e){P.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&L.push("[*^$]="+ee+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||L.push("\\["+ee+"*(?:value|"+J+")"),e.querySelectorAll("[id~="+W+"-]").length||L.push("~="),e.querySelectorAll(":checked").length||L.push(":checked"),e.querySelectorAll("a#"+W+"+*").length||L.push(".#.+[+~]")}),o(function(e){e.innerHTML="";var t=O.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&L.push("name"+ee+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&L.push(":enabled",":disabled"),P.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&L.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),L.push(",.*:")})),(x.matchesSelector=pe.test(N=P.matches||P.webkitMatchesSelector||P.mozMatchesSelector||P.oMatchesSelector||P.msMatchesSelector))&&o(function(e){x.disconnectedMatch=N.call(e,"*"),N.call(e,"[s!='']:x"),F.push("!=",ie)}),L=L.length&&new RegExp(L.join("|")),F=F.length&&new RegExp(F.join("|")),t=pe.test(P.compareDocumentPosition),R=t||pe.test(P.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},$=t?function(e,t){if(e===t)return I=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!x.sortDetached&&t.compareDocumentPosition(e)===n?e===O||e.ownerDocument===H&&R(H,e)?-1:t===O||t.ownerDocument===H&&R(H,t)?1:A?Z(A,e)-Z(A,t):0:4&n?-1:1)}:function(e,t){if(e===t)return I=!0,0;var n,i=0,o=e.parentNode,r=t.parentNode,s=[e],l=[t];if(!o||!r)return e===O?-1:t===O?1:o?-1:r?1:A?Z(A,e)-Z(A,t):0;if(o===r)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)l.unshift(n);for(;s[i]===l[i];)i++;return i?a(s[i],l[i]):s[i]===H?-1:l[i]===H?1:0},O):O},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==O&&D(e),n=n.replace(le,"='$1']"),x.matchesSelector&&M&&!q[n+" "]&&(!F||!F.test(n))&&(!L||!L.test(n)))try{var i=N.call(e,n);if(i||x.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(e){}return t(n,O,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==O&&D(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==O&&D(e);var n=w.attrHandle[t.toLowerCase()],i=n&&Y.call(w.attrHandle,t.toLowerCase())?n(e,t,!M):void 0;return void 0!==i?i:x.attributes||!M?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},t.escape=function(e){return(e+"").replace(be,xe)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],i=0,o=0;if(I=!x.detectDuplicates,A=!x.sortStable&&e.slice(0),e.sort($),I){for(;t=e[o++];)t===e[o]&&(i=n.push(o));for(;i--;)e.splice(n[i],1)}return A=null,e},C=t.getText=function(e){var t,n="",i=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[i++];)n+=C(t);return n},(w=t.selectors={cacheLength:50,createPseudo:i,match:de,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(ve,ye),e[3]=(e[3]||e[4]||e[5]||"").replace(ve,ye),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return de.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&ce.test(n)&&(t=T(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(ve,ye).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=B[e+" "];return t||(t=new RegExp("(^|"+ee+")"+e+"("+ee+"|$)"))&&B(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,i){return function(o){var r=t.attr(o,e);return null==r?"!="===n:!n||(r+="","="===n?r===i:"!="===n?r!==i:"^="===n?i&&0===r.indexOf(i):"*="===n?i&&r.indexOf(i)>-1:"$="===n?i&&r.slice(-i.length)===i:"~="===n?(" "+r.replace(oe," ")+" ").indexOf(i)>-1:"|="===n&&(r===i||r.slice(0,i.length+1)===i+"-"))}},CHILD:function(e,t,n,i,o){var r="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===i&&0===o?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,h,f,p,m=r!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s,b=!1;if(g){if(r){for(;m;){for(h=t;h=h[m];)if(s?h.nodeName.toLowerCase()===v:1===h.nodeType)return!1;p=m="only"===e&&!p&&"nextSibling"}return!0}if(p=[a?g.firstChild:g.lastChild],a&&y){for(b=(f=(c=(u=(d=(h=g)[W]||(h[W]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===V&&c[1])&&c[2],h=f&&g.childNodes[f];h=++f&&h&&h[m]||(b=f=0)||p.pop();)if(1===h.nodeType&&++b&&h===t){u[e]=[V,f,b];break}}else if(y&&(b=f=(c=(u=(d=(h=t)[W]||(h[W]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===V&&c[1]),!1===b)for(;(h=++f&&h&&h[m]||(b=f=0)||p.pop())&&((s?h.nodeName.toLowerCase()!==v:1!==h.nodeType)||!++b||(y&&((u=(d=h[W]||(h[W]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]=[V,b]),h!==t)););return(b-=o)===i||b%i==0&&b/i>=0}}},PSEUDO:function(e,n){var o,r=w.pseudos[e]||w.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return r[W]?r(n):r.length>1?(o=[e,e,"",n],w.setFilters.hasOwnProperty(e.toLowerCase())?i(function(e,t){for(var i,o=r(e,n),a=o.length;a--;)e[i=Z(e,o[a])]=!(t[i]=o[a])}):function(e){return r(e,0,o)}):r}},pseudos:{not:i(function(e){var t=[],n=[],o=_(e.replace(re,"$1"));return o[W]?i(function(e,t,n,i){for(var r,a=o(e,null,i,[]),s=e.length;s--;)(r=a[s])&&(e[s]=!(t[s]=r))}):function(e,i,r){return t[0]=e,o(t,null,r,n),t[0]=null,!n.pop()}}),has:i(function(e){return function(n){return t(e,n).length>0}}),contains:i(function(e){return e=e.replace(ve,ye),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:i(function(e){return ue.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(ve,ye).toLowerCase(),function(t){var n;do{if(n=M?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===P},focus:function(e){return e===O.activeElement&&(!O.hasFocus||O.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:s(!1),disabled:s(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!w.pseudos.empty(e)},header:function(e){return fe.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n=0;)e.push(i);return e}),gt:l(function(e,t,n){for(var i=n<0?n+t:n;++i2&&"ID"===(a=r[0]).type&&9===t.nodeType&&M&&w.relative[r[1].type]){if(!(t=(w.find.ID(a.matches[0].replace(ve,ye),t)||[])[0]))return n;u&&(t=t.parentNode),e=e.slice(r.shift().value.length)}for(o=de.needsContext.test(e)?0:r.length;o--&&(a=r[o],!w.relative[s=a.type]);)if((l=w.find[s])&&(i=l(a.matches[0].replace(ve,ye),ge.test(r[0].type)&&c(t.parentNode)||t))){if(r.splice(o,1),!(e=i.length&&d(r)))return G.apply(n,i),n;break}}return(u||_(e,h))(i,t,!M,n,!t||ge.test(e)&&c(t.parentNode)||t),n},x.sortStable=W.split("").sort($).join("")===W,x.detectDuplicates=!!I,D(),x.sortDetached=o(function(e){return 1&e.compareDocumentPosition(O.createElement("fieldset"))}),o(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||r("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),x.attributes&&o(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||r("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||r(J,function(e,t,n){var i;if(!n)return!0===e[t]?t.toLowerCase():(i=e.getAttributeNode(t))&&i.specified?i.value:null}),t}(e);he.find=ve,he.expr=ve.selectors,he.expr[":"]=he.expr.pseudos,he.uniqueSort=he.unique=ve.uniqueSort,he.text=ve.getText,he.isXMLDoc=ve.isXML,he.contains=ve.contains,he.escapeSelector=ve.escape;var ye=function(e,t,n){for(var i=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&he(e).is(n))break;i.push(e)}return i},be=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},xe=he.expr.match.needsContext,we=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,Ce=/^.[^:#\[\.,]*$/;he.filter=function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?he.find.matchesSelector(i,e)?[i]:[]:he.find.matches(e,he.grep(t,function(e){return 1===e.nodeType}))},he.fn.extend({find:function(e){var t,n,i=this.length,o=this;if("string"!=typeof e)return this.pushStack(he(e).filter(function(){for(t=0;t1?he.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&xe.test(e)?he(e):e||[],!1).length}});var ke,Te=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(he.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||ke,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Te.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof he?t[0]:t,he.merge(this,he.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:ee,!0)),we.test(i[1])&&he.isPlainObject(t))for(i in t)he.isFunction(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=ee.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):he.isFunction(e)?void 0!==n.ready?n.ready(e):e(he):he.makeArray(e,this)}).prototype=he.fn,ke=he(ee);var _e=/^(?:parents|prev(?:Until|All))/,Se={children:!0,contents:!0,next:!0,prev:!0};he.fn.extend({has:function(e){var t=he(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&he.find.matchesSelector(n,e))){r.push(n);break}return this.pushStack(r.length>1?he.uniqueSort(r):r)},index:function(e){return e?"string"==typeof e?re.call(he(e),this[0]):re.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(he.uniqueSort(he.merge(this.get(),he(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),he.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return ye(e,"parentNode")},parentsUntil:function(e,t,n){return ye(e,"parentNode",n)},next:function(e){return r(e,"nextSibling")},prev:function(e){return r(e,"previousSibling")},nextAll:function(e){return ye(e,"nextSibling")},prevAll:function(e){return ye(e,"previousSibling")},nextUntil:function(e,t,n){return ye(e,"nextSibling",n)},prevUntil:function(e,t,n){return ye(e,"previousSibling",n)},siblings:function(e){return be((e.parentNode||{}).firstChild,e)},children:function(e){return be(e.firstChild)},contents:function(e){return e.contentDocument||he.merge([],e.childNodes)}},function(e,t){he.fn[e]=function(n,i){var o=he.map(this,t,n);return"Until"!==e.slice(-5)&&(i=n),i&&"string"==typeof i&&(o=he.filter(i,o)),this.length>1&&(Se[e]||he.uniqueSort(o),_e.test(e)&&o.reverse()),this.pushStack(o)}});var Ee=/[^\x20\t\r\n\f]+/g;he.Callbacks=function(e){e="string"==typeof e?a(e):he.extend({},e);var t,n,i,o,r=[],s=[],l=-1,c=function(){for(o=e.once,i=t=!0;s.length;l=-1)for(n=s.shift();++l-1;)r.splice(n,1),n<=l&&l--}),this},has:function(e){return e?he.inArray(e,r)>-1:r.length>0},empty:function(){return r&&(r=[]),this},disable:function(){return o=s=[],r=n="",this},disabled:function(){return!r},lock:function(){return o=s=[],n||t||(r=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=[e,(n=n||[]).slice?n.slice():n],s.push(n),t||c()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!i}};return u},he.extend({Deferred:function(t){var n=[["notify","progress",he.Callbacks("memory"),he.Callbacks("memory"),2],["resolve","done",he.Callbacks("once memory"),he.Callbacks("once memory"),0,"resolved"],["reject","fail",he.Callbacks("once memory"),he.Callbacks("once memory"),1,"rejected"]],i="pending",o={state:function(){return i},always:function(){return r.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return he.Deferred(function(t){he.each(n,function(n,i){var o=he.isFunction(e[i[4]])&&e[i[4]];r[i[1]](function(){var e=o&&o.apply(this,arguments);e&&he.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[i[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,i,o){function r(t,n,i,o){return function(){var c=this,u=arguments,d=function(){var e,d;if(!(t=a&&(i!==l&&(c=void 0,u=[e]),n.rejectWith(c,u))}};t?h():(he.Deferred.getStackHook&&(h.stackTrace=he.Deferred.getStackHook()),e.setTimeout(h))}}var a=0;return he.Deferred(function(e){n[0][3].add(r(0,e,he.isFunction(o)?o:s,e.notifyWith)),n[1][3].add(r(0,e,he.isFunction(t)?t:s)),n[2][3].add(r(0,e,he.isFunction(i)?i:l))}).promise()},promise:function(e){return null!=e?he.extend(e,o):o}},r={};return he.each(n,function(e,t){var a=t[2],s=t[5];o[t[1]]=a.add,s&&a.add(function(){i=s},n[3-e][2].disable,n[0][2].lock),a.add(t[3].fire),r[t[0]]=function(){return r[t[0]+"With"](this===r?void 0:this,arguments),this},r[t[0]+"With"]=a.fireWith}),o.promise(r),t&&t.call(r,r),r},when:function(e){var t=arguments.length,n=t,i=Array(n),o=ne.call(arguments),r=he.Deferred(),a=function(e){return function(n){i[e]=this,o[e]=arguments.length>1?ne.call(arguments):n,--t||r.resolveWith(i,o)}};if(t<=1&&(c(e,r.done(a(n)).resolve,r.reject),"pending"===r.state()||he.isFunction(o[n]&&o[n].then)))return r.then();for(;n--;)c(o[n],a(n),r.reject);return r.promise()}});var Ae=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;he.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&Ae.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},he.readyException=function(t){e.setTimeout(function(){throw t})};var Ie=he.Deferred();he.fn.ready=function(e){return Ie.then(e).catch(function(e){he.readyException(e)}),this},he.extend({isReady:!1,readyWait:1,holdReady:function(e){e?he.readyWait++:he.ready(!0)},ready:function(e){(!0===e?--he.readyWait:he.isReady)||(he.isReady=!0,!0!==e&&--he.readyWait>0||Ie.resolveWith(ee,[he]))}}),he.ready.then=Ie.then,"complete"===ee.readyState||"loading"!==ee.readyState&&!ee.documentElement.doScroll?e.setTimeout(he.ready):(ee.addEventListener("DOMContentLoaded",u),e.addEventListener("load",u));var De=function(e,t,n,i,o,r,a){var s=0,l=e.length,c=null==n;if("object"===he.type(n)){o=!0;for(s in n)De(e,t,s,n[s],!0,r,a)}else if(void 0!==i&&(o=!0,he.isFunction(i)||(a=!0),c&&(a?(t.call(e,i),t=null):(c=t,t=function(e,t,n){return c.call(he(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){Me.remove(this,e)})}}),he.extend({queue:function(e,t,n){var i;if(e)return t=(t||"fx")+"queue",i=Pe.get(e,t),n&&(!i||he.isArray(n)?i=Pe.access(e,t,he.makeArray(n)):i.push(n)),i||[]},dequeue:function(e,t){t=t||"fx";var n=he.queue(e,t),i=n.length,o=n.shift(),r=he._queueHooks(e,t);"inprogress"===o&&(o=n.shift(),i--),o&&("fx"===t&&n.unshift("inprogress"),delete r.stop,o.call(e,function(){he.dequeue(e,t)},r)),!i&&r&&r.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Pe.get(e,n)||Pe.access(e,n,{empty:he.Callbacks("once memory").add(function(){Pe.remove(e,[t+"queue",n])})})}}),he.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,qe=/^$|\/(?:java|ecma)script/i,$e={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};$e.optgroup=$e.option,$e.tbody=$e.tfoot=$e.colgroup=$e.caption=$e.thead,$e.th=$e.td;var Ye=/<|&#?\w+;/;!function(){var e=ee.createDocumentFragment().appendChild(ee.createElement("div")),t=ee.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),de.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",de.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var Xe=ee.documentElement,Ue=/^key/,Qe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ge=/^([^.]*)(?:\.(.+)|)/;he.event={global:{},add:function(e,t,n,i,o){var r,a,s,l,c,u,d,h,f,p,m,g=Pe.get(e);if(g)for(n.handler&&(n=(r=n).handler,o=r.selector),o&&he.find.matchesSelector(Xe,o),n.guid||(n.guid=he.guid++),(l=g.events)||(l=g.events={}),(a=g.handle)||(a=g.handle=function(t){return void 0!==he&&he.event.triggered!==t.type?he.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||"").match(Ee)||[""]).length;c--;)f=m=(s=Ge.exec(t[c])||[])[1],p=(s[2]||"").split(".").sort(),f&&(d=he.event.special[f]||{},f=(o?d.delegateType:d.bindType)||f,d=he.event.special[f]||{},u=he.extend({type:f,origType:m,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&he.expr.match.needsContext.test(o),namespace:p.join(".")},r),(h=l[f])||((h=l[f]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,i,p,a)||e.addEventListener&&e.addEventListener(f,a)),d.add&&(d.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),o?h.splice(h.delegateCount++,0,u):h.push(u),he.event.global[f]=!0)},remove:function(e,t,n,i,o){var r,a,s,l,c,u,d,h,f,p,m,g=Pe.hasData(e)&&Pe.get(e);if(g&&(l=g.events)){for(c=(t=(t||"").match(Ee)||[""]).length;c--;)if(s=Ge.exec(t[c])||[],f=m=s[1],p=(s[2]||"").split(".").sort(),f){for(d=he.event.special[f]||{},h=l[f=(i?d.delegateType:d.bindType)||f]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=r=h.length;r--;)u=h[r],!o&&m!==u.origType||n&&n.guid!==u.guid||s&&!s.test(u.namespace)||i&&i!==u.selector&&("**"!==i||!u.selector)||(h.splice(r,1),u.selector&&h.delegateCount--,d.remove&&d.remove.call(e,u));a&&!h.length&&(d.teardown&&!1!==d.teardown.call(e,p,g.handle)||he.removeEvent(e,f,g.handle),delete l[f])}else for(f in l)he.event.remove(e,f+t[c],n,i,!0);he.isEmptyObject(l)&&Pe.remove(e,"handle events")}},dispatch:function(e){var t,n,i,o,r,a,s=he.event.fix(e),l=new Array(arguments.length),c=(Pe.get(this,"events")||{})[s.type]||[],u=he.event.special[s.type]||{};for(l[0]=s,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(r=[],a={},n=0;n-1:he.find(o,this,null,[c]).length),a[o]&&r.push(i);r.length&&s.push({elem:c,handlers:r})}return c=this,l\x20\t\r\n\f]*)[^>]*)\/>/gi,Ze=/\s*$/g;he.extend({htmlPrefilter:function(e){return e.replace(Ke,"<$1>")},clone:function(e,t,n){var i,o,r,a,s=e.cloneNode(!0),l=he.contains(e.ownerDocument,e);if(!(de.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||he.isXMLDoc(e)))for(a=v(s),i=0,o=(r=v(e)).length;i0&&y(a,!l&&v(e,"script")),s},cleanData:function(e){for(var t,n,i,o=he.event.special,r=0;void 0!==(n=e[r]);r++)if(Oe(n)){if(t=n[Pe.expando]){if(t.events)for(i in t.events)o[i]?he.event.remove(n,i):he.removeEvent(n,i,t.handle);n[Pe.expando]=void 0}n[Me.expando]&&(n[Me.expando]=void 0)}}}),he.fn.extend({detach:function(e){return D(this,e,!0)},remove:function(e){return D(this,e)},text:function(e){return De(this,function(e){return void 0===e?he.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return I(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||T(this,e).appendChild(e)})},prepend:function(){return I(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return I(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return I(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(he.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return he.clone(this,e,t)})},html:function(e){return De(this,function(e){var t=this[0]||{},n=0,i=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ze.test(e)&&!$e[(ze.exec(e)||["",""])[1].toLowerCase()]){e=he.htmlPrefilter(e);try{for(;n1)}}),he.Tween=R,R.prototype={constructor:R,init:function(e,t,n,i,o,r){this.elem=e,this.prop=n,this.easing=o||he.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=r||(he.cssNumber[n]?"":"px")},cur:function(){var e=R.propHooks[this.prop];return e&&e.get?e.get(this):R.propHooks._default.get(this)},run:function(e){var t,n=R.propHooks[this.prop];return this.options.duration?this.pos=t=he.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):R.propHooks._default.set(this),this}},R.prototype.init.prototype=R.prototype,R.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=he.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){he.fx.step[e.prop]?he.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[he.cssProps[e.prop]]&&!he.cssHooks[e.prop]?e.elem[e.prop]=e.now:he.style(e.elem,e.prop,e.now+e.unit)}}},R.propHooks.scrollTop=R.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},he.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},he.fx=R.prototype.init,he.fx.step={};var ut,dt,ht=/^(?:toggle|show|hide)$/,ft=/queueHooks$/;he.Animation=he.extend(z,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return p(n.elem,e,Re.exec(t),n),n}]},tweener:function(e,t){he.isFunction(e)?(t=e,e=["*"]):e=e.match(Ee);for(var n,i=0,o=e.length;i1)},removeAttr:function(e){return this.each(function(){he.removeAttr(this,e)})}}),he.extend({attr:function(e,t,n){var i,o,r=e.nodeType;if(3!==r&&8!==r&&2!==r)return void 0===e.getAttribute?he.prop(e,t,n):(1===r&&he.isXMLDoc(e)||(o=he.attrHooks[t.toLowerCase()]||(he.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void he.removeAttr(e,t):o&&"set"in o&&void 0!==(i=o.set(e,n,t))?i:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(i=o.get(e,t))?i:(i=he.find.attr(e,t),null==i?void 0:i))},attrHooks:{type:{set:function(e,t){if(!de.radioValue&&"radio"===t&&he.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,i=0,o=t&&t.match(Ee);if(o&&1===e.nodeType)for(;n=o[i++];)e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?he.removeAttr(e,n):e.setAttribute(n,n),n}},he.each(he.expr.match.bool.source.match(/\w+/g),function(e,t){var n=mt[t]||he.find.attr;mt[t]=function(e,t,i){var o,r,a=t.toLowerCase();return i||(r=mt[a],mt[a]=o,o=null!=n(e,t,i)?a:null,mt[a]=r),o}});var gt=/^(?:input|select|textarea|button)$/i,vt=/^(?:a|area)$/i;he.fn.extend({prop:function(e,t){return De(this,he.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[he.propFix[e]||e]})}}),he.extend({prop:function(e,t,n){var i,o,r=e.nodeType;if(3!==r&&8!==r&&2!==r)return 1===r&&he.isXMLDoc(e)||(t=he.propFix[t]||t,o=he.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(i=o.set(e,n,t))?i:e[t]=n:o&&"get"in o&&null!==(i=o.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){var t=he.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||vt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),de.optSelected||(he.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),he.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){he.propFix[this.toLowerCase()]=this}),he.fn.extend({addClass:function(e){var t,n,i,o,r,a,s,l=0;if(he.isFunction(e))return this.each(function(t){he(this).addClass(e.call(this,t,$(this)))});if("string"==typeof e&&e)for(t=e.match(Ee)||[];n=this[l++];)if(o=$(n),i=1===n.nodeType&&" "+q(o)+" "){for(a=0;r=t[a++];)i.indexOf(" "+r+" ")<0&&(i+=r+" ");o!==(s=q(i))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,i,o,r,a,s,l=0;if(he.isFunction(e))return this.each(function(t){he(this).removeClass(e.call(this,t,$(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(Ee)||[];n=this[l++];)if(o=$(n),i=1===n.nodeType&&" "+q(o)+" "){for(a=0;r=t[a++];)for(;i.indexOf(" "+r+" ")>-1;)i=i.replace(" "+r+" "," ");o!==(s=q(i))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):he.isFunction(e)?this.each(function(n){he(this).toggleClass(e.call(this,n,$(this),t),t)}):this.each(function(){var t,i,o,r;if("string"===n)for(i=0,o=he(this),r=e.match(Ee)||[];t=r[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=$(this))&&Pe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Pe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,i=0;for(t=" "+e+" ";n=this[i++];)if(1===n.nodeType&&(" "+q($(n))+" ").indexOf(t)>-1)return!0;return!1}});var yt=/\r/g;he.fn.extend({val:function(e){var t,n,i,o=this[0];{if(arguments.length)return i=he.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(null==(o=i?e.call(this,n,he(this).val()):e)?o="":"number"==typeof o?o+="":he.isArray(o)&&(o=he.map(o,function(e){return null==e?"":e+""})),(t=he.valHooks[this.type]||he.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return(t=he.valHooks[o.type]||he.valHooks[o.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(yt,""):null==n?"":n)}}}),he.extend({valHooks:{option:{get:function(e){var t=he.find.attr(e,"value");return null!=t?t:q(he.text(e))}},select:{get:function(e){var t,n,i,o=e.options,r=e.selectedIndex,a="select-one"===e.type,s=a?null:[],l=a?r+1:o.length;for(i=r<0?l:a?r:0;i-1)&&(n=!0);return n||(e.selectedIndex=-1),r}}}}),he.each(["radio","checkbox"],function(){he.valHooks[this]={set:function(e,t){if(he.isArray(t))return e.checked=he.inArray(he(e).val(),t)>-1}},de.checkOn||(he.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var bt=/^(?:focusinfocus|focusoutblur)$/;he.extend(he.event,{trigger:function(t,n,i,o){var r,a,s,l,c,u,d,h=[i||ee],f=le.call(t,"type")?t.type:t,p=le.call(t,"namespace")?t.namespace.split("."):[];if(a=s=i=i||ee,3!==i.nodeType&&8!==i.nodeType&&!bt.test(f+he.event.triggered)&&(f.indexOf(".")>-1&&(f=(p=f.split(".")).shift(),p.sort()),c=f.indexOf(":")<0&&"on"+f,t=t[he.expando]?t:new he.Event(f,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=p.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:he.makeArray(n,[t]),d=he.event.special[f]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!he.isWindow(i)){for(l=d.delegateType||f,bt.test(l+f)||(a=a.parentNode);a;a=a.parentNode)h.push(a),s=a;s===(i.ownerDocument||ee)&&h.push(s.defaultView||s.parentWindow||e)}for(r=0;(a=h[r++])&&!t.isPropagationStopped();)t.type=r>1?l:d.bindType||f,(u=(Pe.get(a,"events")||{})[t.type]&&Pe.get(a,"handle"))&&u.apply(a,n),(u=c&&a[c])&&u.apply&&Oe(a)&&(t.result=u.apply(a,n),!1===t.result&&t.preventDefault());return t.type=f,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(h.pop(),n)||!Oe(i)||c&&he.isFunction(i[f])&&!he.isWindow(i)&&((s=i[c])&&(i[c]=null),he.event.triggered=f,i[f](),he.event.triggered=void 0,s&&(i[c]=s)),t.result}},simulate:function(e,t,n){var i=he.extend(new he.Event,n,{type:e,isSimulated:!0});he.event.trigger(i,null,t)}}),he.fn.extend({trigger:function(e,t){return this.each(function(){he.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return he.event.trigger(e,t,n,!0)}}),he.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){he.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),he.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),de.focusin="onfocusin"in e,de.focusin||he.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){he.event.simulate(t,e.target,he.event.fix(e))};he.event.special[t]={setup:function(){var i=this.ownerDocument||this,o=Pe.access(i,t);o||i.addEventListener(e,n,!0),Pe.access(i,t,(o||0)+1)},teardown:function(){var i=this.ownerDocument||this,o=Pe.access(i,t)-1;o?Pe.access(i,t,o):(i.removeEventListener(e,n,!0),Pe.remove(i,t))}}});var xt=e.location,wt=he.now(),Ct=/\?/;he.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||he.error("Invalid XML: "+t),n};var kt=/\[\]$/,Tt=/\r?\n/g,_t=/^(?:submit|button|image|reset|file)$/i,St=/^(?:input|select|textarea|keygen)/i;he.param=function(e,t){var n,i=[],o=function(e,t){var n=he.isFunction(t)?t():t;i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(he.isArray(e)||e.jquery&&!he.isPlainObject(e))he.each(e,function(){o(this.name,this.value)});else for(n in e)Y(n,e[n],t,o);return i.join("&")},he.fn.extend({serialize:function(){return he.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=he.prop(this,"elements");return e?he.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!he(this).is(":disabled")&&St.test(this.nodeName)&&!_t.test(e)&&(this.checked||!Be.test(e))}).map(function(e,t){var n=he(this).val();return null==n?null:he.isArray(n)?he.map(n,function(e){return{name:t.name,value:e.replace(Tt,"\r\n")}}):{name:t.name,value:n.replace(Tt,"\r\n")}}).get()}});var Et=/%20/g,At=/#.*$/,It=/([?&])_=[^&]*/,Dt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Pt=/^(?:GET|HEAD)$/,Mt=/^\/\//,Lt={},Ft={},Nt="*/".concat("*"),Rt=ee.createElement("a");Rt.href=xt.href,he.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:xt.href,type:"GET",isLocal:Ot.test(xt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Nt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":he.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Q(Q(e,he.ajaxSettings),t):Q(he.ajaxSettings,e)},ajaxPrefilter:X(Lt),ajaxTransport:X(Ft),ajax:function(t,n){function i(t,n,i,s){var c,h,f,x,w,C=n;u||(u=!0,l&&e.clearTimeout(l),o=void 0,a=s||"",k.readyState=t>0?4:0,c=t>=200&&t<300||304===t,i&&(x=G(p,k,i)),x=K(p,x,k,c),c?(p.ifModified&&((w=k.getResponseHeader("Last-Modified"))&&(he.lastModified[r]=w),(w=k.getResponseHeader("etag"))&&(he.etag[r]=w)),204===t||"HEAD"===p.type?C="nocontent":304===t?C="notmodified":(C=x.state,h=x.data,c=!(f=x.error))):(f=C,!t&&C||(C="error",t<0&&(t=0))),k.status=t,k.statusText=(n||C)+"",c?v.resolveWith(m,[h,C,k]):v.rejectWith(m,[k,C,f]),k.statusCode(b),b=void 0,d&&g.trigger(c?"ajaxSuccess":"ajaxError",[k,p,c?h:f]),y.fireWith(m,[k,C]),d&&(g.trigger("ajaxComplete",[k,p]),--he.active||he.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,r,a,s,l,c,u,d,h,f,p=he.ajaxSetup({},n),m=p.context||p,g=p.context&&(m.nodeType||m.jquery)?he(m):he.event,v=he.Deferred(),y=he.Callbacks("once memory"),b=p.statusCode||{},x={},w={},C="canceled",k={readyState:0,getResponseHeader:function(e){var t;if(u){if(!s)for(s={};t=Dt.exec(a);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return u?a:null},setRequestHeader:function(e,t){return null==u&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,x[e]=t),this},overrideMimeType:function(e){return null==u&&(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)k.always(e[k.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||C;return o&&o.abort(t),i(0,t),this}};if(v.promise(k),p.url=((t||p.url||xt.href)+"").replace(Mt,xt.protocol+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=(p.dataType||"*").toLowerCase().match(Ee)||[""],null==p.crossDomain){c=ee.createElement("a");try{c.href=p.url,c.href=c.href,p.crossDomain=Rt.protocol+"//"+Rt.host!=c.protocol+"//"+c.host}catch(e){p.crossDomain=!0}}if(p.data&&p.processData&&"string"!=typeof p.data&&(p.data=he.param(p.data,p.traditional)),U(Lt,p,n,k),u)return k;(d=he.event&&p.global)&&0==he.active++&&he.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Pt.test(p.type),r=p.url.replace(At,""),p.hasContent?p.data&&p.processData&&0===(p.contentType||"").indexOf("application/x-www-form-urlencoded")&&(p.data=p.data.replace(Et,"+")):(f=p.url.slice(r.length),p.data&&(r+=(Ct.test(r)?"&":"?")+p.data,delete p.data),!1===p.cache&&(r=r.replace(It,"$1"),f=(Ct.test(r)?"&":"?")+"_="+wt+++f),p.url=r+f),p.ifModified&&(he.lastModified[r]&&k.setRequestHeader("If-Modified-Since",he.lastModified[r]),he.etag[r]&&k.setRequestHeader("If-None-Match",he.etag[r])),(p.data&&p.hasContent&&!1!==p.contentType||n.contentType)&&k.setRequestHeader("Content-Type",p.contentType),k.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Nt+"; q=0.01":""):p.accepts["*"]);for(h in p.headers)k.setRequestHeader(h,p.headers[h]);if(p.beforeSend&&(!1===p.beforeSend.call(m,k,p)||u))return k.abort();if(C="abort",y.add(p.complete),k.done(p.success),k.fail(p.error),o=U(Ft,p,n,k)){if(k.readyState=1,d&&g.trigger("ajaxSend",[k,p]),u)return k;p.async&&p.timeout>0&&(l=e.setTimeout(function(){k.abort("timeout")},p.timeout));try{u=!1,o.send(x,i)}catch(e){if(u)throw e;i(-1,e)}}else i(-1,"No Transport");return k},getJSON:function(e,t,n){return he.get(e,t,n,"json")},getScript:function(e,t){return he.get(e,void 0,t,"script")}}),he.each(["get","post"],function(e,t){he[t]=function(e,n,i,o){return he.isFunction(n)&&(o=o||i,i=n,n=void 0),he.ajax(he.extend({url:e,type:t,dataType:o,data:n,success:i},he.isPlainObject(e)&&e))}}),he._evalUrl=function(e){return he.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},he.fn.extend({wrapAll:function(e){var t;return this[0]&&(he.isFunction(e)&&(e=e.call(this[0])),t=he(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return he.isFunction(e)?this.each(function(t){he(this).wrapInner(e.call(this,t))}):this.each(function(){var t=he(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=he.isFunction(e);return this.each(function(n){he(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){he(this).replaceWith(this.childNodes)}),this}}),he.expr.pseudos.hidden=function(e){return!he.expr.pseudos.visible(e)},he.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},he.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Ht=he.ajaxSettings.xhr();de.cors=!!Ht&&"withCredentials"in Ht,de.ajax=Ht=!!Ht,he.ajaxTransport(function(t){var n,i;if(de.cors||Ht&&!t.crossDomain)return{send:function(o,r){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(a in o)s.setRequestHeader(a,o[a]);n=function(e){return function(){n&&(n=i=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?r(0,"error"):r(s.status,s.statusText):r(Wt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),i=s.onerror=n("error"),void 0!==s.onabort?s.onabort=i:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&i()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),he.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),he.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return he.globalEval(e),e}}}),he.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),he.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=he(" + + + + + + + + + + + + + + + + + + diff --git a/angular7demo/src/polyfills.ts b/angular7demo/src/polyfills.ts new file mode 100644 index 0000000..f5fc8d9 --- /dev/null +++ b/angular7demo/src/polyfills.ts @@ -0,0 +1,86 @@ +/** + * 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/guide/browser-support + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** IE9, IE10, IE11, and Chrome <55 requires all of the following polyfills. + * This also includes Android Emulators with older versions of Chrome and Google Search/Googlebot + */ + +// 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/weak-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 for the Reflect API. */ +// import 'core-js/es6/reflect'; + +/** + * Web Animations `@angular/platform-browser/animations` + * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. + * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). + */ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + * because those flags need to be set before `zone.js` being loaded, and webpack + * will put import in the top of bundle, so user need to create a separate file + * in this directory (for example: zone-flags.ts), and put the following flags + * into that file, and then add the following code before importing zone.js. + * import './zone-flags.ts'; + * + * The flags allowed in zone-flags.ts are listed here. + * + * The following flags will work for all browsers. + * + * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + * (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + * + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + * + * (window as any).__Zone_enable_cross_context_check = true; + * + */ + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js/dist/zone'; // Included with Angular CLI. + + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + diff --git a/angular7demo/src/styles.css b/angular7demo/src/styles.css new file mode 100644 index 0000000..8e7652f --- /dev/null +++ b/angular7demo/src/styles.css @@ -0,0 +1,10 @@ +/* You can add global styles to this file, and also import other style files */ + +/* prebuilt theme options +deeppurple-amber.css +indigo-pink.css +pink-bluegrey.css +purple-green.css +*/ +@import '@angular/material/prebuilt-themes/indigo-pink.css' +/* You can add global styles to this file, and also import other style files */ diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..92ba904 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# This allows us to dynamically inject the host location of mongoose +# so all client calls are back to thi server and not localhost which is the default behavior +sed -i "s/localhost/$MONGOOSE_HOST_NAME/" /var/www/angular7demo/src/app/services/base.service.ts + +# run mongoose in background +cd /var/www/angular7demo/ +ls +nohup node server.js & + +# run ng server +#ng serve --host 0.0.0.0 --port 8080 + +# This is a developer only configuration. +# Add the URL to the base.service.ts file directly or put it in an environment configuration +# Use the dist directory contents to execute the application in a non-dev environment +node --max_old_space_size=4098 node_modules/@angular/cli/bin/ng serve --host 0.0.0.0 --port 8080 --public-host $MONGOOSE_HOST_NAME --disable-host-check diff --git a/gitpush.sh b/gitpush.sh new file mode 100755 index 0000000..783e433 --- /dev/null +++ b/gitpush.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +echo reset +git reset + +git config --global user.email "dev@realmethods.com" +git config --global user.name "Scrum Master" + +echo init the repository +git init + +echo add all files from root dir below, with ignore dirs and files in the .gitignore +git add . + +echo 'commit all the files' +git commit -m "initial commit" + +echo 'add a remote pseudo for the Angular repository' +git remote add Angular https://complexmathguy:6969Cutlass!!@github.com/complexmathguy/Angular + +echo 'push the commits to the repository master' +git push Angular master + +echo 'delete tag latest' +git tag -d latest +git push --delete Angular latest + +echo 'add tag latest' +git tag latest + +echo 'push tag latest' +git push Angular latest + diff --git a/gitpush.xml b/gitpush.xml new file mode 100644 index 0000000..e3a8e3d --- /dev/null +++ b/gitpush.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/npm-build.sh b/npm-build.sh new file mode 100644 index 0000000..d3f5a12 --- /dev/null +++ b/npm-build.sh @@ -0,0 +1 @@ + diff --git a/npm-build.xml b/npm-build.xml new file mode 100644 index 0000000..5c6465f --- /dev/null +++ b/npm-build.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..bbbc6bb --- /dev/null +++ b/pom.xml @@ -0,0 +1,118 @@ + + + 4.0.0 + com.cloudMigrate + angular7demo + 0.0.1 + + pom + + + + maven central + https://repo.maven.apache.org/maven2/ + + + + + + + + + + maven-antrun-plugin + 1.7 + + + ant-contrib + ant-contrib + 1.0b3 + + + ant + ant + + + + + org.apache.ant + ant-nodeps + 1.8.1 + + + + + + + npm + install + false + + ${project.basedir} + + + + + + + + run + + + + + git + compile + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + run + + + + + + + + + + \ No newline at end of file diff --git a/settings.xml b/settings.xml new file mode 100644 index 0000000..98a27d5 --- /dev/null +++ b/settings.xml @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jfrog.repo + ${internal.repo.username} + ${internal.repo.password} + + + nexus + ${internal.repo.username} + ${internal.repo.password} + + + + + + + + + nexus + * + ${internal.repo.url} + + + + + + + + + + + nexus + + + + + central + http://central + true + true + + + + + central + http://central + true + true + + + + + + + + + nexus + + diff --git a/terraform/main.tf b/terraform/main.tf new file mode 100644 index 0000000..511945d --- /dev/null +++ b/terraform/main.tf @@ -0,0 +1,156 @@ +# Specify the provider and access details +provider "aws" { + region = "us-east-1" + access_key = "${var.aws-access-key}" + secret_key = "${var.aws-secret-key}" +} + + +# Default security group to access +# the instances over SSH and HTTP +resource "aws_security_group" "web" { +# name = "angular7demo-security-group-from-terrorform" #optional, when omitted, terraform creates a random name + description = "security group for angular7demo web created from terraform" + vpc_id = "vpc-c422e2a0" + + # SSH access from anywhere + ingress { + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + # HTTP access from the VPC + ingress { + from_port = 8080 + to_port = 8080 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + # HTTP access from the VPC + ingress { + from_port = 8000 + to_port = 8000 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + # mongoose access from anywhere + ingress { + from_port = 4000 + to_port = 4000 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + + # outbound internet access + egress { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +# Our default security group to for the database +resource "aws_security_group" "mongo" { + description = "security group created from terraform" + vpc_id = "vpc-c422e2a0" + + # SSH access from anywhere + ingress { + from_port = 22 + to_port = 22 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + # mongodb access from anywhere + ingress { + from_port = 27017 + to_port = 27017 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + # outbound internet access + egress { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } +} + +resource "aws_instance" "mongodb" { + # The connection block tells our provisioner how to + # communicate with the resource (instance) + connection { + # The default username for our AMI + user = "ubuntu" + } + + instance_type = "t2.micro" + + tags { Name = "mongodb instance" } + + # standard realmethods community image with mongo started on the default port + ami = "ami-0e2a167cf2e0ce6c0" + + # The name of the SSH keypair you've created and downloaded + # from the AWS console. + # + # https://console.aws.amazon.com/ec2/v2/home?region=us-west-2#KeyPairs: + # + key_name = "my-public-key" + + # Our Security group to allow HTTP and SSH access + vpc_security_group_ids = ["${aws_security_group.mongo.id}"] + + # To ensure ssh access works + provisioner "remote-exec" { + inline = [ + "sudo ls", + ] + } + +} + +resource "aws_instance" "web" { + # The connection block tells our provisioner how to + # communicate with the resource (instance) + connection { + # The default username for our AMI + user = "ubuntu" + } + + instance_type = "t2.medium" + + tags { Name = "angular7demo instance" } + + # standard realmethods community AMI with docker pre-installed + ami = "ami-05033408e5e831fb0" + + # The name of the SSH keypair you've created and downloaded + # from the AWS console. + # + # https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#KeyPairs: + # + key_name = "my-public-key" + + # Our Security group to allow HTTP and SSH access + vpc_security_group_ids = ["${aws_security_group.web.id}"] + + provisioner "remote-exec" { + inline = [ + "sudo apt-get -y update", + "sudo apt-get -y install docker", + "sudo docker login --username tylertravismya --password 69cutlass", + "sudo docker pull realmethods/angular7demo:latest", + "sudo docker run -it -e MONGOOSE_HOST_NAME=${aws_instance.web.public_ip} -e MONGO_HOST_ADDRESS=mongodb://${aws_instance.mongodb.public_ip}:27017/angular7demo -p 4000:4000 -p 8080:8080 -p 8000:8000 realmethods/angular7demo:latest" + ] + } +} diff --git a/terraform/variables.tf b/terraform/variables.tf new file mode 100644 index 0000000..4de50d1 --- /dev/null +++ b/terraform/variables.tf @@ -0,0 +1,2 @@ +variable "aws-access-key" {} +variable "aws-secret-key" {} \ No newline at end of file