diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9f34c7f5e..ff372f061 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -106,43 +106,6 @@ jobs: name: docker-database-production_up path: /tmp/database_up.tar - ############################################################################## - # JOB: DOCKER BUILD PRODUCTION COMMUNITY SERVER ############################## - ############################################################################## - build_production_community_server: - name: Docker Build Production - Community Server - runs-on: ubuntu-latest - #needs: [nothing] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v2 - ########################################################################## - # SET ENVS ############################################################### - ########################################################################## - - name: ENV - VERSION - run: echo "VERSION=$(node -p -e "require('./package.json').version")" >> $GITHUB_ENV - - name: ENV - BUILD_DATE - run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_ENV - - name: ENV - BUILD_VERSION - run: echo "BUILD_VERSION=${VERSION}.${GITHUB_RUN_NUMBER}" >> $GITHUB_ENV - - name: ENV - BUILD_COMMIT - run: echo "BUILD_COMMIT=${GITHUB_SHA}" >> $GITHUB_ENV - ########################################################################## - # COMMUNITY SERVER ####################################################### - ########################################################################## - - name: Community Server | Build `production` image - run: | - docker build -t "gradido/community_server:latest" -t "gradido/community_server:production" -t "gradido/community_server:${VERSION}" -t "gradido/community_server:${BUILD_VERSION}" -f ./community_server/Dockerfile ./ - docker save "gradido/community_server" > /tmp/community_server.tar - - name: Upload Artifact - uses: actions/upload-artifact@v2 - with: - name: docker-community-server-production - path: /tmp/community_server.tar - ############################################################################## # JOB: DOCKER BUILD PRODUCTION MARIADB ####################################### ############################################################################## @@ -223,7 +186,7 @@ jobs: upload_to_dockerhub: name: Upload to Dockerhub runs-on: ubuntu-latest - needs: [build_production_frontend, build_production_backend, build_production_database_up, build_production_community_server, build_production_mariadb, build_production_nginx] + needs: [build_production_frontend, build_production_backend, build_production_database_up, build_production_mariadb, build_production_nginx] env: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} @@ -257,13 +220,6 @@ jobs: path: /tmp - name: Load Docker Image run: docker load < /tmp/database_up.tar - - name: Download Docker Image (Community Server) - uses: actions/download-artifact@v2 - with: - name: docker-community-server-production - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/community_server.tar - name: Download Docker Image (MariaDB) uses: actions/download-artifact@v2 with: @@ -289,8 +245,6 @@ jobs: run: docker push --all-tags gradido/backend - name: Push database run: docker push --all-tags gradido/database - - name: Push community_server - run: docker push --all-tags gradido/community_server - name: Push MariaDB run: docker push --all-tags gradido/mariadb - name: Push Nginx diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 383735507..9c7f9b7c2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -107,32 +107,6 @@ jobs: name: docker-database-test_up path: /tmp/database_up.tar - ############################################################################## - # JOB: DOCKER BUILD TEST COMMUNITY SERVER #################################### - ############################################################################## - build_test_community_server: - name: Docker Build Test - Community Server - runs-on: ubuntu-latest - #needs: [nothing] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v2 - ########################################################################## - # BUILD COMMUNITY SERVER DOCKER IMAGE #################################### - ########################################################################## - - name: community server | Build `test` image - run: | - docker build -t "gradido/community_server:test" -f ./community_server/Dockerfile ./ - docker save "gradido/community_server:test" > /tmp/community_server.tar - - name: Upload Artifact - uses: actions/upload-artifact@v2 - with: - name: docker-community-server-test - path: /tmp/community_server.tar - ############################################################################## # JOB: DOCKER BUILD TEST MARIADB ############################################# ############################################################################## @@ -448,7 +422,7 @@ jobs: report_name: Coverage Admin Interface type: lcov result_path: ./coverage/lcov.info - min_coverage: 93 + min_coverage: 94 token: ${{ github.token }} ############################################################################## @@ -509,73 +483,6 @@ jobs: min_coverage: 38 token: ${{ github.token }} - ############################################################################## - # JOB: UNIT TEST COMMUNITY-SERVER ########################################### - ############################################################################## - unit_test_community_server: - name: Unit tests - Community Server - runs-on: ubuntu-latest - needs: [build_test_community_server] - services: - mariadb: - image: gradido/mariadb:test - env: - MARIADB_ALLOW_EMPTY_PASSWORD: 1 - MARIADB_USER: root - options: --health-cmd="mysqladmin ping" - --health-interval=5s - --health-timeout=5s - --health-retries=3 - steps: - - name: get mariadb container id - run: echo "::set-output name=id::$(docker container ls | grep mariadb | awk '{ print $1 }')" - id: mariadb_container - - name: get automatic created network - run: echo "::set-output name=id::$(docker network ls | grep github_network | awk '{ print $1 }')" - id: network - - name: Start database migration - run: docker run --network ${{ steps.network.outputs.id }} --name=database --env NODE_ENV=production --env DB_HOST=mariadb --env DB_DATABASE=gradido_community_test -d gradido/database:production_up - - name: get database migration container id - run: echo "::set-output name=id::$(docker container ls | grep database | awk '{ print $1 }')" - id: database_container - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v2 - ########################################################################## - # DOWNLOAD DOCKER IMAGE ################################################## - ########################################################################## - - name: Download Docker Image (Community-Server) - uses: actions/download-artifact@v2 - with: - name: docker-community-server-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/community_server.tar - - name: check mariadb - run: docker logs ${{ steps.mariadb_container.outputs.id }} - - name: check migration - run: docker logs ${{ steps.database_container.outputs.id }} - ########################################################################## - # UNIT TESTS BACKEND COMMUNITY-SERVER ####################################### - ########################################################################## - - name: community server | Unit tests - run: | - docker run --network ${{ steps.network.outputs.id }} -v ~/coverage:/var/www/cakephp/webroot/coverage gradido/community_server:test - cp -r ~/coverage ./coverage - ######################################################################### - # COVERAGE CHECK BACKEND COMMUNITY-SERVER #################################### - ########################################################################## - - name: backend community | Coverage check - uses: einhornimmond/coverage-check-action@master - with: - report_name: Coverage Backend Community - type: phpunit - result_path: ./coverage/coverage.info - min_coverage: 10 - token: ${{ github.token }} - ########################################################################## # DATABASE MIGRATION TEST UP + RESET ##################################### ########################################################################## diff --git a/.gitmodules b/.gitmodules index 2bad2a541..8b1378917 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1 @@ -[submodule "community_server/src/protobuf"] - path = community_server/src/protobuf - url = https://github.com/gradido/gradido_protocol.git + diff --git a/CHANGELOG.md b/CHANGELOG.md index 1872fabc6..6a13e408b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,76 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.6.4](https://github.com/gradido/gradido/compare/1.6.3...1.6.4) + +- fix: Admin Email Confirmation Date and Time [`#1448`](https://github.com/gradido/gradido/pull/1448) +- Fix: Do not log password or token to the console [`#1477`](https://github.com/gradido/gradido/pull/1477) +- Fix: Elopage Hook Crash [`#1474`](https://github.com/gradido/gradido/pull/1474) +- 538 unify all buttons [`#1455`](https://github.com/gradido/gradido/pull/1455) +- 833 old error is shown for a second even if transaction is successful [`#1460`](https://github.com/gradido/gradido/pull/1460) +- fix: Wrong Email Spelling in German [`#1446`](https://github.com/gradido/gradido/pull/1446) +- fix: Redirect to Login after Register [`#1445`](https://github.com/gradido/gradido/pull/1445) +- refactor: Split User Table Component in Admin Interface [`#1443`](https://github.com/gradido/gradido/pull/1443) +- remove user table [`c6a469e`](https://github.com/gradido/gradido/commit/c6a469e08f16101c8fb78958eda69b163b815ed3) +- open creations table [`9ef575d`](https://github.com/gradido/gradido/commit/9ef575d6b140a4c768e4330a18eaa3b04346b483) +- User Search Table [`ae2d535`](https://github.com/gradido/gradido/commit/ae2d5355d62f525187dd1cdb1448aec63fb05d3f) + +#### [1.6.3](https://github.com/gradido/gradido/compare/1.6.2...1.6.3) + +> 9 February 2022 + +- v1.6.3 [`#1447`](https://github.com/gradido/gradido/pull/1447) +- add .btn-outline-secondary in scss [`#1442`](https://github.com/gradido/gradido/pull/1442) +- Profil settings and footer refactor [`#1440`](https://github.com/gradido/gradido/pull/1440) +- profil settings header info refactor style [`cbaa016`](https://github.com/gradido/gradido/commit/cbaa0162b9366e5de722235aeb633908c59bb3e1) +- margin footer refactor, more margin to top [`81b3dc0`](https://github.com/gradido/gradido/commit/81b3dc08ae6f60049feba690132dba37c84ad5c5) + +#### [1.6.2](https://github.com/gradido/gradido/compare/1.6.1...1.6.2) + +> 8 February 2022 + +- v1.6.2 [`#1438`](https://github.com/gradido/gradido/pull/1438) +- updated_changelog_library [`#1437`](https://github.com/gradido/gradido/pull/1437) +- admin interface does user have member area [`#1416`](https://github.com/gradido/gradido/pull/1416) +- Refactor - Remove community_server [`#1408`](https://github.com/gradido/gradido/pull/1408) +- 1389 transactions tabs are not well designed [`#1425`](https://github.com/gradido/gradido/pull/1425) +- fix_community_name_description [`#1429`](https://github.com/gradido/gradido/pull/1429) +- remove_unnecessary_repositories [`#1406`](https://github.com/gradido/gradido/pull/1406) +- clean_database_users [`#1427`](https://github.com/gradido/gradido/pull/1427) +- remove_gradido_node [`#1431`](https://github.com/gradido/gradido/pull/1431) +- add updateTransactions function for GDD balance if reload page [`#1423`](https://github.com/gradido/gradido/pull/1423) +- 1390 display error when navigating to send form without any gdd [`#1424`](https://github.com/gradido/gradido/pull/1424) +- have an delete button for the search input [`#1413`](https://github.com/gradido/gradido/pull/1413) +- reset all selected users in mass creation [`#1422`](https://github.com/gradido/gradido/pull/1422) +- combine_user_tables [`#1411`](https://github.com/gradido/gradido/pull/1411) +- feat: Test Table Row Details Toggling [`#1420`](https://github.com/gradido/gradido/pull/1420) +- feat: Improved Tests for Mass Creation [`#1419`](https://github.com/gradido/gradido/pull/1419) +- refactor: Mixin for Creation Labels [`#1409`](https://github.com/gradido/gradido/pull/1409) +- Marque community_server as to be removed. [`#1407`](https://github.com/gradido/gradido/pull/1407) +- database_transaction_signatures [`#1368`](https://github.com/gradido/gradido/pull/1368) +- database_pending_creations [`#1367`](https://github.com/gradido/gradido/pull/1367) +- fix_seed [`#1410`](https://github.com/gradido/gradido/pull/1410) +- clean_database [`#1362`](https://github.com/gradido/gradido/pull/1362) +- multiple creation already selected users remain saved [`#1376`](https://github.com/gradido/gradido/pull/1376) +- fix: Localize Datetime in Admin Interface [`#1327`](https://github.com/gradido/gradido/pull/1327) +- feat: Remove Login Server [`#1383`](https://github.com/gradido/gradido/pull/1383) +- refactor: Tag Last Version with Login Server [`#1391`](https://github.com/gradido/gradido/pull/1391) +- if an email is not confirmed, a user cannot be added to any multiple … [`#1374`](https://github.com/gradido/gradido/pull/1374) +- cleanups_refactors [`#1404`](https://github.com/gradido/gradido/pull/1404) +- 1365 clear bootstrap version for vue2, preparation for new template [`#1366`](https://github.com/gradido/gradido/pull/1366) +- upgrade vue version from ^2.6.11 to 2.6.12 [`#1382`](https://github.com/gradido/gradido/pull/1382) +- remove vue-qrcode from dashboard-plugin [`#1364`](https://github.com/gradido/gradido/pull/1364) +- remove unused package from frontend [`#1360`](https://github.com/gradido/gradido/pull/1360) +- Removed community_server folder, removed reference to community_server. [`e5c3c3c`](https://github.com/gradido/gradido/commit/e5c3c3c57a2343e1c4d7b8fbc658edcd78f1a292) +- migration 20 [`c0156d4`](https://github.com/gradido/gradido/commit/c0156d4a298ac11f0d1ccabb859fdcbd56d391ee) +- fix frontend tests [`3f0aa00`](https://github.com/gradido/gradido/commit/3f0aa00dc36499b13878eda469312e00100074f4) + #### [1.6.1](https://github.com/gradido/gradido/compare/1.6.0...1.6.1) +> 28 January 2022 + +- Hotfix elopage [`#1358`](https://github.com/gradido/gradido/pull/1358) +- change standard text für creation [`#1343`](https://github.com/gradido/gradido/pull/1343) - Check if user email is activated to make a creation. [`#1356`](https://github.com/gradido/gradido/pull/1356) - fix: Creation Confirmation User Ids [`#1345`](https://github.com/gradido/gradido/pull/1345) - fix and improve test [`1c833d3`](https://github.com/gradido/gradido/commit/1c833d394f502a7aed2b5a648c0171a2fe4ee1e6) diff --git a/README.md b/README.md index 16e71bca9..e97055a78 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,6 @@ docker-compose -f docker-compose.yml up - [frontend](./frontend) Wallet frontend - [backend](./backend) GraphQL & Business logic backend - [mariadb](./mariadb) Database backend -- [community_server](./community_server/) Business logic backend (will be removed) We are currently restructuring the service to reduce dependencies and unify business logic into one place. Furthermore the databases defined for each service will be unified into one. diff --git a/admin/package.json b/admin/package.json index 11ca864c9..0aee14ec2 100644 --- a/admin/package.json +++ b/admin/package.json @@ -3,7 +3,7 @@ "description": "Administraion Interface for Gradido", "main": "index.js", "author": "Moriz Wahl", - "version": "1.6.1", + "version": "1.6.4", "license": "MIT", "private": false, "scripts": { diff --git a/admin/src/components/ConfirmRegisterMailFormular.vue b/admin/src/components/ConfirmRegisterMailFormular.vue index 635b80939..752f4b2cf 100644 --- a/admin/src/components/ConfirmRegisterMailFormular.vue +++ b/admin/src/components/ConfirmRegisterMailFormular.vue @@ -1,7 +1,7 @@ + diff --git a/admin/src/pages/UserSearch.vue b/admin/src/pages/UserSearch.vue index 28e1a7774..de041282a 100644 --- a/admin/src/pages/UserSearch.vue +++ b/admin/src/pages/UserSearch.vue @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/community_server/src/Template/ElopageBuys/add.ctp b/community_server/src/Template/ElopageBuys/add.ctp deleted file mode 100644 index e9c2c6a80..000000000 --- a/community_server/src/Template/ElopageBuys/add.ctp +++ /dev/null @@ -1,33 +0,0 @@ - - -
- Form->create($elopageBuy) ?> -
- - Form->control('elopage_user_id'); - echo $this->Form->control('affiliate_program_id'); - echo $this->Form->control('publisher_id'); - echo $this->Form->control('order_id'); - echo $this->Form->control('product_id'); - echo $this->Form->control('product_price'); - echo $this->Form->control('payer_email'); - echo $this->Form->control('publisher_email'); - echo $this->Form->control('payed'); - echo $this->Form->control('success_date'); - echo $this->Form->control('event'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/ElopageBuys/edit.ctp b/community_server/src/Template/ElopageBuys/edit.ctp deleted file mode 100644 index e33956b83..000000000 --- a/community_server/src/Template/ElopageBuys/edit.ctp +++ /dev/null @@ -1,39 +0,0 @@ - - -
- Form->create($elopageBuy) ?> -
- - Form->control('elopage_user_id'); - echo $this->Form->control('affiliate_program_id'); - echo $this->Form->control('publisher_id'); - echo $this->Form->control('order_id'); - echo $this->Form->control('product_id'); - echo $this->Form->control('product_price'); - echo $this->Form->control('payer_email'); - echo $this->Form->control('publisher_email'); - echo $this->Form->control('payed'); - echo $this->Form->control('success_date'); - echo $this->Form->control('event'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/ElopageBuys/index.ctp b/community_server/src/Template/ElopageBuys/index.ctp deleted file mode 100644 index 4d5ecc1d1..000000000 --- a/community_server/src/Template/ElopageBuys/index.ctp +++ /dev/null @@ -1,67 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('elopage_user_id') ?>Paginator->sort('affiliate_program_id') ?>Paginator->sort('publisher_id') ?>Paginator->sort('order_id') ?>Paginator->sort('product_id') ?>Paginator->sort('product_price') ?>Paginator->sort('payer_email') ?>Paginator->sort('publisher_email') ?>Paginator->sort('payed') ?>Paginator->sort('success_date') ?>Paginator->sort('event') ?>
Number->format($elopageBuy->id) ?>Number->format($elopageBuy->elopage_user_id) ?>Number->format($elopageBuy->affiliate_program_id) ?>Number->format($elopageBuy->publisher_id) ?>Number->format($elopageBuy->order_id) ?>Number->format($elopageBuy->product_id) ?>Number->format($elopageBuy->product_price) ?>payer_email) ?>publisher_email) ?>payed) ?>success_date) ?>event) ?> - Html->link(__('View'), ['action' => 'view', $elopageBuy->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $elopageBuy->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $elopageBuy->id], ['confirm' => __('Are you sure you want to delete # {0}?', $elopageBuy->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/ElopageBuys/statistics.ctp b/community_server/src/Template/ElopageBuys/statistics.ctp deleted file mode 100644 index 3ac6cf7f6..000000000 --- a/community_server/src/Template/ElopageBuys/statistics.ctp +++ /dev/null @@ -1,35 +0,0 @@ -toArray()); -/*foreach($elopageBuys as $entry) { - echo $entry->success_date . "
"; -} - * - */ -/*foreach($users as $user) { - //var_dump($user); - echo $user->created; - echo "
"; -}*/ -?> -
-
-
-
-
-
-
-

count()?>

- - 12.01% -
-
-
-
-
-
\ No newline at end of file diff --git a/community_server/src/Template/ElopageBuys/view.ctp b/community_server/src/Template/ElopageBuys/view.ctp deleted file mode 100644 index 2631e17fe..000000000 --- a/community_server/src/Template/ElopageBuys/view.ctp +++ /dev/null @@ -1,68 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
payer_email) ?>
publisher_email) ?>
event) ?>
Number->format($elopageBuy->id) ?>
Number->format($elopageBuy->elopage_user_id) ?>
Number->format($elopageBuy->affiliate_program_id) ?>
Number->format($elopageBuy->publisher_id) ?>
Number->format($elopageBuy->order_id) ?>
Number->format($elopageBuy->product_id) ?>
Number->format($elopageBuy->product_price) ?>
success_date) ?>
payed ? __('Yes') : __('No'); ?>
-
diff --git a/community_server/src/Template/Email/html/default.ctp b/community_server/src/Template/Email/html/default.ctp deleted file mode 100644 index ac3daa7fe..000000000 --- a/community_server/src/Template/Email/html/default.ctp +++ /dev/null @@ -1,20 +0,0 @@ - ' . $line . "

\n"; -endforeach; diff --git a/community_server/src/Template/Email/text/default.ctp b/community_server/src/Template/Email/text/default.ctp deleted file mode 100644 index 862cd9f76..000000000 --- a/community_server/src/Template/Email/text/default.ctp +++ /dev/null @@ -1,16 +0,0 @@ -assign('title', __('Gradido Schöpfung')); -?> first_name ?> last_name ?>, - -element('printGradido', ['number' => $gdd_cent, 'raw' => true])) ?> -Gradido Akademie schreibt: - - - - - - -Gradido Community Server \ No newline at end of file diff --git a/community_server/src/Template/Email/text/notification_transaction_failed.ctp b/community_server/src/Template/Email/text/notification_transaction_failed.ctp deleted file mode 100644 index 975848e58..000000000 --- a/community_server/src/Template/Email/text/notification_transaction_failed.ctp +++ /dev/null @@ -1,50 +0,0 @@ -assign('title', __('Gradido Transaktion fehlgeschlagen')); - -$transaction_body = $transaction->getTransactionBody(); -$specific_transaction = $transaction_body->getSpecificTransaction(); -$transaction_type_name = $transaction_body->getTransactionTypeName(); - -?> first_name ?> last_name ?>, - - - - -element('printGradido', ['number' => $specific_transaction->getAmount(), 'raw' => true]), - $specific_transaction->getReceiverUser()->getEmailWithName()) ?> - -getTargetDate()->format('d.m.Y') ?> - -element('printGradido', ['number' => $specific_transaction->getAmount(), 'raw' => true]), - $specific_transaction->getReceiverUser()->getEmailWithName()) ?> - - - - - -getErrors(); - foreach($errors as $error) { - //echo "\t".json_encode($error); - echo "\n\t".$error[array_keys($error)[0]]."\n"; - } -}?> - - - - - - -Gradido Community Server \ No newline at end of file diff --git a/community_server/src/Template/Email/text/notification_transfer.ctp b/community_server/src/Template/Email/text/notification_transfer.ctp deleted file mode 100644 index 05df9695d..000000000 --- a/community_server/src/Template/Email/text/notification_transfer.ctp +++ /dev/null @@ -1,26 +0,0 @@ -assign('title', __('Gradido Überweisung')); -$receiverNames = $receiverUser->first_name . ' ' . $receiverUser->last_name; -$senderNames = $senderUser->first_name . ' ' . $senderUser->last_name; -$senderNamesEmail = $senderUser->getEmailWithName(); -?> , - -element('printGradido', ['number' => $gdd_cent, 'raw' => true]), $senderNamesEmail) ?> - - - - - - - -email ?> - - - -Gradido Community Server \ No newline at end of file diff --git a/community_server/src/Template/Error/error400.ctp b/community_server/src/Template/Error/error400.ctp deleted file mode 100644 index 6b538b7f4..000000000 --- a/community_server/src/Template/Error/error400.ctp +++ /dev/null @@ -1,38 +0,0 @@ -layout = 'error'; - -if (Configure::read('debug')) : - $this->layout = 'dev_error'; - - $this->assign('title', $message); - $this->assign('templateName', 'error400.ctp'); - - $this->start('file'); -?> -queryString)) : ?> -

- SQL Query: - queryString) ?> -

- -params)) : ?> - SQL Query Params: - params) ?> - -element('auto_table_warning') ?> -end(); -endif; -?> -

-

- : - '{$url}'") ?> -

diff --git a/community_server/src/Template/Error/error500.ctp b/community_server/src/Template/Error/error500.ctp deleted file mode 100644 index 3328cc52c..000000000 --- a/community_server/src/Template/Error/error500.ctp +++ /dev/null @@ -1,43 +0,0 @@ -layout = 'error'; - -if (Configure::read('debug')) : - $this->layout = 'dev_error'; - - $this->assign('title', $message); - $this->assign('templateName', 'error500.ctp'); - - $this->start('file'); -?> -queryString)) : ?> -

- SQL Query: - queryString) ?> -

- -params)) : ?> - SQL Query Params: - params) ?> - - - Error in: - getFile()), $error->getLine()) ?> - -element('auto_table_warning'); - - if (extension_loaded('xdebug')) : - xdebug_print_function_stack(); - endif; - - $this->end(); -endif; -?> -

-

- : - -

diff --git a/community_server/src/Template/Layout/Email/html/default.ctp b/community_server/src/Template/Layout/Email/html/default.ctp deleted file mode 100644 index 3ff87ff83..000000000 --- a/community_server/src/Template/Layout/Email/html/default.ctp +++ /dev/null @@ -1,24 +0,0 @@ - - - - - <?= $this->fetch('title') ?> - - - fetch('content') ?> - - diff --git a/community_server/src/Template/Layout/Email/text/default.ctp b/community_server/src/Template/Layout/Email/text/default.ctp deleted file mode 100644 index 29b439ccc..000000000 --- a/community_server/src/Template/Layout/Email/text/default.ctp +++ /dev/null @@ -1,16 +0,0 @@ -fetch('content'); diff --git a/community_server/src/Template/Layout/ajax.ctp b/community_server/src/Template/Layout/ajax.ctp deleted file mode 100644 index 29b439ccc..000000000 --- a/community_server/src/Template/Layout/ajax.ctp +++ /dev/null @@ -1,16 +0,0 @@ -fetch('content'); diff --git a/community_server/src/Template/Layout/default.ctp b/community_server/src/Template/Layout/default.ctp deleted file mode 100644 index 4633502df..000000000 --- a/community_server/src/Template/Layout/default.ctp +++ /dev/null @@ -1,53 +0,0 @@ - - - - - Html->charset() ?> - - - <?= $cakeDescription ?>: - <?= $this->fetch('title') ?> - - Html->meta('icon') ?> - Html->css(['main.css']) ?> - Html->script(['basic']) ?> - fetch('meta') ?> - fetch('css') ?> - fetch('script') ?> - - -
-
- -

fetch('title') ?>

- Flash->render() ?> - fetch('content') ?> -
-
- -
- ms -
- - - diff --git a/community_server/src/Template/Layout/error.ctp b/community_server/src/Template/Layout/error.ctp deleted file mode 100644 index 7367c1bf7..000000000 --- a/community_server/src/Template/Layout/error.ctp +++ /dev/null @@ -1,47 +0,0 @@ - - - - - Html->charset() ?> - - <?= $this->fetch('title') ?> - - Html->meta('icon') ?> - - Html->css('base.css') ?> - Html->css('style.css') ?> - - fetch('meta') ?> - fetch('css') ?> - fetch('script') ?> - - -
- -
- Flash->render() ?> - - fetch('content') ?> -
- -
- - diff --git a/community_server/src/Template/Layout/frontend.ctp b/community_server/src/Template/Layout/frontend.ctp deleted file mode 100644 index cb01fea30..000000000 --- a/community_server/src/Template/Layout/frontend.ctp +++ /dev/null @@ -1,113 +0,0 @@ -"; -//echo "transactions pending: " . $transactionPendings; -?> - - - - Html->charset() ?> - - - <?= $cakeDescription ?>: - <?= $this->fetch('title') ?> - - Html->meta('icon') ?> - Html->css(['main.css']) ?> - Html->script(['basic']) ?> - fetch('meta') ?> - fetch('css') ?> - fetch('script') ?> - - -
-
- element('navi_notify'); ?> -
-
- element('user_menu'); ?> -
-
- menu -
- - - -
- fetch('header')): ?> -
- fetch('header') ?> -
- -
- fetch('content') ?> -
-
- - -
- - ms - -
-
-

-

Alpha 0.20.06.03

-
-
- - \ No newline at end of file diff --git a/community_server/src/Template/Layout/rss/default.ctp b/community_server/src/Template/Layout/rss/default.ctp deleted file mode 100644 index 8269be212..000000000 --- a/community_server/src/Template/Layout/rss/default.ctp +++ /dev/null @@ -1,11 +0,0 @@ -fetch('title'); -endif; - -echo $this->Rss->document( - $this->Rss->channel([], $channel, $this->fetch('content')) -); diff --git a/community_server/src/Template/OperatorTypes/add.ctp b/community_server/src/Template/OperatorTypes/add.ctp deleted file mode 100644 index c50feecf0..000000000 --- a/community_server/src/Template/OperatorTypes/add.ctp +++ /dev/null @@ -1,26 +0,0 @@ - - -
- Form->create($operatorType) ?> -
- - Form->control('name'); - echo $this->Form->control('text'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/OperatorTypes/edit.ctp b/community_server/src/Template/OperatorTypes/edit.ctp deleted file mode 100644 index 0b61f0f7a..000000000 --- a/community_server/src/Template/OperatorTypes/edit.ctp +++ /dev/null @@ -1,32 +0,0 @@ - - -
- Form->create($operatorType) ?> -
- - Form->control('name'); - echo $this->Form->control('text'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/OperatorTypes/index.ctp b/community_server/src/Template/OperatorTypes/index.ctp deleted file mode 100644 index 52a49b547..000000000 --- a/community_server/src/Template/OperatorTypes/index.ctp +++ /dev/null @@ -1,51 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('name') ?>Paginator->sort('text') ?>
Number->format($operatorType->id) ?>name) ?>text) ?> - Html->link(__('View'), ['action' => 'view', $operatorType->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $operatorType->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $operatorType->id], ['confirm' => __('Are you sure you want to delete # {0}?', $operatorType->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/OperatorTypes/view.ctp b/community_server/src/Template/OperatorTypes/view.ctp deleted file mode 100644 index a7cb775cf..000000000 --- a/community_server/src/Template/OperatorTypes/view.ctp +++ /dev/null @@ -1,61 +0,0 @@ - - -
-

name) ?>

- - - - - - - - - - - - - -
name) ?>
text) ?>
Number->format($operatorType->id) ?>
- -
diff --git a/community_server/src/Template/Operators/add.ctp b/community_server/src/Template/Operators/add.ctp deleted file mode 100644 index 6696cce5c..000000000 --- a/community_server/src/Template/Operators/add.ctp +++ /dev/null @@ -1,26 +0,0 @@ - - -
- Form->create($operator) ?> -
- - Form->control('username'); - echo $this->Form->control('user_pubkey'); - echo $this->Form->control('operator_type_id'); - echo $this->Form->control('data_base64'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/Operators/edit.ctp b/community_server/src/Template/Operators/edit.ctp deleted file mode 100644 index 88a348e59..000000000 --- a/community_server/src/Template/Operators/edit.ctp +++ /dev/null @@ -1,32 +0,0 @@ - - -
- Form->create($operator) ?> -
- - Form->control('username'); - echo $this->Form->control('user_pubkey'); - echo $this->Form->control('operator_type_id'); - echo $this->Form->control('data_base64'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/Operators/index.ctp b/community_server/src/Template/Operators/index.ctp deleted file mode 100644 index 3da9a6afb..000000000 --- a/community_server/src/Template/Operators/index.ctp +++ /dev/null @@ -1,56 +0,0 @@ - - -
-

- - - - - - - - - - - - - - operator_type->name ?> - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('username') ?>Paginator->sort('user_pubkey') ?>Paginator->sort('operator_type_id') ?>Paginator->sort('data_base64') ?>Paginator->sort('modified') ?>
Number->format($operator->id) ?>username) ?>user_pubkey)) ?>Html->link(__($operator->operator_type->name), ['controller' => 'OperatorTypes', 'action' => 'view', $operator->operator_type_id]) ?>data_base64) ?>modified) ?> - Html->link(__('View'), ['action' => 'view', $operator->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $operator->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $operator->id], ['confirm' => __('Are you sure you want to delete # {0}?', $operator->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/Operators/view.ctp b/community_server/src/Template/Operators/view.ctp deleted file mode 100644 index a317c8e17..000000000 --- a/community_server/src/Template/Operators/view.ctp +++ /dev/null @@ -1,40 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - - - - - - - - - -
username) ?>
user_pubkey)) ?>
data_base64) ?>
Number->format($operator->id) ?>
Number->format($operator->operator_type_id) ?>
-
diff --git a/community_server/src/Template/Pages/cake_home.ctp b/community_server/src/Template/Pages/cake_home.ctp deleted file mode 100644 index 5a3731e4c..000000000 --- a/community_server/src/Template/Pages/cake_home.ctp +++ /dev/null @@ -1,276 +0,0 @@ -layout = false; - -if (!Configure::read('debug')) : - throw new NotFoundException( - 'Please replace src/Template/Pages/home.ctp with your own version or re-enable debug mode.' - ); -endif; - -$cakeDescription = 'CakePHP: the rapid development PHP framework'; -?> - - - - Html->charset() ?> - - - <?= $cakeDescription ?> - - - Html->meta('icon') ?> - Html->css('base.css') ?> - Html->css('style.css') ?> - Html->css('home.css') ?> - - - - -
-
Html->image('cake.logo.svg') ?>
-
-

Welcome to CakePHP Red Velvet. Build fast. Grow solid.

-
-
- -
-
-
-

Please be aware that this page will not be shown if you turn off debug mode unless you replace src/Template/Pages/home.ctp with your own version.

-
-
- -
- -
-
- -
-
-

Environment

-
    - =')) : ?> -
  • Your version of PHP is 5.6.0 or higher (detected ).
  • - -
  • Your version of PHP is too low. You need PHP 5.6.0 or higher to use CakePHP (detected ).
  • - - - -
  • Your version of PHP has the mbstring extension loaded.
  • - -
  • Your version of PHP does NOT have the mbstring extension loaded.
  • - - - -
  • Your version of PHP has the openssl extension loaded.
  • - -
  • Your version of PHP has the mcrypt extension loaded.
  • - -
  • Your version of PHP does NOT have the openssl or mcrypt extension loaded.
  • - - - -
  • Your version of PHP has the intl extension loaded.
  • - -
  • Your version of PHP does NOT have the intl extension loaded.
  • - -
-
-
-

Filesystem

-
    - -
  • Your tmp directory is writable.
  • - -
  • Your tmp directory is NOT writable.
  • - - - -
  • Your logs directory is writable.
  • - -
  • Your logs directory is NOT writable.
  • - - - - -
  • The Engine is being used for core caching. To change the config edit config/app.php
  • - -
  • Your cache is NOT working. Please check the settings in config/app.php
  • - -
-
-
-
- -
-
-

Database

- connect(); - } catch (Exception $connectionError) { - $connected = false; - $errorMsg = $connectionError->getMessage(); - if (method_exists($connectionError, 'getAttributes')) : - $attributes = $connectionError->getAttributes(); - if (isset($errorMsg['message'])) : - $errorMsg .= '
' . $attributes['message']; - endif; - endif; - } - ?> -
    - -
  • CakePHP is able to connect to the database.
  • - -
  • CakePHP is NOT able to connect to the database.
  • - -
-
-
-

DebugKit

-
    - -
  • DebugKit is loaded.
  • - -
  • DebugKit is NOT loaded. You need to either install pdo_sqlite, or define the "debug_kit" connection name.
  • - -
-
-
-
- -
-
-

Editing this Page

-
    -
  • To change the content of this page, edit: src/Template/Pages/home.ctp.
  • -
  • You can also add some CSS styles for your pages at: webroot/css/.
  • -
-
-
-

Getting Started

- -
-
- -
-
-

More about Cake

-

- CakePHP is a rapid development framework for PHP which uses commonly known design patterns like Front Controller and MVC.
- Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility. -

-
-
-
- -
-
- P -

Help and Bug Reports

- -
-
- r -

Docs and Downloads

- -
-
- s -

Training and Certification

- -
-
- - - diff --git a/community_server/src/Template/Pages/gradido.ctp b/community_server/src/Template/Pages/gradido.ctp deleted file mode 100644 index f6a2213cc..000000000 --- a/community_server/src/Template/Pages/gradido.ctp +++ /dev/null @@ -1,14 +0,0 @@ -layout = false;?> - - Web Assembly Test (CakePHP Single Node Version) - - - -
Wird geladen...
- - - - - \ No newline at end of file diff --git a/community_server/src/Template/Pages/home.ctp b/community_server/src/Template/Pages/home.ctp deleted file mode 100644 index 3926921c4..000000000 --- a/community_server/src/Template/Pages/home.ctp +++ /dev/null @@ -1,19 +0,0 @@ -layout = false;?> - - Web Assembly Test (CakePHP Single Node Version) - - - -
-
-

Gradido

-

Implementierung wählen

-
- -
- - - \ No newline at end of file diff --git a/community_server/src/Template/Pages/js.ctp b/community_server/src/Template/Pages/js.ctp deleted file mode 100644 index dd1525dbe..000000000 --- a/community_server/src/Template/Pages/js.ctp +++ /dev/null @@ -1,41 +0,0 @@ -layout = false;?> - - - - - - - - - BootstrapVue Argon Dashboard by Creative Tim - - - - - - - - - -
- wird geladen... -
- - - - diff --git a/community_server/src/Template/Pages/visitor.ctp b/community_server/src/Template/Pages/visitor.ctp deleted file mode 100644 index e6956c97c..000000000 --- a/community_server/src/Template/Pages/visitor.ctp +++ /dev/null @@ -1,16 +0,0 @@ -layout = false;?> - - - - Visitor Page - - - - -
Info Page for Visitor to learn about group before try to enter or connect (befriend)
- - diff --git a/community_server/src/Template/Profile/edit.ctp b/community_server/src/Template/Profile/edit.ctp deleted file mode 100644 index edddf1631..000000000 --- a/community_server/src/Template/Profile/edit.ctp +++ /dev/null @@ -1,41 +0,0 @@ -assign('title', __('Profil ändern')); -// In a View class -$this->loadHelper('Form', [ - 'templates' => 'horizontal_form', -]); -?> -
-
- Form->create($profileForm, ['enctype' => 'multipart/form-data']) ?> - Form->control('first_name', ['label' => __('Vorname'), 'placeholder' => 'Vorname', 'value' => $user['first_name']]) ?> - Form->control('last_name', ['label' => __('Nachname'), 'placeholder' => 'Nachname', 'value' => $user['last_name']]) ?> - Form->control('profile_img', ['type' => 'file', 'accept' => 'image/*', 'label' => __('Profilbild')]) ?> - - -
- - Form->control('profile_desc', ['label' => __('Beschreibung'), 'rows' => 4, 'placeholder' => 'Beschreibung', 'value' => $communityProfile['profile_desc']]) ?> - Form->button(__('Daten speichern'), ['name' => 'submit', 'class' => 'form-button']) ?> - Form->end() ?> -
-
- -Html->script(['core', 'vendor.addons']); ?> - diff --git a/community_server/src/Template/Profile/index.ctp b/community_server/src/Template/Profile/index.ctp deleted file mode 100644 index b77ff9f70..000000000 --- a/community_server/src/Template/Profile/index.ctp +++ /dev/null @@ -1,82 +0,0 @@ -'; -$header .= '

'.$user['first_name'] . ' ' . $user['last_name'] . '

'; -if (!empty($communityProfile['profile_desc'])) { - $header .= "

".$communityProfile['profile_desc']."

"; -} -$header .= ''; -if ($communityProfile && $communityProfile['profile_img']) { - $header .= "
"; -} -$this->assign('title', __('Mein Profil')); -$this->assign('header', $header); -?> - - ms - -
-

- - Meine Daten -

-
- -
- -

- - Passwort ändern -

-
- -
-
diff --git a/community_server/src/Template/Roles/add.ctp b/community_server/src/Template/Roles/add.ctp deleted file mode 100644 index c671ed011..000000000 --- a/community_server/src/Template/Roles/add.ctp +++ /dev/null @@ -1,23 +0,0 @@ - - -
- Form->create($role) ?> -
- - Form->control('title'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/Roles/edit.ctp b/community_server/src/Template/Roles/edit.ctp deleted file mode 100644 index 8a7cd385f..000000000 --- a/community_server/src/Template/Roles/edit.ctp +++ /dev/null @@ -1,29 +0,0 @@ - - -
- Form->create($role) ?> -
- - Form->control('title'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/Roles/index.ctp b/community_server/src/Template/Roles/index.ctp deleted file mode 100644 index 2637ef958..000000000 --- a/community_server/src/Template/Roles/index.ctp +++ /dev/null @@ -1,47 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('title') ?>
Number->format($role->id) ?>title) ?> - Html->link(__('View'), ['action' => 'view', $role->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $role->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $role->id], ['confirm' => __('Are you sure you want to delete # {0}?', $role->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/Roles/view.ctp b/community_server/src/Template/Roles/view.ctp deleted file mode 100644 index 04e1dcec5..000000000 --- a/community_server/src/Template/Roles/view.ctp +++ /dev/null @@ -1,28 +0,0 @@ - - -
-

title) ?>

- - - - - - - - - -
title) ?>
Number->format($role->id) ?>
-
diff --git a/community_server/src/Template/ServerUsers/add.ctp b/community_server/src/Template/ServerUsers/add.ctp deleted file mode 100644 index 35907282b..000000000 --- a/community_server/src/Template/ServerUsers/add.ctp +++ /dev/null @@ -1,26 +0,0 @@ - - -
- Form->create($serverUser) ?> -
- - Form->control('username'); - echo $this->Form->control('password'); - echo $this->Form->control('email'); - echo $this->Form->control('role'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/ServerUsers/edit.ctp b/community_server/src/Template/ServerUsers/edit.ctp deleted file mode 100644 index df812d032..000000000 --- a/community_server/src/Template/ServerUsers/edit.ctp +++ /dev/null @@ -1,34 +0,0 @@ - - -
- Form->create($serverUser) ?> -
- - Form->control('username'); - echo $this->Form->control('password'); - echo $this->Form->control('email'); - echo $this->Form->control('role'); - echo $this->Form->control('activated'); - echo $this->Form->control('last_login', ['empty' => true]); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/ServerUsers/index.ctp b/community_server/src/Template/ServerUsers/index.ctp deleted file mode 100644 index a6e14cedc..000000000 --- a/community_server/src/Template/ServerUsers/index.ctp +++ /dev/null @@ -1,59 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('username') ?>Paginator->sort('email') ?>Paginator->sort('role') ?>Paginator->sort('activated') ?>Paginator->sort('last_login') ?>Paginator->sort('created') ?>Paginator->sort('modified') ?>
Number->format($serverUser->id) ?>username) ?>email) ?>role) ?>activated) ?>last_login) ?>created) ?>modified) ?> - Html->link(__('View'), ['action' => 'view', $serverUser->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $serverUser->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $serverUser->id], ['confirm' => __('Are you sure you want to delete # {0}?', $serverUser->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/ServerUsers/login.ctp b/community_server/src/Template/ServerUsers/login.ctp deleted file mode 100644 index 4996d5e7b..000000000 --- a/community_server/src/Template/ServerUsers/login.ctp +++ /dev/null @@ -1,22 +0,0 @@ -loadHelper('Form', [ - 'templates' => 'horizontal_form', -]); -?> -Flash->render() ?> -
- Form->create() ?> -
- - Form->control('username') ?> - Form->control('password') ?> -
- Form->button(__('Login'), ['class' => 'form-button']); ?> - Form->end() ?> -
diff --git a/community_server/src/Template/ServerUsers/view.ctp b/community_server/src/Template/ServerUsers/view.ctp deleted file mode 100644 index 0d3a9ae21..000000000 --- a/community_server/src/Template/ServerUsers/view.ctp +++ /dev/null @@ -1,56 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
username) ?>
password) ?>
email) ?>
role) ?>
Number->format($serverUser->id) ?>
last_login) ?>
created) ?>
modified) ?>
activated ? __('Yes') : __('No'); ?>
-
diff --git a/community_server/src/Template/StateBalances/add.ctp b/community_server/src/Template/StateBalances/add.ctp deleted file mode 100644 index 64ef5d576..000000000 --- a/community_server/src/Template/StateBalances/add.ctp +++ /dev/null @@ -1,27 +0,0 @@ - - -
- Form->create($stateBalance) ?> - add -
- - Form->control('state_user_id', ['options' => $stateUsers]); - echo $this->Form->control('amount'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateBalances/edit.ctp b/community_server/src/Template/StateBalances/edit.ctp deleted file mode 100644 index c4a6c1e81..000000000 --- a/community_server/src/Template/StateBalances/edit.ctp +++ /dev/null @@ -1,33 +0,0 @@ - - -
- Form->create($stateBalance) ?> - edit -
- - Form->control('state_user_id', ['options' => $stateUsers]); - echo $this->Form->control('amount'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateBalances/index.ctp b/community_server/src/Template/StateBalances/index.ctp deleted file mode 100644 index 4b0db06d6..000000000 --- a/community_server/src/Template/StateBalances/index.ctp +++ /dev/null @@ -1,54 +0,0 @@ - - -
-

- index - - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('state_user_id') ?>Paginator->sort('modified') ?>Paginator->sort('amount') ?>
Number->format($stateBalance->id) ?>has('state_user') ? $this->Html->link($stateBalance->state_user->id, ['controller' => 'StateUsers', 'action' => 'view', $stateBalance->state_user->id]) : '' ?>modified) ?>Number->format($stateBalance->amount) ?> - Html->link(__('View'), ['action' => 'view', $stateBalance->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $stateBalance->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $stateBalance->id], ['confirm' => __('Are you sure you want to delete # {0}?', $stateBalance->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/StateBalances/overview.ctp b/community_server/src/Template/StateBalances/overview.ctp deleted file mode 100644 index 1f2f4c811..000000000 --- a/community_server/src/Template/StateBalances/overview.ctp +++ /dev/null @@ -1,166 +0,0 @@ -assign('title', __('Kontoübersicht')); - -$header = '

' . __('Aktueller Kontostand: ') . '

' . - '

' . $this->element('printGradido', ['number' => $balance]) . '

'; - -if($gdtSum > 0) { - $header .= '

'.$this->Html->link( - $this->element('printGDT', ['number' => $gdtSum]), - ['action' => 'overview_gdt'], - ['escape' => false] - ).'

'; -} -$this->assign('header', $header); -//var_dump($transactions); -?> - - 0) : ?> -
- -
- -
-

Überweisungen

-

Berechnet (debugging): element('printGradido', ['number' => $calculated_balance]) ?>

-
-
-
-
-
-
-
-
- 30) { - $memoShort = substr($memoShort, 0, 30) . '...'; - } - $cellColorClass = 'success-color'; - if($send) { - $balance = -$balance; - $cellColorClass = 'alert-color'; - } else if($transaction['type'] == 'creation') { - $cellColorClass = 'orange-color'; - } else if($transaction['type'] == 'decay') { - $cellColorClass = 'red-color'; - } - ?> -
-
- Html->image('50x50.png', ['class' => 'profile-img', 'alt' => 'profile image']) ?> -
- - - - - - - - - - -
- - redeem - - - - arrow_back - - - arrow_forward - - - minus_circle_multiple - - -
-
-
-
- 30): ?> - - - - -
-
- - nice() ?> - - - -
-
element('printGradido', ['number' => $balance]) ?>
-
- - - -
-
- -
-
- - - 0) : ?> - - \ No newline at end of file diff --git a/community_server/src/Template/StateBalances/overview_gdt.ctp b/community_server/src/Template/StateBalances/overview_gdt.ctp deleted file mode 100644 index f293b93be..000000000 --- a/community_server/src/Template/StateBalances/overview_gdt.ctp +++ /dev/null @@ -1,123 +0,0 @@ -assign('title', __('GDT Kontoübersicht')); -$header = '

' . __('Zur Verfügung: ') . '

'; - -if($gdtSum > 0){ - $header .= '

'.$this->element('printGDT', ['number' => $gdtSum*100.0]).'

'; -} -if($moreEntrysAsShown) { - $header .= ''. __('Nur die letzten 100 Einträge werden angezeigt!') . ''; -} -$this->assign('header', $header); - -?> - 0) :?> -
-

-
-
-
-
-
-
-
-
-
- -
-
-
-
-
- - element('printGDT', ['number' => $entry['amount']*100.0]); ?> - - element('printEuro', ['number' => $entry['amount']*100.0]); ?> - element('printEuro', ['number' => $entry['amount2']*100.0]) ?> - -
-
- Number->format($entry['factor']) ?> - x - Number->format($entry['factor2']) ?> - -
-
element('printGDT', ['number' => $entry['gdt']*100.0]) ?>
-
- -
-
- - 0) : ?> -
-

-
-
-
-
-
-
-
-
- -
-
-
- - -
-
- - element('printGDT', ['number' => $gdtEntry['amount']*100.0]); ?> - - element('printEuro', ['number' => $gdtEntry['amount']*100.0]); ?> - element('printEuro', ['number' => $gdtEntry['amount2']*100.0]) ?> - -
-
- Number->format($gdtEntry['factor']) ?> - x - Number->format($gdtEntry['factor2']) ?> - -
-
element('printGDT', ['number' => $gdtEntry['gdt'] * 100.0]) ?>
-
- -
-
- -Html->script(['basic', 'popper.min', 'tippy-bundle.umd.min']) ?> - \ No newline at end of file diff --git a/community_server/src/Template/StateBalances/view.ctp b/community_server/src/Template/StateBalances/view.ctp deleted file mode 100644 index e5f8901dd..000000000 --- a/community_server/src/Template/StateBalances/view.ctp +++ /dev/null @@ -1,39 +0,0 @@ - - -
-

id) ?>

- view - - - - - - - - - - - - - - - - - -
has('state_user') ? $this->Html->link($stateBalance->state_user->id, ['controller' => 'StateUsers', 'action' => 'view', $stateBalance->state_user->id]) : '' ?>
Number->format($stateBalance->id) ?>
Number->format($stateBalance->amount) ?>
modified) ?>
-
diff --git a/community_server/src/Template/StateCreated/add.ctp b/community_server/src/Template/StateCreated/add.ctp deleted file mode 100644 index c66cf83f3..000000000 --- a/community_server/src/Template/StateCreated/add.ctp +++ /dev/null @@ -1,31 +0,0 @@ - - -
- Form->create($stateCreated) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('month'); - echo $this->Form->control('year'); - echo $this->Form->control('state_user_id', ['options' => $stateUsers]); - echo $this->Form->control('short_ident_hash'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateCreated/edit.ctp b/community_server/src/Template/StateCreated/edit.ctp deleted file mode 100644 index be1ef330b..000000000 --- a/community_server/src/Template/StateCreated/edit.ctp +++ /dev/null @@ -1,37 +0,0 @@ - - -
- Form->create($stateCreated) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('month'); - echo $this->Form->control('year'); - echo $this->Form->control('state_user_id', ['options' => $stateUsers]); - echo $this->Form->control('short_ident_hash'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateCreated/index.ctp b/community_server/src/Template/StateCreated/index.ctp deleted file mode 100644 index 64a514b3b..000000000 --- a/community_server/src/Template/StateCreated/index.ctp +++ /dev/null @@ -1,61 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('transaction_id') ?>Paginator->sort('month') ?>Paginator->sort('year') ?>Paginator->sort('state_user_id') ?>Paginator->sort('created') ?>Paginator->sort('short_ident_hash') ?>
Number->format($stateCreated->id) ?>has('transaction') ? $this->Html->link($stateCreated->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $stateCreated->transaction->id]) : '' ?>Number->format($stateCreated->month) ?>Number->format($stateCreated->year) ?>has('state_user') ? $this->Html->link($stateCreated->state_user->id, ['controller' => 'StateUsers', 'action' => 'view', $stateCreated->state_user->id]) : '' ?>created) ?>Number->format($stateCreated->short_ident_hash) ?> - Html->link(__('View'), ['action' => 'view', $stateCreated->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $stateCreated->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $stateCreated->id], ['confirm' => __('Are you sure you want to delete # {0}?', $stateCreated->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/StateCreated/view.ctp b/community_server/src/Template/StateCreated/view.ctp deleted file mode 100644 index e0e9301ec..000000000 --- a/community_server/src/Template/StateCreated/view.ctp +++ /dev/null @@ -1,52 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
has('transaction') ? $this->Html->link($stateCreated->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $stateCreated->transaction->id]) : '' ?>
has('state_user') ? $this->Html->link($stateCreated->state_user->id, ['controller' => 'StateUsers', 'action' => 'view', $stateCreated->state_user->id]) : '' ?>
Number->format($stateCreated->id) ?>
Number->format($stateCreated->month) ?>
Number->format($stateCreated->year) ?>
Number->format($stateCreated->short_ident_hash) ?>
created) ?>
-
diff --git a/community_server/src/Template/StateErrors/add.ctp b/community_server/src/Template/StateErrors/add.ctp deleted file mode 100644 index 24d095b90..000000000 --- a/community_server/src/Template/StateErrors/add.ctp +++ /dev/null @@ -1,29 +0,0 @@ - - -
- Form->create($stateError) ?> -
- - Form->control('state_user_id', ['options' => $stateUsers]); - echo $this->Form->control('transaction_type_id', ['options' => $transactionTypes]); - echo $this->Form->control('message_json'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateErrors/edit.ctp b/community_server/src/Template/StateErrors/edit.ctp deleted file mode 100644 index 795b6c7dd..000000000 --- a/community_server/src/Template/StateErrors/edit.ctp +++ /dev/null @@ -1,35 +0,0 @@ - - -
- Form->create($stateError) ?> -
- - Form->control('state_user_id', ['options' => $stateUsers]); - echo $this->Form->control('transaction_type_id', ['options' => $transactionTypes]); - echo $this->Form->control('message_json'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateErrors/index.ctp b/community_server/src/Template/StateErrors/index.ctp deleted file mode 100644 index 3f34f449b..000000000 --- a/community_server/src/Template/StateErrors/index.ctp +++ /dev/null @@ -1,55 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('state_user_id') ?>Paginator->sort('transaction_type_id') ?>Paginator->sort('created') ?>
Number->format($stateError->id) ?>has('state_user') ? $this->Html->link($stateError->state_user->id, ['controller' => 'StateUsers', 'action' => 'view', $stateError->state_user->id]) : '' ?>has('transaction_type') ? $this->Html->link($stateError->transaction_type->name, ['controller' => 'TransactionTypes', 'action' => 'view', $stateError->transaction_type->id]) : '' ?>created) ?> - Html->link(__('View'), ['action' => 'view', $stateError->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $stateError->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $stateError->id], ['confirm' => __('Are you sure you want to delete # {0}?', $stateError->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/StateErrors/show_for_user.ctp b/community_server/src/Template/StateErrors/show_for_user.ctp deleted file mode 100644 index 2420571a3..000000000 --- a/community_server/src/Template/StateErrors/show_for_user.ctp +++ /dev/null @@ -1,51 +0,0 @@ -assign('title', __('Fehlermeldungen')); -//var_dump($transactionTypes); -/*foreach($transactionTypes as $i => $t) { - echo "$i => "; - var_dump($t); - echo "
"; -}*/ -?> -
-

Fehler

-
-
-
Transaktion Typ
-
Datum
-
Fehler
-
Aktionen
-
- transaction_type_id-1]; - $errorMessage = ""; - $errorArray = json_decode($error->message_json, true); - if(isset($errorArray['details']) && is_array($errorArray['details'])) { - foreach($errorArray['details'][0] as $function => $errorString) { - $errorMessage = '' . $function . '
' . $errorString; - } - } else { - $errorMessage = $error->message_json; - } - ?> -
-
name ?>
-
created ?>
-
-
- Html->link( - __('Delete'), - ['action' => 'deleteForUser', $error->id], - ['class' => 'form-button button-cancel'] - ) ?>
-
- -
-
diff --git a/community_server/src/Template/StateErrors/view.ctp b/community_server/src/Template/StateErrors/view.ctp deleted file mode 100644 index c2913d306..000000000 --- a/community_server/src/Template/StateErrors/view.ctp +++ /dev/null @@ -1,44 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - - - - - -
has('state_user') ? $this->Html->link($stateError->state_user->id, ['controller' => 'StateUsers', 'action' => 'view', $stateError->state_user->id]) : '' ?>
has('transaction_type') ? $this->Html->link($stateError->transaction_type->name, ['controller' => 'TransactionTypes', 'action' => 'view', $stateError->transaction_type->id]) : '' ?>
Number->format($stateError->id) ?>
created) ?>
-
-

- Text->autoParagraph(h($stateError->message_json)); ?> -
-
diff --git a/community_server/src/Template/StateGroupAddresses/add.ctp b/community_server/src/Template/StateGroupAddresses/add.ctp deleted file mode 100644 index 43ba76178..000000000 --- a/community_server/src/Template/StateGroupAddresses/add.ctp +++ /dev/null @@ -1,28 +0,0 @@ - - -
- Form->create($stateGroupAddress) ?> -
- - Form->control('group_id'); - echo $this->Form->control('address_type_id', ['options' => $addressTypes]); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateGroupAddresses/edit.ctp b/community_server/src/Template/StateGroupAddresses/edit.ctp deleted file mode 100644 index d3ad6fe70..000000000 --- a/community_server/src/Template/StateGroupAddresses/edit.ctp +++ /dev/null @@ -1,34 +0,0 @@ - - -
- Form->create($stateGroupAddress) ?> -
- - Form->control('group_id'); - echo $this->Form->control('address_type_id', ['options' => $addressTypes]); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateGroupAddresses/index.ctp b/community_server/src/Template/StateGroupAddresses/index.ctp deleted file mode 100644 index fb463e5dd..000000000 --- a/community_server/src/Template/StateGroupAddresses/index.ctp +++ /dev/null @@ -1,55 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('group_id') ?>Paginator->sort('address_type_id') ?>
Number->format($stateGroupAddress->id) ?>Number->format($stateGroupAddress->group_id) ?>has('address_type') ? $this->Html->link($stateGroupAddress->address_type->name, ['controller' => 'AddressTypes', 'action' => 'view', $stateGroupAddress->address_type->id]) : '' ?>public_key)) ?> - - Html->link(__('View'), ['action' => 'view', $stateGroupAddress->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $stateGroupAddress->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $stateGroupAddress->id], ['confirm' => __('Are you sure you want to delete # {0}?', $stateGroupAddress->id)]) ?> -
-
-
    - Paginator->first('<< ' . __('first')) ?> - Paginator->prev('< ' . __('previous')) ?> - Paginator->numbers() ?> - Paginator->next(__('next') . ' >') ?> - Paginator->last(__('last') . ' >>') ?> -
-

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/StateGroupAddresses/view.ctp b/community_server/src/Template/StateGroupAddresses/view.ctp deleted file mode 100644 index 964b12847..000000000 --- a/community_server/src/Template/StateGroupAddresses/view.ctp +++ /dev/null @@ -1,36 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - -
has('address_type') ? $this->Html->link($stateGroupAddress->address_type->name, ['controller' => 'AddressTypes', 'action' => 'view', $stateGroupAddress->address_type->id]) : '' ?>
Number->format($stateGroupAddress->id) ?>
Number->format($stateGroupAddress->group_id) ?>
-
diff --git a/community_server/src/Template/StateGroupRelationships/add.ctp b/community_server/src/Template/StateGroupRelationships/add.ctp deleted file mode 100644 index 39eb550e8..000000000 --- a/community_server/src/Template/StateGroupRelationships/add.ctp +++ /dev/null @@ -1,25 +0,0 @@ - - -
- Form->create($stateGroupRelationship) ?> -
- - Form->control('state_group1_id'); - echo $this->Form->control('state_group2_id'); - echo $this->Form->control('state_relationship_id'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateGroupRelationships/edit.ctp b/community_server/src/Template/StateGroupRelationships/edit.ctp deleted file mode 100644 index 55bcc6afe..000000000 --- a/community_server/src/Template/StateGroupRelationships/edit.ctp +++ /dev/null @@ -1,31 +0,0 @@ - - -
- Form->create($stateGroupRelationship) ?> -
- - Form->control('state_group1_id'); - echo $this->Form->control('state_group2_id'); - echo $this->Form->control('state_relationship_id'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateGroupRelationships/index.ctp b/community_server/src/Template/StateGroupRelationships/index.ctp deleted file mode 100644 index 57fbc4da5..000000000 --- a/community_server/src/Template/StateGroupRelationships/index.ctp +++ /dev/null @@ -1,51 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('state_group1_id') ?>Paginator->sort('state_group2_id') ?>Paginator->sort('state_relationship_id') ?>
Number->format($stateGroupRelationship->id) ?>Number->format($stateGroupRelationship->state_group1_id) ?>Number->format($stateGroupRelationship->state_group2_id) ?>Number->format($stateGroupRelationship->state_relationship_id) ?> - Html->link(__('View'), ['action' => 'view', $stateGroupRelationship->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $stateGroupRelationship->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $stateGroupRelationship->id], ['confirm' => __('Are you sure you want to delete # {0}?', $stateGroupRelationship->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/StateGroupRelationships/view.ctp b/community_server/src/Template/StateGroupRelationships/view.ctp deleted file mode 100644 index de871dc77..000000000 --- a/community_server/src/Template/StateGroupRelationships/view.ctp +++ /dev/null @@ -1,36 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - - - - - -
Number->format($stateGroupRelationship->id) ?>
Number->format($stateGroupRelationship->state_group1_id) ?>
Number->format($stateGroupRelationship->state_group2_id) ?>
Number->format($stateGroupRelationship->state_relationship_id) ?>
-
diff --git a/community_server/src/Template/StateGroups/add.ctp b/community_server/src/Template/StateGroups/add.ctp deleted file mode 100644 index e71480593..000000000 --- a/community_server/src/Template/StateGroups/add.ctp +++ /dev/null @@ -1,32 +0,0 @@ - - -
- Form->create($stateGroup) ?> -
- - Form->control('name'); - echo $this->Form->control('user_count'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateGroups/edit.ctp b/community_server/src/Template/StateGroups/edit.ctp deleted file mode 100644 index 93b35256b..000000000 --- a/community_server/src/Template/StateGroups/edit.ctp +++ /dev/null @@ -1,38 +0,0 @@ - - -
- Form->create($stateGroup) ?> -
- - Form->control('name'); - echo $this->Form->control('user_count'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateGroups/index.ctp b/community_server/src/Template/StateGroups/index.ctp deleted file mode 100644 index a37029ab2..000000000 --- a/community_server/src/Template/StateGroups/index.ctp +++ /dev/null @@ -1,57 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('name') ?>Paginator->sort('user_count') ?>
Number->format($stateGroup->id) ?>name) ?>Number->format($stateGroup->user_count) ?> - Html->link(__('View'), ['action' => 'view', $stateGroup->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $stateGroup->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $stateGroup->id], ['confirm' => __('Are you sure you want to delete # {0}?', $stateGroup->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/StateGroups/view.ctp b/community_server/src/Template/StateGroups/view.ctp deleted file mode 100644 index 0ecb27009..000000000 --- a/community_server/src/Template/StateGroups/view.ctp +++ /dev/null @@ -1,152 +0,0 @@ - - -
-

name) ?>

- - - - - - - - - - - - - -
name) ?>
Number->format($stateGroup->id) ?>
Number->format($stateGroup->user_count) ?>
- - - - -
diff --git a/community_server/src/Template/StateRelationshipTypes/add.ctp b/community_server/src/Template/StateRelationshipTypes/add.ctp deleted file mode 100644 index 5eb7c3b4f..000000000 --- a/community_server/src/Template/StateRelationshipTypes/add.ctp +++ /dev/null @@ -1,24 +0,0 @@ - - -
- Form->create($stateRelationshipType) ?> -
- - Form->control('name'); - echo $this->Form->control('text'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateRelationshipTypes/edit.ctp b/community_server/src/Template/StateRelationshipTypes/edit.ctp deleted file mode 100644 index 96ef4ba88..000000000 --- a/community_server/src/Template/StateRelationshipTypes/edit.ctp +++ /dev/null @@ -1,30 +0,0 @@ - - -
- Form->create($stateRelationshipType) ?> -
- - Form->control('name'); - echo $this->Form->control('text'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateRelationshipTypes/index.ctp b/community_server/src/Template/StateRelationshipTypes/index.ctp deleted file mode 100644 index 2e44a8d88..000000000 --- a/community_server/src/Template/StateRelationshipTypes/index.ctp +++ /dev/null @@ -1,49 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('name') ?>Paginator->sort('text') ?>
Number->format($stateRelationshipType->id) ?>name) ?>text) ?> - Html->link(__('View'), ['action' => 'view', $stateRelationshipType->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $stateRelationshipType->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $stateRelationshipType->id], ['confirm' => __('Are you sure you want to delete # {0}?', $stateRelationshipType->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/StateRelationshipTypes/view.ctp b/community_server/src/Template/StateRelationshipTypes/view.ctp deleted file mode 100644 index 5d745a0df..000000000 --- a/community_server/src/Template/StateRelationshipTypes/view.ctp +++ /dev/null @@ -1,32 +0,0 @@ - - -
-

name) ?>

- - - - - - - - - - - - - -
name) ?>
text) ?>
Number->format($stateRelationshipType->id) ?>
-
diff --git a/community_server/src/Template/StateUserRoles/assign_role.ctp b/community_server/src/Template/StateUserRoles/assign_role.ctp deleted file mode 100644 index 64d3a1f8b..000000000 --- a/community_server/src/Template/StateUserRoles/assign_role.ctp +++ /dev/null @@ -1,49 +0,0 @@ -assign('title', __('Assign Role')); -// In a View class -$this->loadHelper('Form', [ - 'templates' => 'horizontal_form', -]); -?> -Html->css([ - 'loginServer/style.css', - 'rippleUI/style.css', - 'materialdesignicons.min.css' -]) ?> - -
-

Assign Role

-
- Form->create($assignRoleForm, []) ?> -
User:  first_name." ".$stateUser->last_name ?>
-
Select Role:
Form->select('role_id', $roles, ['label' => __('Role'), 'class' => 'form-control', 'id' => 'inlineFormInputGroup', 'placeholder' => __('Role'), "multiple" => "multiple", "value" => $role_ids]) ?>
- Form->button(' ' . __('Assign Role'), ['class' => 'form-button']) ?> - Form->hidden('public_hex', ['id' => 'input-order-row', 'value' => $public_hex]) ?> -
-
diff --git a/community_server/src/Template/StateUserRoles/index.ctp b/community_server/src/Template/StateUserRoles/index.ctp deleted file mode 100644 index 4e6ea8cb1..000000000 --- a/community_server/src/Template/StateUserRoles/index.ctp +++ /dev/null @@ -1,69 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('first_name') ?> - Paginator->sort('last_name') ?> - Paginator->sort('username') ?> - Paginator->sort('email') ?> - Paginator->sort('disabled') ?> -
Number->format($stateUser->id) ?>first_name ?>last_name ?>username ?>email ?>disabled ?> - Html->link(__('View'), ['action' => 'view', $stateUser->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $stateUser->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $stateUser->id], ['confirm' => __('Are you sure you want to delete # {0}?', $stateUser->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/StateUserRoles/search.ctp b/community_server/src/Template/StateUserRoles/search.ctp deleted file mode 100644 index aff7fbbcb..000000000 --- a/community_server/src/Template/StateUserRoles/search.ctp +++ /dev/null @@ -1,53 +0,0 @@ -assign('title', __('Benutzer suchen')); -// In a View class -$this->loadHelper('Form', [ - 'templates' => 'horizontal_form', -]); -?> -
-

Benutzer suchen

-
- Form->create($searchForm, []) ?> - Form->control('search', ['label' => __('Suchbegriff'), 'class' => 'form-control', 'id' => 'inlineFormInputGroup', 'placeholder' => __('Vorname/Nachname/E-Mail')]) ?> - Form->button('search ' . __('Suchen'), ['class' => 'form-button']) ?> - Form->hidden('order_row', ['id' => 'input-order-row']) ?> -
-
-
-

- - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('first_name') ?>Paginator->sort('last_name') ?>Paginator->sort('email') ?>
- Html->link(__('Assign Role'), ['action' => 'assignRole', $stateUser['pubkeyhex']]) ?> -
-
diff --git a/community_server/src/Template/StateUserTransactions/add.ctp b/community_server/src/Template/StateUserTransactions/add.ctp deleted file mode 100644 index b131a43e5..000000000 --- a/community_server/src/Template/StateUserTransactions/add.ctp +++ /dev/null @@ -1,31 +0,0 @@ - - -
- Form->create($stateUserTransaction) ?> -
- - Form->control('state_user_id', ['options' => $stateUsers]); - echo $this->Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('transaction_type_id', ['options' => $transactionTypes]); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateUserTransactions/edit.ctp b/community_server/src/Template/StateUserTransactions/edit.ctp deleted file mode 100644 index eec26e522..000000000 --- a/community_server/src/Template/StateUserTransactions/edit.ctp +++ /dev/null @@ -1,37 +0,0 @@ - - -
- Form->create($stateUserTransaction) ?> -
- - Form->control('state_user_id', ['options' => $stateUsers]); - echo $this->Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('transaction_type_id', ['options' => $transactionTypes]); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateUserTransactions/index.ctp b/community_server/src/Template/StateUserTransactions/index.ctp deleted file mode 100644 index 9bdd3d6b3..000000000 --- a/community_server/src/Template/StateUserTransactions/index.ctp +++ /dev/null @@ -1,57 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('state_user_id') ?>Paginator->sort('transaction_id') ?>Paginator->sort('transaction_type_id') ?>
Number->format($stateUserTransaction->id) ?>has('state_user') ? $this->Html->link($stateUserTransaction->state_user->email, ['controller' => 'StateUsers', 'action' => 'view', $stateUserTransaction->state_user->id]) : '' ?>has('transaction') ? $this->Html->link($stateUserTransaction->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $stateUserTransaction->transaction->id]) : '' ?>has('transaction_type') ? $this->Html->link($stateUserTransaction->transaction_type->name, ['controller' => 'TransactionTypes', 'action' => 'view', $stateUserTransaction->transaction_type->id]) : '' ?> - Html->link(__('View'), ['action' => 'view', $stateUserTransaction->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $stateUserTransaction->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $stateUserTransaction->id], ['confirm' => __('Are you sure you want to delete # {0}?', $stateUserTransaction->id)]) ?> -
-
-
    - Paginator->first('<< ' . __('first')) ?> - Paginator->prev('< ' . __('previous')) ?> - Paginator->numbers() ?> - Paginator->next(__('next') . ' >') ?> - Paginator->last(__('last') . ' >>') ?> -
-

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/StateUserTransactions/view.ctp b/community_server/src/Template/StateUserTransactions/view.ctp deleted file mode 100644 index 13c05347b..000000000 --- a/community_server/src/Template/StateUserTransactions/view.ctp +++ /dev/null @@ -1,42 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - - - - - -
has('state_user') ? $this->Html->link($stateUserTransaction->state_user->email, ['controller' => 'StateUsers', 'action' => 'view', $stateUserTransaction->state_user->id]) : '' ?>
has('transaction') ? $this->Html->link($stateUserTransaction->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $stateUserTransaction->transaction->id]) : '' ?>
has('transaction_type') ? $this->Html->link($stateUserTransaction->transaction_type->name, ['controller' => 'TransactionTypes', 'action' => 'view', $stateUserTransaction->transaction_type->id]) : '' ?>
Number->format($stateUserTransaction->id) ?>
-
diff --git a/community_server/src/Template/StateUsers/add.ctp b/community_server/src/Template/StateUsers/add.ctp deleted file mode 100644 index a810bc9d5..000000000 --- a/community_server/src/Template/StateUsers/add.ctp +++ /dev/null @@ -1,34 +0,0 @@ - - -
- Form->create($stateUser) ?> -
- - Form->control('index_id'); - echo $this->Form->control('state_group_id', ['options' => $stateGroups]); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateUsers/edit.ctp b/community_server/src/Template/StateUsers/edit.ctp deleted file mode 100644 index 473f1d845..000000000 --- a/community_server/src/Template/StateUsers/edit.ctp +++ /dev/null @@ -1,39 +0,0 @@ - - -
- Form->create($stateUser) ?> -
- - Form->control('disabled'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/StateUsers/index.ctp b/community_server/src/Template/StateUsers/index.ctp deleted file mode 100644 index 4e6ea8cb1..000000000 --- a/community_server/src/Template/StateUsers/index.ctp +++ /dev/null @@ -1,69 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('first_name') ?> - Paginator->sort('last_name') ?> - Paginator->sort('username') ?> - Paginator->sort('email') ?> - Paginator->sort('disabled') ?> -
Number->format($stateUser->id) ?>first_name ?>last_name ?>username ?>email ?>disabled ?> - Html->link(__('View'), ['action' => 'view', $stateUser->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $stateUser->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $stateUser->id], ['confirm' => __('Are you sure you want to delete # {0}?', $stateUser->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/StateUsers/list_ident_hashes.ctp b/community_server/src/Template/StateUsers/list_ident_hashes.ctp deleted file mode 100644 index 777a32c99..000000000 --- a/community_server/src/Template/StateUsers/list_ident_hashes.ctp +++ /dev/null @@ -1,29 +0,0 @@ - -
- - - - - - - - - - - - - - - - - -
first namelast nameemailidentHashPublic key hex -
first_name ?>last_name ?>email ?>identHash ?>public_key)) ?>
-
diff --git a/community_server/src/Template/StateUsers/search.ctp b/community_server/src/Template/StateUsers/search.ctp deleted file mode 100644 index 626cb7313..000000000 --- a/community_server/src/Template/StateUsers/search.ctp +++ /dev/null @@ -1,79 +0,0 @@ -assign('title', __('Benutzer suchen')); -// In a View class -$this->loadHelper('Form', [ - 'templates' => 'horizontal_form', -]); - -$stateOptions = [ - 'all' => __('Alle'), - //'account created'=>__('Konto angelegt'), - //'account not on login-server' => __('Konto nicht auf Login-Server'), - //'email activated' => __('Konto aktiviert'), - //'account copied to community' => __('Konto auf Gemeinschafts-Server'), - 'email not activated' => __('Konto nicht aktiviert'), - //'account multiple times on login-server' => __('Konto mehrfach vorhanden'), - //'account not on community server' => __('Konto nicht auf Gemeinschafts-Server'), - //'no keys' => __('Keine Schlüssel generiert') -]; - -?> -Html->css([ - 'loginServer/style.css', - 'rippleUI/style.css', - 'materialdesignicons.min.css' -]) ?> - -
-

Benutzer suchen

-
- Form->create($searchForm, []) ?> - Form->control('search', ['label' => __('Suchbegriff'), 'class' => 'form-control', 'id' => 'inlineFormInputGroup', 'placeholder' => __('Vorname/Nachname/E-Mail'), 'required' => false]) ?> - Form->control('account_state', ['label' => __('Konto Status'), 'class' => 'form-control', 'type' => 'select', 'options' => $stateOptions]) ?> - Form->button('search ' . __('Suchen'), ['class' => 'form-button']) ?> - Form->hidden('order_row', ['id' => 'input-order-row']) ?> -
-
-
- -
- - -Html->script('userSearch.min') ?> - - - diff --git a/community_server/src/Template/StateUsers/view.ctp b/community_server/src/Template/StateUsers/view.ctp deleted file mode 100644 index c2bb33c2b..000000000 --- a/community_server/src/Template/StateUsers/view.ctp +++ /dev/null @@ -1,143 +0,0 @@ - - -
-

first_name) ?> last_name) ?> <email) ?>>

- Konto-Adresse: public_key))) ?> - - - - - -
diff --git a/community_server/src/Template/TransactionCreations/add.ctp b/community_server/src/Template/TransactionCreations/add.ctp deleted file mode 100644 index dfe34be56..000000000 --- a/community_server/src/Template/TransactionCreations/add.ctp +++ /dev/null @@ -1,29 +0,0 @@ - - -
- Form->create($transactionCreation) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('state_user_id', ['options' => $stateUsers]); - echo $this->Form->control('amount'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionCreations/create.ctp b/community_server/src/Template/TransactionCreations/create.ctp deleted file mode 100644 index d5c9ee2c5..000000000 --- a/community_server/src/Template/TransactionCreations/create.ctp +++ /dev/null @@ -1,31 +0,0 @@ - $receiver) { - //var_dump($receiver); - array_push($address_options, [ - 'text' => $receiver['name'], - 'value' => $i+1, - 'title' => $receiver['key'] - ]); -} -$this->assign('title', __('Schöpfungstransaktion')); -?> -
- - Form->create($creationForm) ?> -
- Form->control('memo'); ?> - Form->control('amount'); ?> - Form->control('receiver', ['options' => $address_options]); ?> - -
- Form->button(__('Transaktion(en) abschließen'), ['name' => 'next', 'class' => 'grd-form-bn grd-form-bn-succeed grd_clickable grd-width-200']) ?> - Form->button(__('Weitere Transaktion erstellen'), ['name' => 'add', 'class' => 'grd-form-bn grd_clickable grd-width-200']) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionCreations/create_multi.ctp b/community_server/src/Template/TransactionCreations/create_multi.ctp deleted file mode 100644 index d4d130b9c..000000000 --- a/community_server/src/Template/TransactionCreations/create_multi.ctp +++ /dev/null @@ -1,229 +0,0 @@ - $receiver) { - //var_dump($receiver); - array_push($address_options, [ - 'text' => $receiver['name'], - 'value' => $i+1, - 'title' => $receiver['key'] - ]); -}*/ -$this->assign('title', __('Schöpfungstransaktion')); -$this->loadHelper('Form', [ - 'templates' => 'horizontal_form', -]); - -use Cake\I18n\FrozenTime; - -?> -
-

Schöpfen

-
- Form->create($creationForm) ?> - 0) : ?> -
- -
-
- Form->control('searchText', ['label' => __('Suche'), 'placeholder' => 'Email/Name']); ?> - Form->button(__('Suchen'), ['name' => 'searchButton', 'class' => 'form-button']) ?> -
-
- Form->control('memo', ['label' => __('Memo'), 'placeholder' => 'Memo']); ?> - Form->control('amount', ['label' => __('Betrag in GDD'), 'required' => false]); ?> - day(1)->subMonth(1); - ?> - -
-
- - -
-
- 30000000) { - //$disable = 'disabled'; - } - ?> -
- - Form->hidden('user_pending[' . $possibleReceiver['id'] . ']', ['value' => $possibleReceiver['pending']] ) ?> - -
-
- Form->checkbox('user[' .$possibleReceiver['id'] . ']', ['value' => $possibleReceiver['id'], 'hiddenField' => false, $disable]); ?> -
-
- - - - - - - <> - - -
-
- Form->text('user_amount[' . $possibleReceiver['id'] . ']', ['placeholder' => __('Für benutzerdefinierten Betrag'), 'class' => 'user_amount', 'type' => 'number', 'step' => '0.01', $disable]); ?> GDD -
-
- Form->date('user_target_date[' . $possibleReceiver['id'] . ']', ['value' => $firstDayLastMonth]) ?> -
-
-
- - - Bereits als Transaktion angelegt: element('printGradido', ['number' => $possibleReceiver['pending']]);?> - - - - - In diesen und den letzten 2 Monaten bereits geschöpft (alte Berechnung): element('printGradido', ['number' => $possibleReceiver['amount']]);?> - - - 0) : ?> - - Im letzten Monat geschöpft (neue Berechnung): element('printGradido', ['number' => $possibleReceiver['amount2']]) ?> - - -
-
- - -
- $limit) : ?> -

Benutzer insgesamt

-

Seiten: - 0) echo ', '; - if($i != $page) { - echo $this->Html->link($i, ['action' => 'create_multi', $i]); - } else { - echo $i; - } - } - ?> -

- -
-
-
- Form->button(__('Transaktion(en) abschließen'), ['name' => 'next', 'class' => 'form-button' ]) ?> - Form->button(__('Weitere Transaktion erstellen'), ['name' => 'add', 'class' => 'form-button']) ?> -
-
- Form->end() ?> -
-
-Html->script('basic'); ?> - - 0) : ?> - - \ No newline at end of file diff --git a/community_server/src/Template/TransactionCreations/edit.ctp b/community_server/src/Template/TransactionCreations/edit.ctp deleted file mode 100644 index 85b7704be..000000000 --- a/community_server/src/Template/TransactionCreations/edit.ctp +++ /dev/null @@ -1,35 +0,0 @@ - - -
- Form->create($transactionCreation) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('state_user_id', ['options' => $stateUsers]); - echo $this->Form->control('amount'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionCreations/index.ctp b/community_server/src/Template/TransactionCreations/index.ctp deleted file mode 100644 index 4eb7b2471..000000000 --- a/community_server/src/Template/TransactionCreations/index.ctp +++ /dev/null @@ -1,58 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('transaction_id') ?>Paginator->sort('state_user_id') ?>Paginator->sort('target_date') ?>Paginator->sort('received') ?>Paginator->sort('amount') ?>
Number->format($transactionCreation->id) ?>has('transaction') ? $this->Html->link($transactionCreation->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $transactionCreation->transaction->id]) : '' ?>has('state_user') ? $this->Html->link($transactionCreation->state_user->getEmailWithName(), ['controller' => 'StateUsers', 'action' => 'view', $transactionCreation->state_user->id]) : '' ?>target_date) ?>transaction->received) ?>element('printGradido', ['number' => $transactionCreation->amount]) ?>ident_hash) ?> - Html->link(__('View'), ['action' => 'view', $transactionCreation->id]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/TransactionCreations/view.ctp b/community_server/src/Template/TransactionCreations/view.ctp deleted file mode 100644 index a51312674..000000000 --- a/community_server/src/Template/TransactionCreations/view.ctp +++ /dev/null @@ -1,40 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - - - - - -
has('transaction') ? $this->Html->link($transactionCreation->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $transactionCreation->transaction->id]) : '' ?>
has('state_user') ? $this->Html->link($transactionCreation->state_user->id, ['controller' => 'StateUsers', 'action' => 'view', $transactionCreation->state_user->id]) : '' ?>
Number->format($transactionCreation->id) ?>
Number->format($transactionCreation->amount) ?>
-
diff --git a/community_server/src/Template/TransactionGroupAddaddress/add.ctp b/community_server/src/Template/TransactionGroupAddaddress/add.ctp deleted file mode 100644 index 21fa1bea7..000000000 --- a/community_server/src/Template/TransactionGroupAddaddress/add.ctp +++ /dev/null @@ -1,28 +0,0 @@ - - -
- Form->create($transactionGroupAddaddres) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('address_type_id', ['options' => $addressTypes]); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionGroupAddaddress/edit.ctp b/community_server/src/Template/TransactionGroupAddaddress/edit.ctp deleted file mode 100644 index e9d7c318a..000000000 --- a/community_server/src/Template/TransactionGroupAddaddress/edit.ctp +++ /dev/null @@ -1,34 +0,0 @@ - - -
- Form->create($transactionGroupAddaddres) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('address_type_id', ['options' => $addressTypes]); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionGroupAddaddress/index.ctp b/community_server/src/Template/TransactionGroupAddaddress/index.ctp deleted file mode 100644 index 404115d69..000000000 --- a/community_server/src/Template/TransactionGroupAddaddress/index.ctp +++ /dev/null @@ -1,55 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('transaction_id') ?>Paginator->sort('address_type_id') ?>
Number->format($transactionGroupAddaddres->id) ?>has('transaction') ? $this->Html->link($transactionGroupAddaddres->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $transactionGroupAddaddres->transaction->id]) : '' ?>has('address_type') ? $this->Html->link($transactionGroupAddaddres->address_type->name, ['controller' => 'AddressTypes', 'action' => 'view', $transactionGroupAddaddres->address_type->id]) : '' ?>public_key)) ?> - - Html->link(__('View'), ['action' => 'view', $transactionGroupAddaddres->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $transactionGroupAddaddres->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $transactionGroupAddaddres->id], ['confirm' => __('Are you sure you want to delete # {0}?', $transactionGroupAddaddres->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/TransactionGroupAddaddress/view.ctp b/community_server/src/Template/TransactionGroupAddaddress/view.ctp deleted file mode 100644 index 8401780e7..000000000 --- a/community_server/src/Template/TransactionGroupAddaddress/view.ctp +++ /dev/null @@ -1,36 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - -
has('transaction') ? $this->Html->link($transactionGroupAddaddres->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $transactionGroupAddaddres->transaction->id]) : '' ?>
has('address_type') ? $this->Html->link($transactionGroupAddaddres->address_type->name, ['controller' => 'AddressTypes', 'action' => 'view', $transactionGroupAddaddres->address_type->id]) : '' ?>
Number->format($transactionGroupAddaddres->id) ?>
-
diff --git a/community_server/src/Template/TransactionGroupAllowtrades/add.ctp b/community_server/src/Template/TransactionGroupAllowtrades/add.ctp deleted file mode 100644 index 7e29efc24..000000000 --- a/community_server/src/Template/TransactionGroupAllowtrades/add.ctp +++ /dev/null @@ -1,27 +0,0 @@ - - -
- Form->create($transactionGroupAllowtrade) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('group_id'); - echo $this->Form->control('allow'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionGroupAllowtrades/edit.ctp b/community_server/src/Template/TransactionGroupAllowtrades/edit.ctp deleted file mode 100644 index 500241331..000000000 --- a/community_server/src/Template/TransactionGroupAllowtrades/edit.ctp +++ /dev/null @@ -1,33 +0,0 @@ - - -
- Form->create($transactionGroupAllowtrade) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('group_id'); - echo $this->Form->control('allow'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionGroupAllowtrades/index.ctp b/community_server/src/Template/TransactionGroupAllowtrades/index.ctp deleted file mode 100644 index 07386ccb2..000000000 --- a/community_server/src/Template/TransactionGroupAllowtrades/index.ctp +++ /dev/null @@ -1,53 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('transaction_id') ?>Paginator->sort('group_id') ?>Paginator->sort('allow') ?>
Number->format($transactionGroupAllowtrade->id) ?>has('transaction') ? $this->Html->link($transactionGroupAllowtrade->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $transactionGroupAllowtrade->transaction->id]) : '' ?>Number->format($transactionGroupAllowtrade->group_id) ?>allow) ?> - Html->link(__('View'), ['action' => 'view', $transactionGroupAllowtrade->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $transactionGroupAllowtrade->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $transactionGroupAllowtrade->id], ['confirm' => __('Are you sure you want to delete # {0}?', $transactionGroupAllowtrade->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/TransactionGroupAllowtrades/view.ctp b/community_server/src/Template/TransactionGroupAllowtrades/view.ctp deleted file mode 100644 index 7a6a36f5a..000000000 --- a/community_server/src/Template/TransactionGroupAllowtrades/view.ctp +++ /dev/null @@ -1,38 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - - - - - -
has('transaction') ? $this->Html->link($transactionGroupAllowtrade->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $transactionGroupAllowtrade->transaction->id]) : '' ?>
Number->format($transactionGroupAllowtrade->id) ?>
Number->format($transactionGroupAllowtrade->group_id) ?>
allow ? __('Yes') : __('No'); ?>
-
diff --git a/community_server/src/Template/TransactionGroupCreates/add.ctp b/community_server/src/Template/TransactionGroupCreates/add.ctp deleted file mode 100644 index 6e6174eb4..000000000 --- a/community_server/src/Template/TransactionGroupCreates/add.ctp +++ /dev/null @@ -1,29 +0,0 @@ - - -
- Form->create($transactionGroupCreate) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('state_group_id', ['options' => $stateGroups]); - echo $this->Form->control('name'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionGroupCreates/edit.ctp b/community_server/src/Template/TransactionGroupCreates/edit.ctp deleted file mode 100644 index d1890afca..000000000 --- a/community_server/src/Template/TransactionGroupCreates/edit.ctp +++ /dev/null @@ -1,35 +0,0 @@ - - -
- Form->create($transactionGroupCreate) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('state_group_id', ['options' => $stateGroups]); - echo $this->Form->control('name'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionGroupCreates/index.ctp b/community_server/src/Template/TransactionGroupCreates/index.ctp deleted file mode 100644 index 13aeabf83..000000000 --- a/community_server/src/Template/TransactionGroupCreates/index.ctp +++ /dev/null @@ -1,55 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('transaction_id') ?>Paginator->sort('state_group_id') ?>Paginator->sort('name') ?>
Number->format($transactionGroupCreate->id) ?>has('transaction') ? $this->Html->link($transactionGroupCreate->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $transactionGroupCreate->transaction->id]) : '' ?>has('state_group') ? $this->Html->link($transactionGroupCreate->state_group->name, ['controller' => 'StateGroups', 'action' => 'view', $transactionGroupCreate->state_group->id]) : '' ?>name) ?> - Html->link(__('View'), ['action' => 'view', $transactionGroupCreate->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $transactionGroupCreate->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $transactionGroupCreate->id], ['confirm' => __('Are you sure you want to delete # {0}?', $transactionGroupCreate->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/TransactionGroupCreates/view.ctp b/community_server/src/Template/TransactionGroupCreates/view.ctp deleted file mode 100644 index c774f8bc3..000000000 --- a/community_server/src/Template/TransactionGroupCreates/view.ctp +++ /dev/null @@ -1,40 +0,0 @@ - - -
-

name) ?>

- - - - - - - - - - - - - - - - - -
has('transaction') ? $this->Html->link($transactionGroupCreate->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $transactionGroupCreate->transaction->id]) : '' ?>
has('state_group') ? $this->Html->link($transactionGroupCreate->state_group->name, ['controller' => 'StateGroups', 'action' => 'view', $transactionGroupCreate->state_group->id]) : '' ?>
name) ?>
Number->format($transactionGroupCreate->id) ?>
-
diff --git a/community_server/src/Template/TransactionSendCoins/add.ctp b/community_server/src/Template/TransactionSendCoins/add.ctp deleted file mode 100644 index 8b5a757c4..000000000 --- a/community_server/src/Template/TransactionSendCoins/add.ctp +++ /dev/null @@ -1,30 +0,0 @@ - - -
- Form->create($transactionSendCoin) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('state_user_id', ['options' => $stateUsers]); - echo $this->Form->control('amount'); - echo $this->Form->control('sender_final_balance'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionSendCoins/create.ctp b/community_server/src/Template/TransactionSendCoins/create.ctp deleted file mode 100644 index 91e7678e0..000000000 --- a/community_server/src/Template/TransactionSendCoins/create.ctp +++ /dev/null @@ -1,40 +0,0 @@ -assign('title', __('Überweisung')); -// In a View class -$this->loadHelper('Form', [ - 'templates' => 'horizontal_form', -]); -?> -
-

Überweisen

-
- Form->create($transferForm) ?> - Form->control('email', ['label' => __('Empfänger'), 'placeholder' => 'E-Mail']) ?> - Form->control('group', ['label' => __('Community Alias'), 'options' => $groups, 'default' => $user['group_alias']]) ?> - Form->control('memo', ['label' => __('Verwendungszweck'), 'rows' => 3]) ?> - Form->control('amount', ['label' => __('Betrag in GDD')]) ?> - Form->button(__('Transaktion abschließen'), ['name' => 'next', 'class' => 'form-button']) ?> - - Form->end() ?> -
-
- -Html->script(['core', 'vendor.addons']); ?> - diff --git a/community_server/src/Template/TransactionSendCoins/create_raw.ctp b/community_server/src/Template/TransactionSendCoins/create_raw.ctp deleted file mode 100644 index 0b3d74e1f..000000000 --- a/community_server/src/Template/TransactionSendCoins/create_raw.ctp +++ /dev/null @@ -1,55 +0,0 @@ -assign('title', __('Überweisung')); -// In a View class -$this->loadHelper('Form', [ - 'templates' => 'horizontal_form', -]); -?> - -
-
-
-

Überweisen

-
-
-
-
- Form->create($transferRawForm) ?> - Form->control('sender_privkey_hex', ['label' => __('Sender Private Key')]) ?> - Form->control('sender_pubkey_hex', ['label' => __('Sender Public Key')]) ?> - Form->control('receiver_pubkey_hex', ['label' => __('Empfänger Public Key')]) ?> - Form->control('memo', ['label' => __('Verwendungszweck'), 'rows' => 3]) ?> - Form->control('amount', ['label' => __('Betrag in GDD')]) ?> - Form->button(__('Transaktion abschließen'), ['name' => 'next', 'class' => 'btn btn-sm btn-primary']) ?> - Form->end() ?> -
-
-
-
-
-
-
- -Html->script(['core', 'vendor.addons']); ?> - diff --git a/community_server/src/Template/TransactionSendCoins/edit.ctp b/community_server/src/Template/TransactionSendCoins/edit.ctp deleted file mode 100644 index 61a6841fe..000000000 --- a/community_server/src/Template/TransactionSendCoins/edit.ctp +++ /dev/null @@ -1,36 +0,0 @@ - - -
- Form->create($transactionSendCoin) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - echo $this->Form->control('state_user_id', ['options' => $stateUsers]); - echo $this->Form->control('amount'); - echo $this->Form->control('sender_final_balance'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionSendCoins/index.ctp b/community_server/src/Template/TransactionSendCoins/index.ctp deleted file mode 100644 index c98f675a5..000000000 --- a/community_server/src/Template/TransactionSendCoins/index.ctp +++ /dev/null @@ -1,57 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('transaction_id') ?>Paginator->sort('state_user_id') ?>Paginator->sort('receiver_user_id') ?>Paginator->sort('amount') ?>Paginator->sort('sender_final_balance') ?>
Number->format($transactionSendCoin->id) ?>has('transaction') ? $this->Html->link($transactionSendCoin->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $transactionSendCoin->transaction->id]) : '' ?>has('state_user') ? $this->Html->link($transactionSendCoin->state_user->getEmailWithName(), ['controller' => 'StateUsers', 'action' => 'view', $transactionSendCoin->state_user->id]) : '' ?>has('receiver_user') ? $this->Html->link($transactionSendCoin->receiver_user->getEmailWithName(), ['controller' => 'StateUsers', 'action' => 'view', $transactionSendCoin->receiver_user->id]) : ''?>element('printGradido', ['number' => $transactionSendCoin->amount]) ?>Number->format($transactionSendCoin->sender_final_balance) ?> - Html->link(__('View'), ['action' => 'view', $transactionSendCoin->id]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/TransactionSendCoins/view.ctp b/community_server/src/Template/TransactionSendCoins/view.ctp deleted file mode 100644 index 322621942..000000000 --- a/community_server/src/Template/TransactionSendCoins/view.ctp +++ /dev/null @@ -1,44 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - - - - - - - - - -
has('transaction') ? $this->Html->link($transactionSendCoin->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $transactionSendCoin->transaction->id]) : '' ?>
has('state_user') ? $this->Html->link($transactionSendCoin->state_user->id, ['controller' => 'StateUsers', 'action' => 'view', $transactionSendCoin->state_user->id]) : '' ?>
Number->format($transactionSendCoin->id) ?>
Number->format($transactionSendCoin->amount) ?>
Number->format($transactionSendCoin->sender_final_balance) ?>
-
diff --git a/community_server/src/Template/TransactionSignatures/add.ctp b/community_server/src/Template/TransactionSignatures/add.ctp deleted file mode 100644 index 752389cd7..000000000 --- a/community_server/src/Template/TransactionSignatures/add.ctp +++ /dev/null @@ -1,25 +0,0 @@ - - -
- Form->create($transactionSignature) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionSignatures/edit.ctp b/community_server/src/Template/TransactionSignatures/edit.ctp deleted file mode 100644 index 68143712b..000000000 --- a/community_server/src/Template/TransactionSignatures/edit.ctp +++ /dev/null @@ -1,31 +0,0 @@ - - -
- Form->create($transactionSignature) ?> -
- - Form->control('transaction_id', ['options' => $transactions]); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionSignatures/index.ctp b/community_server/src/Template/TransactionSignatures/index.ctp deleted file mode 100644 index 9b8bc2826..000000000 --- a/community_server/src/Template/TransactionSignatures/index.ctp +++ /dev/null @@ -1,49 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('transaction_id') ?>
Number->format($transactionSignature->id) ?>has('transaction') ? $this->Html->link($transactionSignature->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $transactionSignature->transaction->id]) : '' ?> - Html->link(__('View'), ['action' => 'view', $transactionSignature->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $transactionSignature->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $transactionSignature->id], ['confirm' => __('Are you sure you want to delete # {0}?', $transactionSignature->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/TransactionSignatures/view.ctp b/community_server/src/Template/TransactionSignatures/view.ctp deleted file mode 100644 index 681198125..000000000 --- a/community_server/src/Template/TransactionSignatures/view.ctp +++ /dev/null @@ -1,30 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - -
has('transaction') ? $this->Html->link($transactionSignature->transaction->id, ['controller' => 'Transactions', 'action' => 'view', $transactionSignature->transaction->id]) : '' ?>
Number->format($transactionSignature->id) ?>
-
diff --git a/community_server/src/Template/TransactionTypes/add.ctp b/community_server/src/Template/TransactionTypes/add.ctp deleted file mode 100644 index 97de82122..000000000 --- a/community_server/src/Template/TransactionTypes/add.ctp +++ /dev/null @@ -1,26 +0,0 @@ - - -
- Form->create($transactionType) ?> -
- - Form->control('name'); - echo $this->Form->control('text'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionTypes/edit.ctp b/community_server/src/Template/TransactionTypes/edit.ctp deleted file mode 100644 index 421184b55..000000000 --- a/community_server/src/Template/TransactionTypes/edit.ctp +++ /dev/null @@ -1,32 +0,0 @@ - - -
- Form->create($transactionType) ?> -
- - Form->control('name'); - echo $this->Form->control('text'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/TransactionTypes/index.ctp b/community_server/src/Template/TransactionTypes/index.ctp deleted file mode 100644 index b2248ae4b..000000000 --- a/community_server/src/Template/TransactionTypes/index.ctp +++ /dev/null @@ -1,51 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('name') ?>Paginator->sort('text') ?>
Number->format($transactionType->id) ?>name) ?>text) ?> - Html->link(__('View'), ['action' => 'view', $transactionType->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $transactionType->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $transactionType->id], ['confirm' => __('Are you sure you want to delete # {0}?', $transactionType->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/TransactionTypes/view.ctp b/community_server/src/Template/TransactionTypes/view.ctp deleted file mode 100644 index 3da64f7e3..000000000 --- a/community_server/src/Template/TransactionTypes/view.ctp +++ /dev/null @@ -1,63 +0,0 @@ - - -
-

name) ?>

- - - - - - - - - - - - - -
name) ?>
text) ?>
Number->format($transactionType->id) ?>
- -
diff --git a/community_server/src/Template/Transactions/add.ctp b/community_server/src/Template/Transactions/add.ctp deleted file mode 100644 index 012d82027..000000000 --- a/community_server/src/Template/Transactions/add.ctp +++ /dev/null @@ -1,44 +0,0 @@ - - -
- Form->create($transaction) ?> -
- - Form->control('state_group_id', ['options' => $stateGroups]); - echo $this->Form->control('transaction_type_id', ['options' => $transactionTypes]); - echo $this->Form->control('memo', ['type' => 'textarea']); - echo $this->Form->control('blockchain_type_id', ['options' => $blockchainTypes]); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/Transactions/decode.ctp b/community_server/src/Template/Transactions/decode.ctp deleted file mode 100644 index dddde1cb8..000000000 --- a/community_server/src/Template/Transactions/decode.ctp +++ /dev/null @@ -1,36 +0,0 @@ - - 0) : ?> -
-
    - -
  • - -
  • - -
-
- - -Form->create() ?> -Form->control('base64', ['type'=> 'textarea', 'rows' => '5', 'cols' => 40]) ?> -Form->submit(); ?> -Form->end() ?> - - -getTransactionBody(); -?> - - - getMemo() ?> -
TypegetTransactionTypeName() ?>
Memo
- - diff --git a/community_server/src/Template/Transactions/edit.ctp b/community_server/src/Template/Transactions/edit.ctp deleted file mode 100644 index 4085a60c4..000000000 --- a/community_server/src/Template/Transactions/edit.ctp +++ /dev/null @@ -1,49 +0,0 @@ - - -
- Form->create($transaction) ?> -
- - Form->control('state_group_id', ['options' => $stateGroups]); - echo $this->Form->control('transaction_type_id', ['options' => $transactionTypes]); - echo $this->Form->control('received'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/Transactions/index.ctp b/community_server/src/Template/Transactions/index.ctp deleted file mode 100644 index 9f97dc0c8..000000000 --- a/community_server/src/Template/Transactions/index.ctp +++ /dev/null @@ -1,58 +0,0 @@ - - -
-
-
-
Paginator->sort('id') ?>
-
Paginator->sort('memo') ?>
-
Paginator->sort('transaction_type_id') ?>
-
Paginator->sort('received') ?>
-
- -
-
Number->format($transaction->id) ?>
-
memo) ?>
-
has('transaction_type') ? $this->Html->link(__($transaction->transaction_type->name), ['controller' => 'TransactionTypes', 'action' => 'view', $transaction->transaction_type->id]) : '' ?>
-
received) ?>
-
- -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/Transactions/manual_transaction.ctp b/community_server/src/Template/Transactions/manual_transaction.ctp deleted file mode 100644 index 30bda1175..000000000 --- a/community_server/src/Template/Transactions/manual_transaction.ctp +++ /dev/null @@ -1,63 +0,0 @@ -loadHelper('Form', [ - 'templates' => 'horizontal_form', -]); -$now = new \DateTime; -?> - 0) : ?> -
-
    - -
  • - -
  • - -
-
- - -
-

-
- Form->create() ?> - Form->control('type', ['type' => 'hidden', 'value' => 'creation']) ?> - Form->control('target_public_key', ['type'=> 'text']) ?> - Form->control('target_date', ['type'=> 'text', 'placeholder' => 'yyyy-mm-dd hh:ii:ss', 'default' => $now->format('Y-m-d H:i:s')]) ?> - Form->control('amount', ['type'=> 'number']) ?> - Form->control('memo', ['type'=> 'textarea', 'rows' => '8', 'cols' => 40]) ?> - Form->control('signer_public_key', ['type' => 'text']) ?> - Form->control('signer_private_key', ['type'=> 'text']) ?> - Form->submit(); ?> - Form->end() ?> -
-
-
-

-
- Form->create() ?> - Form->control('type', ['type' => 'hidden', 'value' => 'transfer']) ?> - Form->control('sender_public_key', ['type'=> 'text']) ?> - Form->control('receiver_public_key', ['type'=> 'text']) ?> - Form->control('amount', ['type'=> 'number']) ?> - Form->control('memo', ['type'=> 'textarea', 'rows' => '8', 'cols' => 40]) ?> - Form->control('signer_public_key', ['type' => 'text']) ?> - Form->control('signer_private_key', ['type'=> 'text']) ?> - Form->submit(); ?> - Form->end() ?> -
-
- -
-
    - $value) : ?> -
  • :
  • - -
-
- \ No newline at end of file diff --git a/community_server/src/Template/Transactions/send_to_node.ctp b/community_server/src/Template/Transactions/send_to_node.ctp deleted file mode 100644 index 0bb652feb..000000000 --- a/community_server/src/Template/Transactions/send_to_node.ctp +++ /dev/null @@ -1,106 +0,0 @@ -assign('title', __('Transaktionen an Gradido-Node senden')); -?> - - -

- -Bisher keine Transaktionen eingereicht - -Letzte eingereichte Transaktion - -

-
    - $id) : ?> -
  • - : - - - Wird verarbeitet - - in Warteschlange - - - -
  • -
-Html->script(['core']); ?> - diff --git a/community_server/src/Template/Transactions/synchronize_with_state_user_transactions.ctp b/community_server/src/Template/Transactions/synchronize_with_state_user_transactions.ctp deleted file mode 100644 index 8ac1ecb2d..000000000 --- a/community_server/src/Template/Transactions/synchronize_with_state_user_transactions.ctp +++ /dev/null @@ -1,46 +0,0 @@ - -
-

Synchronize state_user_transactions with transactions

-

transactions count:

-

state_user_transaction count:

-

Missing count:

-

First 10 Missing ids:

-

$id) { - if($i > 10) break; - if($i > 0) echo ', '; - echo $id['id']; -} ?>

- - -

Synchronize errors:

-
    - $result) : - if(false != $result) { - $succeed++; - continue; - } - ?> -
  • Error saving entity: with error: getErrors()) ?>
  • - - -
  • Succeed:
  • -
- - - Form->create() ?> - Form->button(__('Synchronize')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/Transactions/view.ctp b/community_server/src/Template/Transactions/view.ctp deleted file mode 100644 index e15b9dbe3..000000000 --- a/community_server/src/Template/Transactions/view.ctp +++ /dev/null @@ -1,259 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - - - - - -
has('state_group') ? $this->Html->link($transaction->state_group->name, ['controller' => 'StateGroups', 'action' => 'view', $transaction->state_group->id]) : '' ?>
has('transaction_type') ? $this->Html->link($transaction->transaction_type->name, ['controller' => 'TransactionTypes', 'action' => 'view', $transaction->transaction_type->id]) : '' ?>
Number->format($transaction->id) ?>
received) ?>
- - - - - - - -
diff --git a/community_server/src/Template/Users/add.ctp b/community_server/src/Template/Users/add.ctp deleted file mode 100644 index 6f67f02e6..000000000 --- a/community_server/src/Template/Users/add.ctp +++ /dev/null @@ -1,28 +0,0 @@ - - -
- Form->create($user) ?> -
- - Form->control('email'); - echo $this->Form->control('first_name'); - echo $this->Form->control('last_name'); - echo $this->Form->control('password'); - echo $this->Form->control('email_checked'); - echo $this->Form->control('language'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/Users/edit.ctp b/community_server/src/Template/Users/edit.ctp deleted file mode 100644 index 681eacd36..000000000 --- a/community_server/src/Template/Users/edit.ctp +++ /dev/null @@ -1,34 +0,0 @@ - - -
- Form->create($user) ?> -
- - Form->control('email'); - echo $this->Form->control('first_name'); - echo $this->Form->control('last_name'); - echo $this->Form->control('password'); - echo $this->Form->control('email_checked'); - echo $this->Form->control('language'); - ?> -
- Form->button(__('Submit')) ?> - Form->end() ?> -
diff --git a/community_server/src/Template/Users/index.ctp b/community_server/src/Template/Users/index.ctp deleted file mode 100644 index 14566ea26..000000000 --- a/community_server/src/Template/Users/index.ctp +++ /dev/null @@ -1,59 +0,0 @@ - - -
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Paginator->sort('id') ?>Paginator->sort('email') ?>Paginator->sort('first_name') ?>Paginator->sort('last_name') ?>Paginator->sort('password') ?>Paginator->sort('created') ?>Paginator->sort('email_checked') ?>Paginator->sort('language') ?>
Number->format($user->id) ?>email) ?>first_name) ?>last_name) ?>Number->format($user->password) ?>created) ?>email_checked) ?>language) ?> - Html->link(__('View'), ['action' => 'view', $user->id]) ?> - Html->link(__('Edit'), ['action' => 'edit', $user->id]) ?> - Form->postLink(__('Delete'), ['action' => 'delete', $user->id], ['confirm' => __('Are you sure you want to delete # {0}?', $user->id)]) ?> -
-
- -

Paginator->counter(['format' => __('Page {{page}} of {{pages}}, showing {{current}} record(s) out of {{count}} total')]) ?>

-
-
diff --git a/community_server/src/Template/Users/statistics.ctp b/community_server/src/Template/Users/statistics.ctp deleted file mode 100644 index 76532faa8..000000000 --- a/community_server/src/Template/Users/statistics.ctp +++ /dev/null @@ -1,98 +0,0 @@ -assign('title', __('Benutzer Statistiken')); - -//mdi mdi-account-multiple-plus -//$newUserPercent = (1 - (b / a)) * 100 -$newUserPercent = 0; -$percentColor = 'info'; -if($users->count() > 0 && $newUsersLastMonth->count()) { - $newUserPercent = round((1 - ($users->count() / $newUsersLastMonth->count())) * 100.0, 2); - if($newUserPercent > 0 ) { - $percentColor = 'success'; - } else if($newUserPercent <= 0) { - $percentColor = 'alert'; - } -} - -$userColor = 'info'; -if($users->count() > 0) { - if($users->count() > 0 ) { - $userColor = 'success'; - } else if($users->count() <= 0) { - $userColor = 'alert'; - } -} -?> -
-
-
- people -
-

count()?>

-
 
- -   - -
-
-
- group_add -
-

count() ?>

-
 
- - - arrow_drop_down - 0) : ?> - arrow_drop_up - - % - -
-
-
-

-
-
-
-
-
-
- -
-
first_name . ' ' . $user->last_name ?>
-
email ?>
-
created ?>
-
- - toArray()); ?> -
-
-
-

-
-
-
-
-
-
- $yearEntrys) : ?> - $monthEntrys): ?> -
-
-
-
-
- - -
-
-Html->script(['core', 'vendor.addons']); ?> -Html->script('userSearch') ?> \ No newline at end of file diff --git a/community_server/src/Template/Users/view.ctp b/community_server/src/Template/Users/view.ctp deleted file mode 100644 index d3a1e67cd..000000000 --- a/community_server/src/Template/Users/view.ctp +++ /dev/null @@ -1,52 +0,0 @@ - - -
-

id) ?>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
email) ?>
first_name) ?>
last_name) ?>
language) ?>
Number->format($user->id) ?>
Number->format($user->password) ?>
created) ?>
email_checked ? __('Yes') : __('No'); ?>
-
diff --git a/community_server/src/View/AjaxView.php b/community_server/src/View/AjaxView.php deleted file mode 100644 index 3cb786926..000000000 --- a/community_server/src/View/AjaxView.php +++ /dev/null @@ -1,49 +0,0 @@ -response = $this->response->withType('ajax'); - } -} diff --git a/community_server/src/View/AppView.php b/community_server/src/View/AppView.php deleted file mode 100644 index 242ab6bde..000000000 --- a/community_server/src/View/AppView.php +++ /dev/null @@ -1,40 +0,0 @@ -loadHelper('Html');` - * - * @return void - */ - public function initialize() - { - } -} diff --git a/community_server/src/View/Cell/empty b/community_server/src/View/Cell/empty deleted file mode 100644 index e69de29bb..000000000 diff --git a/community_server/src/View/Helper/empty b/community_server/src/View/Helper/empty deleted file mode 100644 index e69de29bb..000000000 diff --git a/community_server/src/protobuf b/community_server/src/protobuf deleted file mode 160000 index 77dee5685..000000000 --- a/community_server/src/protobuf +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 77dee5685ebba543ea1cd2321580ad56c92f5775 diff --git a/community_server/testJson.sh b/community_server/testJson.sh deleted file mode 100755 index b66cf8d18..000000000 --- a/community_server/testJson.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -#sudo -u www-data ./vendor/bin/phpunit --filter testIndex tests/TestCase/Controller/TransactionJsonRequestHandlerControllerTest - -sudo -u www-data ./vendor/bin/phpunit --testdox tests/TestCase/Controller/JsonRequestHandlerControllerTest - diff --git a/community_server/tests/Fixture/AddressTypesFixture.php b/community_server/tests/Fixture/AddressTypesFixture.php deleted file mode 100644 index 1e06a0ec9..000000000 --- a/community_server/tests/Fixture/AddressTypesFixture.php +++ /dev/null @@ -1,46 +0,0 @@ - ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'name' => ['type' => 'string', 'length' => 45, 'null' => false, 'default' => null, 'collate' => 'utf8mb4_unicode_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - 'text' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8mb4_unicode_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8mb4_unicode_ci' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'name' => 'Lorem ipsum dolor sit amet', - 'text' => 'Lorem ipsum dolor sit amet', - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/AdminErrorsFixture.php b/community_server/tests/Fixture/AdminErrorsFixture.php deleted file mode 100644 index 0fbc3a067..000000000 --- a/community_server/tests/Fixture/AdminErrorsFixture.php +++ /dev/null @@ -1,56 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'state_user_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'controller' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8mb4_general_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - 'action' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8mb4_general_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - 'state' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8mb4_general_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - 'msg' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8mb4_general_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - 'details' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8mb4_general_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - 'created' => ['type' => 'datetime', 'length' => null, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8mb4_general_ci' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'state_user_id' => 1, - 'controller' => 'Lorem ipsum dolor sit amet', - 'action' => 'Lorem ipsum dolor sit amet', - 'state' => 'Lorem ipsum dolor sit amet', - 'msg' => 'Lorem ipsum dolor sit amet', - 'details' => 'Lorem ipsum dolor sit amet', - 'created' => '2019-12-16 15:08:19' - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/BaseTestFixture.php b/community_server/tests/Fixture/BaseTestFixture.php deleted file mode 100644 index 1f63aa55e..000000000 --- a/community_server/tests/Fixture/BaseTestFixture.php +++ /dev/null @@ -1,36 +0,0 @@ - '$1' - protected function sqlEntrysToRecords($sql_entries, $fields) { - $field_array_keys = array_keys($fields); - $records = []; - foreach($sql_entries as $sql_entry) { - $record = []; - foreach($sql_entry as $i => $value) { - $field = $field_array_keys[$i]; - if($fields[$field]['type'] == 'binary') { - if(is_string($value)) { - $record[$field] = hex2bin($value); - } - } else { - $record[$field] = $value; - } - } - $records[] = $record; - } - return $records; - } -} \ No newline at end of file diff --git a/community_server/tests/Fixture/CommunityProfilesFixture.php b/community_server/tests/Fixture/CommunityProfilesFixture.php deleted file mode 100644 index 0fa7ed764..000000000 --- a/community_server/tests/Fixture/CommunityProfilesFixture.php +++ /dev/null @@ -1,51 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'state_user_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'profile_img' => ['type' => 'binary', 'length' => 4294967295, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null], - 'profile_desc' => ['type' => 'string', 'length' => 2000, 'null' => true, 'default' => null, 'collate' => 'utf8mb4_general_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - '_indexes' => [ - 'state_user_id' => ['type' => 'index', 'columns' => ['state_user_id'], 'length' => []], - ], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []] - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8mb4_general_ci' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'state_user_id' => 1, - 'profile_img' => 'Lorem ipsum dolor sit amet', - 'profile_desc' => 'Lorem ipsum dolor sit amet', - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/ElopageBuysFixture.php b/community_server/tests/Fixture/ElopageBuysFixture.php deleted file mode 100644 index 20be0f4e3..000000000 --- a/community_server/tests/Fixture/ElopageBuysFixture.php +++ /dev/null @@ -1,64 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'elopage_user_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'affiliate_program_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'publisher_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'order_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'product_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'product_price' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'payer_email' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'publisher_email' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'payed' => ['type' => 'boolean', 'length' => null, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'success_date' => ['type' => 'datetime', 'length' => null, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'event' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8mb4_general_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_bin' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'elopage_user_id' => 1, - 'affiliate_program_id' => 1, - 'publisher_id' => 1, - 'order_id' => 1, - 'product_id' => 1, - 'product_price' => 1, - 'payer_email' => 'Lorem ipsum dolor sit amet', - 'publisher_email' => 'Lorem ipsum dolor sit amet', - 'payed' => 1, - 'success_date' => '2020-02-13 09:49:46', - 'event' => 'Lorem ipsum dolor sit amet', - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/OperatorTypesFixture.php b/community_server/tests/Fixture/OperatorTypesFixture.php deleted file mode 100644 index dfc589034..000000000 --- a/community_server/tests/Fixture/OperatorTypesFixture.php +++ /dev/null @@ -1,46 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'name' => ['type' => 'string', 'length' => 25, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'text' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_bin' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'name' => 'Lorem ipsum dolor sit a', - 'text' => 'Lorem ipsum dolor sit amet' - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/OperatorsFixture.php b/community_server/tests/Fixture/OperatorsFixture.php deleted file mode 100644 index 2cb852efc..000000000 --- a/community_server/tests/Fixture/OperatorsFixture.php +++ /dev/null @@ -1,49 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'username' => ['type' => 'string', 'length' => 128, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'operator_type_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'data_base64' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - 'username' => ['type' => 'unique', 'columns' => ['username'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_bin' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'username' => 'Lorem ipsum dolor sit amet', - 'operator_type_id' => 1, - 'data_base64' => 'Lorem ipsum dolor sit amet' - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/RolesFixture.php b/community_server/tests/Fixture/RolesFixture.php deleted file mode 100644 index db2c7640f..000000000 --- a/community_server/tests/Fixture/RolesFixture.php +++ /dev/null @@ -1,45 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'title' => ['type' => 'string', 'length' => 255, 'null' => true, 'default' => null, 'collate' => 'utf8mb4_unicode_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - 'roles_id_IDX' => ['type' => 'unique', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8mb4_unicode_ci' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'title' => 'Lorem ipsum dolor sit amet', - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/ServerUsersFixture.php b/community_server/tests/Fixture/ServerUsersFixture.php deleted file mode 100644 index 3aeedab12..000000000 --- a/community_server/tests/Fixture/ServerUsersFixture.php +++ /dev/null @@ -1,58 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'username' => ['type' => 'string', 'length' => 50, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'password' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'email' => ['type' => 'string', 'length' => 50, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'role' => ['type' => 'string', 'length' => 20, 'null' => false, 'default' => 'admin', 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'activated' => ['type' => 'boolean', 'length' => null, 'null' => false, 'default' => '0', 'comment' => '', 'precision' => null], - 'last_login' => ['type' => 'datetime', 'length' => null, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null], - 'created' => ['type' => 'datetime', 'length' => null, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'modified' => ['type' => 'datetime', 'length' => null, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_bin' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'username' => 'Lorem ipsum dolor sit amet', - 'password' => 'Lorem ipsum dolor sit amet', - 'email' => 'Lorem ipsum dolor sit amet', - 'role' => 'Lorem ipsum dolor ', - 'activated' => 1, - 'last_login' => '2019-09-13 10:30:09', - 'created' => '2019-09-13 10:30:09', - 'modified' => '2019-09-13 10:30:09' - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/StateBalancesFixture.php b/community_server/tests/Fixture/StateBalancesFixture.php deleted file mode 100644 index 015366c80..000000000 --- a/community_server/tests/Fixture/StateBalancesFixture.php +++ /dev/null @@ -1,46 +0,0 @@ - ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'state_user_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'modified' => ['type' => 'datetime', 'length' => null, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'record_date' => ['type' => 'datetime', 'length' => null, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null], - 'amount' => ['type' => 'biginteger', 'length' => 20, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8mb4_unicode_ci' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $sql = [ - [4, 4, '2021-05-27 17:47:50', '2021-05-27 17:47:50', 28808497], - [5, 1, '2021-05-27 17:47:51', '2021-05-27 17:47:50', 9823963] - ]; - $this->records = $this->sqlEntrysToRecords($sql, $this->fields); - parent::init(); - } -} diff --git a/community_server/tests/Fixture/StateCreatedFixture.php b/community_server/tests/Fixture/StateCreatedFixture.php deleted file mode 100644 index 2f1abd155..000000000 --- a/community_server/tests/Fixture/StateCreatedFixture.php +++ /dev/null @@ -1,63 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'transaction_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'month' => ['type' => 'tinyinteger', 'length' => 4, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'year' => ['type' => 'smallinteger', 'length' => 6, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'state_user_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'created' => ['type' => 'datetime', 'length' => null, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'short_ident_hash' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - '_indexes' => [ - 'short_ident_hash' => ['type' => 'index', 'columns' => ['short_ident_hash'], 'length' => []], - ], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_bin' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'transaction_id' => 1, - 'month' => 1, - 'year' => 1, - 'state_user_id' => 1, - 'created' => '2019-09-12 11:14:51', - 'short_ident_hash' => 1 - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/StateErrorsFixture.php b/community_server/tests/Fixture/StateErrorsFixture.php deleted file mode 100644 index 6f0d95e26..000000000 --- a/community_server/tests/Fixture/StateErrorsFixture.php +++ /dev/null @@ -1,50 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'state_user_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'transaction_type_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'created' => ['type' => 'datetime', 'length' => null, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'message_json' => ['type' => 'text', 'length' => null, 'null' => false, 'default' => null, 'collate' => 'utf8mb4_general_ci', 'comment' => '', 'precision' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8mb4_general_ci' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'state_user_id' => 1, - 'transaction_type_id' => 1, - 'created' => '2019-11-07 13:13:12', - 'message_json' => 'Lorem ipsum dolor sit amet, aliquet feugiat. Convallis morbi fringilla gravida, phasellus feugiat dapibus velit nunc, pulvinar eget sollicitudin venenatis cum nullam, vivamus ut a sed, mollitia lectus. Nulla vestibulum massa neque ut et, id hendrerit sit, feugiat in taciti enim proin nibh, tempor dignissim, rhoncus duis vestibulum nunc mattis convallis.' - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/StateGroupAddressesFixture.php b/community_server/tests/Fixture/StateGroupAddressesFixture.php deleted file mode 100644 index 2ae5581c8..000000000 --- a/community_server/tests/Fixture/StateGroupAddressesFixture.php +++ /dev/null @@ -1,49 +0,0 @@ - ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'group_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'public_key' => ['type' => 'binary', 'length' => 32, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'address_type_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - 'public_key' => ['type' => 'unique', 'columns' => ['public_key'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8mb4_unicode_ci' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'group_id' => 1, - 'public_key' => 'Lorem ipsum dolor sit amet', - 'address_type_id' => 1, - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/StateGroupRelationshipsFixture.php b/community_server/tests/Fixture/StateGroupRelationshipsFixture.php deleted file mode 100644 index e50d76f5d..000000000 --- a/community_server/tests/Fixture/StateGroupRelationshipsFixture.php +++ /dev/null @@ -1,48 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'state_group1_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'state_group2_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'state_relationship_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_bin' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'state_group1_id' => 1, - 'state_group2_id' => 1, - 'state_relationship_id' => 1 - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/StateGroupsFixture.php b/community_server/tests/Fixture/StateGroupsFixture.php deleted file mode 100644 index 57cde2350..000000000 --- a/community_server/tests/Fixture/StateGroupsFixture.php +++ /dev/null @@ -1,50 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'index_id' => ['type' => 'binary', 'length' => 64, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'name' => ['type' => 'string', 'length' => 50, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'root_public_key' => ['type' => 'binary', 'length' => 32, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'user_count' => ['type' => 'smallinteger', 'length' => 6, 'unsigned' => false, 'null' => false, 'default' => '0', 'comment' => '', 'precision' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_bin' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'index_id' => 'Lorem ipsum dolor sit amet', - 'name' => 'Lorem ipsum dolor sit amet', - 'root_public_key' => 'Lorem ipsum dolor sit amet', - 'user_count' => 1 - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/StateRelationshipTypesFixture.php b/community_server/tests/Fixture/StateRelationshipTypesFixture.php deleted file mode 100644 index c461e0ce3..000000000 --- a/community_server/tests/Fixture/StateRelationshipTypesFixture.php +++ /dev/null @@ -1,46 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'name' => ['type' => 'string', 'length' => 25, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'text' => ['type' => 'string', 'length' => 255, 'null' => true, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_bin' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'name' => 'Lorem ipsum dolor sit a', - 'text' => 'Lorem ipsum dolor sit amet' - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/StateUserTransactionsFixture.php b/community_server/tests/Fixture/StateUserTransactionsFixture.php deleted file mode 100644 index 605e10e5b..000000000 --- a/community_server/tests/Fixture/StateUserTransactionsFixture.php +++ /dev/null @@ -1,59 +0,0 @@ - ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'state_user_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'transaction_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'transaction_type_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'balance' => ['type' => 'biginteger', 'length' => 20, 'unsigned' => false, 'null' => true, 'default' => '0', 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'balance_date' => ['type' => 'timestamp', 'length' => null, 'null' => false, 'default' => 'CURRENT_TIMESTAMP', 'comment' => '', 'precision' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8mb4_unicode_ci' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $sql = [ - [1, 4, 1, 1, 0, '2021-04-09 00:00:00'], - [2, 1, 2, 1, 0, '2021-04-12 00:00:00'], - [5, 1, 3, 2, 0, '2021-04-12 00:00:00'], - [6, 4, 3, 2, 0, '2021-04-12 00:00:00'], - [7, 1, 4, 2, 0, '2021-04-14 00:00:00'], - [8, 4, 4, 2, 0, '2021-04-14 00:00:00'], - [23, 1, 5, 2, 0, '2021-04-14 09:01:07'], - [24, 4, 5, 2, 0, '2021-04-14 09:01:07'], - [25, 4, 7, 2, 0, '2021-04-14 09:02:28'], - [26, 1, 7, 2, 0, '2021-04-14 09:02:28'], - [27, 4, 8, 2, 0, '2021-04-14 09:28:46'], - [28, 1, 8, 2, 0, '2021-04-14 09:28:46'], - [29, 4, 9, 2, 0, '2021-04-14 09:31:28'], - [30, 1, 9, 2, 0, '2021-04-14 09:31:28'] - ]; - $this->records = $this->sqlEntrysToRecords($sql, $this->fields); - parent::init(); - } -} diff --git a/community_server/tests/Fixture/StateUsersFixture.php b/community_server/tests/Fixture/StateUsersFixture.php deleted file mode 100644 index a9b033bf7..000000000 --- a/community_server/tests/Fixture/StateUsersFixture.php +++ /dev/null @@ -1,54 +0,0 @@ - ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'index_id' => ['type' => 'smallinteger', 'length' => 6, 'unsigned' => false, 'null' => false, 'default' => '0', 'comment' => '', 'precision' => null], - 'group_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => '0', 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'public_key' => ['type' => 'binary', 'length' => 32, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'email' => ['type' => 'string', 'length' => 255, 'null' => true, 'default' => null, 'collate' => 'utf8mb4_unicode_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - 'first_name' => ['type' => 'string', 'length' => 255, 'null' => true, 'default' => null, 'collate' => 'utf8mb4_unicode_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - 'last_name' => ['type' => 'string', 'length' => 255, 'null' => true, 'default' => null, 'collate' => 'utf8mb4_unicode_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - 'username' => ['type' => 'string', 'length' => 255, 'null' => true, 'default' => null, 'collate' => 'utf8mb4_unicode_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - 'disabled' => ['type' => 'tinyinteger', 'length' => 4, 'unsigned' => false, 'null' => true, 'default' => '0', 'comment' => '', 'precision' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - 'public_key' => ['type' => 'unique', 'columns' => ['public_key'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8mb4_unicode_ci' - ], - ]; - - - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $sql_entrys = [ - [1, 0, 0, 'f7f4a49a4ac10379f8b9ddcb731c4d9ec495e6edd16075f52672cd25e3179f0f', 'test1.gmail.de', 'Max', 'Mustermann', NULL, 0], - [3, 0, 0, '131c7f68dd94b2be4c913400ff7ff4cdc03ac2bda99c2d29edcacb3b065c67e6', 'test2.gmail.com', 'Ines', 'Mustermann', NULL, 0], - [4, 0, 0, 'e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2', 'test3.yahoo.com', 'Samuel', 'Schmied', NULL, 0] - ]; - $this->records = $this->sqlEntrysToRecords($sql_entrys, $this->fields); - parent::init(); - } -} diff --git a/community_server/tests/Fixture/TransactionCreationsFixture.php b/community_server/tests/Fixture/TransactionCreationsFixture.php deleted file mode 100644 index 4221e8729..000000000 --- a/community_server/tests/Fixture/TransactionCreationsFixture.php +++ /dev/null @@ -1,44 +0,0 @@ - ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'transaction_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'state_user_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'amount' => ['type' => 'biginteger', 'length' => 20, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'target_date' => ['type' => 'timestamp', 'length' => null, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8mb4_unicode_ci' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $sql = [ - [2, 1, 4, 10000000, '2021-01-01 00:00:00'], - [3, 2, 1, 10000000, '2021-01-01 00:00:00'] - ]; - $this->records = $this->sqlEntrysToRecords($sql, $this->fields); - parent::init(); - } -} diff --git a/community_server/tests/Fixture/TransactionGroupAddaddressFixture.php b/community_server/tests/Fixture/TransactionGroupAddaddressFixture.php deleted file mode 100644 index 7b659386c..000000000 --- a/community_server/tests/Fixture/TransactionGroupAddaddressFixture.php +++ /dev/null @@ -1,54 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'transaction_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'address_type_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'public_key' => ['type' => 'binary', 'length' => 32, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_bin' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'transaction_id' => 1, - 'address_type_id' => 1, - 'public_key' => 'Lorem ipsum dolor sit amet' - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/TransactionGroupAllowtradesFixture.php b/community_server/tests/Fixture/TransactionGroupAllowtradesFixture.php deleted file mode 100644 index edb745441..000000000 --- a/community_server/tests/Fixture/TransactionGroupAllowtradesFixture.php +++ /dev/null @@ -1,48 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'transaction_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'group_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'allow' => ['type' => 'boolean', 'length' => null, 'null' => false, 'default' => '0', 'comment' => '', 'precision' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_bin' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'transaction_id' => 1, - 'group_id' => 1, - 'allow' => 1 - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/TransactionGroupCreatesFixture.php b/community_server/tests/Fixture/TransactionGroupCreatesFixture.php deleted file mode 100644 index 73db1c751..000000000 --- a/community_server/tests/Fixture/TransactionGroupCreatesFixture.php +++ /dev/null @@ -1,50 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'transaction_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'group_public_key' => ['type' => 'binary', 'length' => 32, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'state_group_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'name' => ['type' => 'string', 'length' => 64, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_bin' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'transaction_id' => 1, - 'group_public_key' => 'Lorem ipsum dolor sit amet', - 'state_group_id' => 1, - 'name' => 'Lorem ipsum dolor sit amet' - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/TransactionSendCoinsFixture.php b/community_server/tests/Fixture/TransactionSendCoinsFixture.php deleted file mode 100644 index c186ccf8e..000000000 --- a/community_server/tests/Fixture/TransactionSendCoinsFixture.php +++ /dev/null @@ -1,54 +0,0 @@ - ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'transaction_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'sender_public_key' => ['type' => 'binary', 'length' => 32, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'state_user_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => true, 'default' => '0', 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'receiver_public_key' => ['type' => 'binary', 'length' => 32, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'receiver_user_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => true, 'default' => '0', 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'amount' => ['type' => 'biginteger', 'length' => 20, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'sender_final_balance' => ['type' => 'biginteger', 'length' => 20, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8mb4_unicode_ci' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $sql = [ - [2, 3, '0000000000000000000000000000000000000000000000000000000000000000', 1, 'e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2', 4, 1000000, 6254699], - [3, 4, '0000000000000000000000000000000000000000000000000000000000000000', 1, 'e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2', 4, 100000, 7027197], - [11, 5, '0000000000000000000000000000000000000000000000000000000000000000', 1, 'e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2', 4, 100000, 6922113], - [12, 7, '0000000000000000000000000000000000000000000000000000000000000000', 4, 'f7f4a49a4ac10379f8b9ddcb731c4d9ec495e6edd16075f52672cd25e3179f0f', 1, 100000, 9212951], - [13, 8, '0000000000000000000000000000000000000000000000000000000000000000', 4, 'f7f4a49a4ac10379f8b9ddcb731c4d9ec495e6edd16075f52672cd25e3179f0f', 1, 100000, 9112627], - [14, 9, '0000000000000000000000000000000000000000000000000000000000000000', 4, 'f7f4a49a4ac10379f8b9ddcb731c4d9ec495e6edd16075f52672cd25e3179f0f', 1, 100000, 8912594] - ]; - - $this->records = $this->sqlEntrysToRecords($sql, $this->fields); - parent::init(); - } -} diff --git a/community_server/tests/Fixture/TransactionSignaturesFixture.php b/community_server/tests/Fixture/TransactionSignaturesFixture.php deleted file mode 100644 index 9a5bbecee..000000000 --- a/community_server/tests/Fixture/TransactionSignaturesFixture.php +++ /dev/null @@ -1,51 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'transaction_id' => ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'signature' => ['type' => 'binary', 'length' => 64, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - 'pubkey' => ['type' => 'binary', 'length' => 32, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_bin' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $sql = [ - [1, 1, '1c5357f9438f700a5378abadd0dbd74d90e335c6b9691bb9e126520813f3218573b19226382efb89aa8444a9ca98c2e8933463335baac37baf2f4eecd990600a', 'f7f4a49a4ac10379f8b9ddcb731c4d9ec495e6edd16075f52672cd25e3179f0f'], - [2, 2, '5215376ae7fb989993e3466961636519d4ade77b3bde066149ade028ad54a1a88ca8a206fcf09f52839ae0ed37b99df08ec9af12f3f37197979a206489e3ff0f', 'e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2'], - [3, 3, 'c70f124feaaea02194d22a5f597963ed3e430343122a0952877854766fe37a709f92b39510de2aae494ef11abe743cd59f08f971b1e0e36f4c333990453d8b0d', 'f7f4a49a4ac10379f8b9ddcb731c4d9ec495e6edd16075f52672cd25e3179f0f'], - [4, 4, 'a65b39e51ab6191c51d5629bbcefd30f85f801efbb14e1c635c519e97abe217a248820fa1fc6aef56227c9d888c1919bc92471d5d7ae3522c9c50fba9f0d8402', 'f7f4a49a4ac10379f8b9ddcb731c4d9ec495e6edd16075f52672cd25e3179f0f'], - [5, 5, 'a65b39e51ab6191c51d5629bbcefd30f85f801efbb14e1c635c519e97abe217a248820fa1fc6aef56227c9d888c1919bc92471d5d7ae3522c9c50fba9f0d8402', 'f7f4a49a4ac10379f8b9ddcb731c4d9ec495e6edd16075f52672cd25e3179f0f'], - [6, 7, 'c233726674bff9bfb8ccb98bf358c6bc701825d971ece915d3c3a3de98886d1d13ee2f773cd9fc4ccbe543ac17be0d780ebead23a0dbf4ec814f7bae2efb9c0e', 'e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2'], - [7, 8, '83ab780535883ec53ee76d0f68db0e1596418c9e100c806a4d4655d4dedf589d54a6319a2795dabab301e212b52f0dafb2725b7583447f19e47cb417d188a107', 'e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2'], - [8, 9, '83ab780535883ec53ee76d0f68db0e1596418c9e100c806a4d4655d4dedf589d54a6319a2795dabab301e212b52f0dafb2725b7583447f19e47cb417d188a107', 'e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2'] - ]; - $this->records = $this->sqlEntrysToRecords($sql, $this->fields); - parent::init(); - } -} diff --git a/community_server/tests/Fixture/TransactionTypesFixture.php b/community_server/tests/Fixture/TransactionTypesFixture.php deleted file mode 100644 index 48e00e0ec..000000000 --- a/community_server/tests/Fixture/TransactionTypesFixture.php +++ /dev/null @@ -1,51 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'name' => ['type' => 'string', 'length' => 24, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'text' => ['type' => 'string', 'length' => 255, 'null' => true, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_bin' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'name' => 'creation', - 'text' => 'Aktives oder Bedingsungsloses Grundeinkommen' - ], - [ - 'id' => 2, - 'name' => 'transfer', - 'text' => 'Einfache Überweisung' - ] - ]; - parent::init(); - } -} diff --git a/community_server/tests/Fixture/TransactionsFixture.php b/community_server/tests/Fixture/TransactionsFixture.php deleted file mode 100644 index 8c38f0657..000000000 --- a/community_server/tests/Fixture/TransactionsFixture.php +++ /dev/null @@ -1,55 +0,0 @@ - ['type' => 'biginteger', 'length' => 20, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'state_group_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'transaction_type_id' => ['type' => 'integer', 'length' => 10, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'tx_hash' => ['type' => 'binary', 'length' => 48, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null], - 'memo' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8mb4_unicode_ci', 'comment' => '', 'precision' => null, 'fixed' => null], - 'received' => ['type' => 'timestamp', 'length' => null, 'null' => false, 'default' => 'CURRENT_TIMESTAMP', 'comment' => '', 'precision' => null], - 'blockchain_type_id' => ['type' => 'biginteger', 'length' => 20, 'unsigned' => true, 'null' => false, 'default' => '1', 'comment' => '', 'precision' => null, 'autoIncrement' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8mb4_unicode_ci' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $sql = [ - [1, NULL, 1, '15f242a7bb92a7db82678e0baf5ec1734c038ac0dc7b19e6d1ebbcf92a6cf3ad00000000000000000000000000000000', 'AGE Januar 2021', '2021-04-09 00:00:00', 1], - [2, NULL, 1, 'f932eca7686802d1697773fea713a3c6a3e3dace8b5aa552dd8503d50ce349f500000000000000000000000000000000', 'AGE Januar 2021', '2021-04-12 00:00:00', 1], - [3, NULL, 2, '4e2235f208edaf5cbb285955732022a625cf1e100eb629c56896d2fbfb8b34e800000000000000000000000000000000', 'test', '2021-04-12 00:00:00', 1], - [4, NULL, 2, 'fc6e69696beb7c56ad7c511fc3999f954411427bec810184b70c092911deae1900000000000000000000000000000000', 'test time', '2021-04-14 00:00:00', 1], - [5, NULL, 2, 'a7149ebc0d6cd8c061906dafe05e13689b51642a41100d0ec7bb6cd2dcafdc1800000000000000000000000000000000', 'test time', '2021-04-14 09:01:07', 1], - [6, NULL, 9, '', '', '2021-04-14 09:02:00', 1], - [7, NULL, 2, '2e3c3ab3e42c06f2ecb12f61c970712467d8ad9ddfa16fa58dd76492e5924b7d00000000000000000000000000000000', 'test time 3', '2021-04-14 09:02:28', 1], - [8, NULL, 2, 'c2c6354d77ff371daeee25fce9c947748b53d3d6b8398a92bd681923cfd2057100000000000000000000000000000000', 'test login crash', '2021-04-14 09:28:46', 1], - [9, NULL, 2, '5a8cbf1aaac06b00b2951ff39983cb2ca9a1e6710d72c8e5067278dc679a823100000000000000000000000000000000', 'test login crash', '2021-04-14 09:31:28', 1] - ]; - $this->records = $this->sqlEntrysToRecords($sql, $this->fields); - parent::init(); - } -} diff --git a/community_server/tests/Fixture/UsersFixture.php b/community_server/tests/Fixture/UsersFixture.php deleted file mode 100644 index fc1a9e620..000000000 --- a/community_server/tests/Fixture/UsersFixture.php +++ /dev/null @@ -1,61 +0,0 @@ - ['type' => 'integer', 'length' => 11, 'unsigned' => false, 'null' => false, 'default' => null, 'comment' => '', 'autoIncrement' => true, 'precision' => null], - 'email' => ['type' => 'string', 'length' => 255, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'first_name' => ['type' => 'string', 'length' => 150, 'null' => false, 'default' => null, 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'last_name' => ['type' => 'string', 'length' => 255, 'null' => true, 'default' => '', 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - 'password' => ['type' => 'biginteger', 'length' => 25, 'unsigned' => true, 'null' => false, 'default' => null, 'comment' => '', 'precision' => null, 'autoIncrement' => null], - 'pubkey' => ['type' => 'binary', 'length' => 32, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null], - 'privkey' => ['type' => 'binary', 'length' => 80, 'null' => true, 'default' => null, 'comment' => '', 'precision' => null], - 'created' => ['type' => 'datetime', 'length' => null, 'null' => false, 'default' => 'CURRENT_TIMESTAMP', 'comment' => '', 'precision' => null], - 'email_checked' => ['type' => 'boolean', 'length' => null, 'null' => false, 'default' => '0', 'comment' => '', 'precision' => null], - 'language' => ['type' => 'string', 'length' => 4, 'null' => false, 'default' => 'de', 'collate' => 'utf8_bin', 'comment' => '', 'precision' => null, 'fixed' => null], - '_constraints' => [ - 'primary' => ['type' => 'primary', 'columns' => ['id'], 'length' => []], - 'email' => ['type' => 'unique', 'columns' => ['email'], 'length' => []], - ], - '_options' => [ - 'engine' => 'InnoDB', - 'collation' => 'utf8_general_ci' - ], - ]; - // @codingStandardsIgnoreEnd - /** - * Init method - * - * @return void - */ - public function init() - { - $this->records = [ - [ - 'id' => 1, - 'email' => 'Lorem ipsum dolor sit amet', - 'first_name' => 'Lorem ipsum dolor sit amet', - 'last_name' => 'Lorem ipsum dolor sit amet', - 'password' => 1, - 'pubkey' => 'Lorem ipsum dolor sit amet', - 'privkey' => 'Lorem ipsum dolor sit amet', - 'created' => '2020-02-13 10:54:19', - 'email_checked' => 1, - 'language' => 'Lo', - ], - ]; - parent::init(); - } -} diff --git a/community_server/tests/TestCase/ApplicationTest.php b/community_server/tests/TestCase/ApplicationTest.php deleted file mode 100644 index 1d183729d..000000000 --- a/community_server/tests/TestCase/ApplicationTest.php +++ /dev/null @@ -1,83 +0,0 @@ -bootstrap(); - $plugins = $app->getPlugins(); - - $this->assertCount(2, $plugins); - $this->assertSame('Bake', $plugins->get('Bake')->getName()); - $this->assertSame('DebugKit', $plugins->get('DebugKit')->getName()); - } - - /** - * testBootstrapPluginWitoutHalt - * - * @return void - */ - public function testBootstrapPluginWithoutHalt() - { - $this->expectException(InvalidArgumentException::class); - - $app = $this->getMockBuilder(Application::class) - ->setConstructorArgs([dirname(dirname(__DIR__)) . '/config']) - ->setMethods(['addPlugin']) - ->getMock(); - - $app->method('addPlugin') - ->will($this->throwException(new InvalidArgumentException('test exception.'))); - - $app->bootstrap(); - } - - /** - * testMiddleware - * - * @return void - */ - public function testMiddleware() - { - $app = new Application(dirname(dirname(__DIR__)) . '/config'); - $middleware = new MiddlewareQueue(); - - $middleware = $app->middleware($middleware); - - $this->assertInstanceOf(ErrorHandlerMiddleware::class, $middleware->get(0)); - $this->assertInstanceOf(AssetMiddleware::class, $middleware->get(1)); - $this->assertInstanceOf(RoutingMiddleware::class, $middleware->get(2)); - } -} diff --git a/community_server/tests/TestCase/Controller/AddressTypesControllerTest.php b/community_server/tests/TestCase/Controller/AddressTypesControllerTest.php deleted file mode 100644 index 835fc8d08..000000000 --- a/community_server/tests/TestCase/Controller/AddressTypesControllerTest.php +++ /dev/null @@ -1,77 +0,0 @@ -markTestIncomplete('Not implemented yet.'); - } - - /** - * Test view method - * - * @return void - */ - public function testView() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test add method - * - * @return void - */ - public function testAdd() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test edit method - * - * @return void - */ - public function testEdit() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test delete method - * - * @return void - */ - public function testDelete() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Controller/AdminErrorsControllerTest.php b/community_server/tests/TestCase/Controller/AdminErrorsControllerTest.php deleted file mode 100644 index a9044b4ae..000000000 --- a/community_server/tests/TestCase/Controller/AdminErrorsControllerTest.php +++ /dev/null @@ -1,76 +0,0 @@ -markTestIncomplete('Not implemented yet.'); - } - - /** - * Test view method - * - * @return void - */ - public function testView() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test add method - * - * @return void - */ - public function testAdd() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test edit method - * - * @return void - */ - public function testEdit() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test delete method - * - * @return void - */ - public function testDelete() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Controller/AppRequestControllerTest.php.old b/community_server/tests/TestCase/Controller/AppRequestControllerTest.php.old deleted file mode 100644 index 321ed5ac1..000000000 --- a/community_server/tests/TestCase/Controller/AppRequestControllerTest.php.old +++ /dev/null @@ -1,345 +0,0 @@ -session([ - 'session_id' => $session_id, - 'Transaction' => ['pending' => 0, 'executing' => 0], - 'StateUser' => [ - 'id' => 1, - 'email_checked' => 1, - 'public_hex' => 'f7f4a49a4ac10379f8b9ddcb731c4d9ec495e6edd16075f52672cd25e3179f0f' - ] - ]); - - $response = $this->getAndParseWithoutCompare('/api/get-balance/' . $session_id); - $this->assertEquals('success', $response->state); - $this->assertEquals(9099652, $response->balance); - $this->assertLessThan(9099652, $response->decay); - - } - - public function testGetBalance2() - { - $session_id = rand(); - $this->session([ - 'session_id' => $session_id, - 'Transaction' => ['pending' => 0, 'executing' => 0], - 'StateUser' => [ - 'id' => 3, - 'email_checked' => 1, - 'public_hex' => '131c7f68dd94b2be4c913400ff7ff4cdc03ac2bda99c2d29edcacb3b065c67e6' - ] - ]); - - $response = $this->getAndParseWithoutCompare('/api/get-balance/' . $session_id); - $this->assertEquals('success', $response->state); - $this->assertEquals(0, $response->balance); - } - public function testGetBalance3() - { - $session_id = rand(); - $this->session([ - 'session_id' => $session_id, - 'Transaction' => ['pending' => 0, 'executing' => 0], - 'StateUser' => [ - 'id' => 4, - 'email_checked' => 1, - 'public_hex' => 'e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2' - ] - ]); - - $response = $this->getAndParseWithoutCompare('/api/get-balance/' . $session_id); - $this->assertEquals('success', $response->state); - $this->assertEquals(10899568, $response->balance); - $this->assertLessThan(10899568, $response->decay); - } - - public function testGetBalanceInvalidSession() - { - $session_id = rand(); - $this->session([ - 'session_id' => $session_id, - 'Transaction' => ['pending' => 0, 'executing' => 0], - 'StateUser' => [ - 'email_checked' => 1, - 'public_hex' => '8190bda585ee5f1d9fbf7d06e81e69ec18e13376104cff54b7457eb7d3ef710d' - ] - ]); - - $this->getAndParse('/api/get-balance/' . 1211, - ['state' => 'not found', 'msg' => 'invalid session', - 'details' => ['msg' => 'session not found', 'state' => 'not found'] - ] - ); - } - - public function testGetBalanceInvalidSessionId() - { - $session_id = rand(); - $this->session([ - 'session_id' => $session_id, - 'Transaction' => ['pending' => 0, 'executing' => 0], - 'StateUser' => [ - 'email_checked' => 1, - 'public_hex' => '8190bda585ee5f1d9fbf7d06e81e69ec18e13376104cff54b7457eb7d3ef710d' - ] - ]); - - $this->getAndParse('/api/get-balance/' , - ['state' => 'not found', 'msg' => 'invalid session', - 'details' => ['msg' => 'session not found', 'state' => 'not found'] - ] - ); - } - - /** - * Test ajaxListTransactions method - * - * @return void - */ - public function testListTransactions() - { - //ajaxListTransactions - $session_id = rand(); - $this->session([ - 'session_id' => $session_id, - 'Transactions' => ['pending' => 0, 'executing' => 0], - 'StateUser' => [ - 'id' => 1, - 'first_name' => 'Dario', - 'last_name' => 'Frodo', - 'email_checked' => 1, - 'email' => 'fördertest@gradido.org', - 'public_hex' => '94ae135b93cd9f33752b4e55c41903a3faa13a75bb90bfd411ea1d4a1a5e711f' - ] - ]); - //echo "balance: $balance"; - $expectedResult = '{ - "state": "success", - "transactions": [ - { - "transaction_id": 2, - "date": "2021-04-12T00:00:00+00:00", - "memo": "AGE Januar 2021", - "name": "Gradido Akademie", - "type": "creation", - "target_date": "2021-01-01T00:00:00+00:00", - "balance": 10000000 - }, - { - "transaction_id": 3, - "date": "2021-04-12T00:00:00+00:00", - "memo": "test", - "balance": 1000000, - "type": "send", - "pubkey": "e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2", - "name": "Samuel Schmied", - "email": "test3.yahoo.com" - }, - { - "transaction_id": 4, - "date": "2021-04-14T00:00:00+00:00", - "memo": "test time", - "balance": 100000, - "type": "send", - "pubkey": "e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2", - "name": "Samuel Schmied", - "email": "test3.yahoo.com" - }, - { - "transaction_id": 5, - "date": "2021-04-14T09:01:07+00:00", - "memo": "test time", - "balance": 100000, - "type": "send", - "pubkey": "e3369de3623ce8446d0424c4013e7a1d71a2671ae3d7bf1e798ebf0665d145f2", - "name": "Samuel Schmied", - "email": "test3.yahoo.com" - }, - { - "transaction_id": 7, - "date": "2021-04-14T09:02:28+00:00", - "memo": "test time 3", - "decay": { - "balance": 6, - "decay_duration": "0 days, 00 hours, 00 minutes, 28 seconds", - "decay_start": 1618390920, - "decay_end": 1618390948, - "decay_start_block": 1618390920 - }, - "balance": 100000, - "type": "receive", - "pubkey": "0000000000000000000000000000000000000000000000000000000000000000", - "name": "Samuel Schmied", - "email": "test3.yahoo.com" - }, - { - "transaction_id": 8, - "date": "2021-04-14T09:28:46+00:00", - "memo": "test login crash", - "decay": { - "balance": 309, - "decay_duration": "0 days, 00 hours, 26 minutes, 18 seconds", - "decay_start": 1618390948, - "decay_end": 1618392526 - }, - "balance": 100000, - "type": "receive", - "pubkey": "0000000000000000000000000000000000000000000000000000000000000000", - "name": "Samuel Schmied", - "email": "test3.yahoo.com" - }, - { - "transaction_id": 9, - "date": "2021-04-14T09:31:28+00:00", - "memo": "test login crash", - "decay": { - "balance": 33, - "decay_duration": "0 days, 00 hours, 02 minutes, 42 seconds", - "decay_start": 1618392526, - "decay_end": 1618392688 - }, - "balance": 100000, - "type": "receive", - "pubkey": "0000000000000000000000000000000000000000000000000000000000000000", - "name": "Samuel Schmied", - "email": "test3.yahoo.com" - }, - { - "type": "decay", - "balance": 1345726, - "decay_duration": "on 14.04.21", - "decay_start": 1618392688, - "decay_end": 1625673853, - "memo": "" - } - ], - "transactionExecutingCount": 0, - "count": 7, - "gdtSum": 180000, - "timeUsed": 0.44154810905456545, - "decay_date": "2021-07-07T16:04:13+00:00", - "balance": 9099652, - "decay": 7753926 -}'; - $this->getAndParse('/api/list-transactions/', json_decode($expectedResult, true)); - } - - - private function getAndParse($path, $expected) - { - $this->configRequest([ - 'headers' => ['Accept' => 'application/json'] - ]); - - $this->disableErrorHandlerMiddleware(); - $this->get($path); - - // Check that the response was in 2xx - 3xx - $this->assertResponseSuccess(); - $json = (object)$this->viewVariable('body'); - - if(!$json) { - // Check that the response was a 200 - $this->assertResponseOk(); - - $responseBodyString = (string)$this->_response->getBody(); - $json = json_decode($responseBodyString); - $this->assertNotFalse($json); - } else { - $responseBodyString = json_encode($json); - } - - if(is_array($expected)) { - $dynamic_fields = ['timeUsed', 'decay_date', 'decay', 'gdtSum']; - // copy timeUsed because this value will be variy always - foreach($dynamic_fields as $field) { - if(isset($expected[$field]) && isset($json->$field)) { - $expected[$field] = $json->$field; - } - } - // decay balance variy always - if(isset($expected['transactions'])) { - $dynamic_transaction_fields = ['decay_duration', 'balance', 'decay_end']; - foreach($expected['transactions'] as $i => $transaction) { - if(isset($transaction['type']) && $transaction['type'] == 'decay') { - foreach($dynamic_transaction_fields as $field) { - if(isset($transaction[$field])) { - $expected['transactions'][$i][$field] = $json->transactions[$i][$field]; - } - } - } - } - } - $expected = json_encode($expected); - } - - $this->assertEquals($expected, $responseBodyString); - } - private function getAndParseWithoutCompare($path) - { - $this->configRequest([ - 'headers' => ['Accept' => 'application/json'] - ]); - - $this->disableErrorHandlerMiddleware(); - $this->get($path); - - // Check that the response was in 2xx - 3xx - $this->assertResponseSuccess(); - $view_body = $this->viewVariable('body'); - if($view_body) { - return (object)$view_body; - } - // Check that the response was a 200 - $this->assertResponseOk(); - $responseBodyString = (string)$this->_response->getBody(); - $json = json_decode($responseBodyString, true); - $this->assertNotFalse($json); - - return $json; - } -} diff --git a/community_server/tests/TestCase/Controller/CommunityProfilesControllerTest.php b/community_server/tests/TestCase/Controller/CommunityProfilesControllerTest.php deleted file mode 100644 index 35f439dd7..000000000 --- a/community_server/tests/TestCase/Controller/CommunityProfilesControllerTest.php +++ /dev/null @@ -1,75 +0,0 @@ -markTestIncomplete('Not implemented yet.'); - } - - /** - * Test view method - * - * @return void - */ - public function testView() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test add method - * - * @return void - */ - public function testAdd() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test edit method - * - * @return void - */ - public function testEdit() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test delete method - * - * @return void - */ - public function testDelete() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Controller/Component/GradidoNumberComponentTest.php b/community_server/tests/TestCase/Controller/Component/GradidoNumberComponentTest.php deleted file mode 100644 index be6167155..000000000 --- a/community_server/tests/TestCase/Controller/Component/GradidoNumberComponentTest.php +++ /dev/null @@ -1,95 +0,0 @@ -GradidoNumberComponent = new GradidoNumberComponent($registry); - } - - /** - * tearDown method - * - * @return void - */ - public function tearDown() - { - unset($this->GradidoNumberComponent); - - parent::tearDown(); - } - - /** - * Test parseInputNumberToCentNumber method - * - * @return void - */ - /* public function testParseInputNumberToCentNumber() - { - $this->markTestIncomplete('Not implemented yet.'); - }*/ - - public function test100() - { - $result = $this->GradidoNumberComponent->parseInputNumberToCentNumber(100); - $this->assertEquals(1000000, $result); - } - - public function test1000() - { - $result = $this->GradidoNumberComponent->parseInputNumberToCentNumber(1000); - $this->assertEquals(10000000, $result); - } - - public function test100Comma() - { - $result = $this->GradidoNumberComponent->parseInputNumberToCentNumber('100,12'); - $this->assertEquals(1001200, $result); - } - - public function test100Point() - { - $result = $this->GradidoNumberComponent->parseInputNumberToCentNumber('100.12'); - $this->assertEquals(1001200, $result); - } - - public function test100Decimal() - { - $result = $this->GradidoNumberComponent->parseInputNumberToCentNumber(100.12); - $this->assertEquals(1001200, $result); - } - - public function test1000Point() - { - $result = $this->GradidoNumberComponent->parseInputNumberToCentNumber('1000.12'); - $this->assertEquals(10001200, $result); - } - - public function test1000Comma() - { - $result = $this->GradidoNumberComponent->parseInputNumberToCentNumber('1000,12'); - $this->assertEquals(10001200, $result); - } -} diff --git a/community_server/tests/TestCase/Controller/Component/JsonRequestClientComponentTest.php b/community_server/tests/TestCase/Controller/Component/JsonRequestClientComponentTest.php deleted file mode 100644 index c1ba84ee3..000000000 --- a/community_server/tests/TestCase/Controller/Component/JsonRequestClientComponentTest.php +++ /dev/null @@ -1,72 +0,0 @@ -JsonRequestClientComponent = new JsonRequestClientComponent($registry); - } - - /** - * tearDown method - * - * @return void - */ - public function tearDown() - { - unset($this->JsonRequestClientComponent); - - parent::tearDown(); - } - - /** - * Test sendTransaction method - * - * @return void - */ - public function testSendTransaction() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test is_base64 method - * - * @return void - */ - public function testIsBase64Valid() - { - $result = $this->JsonRequestClientComponent->is_base64('CgpIYWxsbyBXZWx0EgYIr6fe7wVKLwonCiDWDyYU4+zldTQdQMIzGpsL20W+vV44JuNVA5hwczIELRDgg5sBELmhkoIE'); - - $this->assertEquals($result, true); - } - - public function testIsBase64Invalid() - { - $result = $this->JsonRequestClientComponent->is_base64('CgpIYWxsbyBXZWx0EgYIr6fe7wVKLwonCiDWDyYU4-zldTQdQMIzGpsL20W+vV44JuNVA5hwczIELRDgg5sBELmhkoIE'); - - $this->assertEquals($result, false); - } -} diff --git a/community_server/tests/TestCase/Controller/DashboardControllerTest.php b/community_server/tests/TestCase/Controller/DashboardControllerTest.php deleted file mode 100644 index cddf0b7ef..000000000 --- a/community_server/tests/TestCase/Controller/DashboardControllerTest.php +++ /dev/null @@ -1,45 +0,0 @@ -markTestIncomplete('Not implemented yet.'); - } - - /** - * Test index method - * - * @return void - */ - public function testIndex() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Controller/JsonRequestHandlerControllerTest.php b/community_server/tests/TestCase/Controller/JsonRequestHandlerControllerTest.php deleted file mode 100644 index f990b3e57..000000000 --- a/community_server/tests/TestCase/Controller/JsonRequestHandlerControllerTest.php +++ /dev/null @@ -1,176 +0,0 @@ - 'CmYKZAog4zad42I86ERtBCTEAT56HXGiZxrj178eeY6_BmXRRfISQDnatUMvitiiP0-sY93JStYPhPKKPU4Vosv_EGrh77BVs48xhPgPj2QHWC3oyuuMh6nN8YNjBQZx20rKvdQ4uwMSRwoMQUdFIE1haSAyMDIxEgYI_c3ChQY6LwolCiD39KSaSsEDefi53ctzHE2exJXm7dFgdfUmcs0l4xefDxDQDxoGCPqbtIQG', - 'validCreation900' => 'CmYKZAog9_SkmkrBA3n4ud3LcxxNnsSV5u3RYHX1JnLNJeMXnw8SQCaZHmvmvJOt336E3qst3rn1pptdAR5ZPzePaUT10x0_Yky8FnEiQtMGNy1yT94QErzwQudJZjJwDY2uyK4cTgkSOxIGCKb1vYUGOjEKJwog4zad42I86ERtBCTEAT56HXGiZxrj178eeY6_BmXRRfIQgNHKCBoGCIDMuf8F', - 'validCreation1200' => 'CmYKZAog9_SkmkrBA3n4ud3LcxxNnsSV5u3RYHX1JnLNJeMXnw8SQF8jptIrosEyVmCf3WEIGVOK0NR8YCcO0j-s8v2yUyR5BKus0ciT6B7IA5LDtn7eQX6zHjg1v5WlsTiZuOpuNgwSRAoHVG8gbXVjaBIGCL3Jv4UGOjEKJwog4zad42I86ERtBCTEAT56HXGiZxrj178eeY6_BmXRRfIQgOy4CxoGCOG5toQG', - 'notBase64' => 'CgpIYWxsbyBXZW-0EgYIyfSG7gV_LwonCiCboKikqwjZfes9xuqgthFH3', - 'validTransfer' => 'CmYKZAog9_SkmkrBA3n4ud3LcxxNnsSV5u3RYHX1JnLNJeMXnw8SQA0ZVQ9T1qBabzmgDO1NAWNy2J6mlv0YjMP99CiV7bSR0zemt5XoM-kTviR1aTqKggzpSYSyTN5T6gIx2xa-hgkSYwoLTXkgQmlydGhkYXkSBgie0L-FBjJMCkoKJgog9_SkmkrBA3n4ud3LcxxNnsSV5u3RYHX1JnLNJeMXnw8QgIl6EiDjNp3jYjzoRG0EJMQBPnodcaJnGuPXvx55jr8GZdFF8g', - 'errornusTransfer' => 'ClxGcm9oZXMgTmV1ZXMgSmFociB1bmQgREFOS0UsIGRhc3MgZHUgZGljaCBzbyBlaW5zZXR6dCBmw7xyIEdyYWRpZG8hIEhlcnpsaWNoZSBHcsO8w59lIFRlcmVzYRIGCPjjgvEFQlAKJgogUQwFYeVlGlfWDrkXNN7rHwejoCDJKt+YkYJfbJVyj3EQwIQ9EiYKIPXIRnUhVJ/zCs5+y/VaTBjTIoYizJNwS+JC//xsbQrHEMCEPQ==' - ]; - - /*public function setUp() { - parent::setUp(); - } -*/ - public function testWrongMethod() - { - $this->configRequest([ - 'headers' => ['Accept' => 'application/json'] - ]); - $this->get('/JsonRequestHandler'); - $this->assertResponseOk(); - - $expected = json_encode(['state' => 'error', 'msg' => 'unknown method for get', 'details' => null]); - $this->assertEquals($expected, (string)$this->_response->getBody()); - } - - public function testInvalidJson() - { - $this->configRequest([ - 'headers' => ['Accept' => 'application/json'] - ]); - $this->post('/JsonRequestHandler', '{This isn\'t valid json}'); - $this->assertResponseOk(); - - $expected = json_encode(['state' => 'error', 'msg' => 'parameter error']); - $this->assertEquals($expected, (string)$this->_response->getBody()); - } - - public function testNotSetTransaction() - { - $this->postAndParse( - ['method' => 'putTransaction'], - ['state' => 'error', 'msg' => 'parameter error'] - ); - } - public function testNotSetMethod() - { - $this->postAndParse( - ['transaction' => $this->transactions['validCreation']], - ['state' => 'error', 'msg' => 'parameter error'] - ); - } - - public function testUnknownMethod() - { - //$this->post('/TransactionJsonRequestHandler', ['method' => 'putTransaction', 'transaction' => 'CgpIYWxsbyBXZWx0EgYIyfSG7gVKLwonCiCboKikqwjZfes9xuqgthFH3/cHHaWchkUhWiGhQjB23xCg2pMBELWJ7ZYK']); - $this->postAndParse( - ['method' => 'foobar', 'transaction' => $this->transactions['validCreation']], - ['state' => 'error', 'msg' => 'unknown method for post', 'details' => 'foobar'] - ); - - } - - public function testInvalidEncodedTransaction() { - //"msg":"error parsing transaction","details":[{"Transaction":"base64 decode error"}] - $this->postAndParse( - ['method' => 'putTransaction', 'transaction' => $this->transactions['notBase64']], - ['state' => 'error', 'msg' => 'error parsing transaction', 'details' => [ - ['Transaction' => 'invalid base64 string'], - ['base64' => 'CgpIYWxsbyBXZW-0EgYIyfSG7gV_LwonCiCboKikqwjZfes9xuqgthFH3'] - ]] - ); - } - - public function testInvalidTransaction() { - - $this->postAndParse( - ['method' => 'putTransaction', 'transaction' => base64_encode('Hallo Miau Welt')], - ['state' => 'error', 'msg' => 'error parsing transaction', 'details' => [ - ['Transaction' => 'Error occurred during parsing: Unexpected wire type.'] - ]] - ); - } - - public function testToLargeCreationSum() - { - - $this->postAndParse( - ['method' => 'putTransaction', 'transaction' => $this->transactions['validCreation900']], - '{"state":"error","msg":"error validate transaction","details":[{"TransactionCreation::validate":"Creation more than 1.000 GDD per Month for in target_date not allowed"}]}' - ); - } - - public function testToLargeCreation() - { - $this->postAndParse( - ['method' => 'putTransaction', 'transaction' => $this->transactions['validCreation1200']], - '{"state":"error","msg":"error validate transaction","details":[{"TransactionCreation::validate":"Creation more than 1.000 GDD per Month for in target_date not allowed"}]}' - ); - } - - public function testValidTransfer() - { - $this->postAndParse( - ['method' => 'putTransaction', 'transaction' => $this->transactions['validTransfer']], - ['state' => 'success'] - ); - } - - public function testValidCreation() - { - $this->postAndParse( - ['method' => 'putTransaction', 'transaction' => $this->transactions['validCreation']], - ['state' => 'success'] - ); - } - - private function postAndParse($params, $expected) - { - $this->enableCsrfToken(); - //$this->enableSecurityToken(); - - //$token = 'my-csrf-token'; - //$this->cookie('csrfToken', $token); - - $this->configRequest([ - 'headers' => ['Accept' => 'application/json']//, 'X-CSRF-Token' => $token] - ]); - - $this->disableErrorHandlerMiddleware(); - $this->post('/JsonRequestHandler', json_encode($params)); - - // Check that the response was a 200 - $this->assertResponseOk(); - - $responseBodyString = (string)$this->_response->getBody(); - $json = json_decode($responseBodyString); - $this->assertNotFalse($json); - - if(is_array($expected)) { - $expected = json_encode($expected); - } - $this->assertEquals($expected, $responseBodyString); - } -} diff --git a/community_server/tests/TestCase/Controller/PagesControllerTest.php b/community_server/tests/TestCase/Controller/PagesControllerTest.php deleted file mode 100644 index a8fd65233..000000000 --- a/community_server/tests/TestCase/Controller/PagesControllerTest.php +++ /dev/null @@ -1,101 +0,0 @@ -get('/'); - $locations = $this->_response->getHeader('Location'); - $this->assertRegExp('%.*/account/$%', $locations[0]); - - $this->get('/'); - $locations = $this->_response->getHeader('Location'); - $this->assertRegExp('%.*/account/$%', $locations[0]); - } - - /** - * testDisplay method - * - * @return void - */ - public function testDisplay() - { - $this->get('/pages/home'); - $this->assertResponseOk(); - $this->assertResponseContains('CakePHP'); - $this->assertResponseContains(''); - } - - /** - * Test that missing template renders 404 page in production - * - * @return void - */ - public function testMissingTemplate() - { - Configure::write('debug', false); - $this->get('/pages/not_existing'); - - $this->assertResponseError(); - $this->assertResponseContains('Not Found'); - } - - /** - * Test that missing template in debug mode renders missing_template error page - * - * @return void - */ - public function testMissingTemplateInDebug() - { - Configure::write('debug', true); - $this->get('/pages/not_existing'); - - $this->assertResponseFailure(); - $this->assertResponseContains('Template file \u0022Pages\/not_existing.ctp\u0022 is missing.'); - $this->assertResponseContains('not_existing.ctp'); - } - - /** - * Test directory traversal protection - * - * @return void - */ - public function testDirectoryTraversalProtection() - { - $this->get('/pages/../Layout/ajax'); - $this->assertResponseCode(403); - $this->assertResponseContains('Forbidden'); - } -} diff --git a/community_server/tests/TestCase/Controller/ProfilesControllerTest.php b/community_server/tests/TestCase/Controller/ProfilesControllerTest.php deleted file mode 100644 index d87558e55..000000000 --- a/community_server/tests/TestCase/Controller/ProfilesControllerTest.php +++ /dev/null @@ -1,76 +0,0 @@ -markTestIncomplete('Not implemented yet.'); - } - - /** - * Test view method - * - * @return void - */ - public function testView() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test add method - * - * @return void - */ - public function testAdd() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test edit method - * - * @return void - */ - public function testEdit() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test delete method - * - * @return void - */ - public function testDelete() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Controller/RolesControllerTest.php b/community_server/tests/TestCase/Controller/RolesControllerTest.php deleted file mode 100644 index 12b2868a2..000000000 --- a/community_server/tests/TestCase/Controller/RolesControllerTest.php +++ /dev/null @@ -1,75 +0,0 @@ -markTestIncomplete('Not implemented yet.'); - } - - /** - * Test view method - * - * @return void - */ - public function testView() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test add method - * - * @return void - */ - public function testAdd() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test edit method - * - * @return void - */ - public function testEdit() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test delete method - * - * @return void - */ - public function testDelete() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Controller/StateBalancesControllerTest.php b/community_server/tests/TestCase/Controller/StateBalancesControllerTest.php deleted file mode 100644 index 9ef8d28e9..000000000 --- a/community_server/tests/TestCase/Controller/StateBalancesControllerTest.php +++ /dev/null @@ -1,179 +0,0 @@ -StateBalances = TableRegistry::getTableLocator()->get('StateBalances'); - } - - /** - * Test initialize method - * - * @return void - */ - public function testInitialize() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test index method - * - * @return void - */ - public function testIndex() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test overview method - * - * @return void - */ - public function testOverview() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - - - /** - * Test overviewGdt method - * - * @return void - */ - public function testOverviewGdt() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test sortTransactions method - * - * @return void - */ - public function testSortTransactions() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test view method - * - * @return void - */ - public function testView() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test add method - * - * @return void - */ - public function testAdd() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test edit method - * - * @return void - */ - public function testEdit() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test delete method - * - * @return void - */ - public function testDelete() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - - private function getAndParse($path, $expected) - { - $this->configRequest([ - 'headers' => ['Accept' => 'application/json'] - ]); - - $this->disableErrorHandlerMiddleware(); - $this->get($path); - - // Check that the response was a 200 - $this->assertResponseOk(); - - $responseBodyString = (string)$this->_response->getBody(); - $json = json_decode($responseBodyString); - $this->assertNotFalse($json); - - if(is_array($expected)) { - // copy timeUsed because this value will be variy always - if(isset($expected['timeUsed']) && isset($json->timeUsed)) { - $expected['timeUsed'] = $json->timeUsed; - } - $expected = json_encode($expected); - } - - $this->assertEquals($expected, $responseBodyString); - } - private function getAndParseWithoutCompare($path) - { - $this->configRequest([ - 'headers' => ['Accept' => 'application/json'] - ]); - - $this->disableErrorHandlerMiddleware(); - $this->get($path); - - // Check that the response was a 200 - $this->assertResponseOk(); - - $responseBodyString = (string)$this->_response->getBody(); - $json = json_decode($responseBodyString); - $this->assertNotFalse($json); - - return $json; - } -} diff --git a/community_server/tests/TestCase/Controller/StateErrorsControllerTest.php b/community_server/tests/TestCase/Controller/StateErrorsControllerTest.php deleted file mode 100644 index 452af54fc..000000000 --- a/community_server/tests/TestCase/Controller/StateErrorsControllerTest.php +++ /dev/null @@ -1,77 +0,0 @@ -markTestIncomplete('Not implemented yet.'); - } - - /** - * Test view method - * - * @return void - */ - public function testView() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test add method - * - * @return void - */ - public function testAdd() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test edit method - * - * @return void - */ - public function testEdit() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test delete method - * - * @return void - */ - public function testDelete() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Controller/StateUserTransactionsControllerTest.php b/community_server/tests/TestCase/Controller/StateUserTransactionsControllerTest.php deleted file mode 100644 index 0c9e0a513..000000000 --- a/community_server/tests/TestCase/Controller/StateUserTransactionsControllerTest.php +++ /dev/null @@ -1,78 +0,0 @@ -markTestIncomplete('Not implemented yet.'); - } - - /** - * Test view method - * - * @return void - */ - public function testView() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test add method - * - * @return void - */ - public function testAdd() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test edit method - * - * @return void - */ - public function testEdit() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test delete method - * - * @return void - */ - public function testDelete() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Controller/TransactionCreationsControllerTest.php b/community_server/tests/TestCase/Controller/TransactionCreationsControllerTest.php deleted file mode 100644 index 74c0e4b1e..000000000 --- a/community_server/tests/TestCase/Controller/TransactionCreationsControllerTest.php +++ /dev/null @@ -1,97 +0,0 @@ -markTestIncomplete('Not implemented yet.'); - } - - /** - * Test index method - * - * @return void - */ - public function testIndex() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test view method - * - * @return void - */ - public function testView() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test create method - * - * @return void - */ - public function testCreate() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test add method - * - * @return void - */ - public function testAdd() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test edit method - * - * @return void - */ - public function testEdit() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test delete method - * - * @return void - */ - public function testDelete() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Model/Behavior/empty b/community_server/tests/TestCase/Model/Behavior/empty deleted file mode 100644 index e69de29bb..000000000 diff --git a/community_server/tests/TestCase/Model/Table/AddressTypesTableTest.php b/community_server/tests/TestCase/Model/Table/AddressTypesTableTest.php deleted file mode 100644 index 8f145215c..000000000 --- a/community_server/tests/TestCase/Model/Table/AddressTypesTableTest.php +++ /dev/null @@ -1,74 +0,0 @@ -exists('AddressTypes') ? [] : ['className' => AddressTypesTable::class]; - $this->AddressTypes = TableRegistry::getTableLocator()->get('AddressTypes', $config); - } - - /** - * tearDown method - * - * @return void - */ - public function tearDown() - { - unset($this->AddressTypes); - - parent::tearDown(); - } - - /** - * Test initialize method - * - * @return void - */ - public function testInitialize() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test validationDefault method - * - * @return void - */ - public function testValidationDefault() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Model/Table/AdminErrorsTableTest.php b/community_server/tests/TestCase/Model/Table/AdminErrorsTableTest.php deleted file mode 100644 index 09d7a35fb..000000000 --- a/community_server/tests/TestCase/Model/Table/AdminErrorsTableTest.php +++ /dev/null @@ -1,83 +0,0 @@ -exists('AdminErrors') ? [] : ['className' => AdminErrorsTable::class]; - $this->AdminErrors = TableRegistry::getTableLocator()->get('AdminErrors', $config); - } - - /** - * tearDown method - * - * @return void - */ - public function tearDown() - { - unset($this->AdminErrors); - - parent::tearDown(); - } - - /** - * Test initialize method - * - * @return void - */ - public function testInitialize() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test validationDefault method - * - * @return void - */ - public function testValidationDefault() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test buildRules method - * - * @return void - */ - public function testBuildRules() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Model/Table/CommunityProfilesTableTest.php b/community_server/tests/TestCase/Model/Table/CommunityProfilesTableTest.php deleted file mode 100644 index 0d7e5fba2..000000000 --- a/community_server/tests/TestCase/Model/Table/CommunityProfilesTableTest.php +++ /dev/null @@ -1,72 +0,0 @@ -exists('CommunityProfiles') ? [] : ['className' => CommunityProfilesTable::class]; - $this->CommunityProfiles = TableRegistry::getTableLocator()->get('CommunityProfiles', $config); - } - - /** - * tearDown method - * - * @return void - */ - public function tearDown() - { - unset($this->CommunityProfiles); - - parent::tearDown(); - } - - /** - * Test initialize method - * - * @return void - */ - public function testInitialize() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test validationDefault method - * - * @return void - */ - public function testValidationDefault() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Model/Table/RolesTableTest.php b/community_server/tests/TestCase/Model/Table/RolesTableTest.php deleted file mode 100644 index b40a0ca9b..000000000 --- a/community_server/tests/TestCase/Model/Table/RolesTableTest.php +++ /dev/null @@ -1,82 +0,0 @@ -exists('Roles') ? [] : ['className' => RolesTable::class]; - $this->Roles = TableRegistry::getTableLocator()->get('Roles', $config); - } - - /** - * tearDown method - * - * @return void - */ - public function tearDown() - { - unset($this->Roles); - - parent::tearDown(); - } - - /** - * Test initialize method - * - * @return void - */ - public function testInitialize() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test validationDefault method - * - * @return void - */ - public function testValidationDefault() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test buildRules method - * - * @return void - */ - public function testBuildRules() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Model/Table/StateBalancesTableTest.php b/community_server/tests/TestCase/Model/Table/StateBalancesTableTest.php deleted file mode 100644 index 68049de34..000000000 --- a/community_server/tests/TestCase/Model/Table/StateBalancesTableTest.php +++ /dev/null @@ -1,124 +0,0 @@ -exists('StateBalances') ? [] : ['className' => StateBalancesTable::class]; - $this->StateBalancesTable = TableRegistry::getTableLocator()->get('StateBalances', $config); - } - - /** - * tearDown method - * - * @return void - */ - public function tearDown() - { - unset($this->StateBalancesTable); - - parent::tearDown(); - } - - /** - * Test initialize method - * - * @return void - */ - public function testInitialize() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test validationDefault method - * - * @return void - */ - public function testValidationDefault() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test buildRules method - * - * @return void - */ - public function testBuildRules() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test sortTransactions method - * - * @return void - */ - public function testSortTransactions() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test updateLastStateBalanceOfMonth method - * - * @return void - */ - public function testUpdateLastStateBalanceOfMonth() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test chooseForMonthAndUser method - * - * @return void - */ - public function testChooseForMonthAndUser() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test updateBalanceWithTransaction method - * - * @return void - */ - public function testUpdateBalanceWithTransaction() - { - $this->markTestIncomplete('Not implemented yet.'); - } - -} diff --git a/community_server/tests/TestCase/Model/Table/StateErrorsTableTest.php b/community_server/tests/TestCase/Model/Table/StateErrorsTableTest.php deleted file mode 100644 index 21cbe6128..000000000 --- a/community_server/tests/TestCase/Model/Table/StateErrorsTableTest.php +++ /dev/null @@ -1,84 +0,0 @@ -exists('StateErrors') ? [] : ['className' => StateErrorsTable::class]; - $this->StateErrors = TableRegistry::getTableLocator()->get('StateErrors', $config); - } - - /** - * tearDown method - * - * @return void - */ - public function tearDown() - { - unset($this->StateErrors); - - parent::tearDown(); - } - - /** - * Test initialize method - * - * @return void - */ - public function testInitialize() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test validationDefault method - * - * @return void - */ - public function testValidationDefault() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test buildRules method - * - * @return void - */ - public function testBuildRules() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Model/Table/StateUserTransactionsTableTest.php b/community_server/tests/TestCase/Model/Table/StateUserTransactionsTableTest.php deleted file mode 100644 index 173ad8e12..000000000 --- a/community_server/tests/TestCase/Model/Table/StateUserTransactionsTableTest.php +++ /dev/null @@ -1,85 +0,0 @@ -exists('StateUserTransactions') ? [] : ['className' => StateUserTransactionsTable::class]; - $this->StateUserTransactions = TableRegistry::getTableLocator()->get('StateUserTransactions', $config); - } - - /** - * tearDown method - * - * @return void - */ - public function tearDown() - { - unset($this->StateUserTransactions); - - parent::tearDown(); - } - - /** - * Test initialize method - * - * @return void - */ - public function testInitialize() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test validationDefault method - * - * @return void - */ - public function testValidationDefault() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test buildRules method - * - * @return void - */ - public function testBuildRules() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Model/Table/StateUsersTableTest.php b/community_server/tests/TestCase/Model/Table/StateUsersTableTest.php deleted file mode 100644 index 49deb1166..000000000 --- a/community_server/tests/TestCase/Model/Table/StateUsersTableTest.php +++ /dev/null @@ -1,97 +0,0 @@ -exists('StateUsers') ? [] : ['className' => StateUsersTable::class]; - $this->StateUsersTable = TableRegistry::getTableLocator()->get('StateUsers', $config); - } - - /** - * tearDown method - * - * @return void - */ - public function tearDown() - { - unset($this->StateUsersTable); - - parent::tearDown(); - } - - /** - * Test initialize method - * - * @return void - */ - public function testInitialize() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test validationDefault method - * - * @return void - */ - public function testValidationDefault() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test buildRules method - * - * @return void - */ - public function testBuildRules() - { - $this->markTestIncomplete('Not implemented yet.'); - } - - /** - * Test getReceiverProposal method - * - * @return void - */ - public function testGetReceiverProposal() - { - $this->markTestIncomplete('Not implemented yet.'); - } -} diff --git a/community_server/tests/TestCase/Model/Transactions/TransactionCreationTest.php b/community_server/tests/TestCase/Model/Transactions/TransactionCreationTest.php deleted file mode 100644 index e53549a42..000000000 --- a/community_server/tests/TestCase/Model/Transactions/TransactionCreationTest.php +++ /dev/null @@ -1,41 +0,0 @@ -assertEquals(true, true); - } - - - - -} diff --git a/community_server/tests/TestCase/View/Helper/empty b/community_server/tests/TestCase/View/Helper/empty deleted file mode 100644 index e69de29bb..000000000 diff --git a/community_server/tests/bootstrap.php b/community_server/tests/bootstrap.php deleted file mode 100644 index 0ca191e4a..000000000 --- a/community_server/tests/bootstrap.php +++ /dev/null @@ -1,12 +0,0 @@ - - RewriteEngine On - RewriteCond %{REQUEST_FILENAME} !-f - RewriteRule ^ index.php [L] - diff --git a/community_server/webroot/css/fonts_local.css b/community_server/webroot/css/fonts_local.css deleted file mode 100644 index 99dac0484..000000000 --- a/community_server/webroot/css/fonts_local.css +++ /dev/null @@ -1,79 +0,0 @@ -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ -/* - Created on : 21.01.2021, 12:32:20 - Author : einhornimmond -*/ - -/* open-sans-300 - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - src: url('../fonts/open-sans-v18-latin-300.eot'); /* IE9 Compat Modes */ - src: local(''), - url('../fonts/open-sans-v18-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v18-latin-300.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v18-latin-300.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v18-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v18-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */ -} - -/* open-sans-regular - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: url('../fonts/open-sans-v18-latin-regular.eot'); /* IE9 Compat Modes */ - src: local(''), - url('../fonts/open-sans-v18-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v18-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v18-latin-regular.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v18-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v18-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */ -} - -/* open-sans-600 - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - src: url('../fonts/open-sans-v18-latin-600.eot'); /* IE9 Compat Modes */ - src: local(''), - url('../fonts/open-sans-v18-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v18-latin-600.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v18-latin-600.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v18-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v18-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */ -} - -/* open-sans-700 - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - src: url('../fonts/open-sans-v18-latin-700.eot'); /* IE9 Compat Modes */ - src: local(''), - url('../fonts/open-sans-v18-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v18-latin-700.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v18-latin-700.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v18-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v18-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */ -} - -/* open-sans-800 - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - src: url('../fonts/open-sans-v18-latin-800.eot'); /* IE9 Compat Modes */ - src: local(''), - url('../fonts/open-sans-v18-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/open-sans-v18-latin-800.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/open-sans-v18-latin-800.woff') format('woff'), /* Modern Browsers */ - url('../fonts/open-sans-v18-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/open-sans-v18-latin-800.svg#OpenSans') format('svg'); /* Legacy iOS */ -} diff --git a/community_server/webroot/css/grd_styles.css b/community_server/webroot/css/grd_styles.css deleted file mode 100644 index e745ea55e..000000000 --- a/community_server/webroot/css/grd_styles.css +++ /dev/null @@ -1,1821 +0,0 @@ -/* ============================================================ - - Grid Layout Page - - Datei : layout.less - Datum : 2020-04-30 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -/*==================================== -= BREAK POINTS = -====================================*/ -/* https://scotch.io/courses/getting-started-with-less/responsive-and-media-queries */ -/* GRID */ -.layout { - display: grid; - grid-template-rows: [top] 8vh [line2] 86vh [footer1] 3vh [footer2] 5vh [end]; - grid-template-columns: [left1] auto [left2] 1fr [left3] 12fr [right3] 1fr [right2] auto [right1]; - grid-template-areas: "header header header header header" "left . center center ." "footer footer footer footer footer" "bottom bottom bottom bottom bottom"; - margin: 0; - padding: 0; -} -@media (max-width:1199px) { - .layout { - grid-template-areas: "header header header header header" "left . center center center" "footer footer footer footer footer" "bottom bottom bottom bottom bottom"; - } -} -@media (max-width:767px) { - .layout { - position: relative; - display: grid; - grid-template-rows: [top] 12vh [line2] 80vh [footer1] 3vh [footer2] 8vh [end]; - grid-template-columns: [left1] 100vw [right1]; - grid-template-areas: "header" "center" "footer" "bottom"; - margin: 0; - padding: 0; - } -} -.header-notify { - grid-area: header; - grid-column-start: right3; - grid-column-end: right2; -} -.header-user { - grid-area: header; - grid-column-start: right2; - grid-column-end: right1; -} -.sidebar1 { - grid-area: left; - grid-row-start: top; - grid-row-end: end; -} -@media (max-width:767px) { - .sidebar1 { - position: relative; - grid-area: header; - z-index: 2; - top: -300px; - right: 0px; - } - .header-user, - .header-notify { - grid-area: header; - } -} -.center-form-single, -.content { - grid-area: center; - grid-row-start: line2; - grid-row-end: footer1; -} -.footer { - grid-area: footer; - grid-row-start: footer1; - grid-row-end: footer2; -} -.nav-bottom { - grid-area: bottom; - grid-row-start: footer2; - grid-row-end: end; -} -/* ============================================================ - - Generic Color Definitions - - Vars and some generic CSS rules. - - Datei : colors.less - Datum : 2020-05-26 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -/* MAIN */ -/* MENU */ -/* CONTENT */ -/* CONTENT-NAV */ -/* CONTENT-ITEMS */ -/* CONTENT-TABLE */ -/* FORMS */ -/* VARIOUS INDIVIDUAL */ -/* XXX TODO XXX */ -/*rgba(0, 0, 0, 0.5) ??? */ -/* NOTIFICATION */ -/* https://www.w3schools.com/colors/colors_shades.asp */ -.info-color { - color: grey; -} -.success-color { - color: #047006; -} -.alert-color { - color: #ff5f66; -} -.orange-color { - color: #ffa600; -} -.blue-color { - color: blue; -} -.unobtrusive { - color: grey; -} -.info-icon { - color: grey; - background-color: #80808026; -} -.success-icon { - color: #047006; - background-color: rgba(4, 112, 6, 0.2); -} -.alert-icon { - color: #ff5f66; - background-color: #ff5f662e; -} -/* ======================= - Gradido - =======================*/ -/* Gradido */ -.grd-negative-currency { - color: red; -} -/* Gradido Transform */ -.gdt-text-color { - color: #a27824; -} -.grd_clickable { - cursor: pointer; -} -/* ============================================================ - - Typography Definitions - - Datei : typography.less - Datum : 2020-05-26 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -.small-font { - font-size: 0.75em; - font-weight: 300; -} -/* ============================================================ - - Basic screen styles. - - Datei : screen.less - Datum : 2020-04-30 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -@font-face { - font-family: 'Material Icons Outlined'; - font-style: normal; - font-weight: 400; - src: url(../fonts/MaterialIconsOutlined/Material-Icons-Outline.eot); - /* For IE6-8 */ - src: local('Material Icons Outlined'), local('Material-Icons-Outlined'), url(../fonts/MaterialIconsOutlined/Material-Icons-Outline.woff2) format('woff2'), url(../fonts/MaterialIconsOutlined/Material-Icons-Outline.woff) format('woff'), url(../fonts/MaterialIconsOutlined/Material-Icons-Outline.ttf) format('truetype'); -} -.material-icons-outlined { - font-family: 'Material Icons Outlined'; - font-weight: normal; - font-style: normal; - font-size: 24px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - vertical-align: middle; - display: inline-block; - white-space: nowrap; - word-wrap: normal; - direction: ltr; - -webkit-font-feature-settings: 'liga'; - -webkit-font-smoothing: antialiased; -} -@media screen { - /* ======================= - Basis - =======================*/ - html, - body { - font-family: 'Roboto', sans-serif; - font-size: 100%; - line-height: 27px; - color: #212529; - background-color: #f9fafb; - margin: 0; - overflow: auto; - } - div { - border-collapse: collapse; - box-sizing: border-box; - } - /* ======================= - Kopfbereich - =======================*/ - .header { - display: flex; - justify-content: space-between; - align-items: center; - flex: flex-grow; - width: 100%; - padding: 1em; - background-color: #fff; - } - /* ======================= - Fußbereich - =======================*/ - .footer { - display: flex; - flex-direction: column; - justify-content: flex-start; - align-items: center; - font-size: 70%; - font-style: italic; - line-height: 0; - } - .bottomright { - position: fixed; - bottom: 0; - right: 0; - color: grey; - font-size: smaller; - line-height: 0.125em; - padding-right: 0.25em; - text-align: right; - } - .bottomleft { - position: fixed; - bottom: 0; - left: 0; - color: grey; - font-size: smaller; - line-height: 1.125em; - padding-left: 0.25em; - } - /* ======================= - Sonstige - =======================*/ - /* Hyperlinks */ - a { - text-decoration: none; - color: inherit; - } - main a { - text-decoration: underline; - font-style: italic; - } - a:link, - a:visited { - color: inherit; - } - a:hover, - a:focus { - text-decoration: underline; - } - a:active { - background-color: #fff; - color: #000; - } - a:focus, - a:active { - outline: none; - } - a.grd_invisible_link { - color: #000; - text-decoration: none; - } - a.grd_invisible_link:hover { - color: grey; - } - [type=button]:not(:disabled), - [type=reset]:not(:disabled), - [type=submit]:not(:disabled), - button:not(:disabled) { - cursor: pointer; - } -} -@media screen and (max-width:767px) { - .bottomright { - font-size: 0.7em; - font-weight: 300; - line-height: 1em; - width: 100px; - } - .bottomright p { - margin-block-start: 0; - margin-block-end: 2px; - margin-inline-start: 0; - margin-inline-end: 0; - } -} -/* Ende @media screen */ -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ -/* ============================================================ - - Screen styles for flash messages. - - Datei : messages.css - Datum : 30.10.2019, 16:04:16 - Autor : einhornimmond, Christine Slotty - Copyright : Gradio - - ============================================================*/ -@media screen { - .flash-messages { - width: 30%; - position: absolute; - top: 57px; - left: 241px; - text-align: center; - } - .flash-messages .alert { - margin: 0; - padding: 1em; - vertical-align: middle; - border-radius: 5px; - } - .flash-messages .alert-success { - color: #1A1A1A !important; - background-color: #06c50a; - border: 1px solid #04700675; - } - .flash-messages .alert-error { - color: #fff !important; - background-color: red; - border: 1px solid rgba(255, 0, 0, 0.5); - } - .flash-messages .message { - padding: 5px; - } - .flash-messages .success { - color: #047006; - } - .flash-messages .error { - color: red; - } - .flash-messages.hidden { - display: none; - } - /* messages, update flash */ - .grd-error { - color: red; - border: 1px solid rgba(255, 0, 0, 0.5); - padding: 5px; - } - .grd-info { - border: 1px dotted gray; - padding: 5px; - } - .grd-success { - padding: 5px; - color: #047006; - } -} -@media screen and (max-width:767px) { - .flash-messages { - width: 90%; - top: 0; - left: 0; - text-align: center; - } -} -/* ============================================================ - - User Menu - - Datei : user.less - Datum : 2020-07-03 - Autor : Christine Slotty - Copyright : Gradido - - ============================================================*/ -@media screen { - .header-user { - display: flex; - flex-direction: column; - justify-content: flex-start; - align-items: flex-end; - align-content: flex-end; - position: relative; - width: 100%; - min-width: 12em; - height: 40px; - background-color: #fff; - border: 1px solid #f2f4f5; - border-radius: 0 0 0 18px; - } - .user-menu-container { - display: flex; - justify-content: flex-end; - align-items: center; - font-size: 0.8em; - font-weight: 300; - padding: 0.25em 0.5em; - z-index: 20; - height: 40px; - } - .user-name, - .user-icon { - display: inline-block; - vertical-align: middle; - cursor: pointer; - } - .user-name { - padding-right: 0.25em; - } - .nav-vertical.user-menu { - display: none; - background-color: #fff; - border-left: 1px solid #f2f4f5; - border-bottom: 1px solid #f2f4f5; - border-radius: 0 0 16px 16px; - z-index: 15; - font-size: 0.9em; - margin-top: 0 !important; - position: fixed; - top: 39px; - right: 0; - } - .nav-vertical.user-menu.visible { - display: inherit; - } - .nav-vertical.user-menu > ul { - padding: 2em; - padding-top: 0.5em; - padding-bottom: 1em; - margin-block-end: 0; - margin-block-start: 0; - } - .nav-vertical.user-menu li { - padding: 0.0125em; - } - .nav-top > ul { - padding: 0; - padding-right: 2em; - } - .material-icons-outlined.user-info { - color: grey; - } - .material-icons-outlined.user-info.success { - color: #047006; - } -} -@media screen and (max-width:767px) { - .header-user { - position: relative; - min-width: 3em; - background-color: transparent; - justify-content: center; - height: 100%; - margin-top: -13px; - margin-left: -16px; - color: #047006; - } - .user-menu-container { - margin: 0; - padding: 0; - } - .user-name { - display: none; - } - .nav-vertical { - margin-top: 55px; - } - .nav-vertical.user-menu { - position: fixed; - top: 1px; - right: 0; - margin-top: 0; - } - .nav-vertical.user-menu > ul { - padding: 1em 1em; - padding-top: 3em; - } -} -/* ============================================================ - - Navigation - - Datei : navi.less - Datum : 2020-04-30 - Autor : einhornimmond / Christine Slotty - Copyright : Gradido - - ============================================================*/ -@media screen { - .logo { - display: none; - vertical-align: middle; - height: 30px; - padding: 0.5em; - } - .logo.big.visible, - .logo.small.visible { - display: block !important; - } - .logo.mobile { - display: none; - } - .logo.small.visible { - padding-left: 41px; - } - /* - SIDEBARS - */ - .sidebar1 { - background-color: #fff; - font-size: 0.8em; - font-weight: 500; - line-height: 2.5em; - padding: 0; - border-right: 1px solid #f2f4f5; - } - .sidebar2 { - padding: 1em; - background-color: #f9fafb; - } - .sidebar1-header { - font-size: 0.75em; - font-style: italic; - color: grey; - } - /* set general icons size here! */ - .nav-icon { - font-size: 18px !important; - color: #4F4F4F; - vertical-align: middle; - padding-right: 1em; - } - /* important! order matters! we need to overwrite the main button's size here */ - .nav-main-button { - font-size: 32px !important; - color: grey; - margin: 0.3em; - } - /* Hide mobile menu button! */ - .nav-main-button.mobile { - display: none; - } - .nav-menu.nav-menu-maximized { - width: 280px; - height: 100%; - } - .nav-menu.nav-menu-minimized { - width: 120px; - height: 100%; - } - .nav-menu-maximized { - -webkit-animation: slide-out 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; - animation: slide-out 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; - } - .nav-menu-minimized { - -webkit-animation: slide-in 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; - animation: slide-in 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; - } - .nav-menu-minimized .link-title { - display: none; - } - .nav-menu-minimized .nav-icon, - .nav-menu-minimized .nav-main-button { - padding-left: 72px; - } - /** - * ---------------------------------------- - * animations slide-in / slide-out - * ---------------------------------------- - */ - /* slide-in */ - @-webkit-keyframes slide-in { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - opacity: 0; - } - 100% { - -webkit-transform: translateX(-74px); - transform: translateX(-74px); - opacity: 1; - } - } - @keyframes slide-in { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - opacity: 0; - } - 100% { - -webkit-transform: translateX(-74px); - transform: translateX(-74px); - opacity: 1; - } - } - /* slide-out */ - @-webkit-keyframes slide-out { - 0% { - -webkit-transform: translateX(-74px); - transform: translateX(-74px); - } - 100% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - } - @keyframes slide-out { - 0% { - -webkit-transform: translateX(-74px); - transform: translateX(-74px); - } - 100% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - } - /* - NAVI MOBILE - */ - /* END navi mobile base */ - .selected { - color: #047006; - } - .link-title { - vertical-align: middle; - line-height: normal; - background-color: transparent; - } - .nav-horizontal { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: center; - align-items: flex-end; - list-style-type: none; - gap: 5%; - padding: 1em; - } - .footer .nav-horizontal { - gap: 0; - padding: 0 1em; - padding-inline-start: 0 !important; - } - .nav-top-smaller { - margin: 0; - padding: 0; - } - .nav-smaller { - justify-content: left; - align-items: flex-start; - gap: 0; - padding: 0; - } - .nav-smaller li { - padding: 0 !important; - padding: 0.2em 0.5em !important; - border: 1px solid #047006; - margin: 0.1em 0.3em; - border-radius: 12px; - } - .nav-smaller .heading { - font-weight: bold; - } - .nav-vertical { - margin-top: -2em; - } - .nav-horizontal li { - padding: 0.5em; - } - .nav-vertical > ul { - display: flex; - flex-direction: column; - list-style-type: none; - gap: 5%; - padding: 1em; - } - .nav-vertical li { - padding: 0.5em; - } - .nav-top > ul { - padding: 0; - padding-right: 2em; - } - .nav-bottom { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - list-style-type: none; - margin-bottom: 20px; - } - .nav-bottom p { - font-size: 0.9em; - color: grey; - margin: 0; - } - nav.grd-left-bar { - position: fixed; - top: 80.5px; - } - nav .grd-nav-bn { - width: 100px; - } - nav ul { - margin-top: 0; - padding-left: 0; - } - /* buttons */ - .grd-nav-bn:hover, - .grd-active { - background-color: lightgray; - border-color: #000; - } - .grd-nav-bn { - padding: 10px; - border: 1px solid grey; - display: table-cell; - text-align: center; - vertical-align: middle; - color: grey; - } - .grd-nav-bn-large { - width: 40vw; - height: 18vh; - font-size: 35px; - } - a.grd-nav-bn, - a.grd-nav-bn:visited { - color: #000; - text-decoration: none; - } -} -@media screen and (max-width:767px) { - .logo.big, - .logo.small { - display: none; - } - .logo.visible { - padding: 0 !important; - } - .logo, - .logo.mobile, - .logo.mobile.visible { - display: block; - position: fixed; - top: 12px; - left: 12px; - } - .logo.big, - .logo.big.visible { - display: none !important; - } - .nav-main-button { - display: none; - } - .nav-main-button.mobile { - display: block; - position: fixed; - top: 2px; - right: 46px; - z-index: 3; - } - .nav-menu.nav-menu-minimized, - .nav-menu.nav-menu-maximized { - width: 280px; - height: 300px; - } - .nav-menu-minimized .nav-icon, - .nav-menu-minimized .nav-main-button { - padding-left: 0; - } - .nav-menu-maximized { - -webkit-animation: slide-down 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; - animation: slide-down 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; - } - .nav-menu-minimized { - -webkit-animation: slide-up 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; - animation: slide-up 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; - } - @-webkit-keyframes slide-down { - 0% { - -webkit-transform: translateY(0); - transform: translateY(0); - opacity: 0; - } - 100% { - -webkit-transform: translateY(300px); - transform: translateX(300px); - opacity: 1; - } - } - @keyframes slide-down { - 0% { - -webkit-transform: translateY(0); - transform: translateY(0); - opacity: 0; - } - 100% { - -webkit-transform: translateY(300px); - transform: translateY(300px); - opacity: 1; - } - } - @-webkit-keyframes slide-up { - 0% { - -webkit-transform: translateY(0); - transform: translateY(0); - } - 100% { - -webkit-transform: translateY(-300px); - transform: translateY(-300px); - } - } - @keyframes slide-up { - 0% { - -webkit-transform: translateY(0); - transform: translateY(0); - } - 100% { - -webkit-transform: translateY(-300px); - transform: translateY(-300px); - } - } -} -@media screen and (max-width:767px) { - .nav-vertical { - margin-top: 55px; - } -} -@media screen and (max-width:767px) { - .nav-bottom p { - font-size: 0.8em; - margin-top: -10px; - } -} -/* ============================================================ - - Notification - - Datei : notification.css - Datum : 2020-06-10 - Autor : Christine Slotty - Copyright : Gradido - - ============================================================*/ -@media screen { - .header-notify { - display: flex; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; - z-index: 10; - } - .notify { - display: block; - padding: 0.5rem 0.3rem; - color: #525c5d; - animation: blinkingNotifySymbol 1.2s infinite; - } - .notify-alert { - color: #ff5f66; - animation: blinkingAlertSymbol 1.2s infinite; - } - @keyframes blinkingNotifySymbol { - 0% { - color: #525c5d; - } - 49% { - color: #525c5d; - } - 60% { - color: #525c5d82; - } - 99% { - color: #525c5d82; - } - 100% { - color: #525c5d; - } - } - @keyframes blinkingAlertSymbol { - 0% { - color: #ff5f66; - } - 49% { - color: #ff5f66; - } - 60% { - color: #ff5f669e; - } - 99% { - color: #ff5f669e; - } - 100% { - color: #ff5f66; - } - } - /* - .notification-indicator-primary { - background: #047006; - } - - .notification-indicator-warning { - background: #f0825f - } - .notification-indicator-secondary { - background: grey - } - - .notification-indicator-secondary:before { - content: ""; - background: rgba(128, 128, 128, .5) - } - - .notification-indicator-success { - background: #00e093 - } - - .notification-indicator-success:before { - content: ""; - background: rgba(0, 224, 147, .5) - } - - .notification-indicator-info { - background: #6c61f6 - } - - .notification-indicator-info:before { - content: ""; - background: rgba(108, 97, 246, .5) - } - - - .notification-indicator-danger { - background: #ff5f66 - } - - .notification-indicator-danger:before { - content: ""; - background: rgba(255, 95, 102, .5) - } - - .notification-indicator-light { - background: #dfdfdf - } - - .notification-indicator-light:before { - content: ""; - background: rgba(223, 223, 223, .5) - } - - .notification-indicator-dark { - background: #74767b - } - - .notification-indicator-dark:before { - content: ""; - background: rgba(116, 118, 123, .5) - } - - .notification-indicator-white { - background: #fff - } - - .notification-indicator-white:before { - content: ""; - background: rgba(255, 255, 255, .5) - } - */ -} -@media screen and (max-width:767px) { - .header-notify { - justify-content: flex-end; - margin-right: 93px; - margin-top: 8px; - } -} -/* ============================================================ - - Screen styles for the regular center part. - - Datei : center.css - Datum : 2020-04-30 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -@media screen { - /* ========= - CONTENT - =========*/ - .content-default { - display: flex; - justify-content: center; - max-width: 90%; - } - .content { - display: flex; - justify-content: flex-start; - flex-direction: column; - overflow: auto; - width: 100%; - background-color: #f9fafb; - line-height: 1.75em; - letter-spacing: 0.03rem; - font-family: Roboto, sans-serif; - font-weight: 500; - font-size: 1rem; - padding-right: 5em; - } - /* Center Navigation Top */ - .nav-content { - position: relative; - color: #565656; - margin: 0 0.25em; - } - .nav-content-list { - display: flex; - list-style-type: none; - padding: 0; - margin-left: 0.25em; - } - .nav-content-separator { - margin: 0 1em; - } - /* Center Content Container */ - .content-container { - background-color: #fff; - color: #212529; - border-radius: 0.5em; - box-shadow: 0 0 10px 0 rgba(183, 192, 206, 0.2); - border: 1px solid rgba(238, 238, 238, 0.75); - margin: 1em 0.25em; - } - /* Block Container Above Main */ - .block-container { - width: 100%; - display: flex; - } - /* Top Info Above Main */ - .info-container { - display: flex; - justify-content: space-between; - align-items: center; - max-width: 70%; - padding: 1em 25px; - } - /* Main Container */ - .main-container { - width: 100%; - } - .default-container { - width: 90%; - margin: auto; - padding: 1em; - } - /* Content Block */ - .content-block { - width: 170px; - padding: 20px 25px 20px; - border: 1px dashed grey; - border-radius: 16px; - margin: 1em; - display: flex; - flex-direction: column; - justify-content: center; - justify-items: center; - align-items: center; - } - .block-img { - width: 40px; - height: 40px; - line-height: 20px; - font-size: 24px; - padding: 8px; - border-radius: 20px; - box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); - overflow: hidden; - border-style: none; - box-sizing: border-box; - } - /* Generic Content */ - .content-region h3 { - color: #21252969; - } - .content-region { - border-bottom: 1px dashed #F5F5F5; - padding: 0 25px; - padding-bottom: 2em; - margin: 1em 0.25em; - } - .content-collection { - display: flex; - } - .content-item { - margin: 0.5em 0; - margin-right: 5em; - width: 220px; - padding: 1em 2em; - } - .action-button { - background: #f9fafb; - border-left: 3px solid #047006; - } - .info-item { - border-left: 2px solid grey; - } - .inline-header { - display: inline; - } - .show-profile-img { - display: block; - height: 100px; - vertical-align: middle; - border-radius: 10px; - border: 2px dotted #80808026; - } - /* OTHER */ - .info-item i, - .info-item-link, - .action-button i, - .action-button-link { - vertical-align: middle; - } -} -@media screen and (max-width:767px) { - .content { - padding-right: 0; - } -} -@media screen and (max-width:767px) { - .nav-content-list { - display: flex; - font-size: small; - margin-bottom: 0; - justify-content: center; - } -} -@media screen and (max-width:1199px) { - .info-container { - flex-direction: column; - max-width: 90%; - line-height: 0.25em; - } -} -@media screen and (max-width:767px) { - .main-container { - max-width: 97%; - } -} -@media screen and (max-width:767px) { - .content-region { - padding-left: 5px; - } - .content-collection { - flex-direction: column; - align-items: center; - } - .content-item { - margin: 0.5em 0; - margin-right: 0; - width: 160px; - padding: 1em 2em; - } -} -/* Ende @media screen */ -/* ============================================================ - - Screen styles for the simple center form. (login etc) - - Datei : center-form-single.css - Datum : 2020-07-10 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -@media screen { - .center-form-single { - width: 50%; - margin: auto; - } - .center-form-header { - margin-bottom: 50px; - } - .center-logo { - display: block; - margin: 0 auto; - width: 280px; - } - .center-logo img { - width: 100%; - vertical-align: middle; - border-style: none; - } - .center-form-container { - display: flex; - flex-direction: column; - padding: 2em 8em; - background-color: #fff; - border-radius: 6px; - box-shadow: 0 0 10px 0 rgba(183, 192, 206, 0.2); - margin-bottom: 1.5rem; - border: 1px solid rgba(238, 238, 238, 0.75); - } - .center-form-title h1 { - margin-block-start: 0; - } - .center-form-selectors { - display: flex; - justify-content: flex-end; - align-items: center; - height: 38px; - padding: 5px 0; - margin-bottom: 2em; - } - .center-form-form, - .center-form-form form { - display: flex; - flex-direction: column; - } - .center-form-form .form-label { - text-align: left; - } - .center-form-form .form-control { - width: 100%; - margin: auto; - box-sizing: border-box; - margin-bottom: 0.5em; - } - .center-form-submit { - width: 100%; - margin: 1em 0; - } - .reset-pwd-link, - .signup-link { - padding: 0 20px; - } - .reset-pwd-link a, - .signup-link a { - color: #047006; - } - .reset-pwd-link p, - .signup-link p { - display: inline-block; - margin-block-start: 0; - margin-block-end: 0; - } - .center-bottom { - color: grey; - text-align: center; - padding-top: 30px; - } - .flag-btn { - text-align: center; - vertical-align: middle; - padding: 3px 11px; - } - .flag { - display: block; - } - .flag-germany { - background: red; - border-top: 9px solid #000; - border-bottom: 9px solid #fc0; - width: 40px; - height: 10px; - } - .flag-england { - background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJmbGFnLWljb24tY3NzLWdiIiB2aWV3Qm94PSIwIDAgNjQwIDQ4MCI+CiAgPHBhdGggZmlsbD0iIzAxMjE2OSIgZD0iTTAgMGg2NDB2NDgwSDB6Ii8+CiAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTc1IDBsMjQ0IDE4MUw1NjIgMGg3OHY2Mkw0MDAgMjQxbDI0MCAxNzh2NjFoLTgwTDMyMCAzMDEgODEgNDgwSDB2LTYwbDIzOS0xNzhMMCA2NFYwaDc1eiIvPgogIDxwYXRoIGZpbGw9IiNDODEwMkUiIGQ9Ik00MjQgMjgxbDIxNiAxNTl2NDBMMzY5IDI4MWg1NXptLTE4NCAyMGw2IDM1TDU0IDQ4MEgwbDI0MC0xNzl6TTY0MCAwdjNMMzkxIDE5MWwyLTQ0TDU5MCAwaDUwek0wIDBsMjM5IDE3NmgtNjBMMCA0MlYweiIvPgogIDxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0yNDEgMHY0ODBoMTYwVjBIMjQxek0wIDE2MHYxNjBoNjQwVjE2MEgweiIvPgogIDxwYXRoIGZpbGw9IiNDODEwMkUiIGQ9Ik0wIDE5M3Y5Nmg2NDB2LTk2SDB6TTI3MyAwdjQ4MGg5NlYwaC05NnoiLz4KPC9zdmc+Cg==); - background-size: cover; - width: 40px; - height: 28px; - } - .group { - padding-left: 10px; - padding-top: 10px; - padding-bottom: 10px; - } - .group-is-invalid { - background-color: rgba(240, 130, 95, 0.2); - border-color: #dc3545; - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!fill=!string!viewBox=!string!%3e%3cpath stroke=!string!d=!string!/%3e%3ccircle r=!string!/%3e%3ccircle cx=!string!r=!string!/%3e%3ccircle cy=!string!r=!string!/%3e%3ccircle cx=!string!cy=!string!r=!string!/%3e%3c/svg%3E"); - background-repeat: no-repeat; - background-position: center right calc(0.375em + 0.1875rem); - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); - } - .group-is-invalid .radio label .input-frame::before { - border-color: red; - } -} -@media screen and (max-width:767px) { - .center-form-header { - margin-bottom: 30px; - margin-top: -50px; - } - .center-form-single { - width: 97%; - margin: auto; - } - .center-form-container { - padding: 1em 0.5em; - } -} -/* Ende @media screen */ -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ -/* ============================================================ - - Screen styles for plain facts. - - Datei : facts.css - Datum : 08.07.2020 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -@media screen { - .fact-list { - display: flex; - flex-direction: column; - list-style-type: none; - width: 100%; - padding-inline-start: 0; - font-weight: 300; - } - .fact { - display: inline-block; - padding-left: 1em; - } - .label { - width: 150px; - text-align: right; - font-weight: bold; - } -} -@media screen and (max-width:767px) { - .fact-list { - margin-block-start: 0; - margin-block-end: 0; - } - li.fact { - display: flex; - flex-direction: column; - } - .fact { - padding-left: 0.5em; - } - .label { - width: 250px; - text-align: left; - font-size: 0.9em; - font-weight: normal; - } -} -/* ============================================================ - - Screen styles for lists. - - Datei : list.css - Datum : 2020-06-09 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -@media screen { - /* ========= - LISTS - =========*/ - /* List Content */ - .content-list { - width: 100%; - } - .content-list-title { - font-size: 1rem; - margin: 0; - padding: 20px 25px; - color: #313131; - } - .content-list-table { - display: flex; - flex-direction: column; - width: 100%; - overflow: auto; - font-size: 16px; - color: #212529; - } - .row { - display: flex; - width: 100%; - border-top: 1px solid #f2f4f9; - -webkit-transition-duration: 0.5s; - transition-duration: 0.5s; - } - .row:hover { - background-color: #f6f7f9; - } - .cell { - display: flex; - flex-wrap: wrap; - align-items: center; - padding: 1em 1.5em; - } - .cell-dense { - padding: 0.1em 0.5em; - } - .centered { - justify-content: center; - } - .c0 { - flex-grow: 5; - min-width: 20%; - } - .c1 { - min-width: 40px; - flex: 0 0 40px; - } - .c2 { - min-width: 80px; - flex: 0 0 80px; - } - .c3 { - min-width: 160px; - flex: 0 0 160px; - } - .c4 { - min-width: 240px; - flex: 0 0 240px; - } - .c5 { - min-width: 320px; - flex: 0 0 320px; - } - .c6 { - min-width: 400px; - flex: 0 0 400px; - } - .header-cell { - border-top: 1px solid #f2f4f9; - background-color: #fafafa; - color: #101010; - } - .content-list-table img, - .content-list-table i { - vertical-align: middle; - } - .content-list-table > span { - font-size: 0.8em; - padding: 0.5em 2em; - vertical-align: middle; - } - /* Individual Tables XXX rm!! */ - .error-list { - grid-template-columns: 2fr 2fr 5fr 1fr; - } - .transactions { - grid-template-columns: 1fr 4fr 2fr 2fr; - } - .profile-img { - width: 30px; - height: 30px; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); - overflow: hidden; - border-style: none; - box-sizing: border-box; - margin-right: 40px; - } - .tx-email { - cursor: pointer; - display: block; - color: #101010; - font-weight: 400; - } - .small { - font-size: 80%; - font-weight: 400; - } - /*, - .cell-icon .material-icons-outlined */ - .cell-icon { - /*noch ungeklärt - icon ist nicht aligned */ - /*font-size: 1.25em;*/ - vertical-align: middle; - } - /* ===================================== - FORM TOP CONTENT (checkTransaction) - =====================================*/ - .form-content { - padding: 35px; - padding-top: 20px; - max-width: 80%; - margin: auto; - } - .content-table { - border: 1px solid #f2f4f9; - border-top: none; - margin-bottom: 1.5rem; - } - .content-row { - display: flex; - justify-content: space-between; - font-weight: 400; - border-top: 1px solid #f2f4f9; - } - .content-row-header { - font-weight: 500; - color: #101010; - } - .content-row-bg { - background-color: #f0f2f5; - } - .content-cell { - display: block; - border-collapse: collapse; - padding: 10px 15px; - } - .form-button .material-icons-outlined { - font-size: 1.25em; - } -} -@media screen and (max-width:767px) { - .row { - flex-direction: column; - } -} -@media screen and (max-width:767px) { - .cell { - padding: 0.25em 1.5em; - } - .c1 { - flex-basis: auto; - } - .c2 { - flex-basis: auto; - } - .c3 { - flex-basis: auto; - } - .c4 { - flex-basis: auto; - } - .c5 { - flex-basis: auto; - } - .c6 { - flex-basis: auto; - } -} -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ -/* - Created on : 23.11.2020, 14:04:28 - Author : einhornimmond -*/ -/* Style the tab */ -.tab { - overflow: hidden; - border: 1px solid #ccc; - background-color: #f1f1f1; -} -/* Style the buttons that are used to open the tab content */ -.tab button { - background-color: inherit; - float: left; - border: none; - outline: none; - cursor: pointer; - padding: 14px 16px; - transition: 0.3s; -} -/* Change background color of buttons on hover */ -.tab button:hover { - background-color: #ddd; -} -/* Create an active/current tablink class */ -.tab button.active { - background-color: #ccc; -} -/* Style the tab content */ -.tabcontent { - display: none; - padding: 6px 12px; - border: 1px solid #ccc; - border-top: none; -} -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ -/* ============================================================ - - Screen styles for forms. - - Datei : form.css - Datum : 2020-06-07 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -@media screen { - /* ========= - FORMS - =========*/ - /* Form Content */ - .action-form { - width: 100%; - } - .form-header { - border-left: 3px solid #047006; - background: #f9fafb; - padding: 15px 20px; - margin: 0; - margin-bottom: 15px; - border-radius: 0 6px 0 0; - } - .form-label { - grid-column: 0.5; - font-weight: 400; - text-align: right; - padding-right: 0.5em; - } - .form-control { - grid-column: 0.66666667; - padding: 0.4em 0.75em; - padding-left: 20px; - padding-right: 20px; - margin: 0; - margin-right: 0.5em; - color: rgba(16, 16, 16, 0.8); - display: block; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #6c757d; - background-color: #f6f7f9; - background-clip: padding-box; - border: 1px solid #f0f2f5; - border-radius: 0.25rem; - -webkit-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - } - .form-control:focus { - color: #495057; - background-color: #f6f7f9; - border-color: #d7dee5; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); - } - textarea { - resize: vertical; - } - .badge { - display: inline-block; - padding: 0.45rem 1rem; - font-size: 80%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: 0.25rem; - -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - } - .badge-warning { - color: #fff; - background-color: #00e093; - } - .badge-error { - color: #fff; - background-color: #ff5f66; - } - .form-full-width { - grid-column-start: 1; - grid-column-end: 3; - display: flex; - flex-direction: column; - } - .form-button { - cursor: pointer; - font: 600 13.3333px Arial; - font-size: 0.875rem; - line-height: 1.5; - text-align: center; - vertical-align: middle; - color: #fff; - background-color: #047006; - border-color: #047006; - border: 1px solid transparent; - border-radius: 0.2rem; - height: 35px; - max-height: 35px; - padding: 4px 15px; - margin-right: 0.5em; - box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); - } - .form-button:hover { - background-color: #034b04; - border-color: #023f03; - } - .button-cancel { - color: #fff !important; - background-color: #f0825f; - border-color: #f0825f; - } - .button-cancel:hover { - background-color: #ec5e30; - border-color: #eb5425; - } - .link-button { - display: inline-block; - background: #f9fafb; - color: #fff; - height: 17px; - padding: 1em 2em; - line-height: 1em; - border-radius: 6px; - text-align: center; - vertical-align: middle; - } - .action-link { - color: #047006 !important; - } - .action-link-button { - background-color: #047006 !important; - color: #fff !important; - margin-top: 1em; - padding: 0.5em 1em; - } - .edit-profile-img { - width: 100px; - } - .note-smaller { - font-size: smaller; - } - .form-row, - .grid-row { - display: flex; - justify-content: flex-start; - align-items: center; - align-content: center; - width: 100%; - -webkit-transition-duration: 0.5s; - transition-duration: 0.5s; - } - .justify-end { - justify-content: flex-end; - } - .form-row { - border-top: 1px solid #f2f4f9; - } - .form-row:hover { - background-color: #f6f7f9; - } - /* CENTER FORM SPECIFICS */ - .form-body form { - display: grid; - grid-template-columns: 220px 1fr; - margin: 36px 75px; - grid-gap: 1em; - } - .center-form { - width: 450px; - } - .center-form .form-control { - width: 90%; - } - .center-form fieldset { - margin-bottom: 1em; - } -} -@media screen and (max-width:767px) { - .grid-row { - flex-direction: column; - } -} -@media screen and (max-width:767px) { - .form-body form { - grid-template-columns: 1fr; - margin: 20px; - grid-gap: 0.25em; - } - .form-label { - text-align: left; - } -} diff --git a/community_server/webroot/css/loginServer/style.css b/community_server/webroot/css/loginServer/style.css deleted file mode 100644 index bf5f617a7..000000000 --- a/community_server/webroot/css/loginServer/style.css +++ /dev/null @@ -1,14488 +0,0 @@ -.bg-inverse-primary { - background: rgba(4, 112, 6, .2) -} - -.bg-inverse-secondary { - background: rgba(128, 128, 128, .2) -} - -.bg-inverse-success { - background: rgba(0, 224, 147, .2) -} - -.bg-inverse-info { - background: rgba(108, 97, 246, .2) -} - -.bg-inverse-warning { - background: rgba(240, 130, 95, .2) -} - -.bg-inverse-danger { - background: rgba(255, 95, 102, .2) -} - -.bg-inverse-light { - background: rgba(223, 223, 223, .2) -} - -.bg-inverse-dark { - background: rgba(116, 118, 123, .2) -} - -.bg-inverse-white { - background: rgba(255, 255, 255, .2) -} - -.bg-inverse-orange { - background: rgba(255, 166, 0, .2) -} - -.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 -} - -@-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 fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0) - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) - } - -} - -@keyframes fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0) - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) - } - -} - -.fadeInUp { - -webkit-animation-name: fadeInUp; - animation-name: fadeInUp -} - -@-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 -} - -@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.4, 1.4, 1.4); - transform: scale3d(1.4, 1.4, 1.4) - } - - 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) - } - -} - -@-webkit-keyframes rotate360 { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - -webkit-transform-origin: center; - transform-origin: center - } - -} - -@keyframes rotate360 { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - -webkit-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.4, 1.4, 1.4); - transform: scale3d(1.4, 1.4, 1.4) - } - - 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) - } - -} - -@-webkit-keyframes ripple { - 0%, - 35% { - -webkit-transform: scale(0); - transform: scale(0); - opacity: 1 - } - - 50% { - -webkit-transform: scale(.6); - transform: scale(.6); - opacity: .8 - } - - 100% { - opacity: 0; - -webkit-transform: scale(1.2); - transform: scale(1.2) - } - -} - -@keyframes ripple { - 0%, - 35% { - -webkit-transform: scale(0); - transform: scale(0); - opacity: 1 - } - - 50% { - -webkit-transform: scale(.6); - transform: scale(.6); - opacity: .8 - } - - 100% { - opacity: 0; - -webkit-transform: scale(1.2); - transform: scale(1.2) - } - -} - -body, -html { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - letter-spacing: .03rem; - font-family: Roboto, sans-serif; - font-weight: 400; - font-size: 14px -} - -@media (min-width:768px) and (max-width:991px) { - body, - html { - font-size: calc(14px + 1 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - body, - html { - font-size: calc(15px + -1 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - body, - html { - font-size: 14px - } - -} - -h1, -h2, -h3, -h4, -h5, -h6, -label { - font-family: Roboto, sans-serif; - font-weight: 500 -} - -label, -p { - font-family: Roboto, sans-serif; - font-weight: 400; - letter-spacing: .03rem -} - -a { - font-family: Roboto, sans-serif; - font-weight: 400 -} - -a:hover { - text-decoration: none -} - -pre { - font-size: 15px -} - -@media (min-width:768px) and (max-width:991px) { - pre { - font-size: calc(15px + 1 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - pre { - font-size: calc(16px + 0 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - pre { - font-size: 16px - } - -} - -.checkbox label, -.radio label, -label { - font-family: Roboto, sans-serif; - font-weight: 400 -} - -b { - font-weight: 700 -} - -small { - font-size: 14px; - font-family: Roboto, sans-serif; - font-weight: 400; - display: inline-block; - line-height: 1.4 -} - -@media (min-width:768px) and (max-width:991px) { - small { - font-size: calc(14px + 0 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - small { - font-size: calc(14px + -1 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - small { - font-size: 13px - } - -} - -h1 { - font-size: 20px -} - -@media (min-width:768px) and (max-width:991px) { - h1 { - font-size: calc(20px + 4 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - h1 { - font-size: calc(24px + 8 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - h1 { - font-size: 32px - } - -} - -h2 { - font-size: 19px -} - -@media (min-width:768px) and (max-width:991px) { - h2 { - font-size: calc(19px + 3 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - h2 { - font-size: calc(22px + 7 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - h2 { - font-size: 29px - } - -} - -h3 { - font-size: 18px -} - -@media (min-width:768px) and (max-width:991px) { - h3 { - font-size: calc(18px + 3 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - h3 { - font-size: calc(21px + 5 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - h3 { - font-size: 26px - } - -} - -h4 { - font-size: 17px -} - -@media (min-width:768px) and (max-width:991px) { - h4 { - font-size: calc(17px + 2 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - h4 { - font-size: calc(19px + 4 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - h4 { - font-size: 23px - } - -} - -h5 { - font-size: 17px -} - -@media (min-width:768px) and (max-width:991px) { - h5 { - font-size: calc(17px + 1 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - h5 { - font-size: calc(18px + 2 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - h5 { - font-size: 20px - } - -} - -h6 { - font-size: 16px -} - -@media (min-width:768px) and (max-width:991px) { - h6 { - font-size: calc(16px + 1 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - h6 { - font-size: calc(17px + 1 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - h6 { - font-size: 18px - } - -} - -.display-1 { - font-size: 26px -} - -@media (min-width:768px) and (max-width:991px) { - .display-1 { - font-size: calc(26px + 7 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - .display-1 { - font-size: calc(33px + 25 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - .display-1 { - font-size: 58px - } - -} - -.display-2 { - font-size: 24px -} - -@media (min-width:768px) and (max-width:991px) { - .display-2 { - font-size: calc(24px + 7 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - .display-2 { - font-size: calc(31px + 21 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - .display-2 { - font-size: 52px - } - -} - -.display-3 { - font-size: 23px -} - -@media (min-width:768px) and (max-width:991px) { - .display-3 { - font-size: calc(23px + 6 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - .display-3 { - font-size: calc(29px + 17 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - .display-3 { - font-size: 46px - } - -} - -.display-4 { - font-size: 22px -} - -@media (min-width:768px) and (max-width:991px) { - .display-4 { - font-size: calc(22px + 5 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - .display-4 { - font-size: calc(27px + 14 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - .display-4 { - font-size: 41px - } - -} - -.display-5 { - font-size: 21px -} - -@media (min-width:768px) and (max-width:991px) { - .display-5 { - font-size: calc(21px + 4 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - .display-5 { - font-size: calc(25px + 11 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - .display-5 { - font-size: 36px - } - -} - -.form-control, -input[type=email], -input[type=name], -input[type=number], -input[type=password], -input[type=text], -textarea { - font-family: Roboto, sans-serif; - font-weight: 500; - font-size: 14px -} - -@media (min-width:768px) and (max-width:991px) { - .form-control, - input[type=email], - input[type=name], - input[type=number], - input[type=password], - input[type=text], - textarea { - font-size: calc(14px + 0 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - .form-control, - input[type=email], - input[type=name], - input[type=number], - input[type=password], - input[type=text], - textarea { - font-size: calc(14px + -1 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - .form-control, - input[type=email], - input[type=name], - input[type=number], - input[type=password], - input[type=text], - textarea { - font-size: 13px - } - -} - -.form-control.placeholder, -input[type=email].placeholder, -input[type=name].placeholder, -input[type=number].placeholder, -input[type=password].placeholder, -input[type=text].placeholder, -textarea.placeholder { - font-family: inherit; - font-size: inherit; - color: #afb5ba; - font-weight: inherit -} - -.form-control:-moz-placeholder, -input[type=email]:-moz-placeholder, -input[type=name]:-moz-placeholder, -input[type=number]:-moz-placeholder, -input[type=password]:-moz-placeholder, -input[type=text]:-moz-placeholder, -textarea:-moz-placeholder { - font-family: inherit; - font-size: inherit; - color: #afb5ba; - font-weight: inherit -} - -.form-control::-moz-placeholder, -input[type=email]::-moz-placeholder, -input[type=name]::-moz-placeholder, -input[type=number]::-moz-placeholder, -input[type=password]::-moz-placeholder, -input[type=text]::-moz-placeholder, -textarea::-moz-placeholder { - font-family: inherit; - font-size: inherit; - color: #afb5ba; - font-weight: inherit -} - -.form-control:-ms-input-placeholder, -input[type=email]:-ms-input-placeholder, -input[type=name]:-ms-input-placeholder, -input[type=number]:-ms-input-placeholder, -input[type=password]:-ms-input-placeholder, -input[type=text]:-ms-input-placeholder, -textarea:-ms-input-placeholder { - font-family: inherit; - font-size: inherit; - color: #afb5ba; - font-weight: inherit -} - -.form-control::-webkit-input-placeholder, -input[type=email]::-webkit-input-placeholder, -input[type=name]::-webkit-input-placeholder, -input[type=number]::-webkit-input-placeholder, -input[type=password]::-webkit-input-placeholder, -input[type=text]::-webkit-input-placeholder, -textarea::-webkit-input-placeholder { - font-family: inherit; - font-size: inherit; - color: #afb5ba; - font-weight: inherit -} - -.grid-title { - font-size: 14px; - font-family: Roboto, sans-serif; - font-weight: 500 -} - -@media (min-width:768px) and (max-width:991px) { - .grid-title { - font-size: calc(14px + 1 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - .grid-title { - font-size: calc(15px + -1 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - .grid-title { - font-size: 14px - } - -} - -.bootstrap-tagsinput .tag { - font-size: 14px; - font-family: Roboto, sans-serif; - font-weight: 500 -} - -@media (min-width:768px) and (max-width:991px) { - .bootstrap-tagsinput .tag { - font-size: calc(14px + 0 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - .bootstrap-tagsinput .tag { - font-size: calc(14px + -1 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - .bootstrap-tagsinput .tag { - font-size: 13px - } - -} - -.font-weight-medium { - font-weight: 500 !important -} - -.font-weight-bold, -.font-weight-bolder, -.font-weight-medium { - letter-spacing: 1px -} - -/*! - * Bootstrap v4.3.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -:root { - --blue: #007bff; - --indigo: #6610f2; - --purple: #6f42c1; - --pink: #e83e8c; - --red: #dc3545; - --orange: #fd7e14; - --yellow: #ffc107; - --green: #28a745; - --teal: #20c997; - --cyan: #17a2b8; - --white: #fff; - --gray: #6c757d; - --gray-dark: #343a40; - --primary: #047006; - --secondary: grey; - --success: #00e093; - --info: #6c61f6; - --warning: #f0825f; - --danger: #ff5f66; - --light: #dfdfdf; - --dark: #74767b; - --white: #fff; - --orange: #ffa600; - --breakpoint-xs: 0; - --breakpoint-sm: 576px; - --breakpoint-md: 768px; - --breakpoint-lg: 992px; - --breakpoint-xl: 1200px; - --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace -} - -*, -::after, -::before { - box-sizing: border-box -} - -html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0) -} - -article, -aside, -figcaption, -figure, -footer, -header, -hgroup, -main, -nav, -section { - display: block -} - -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-size: 1rem; - font-weight: 400; - line-height: 1.7; - color: #212529; - text-align: left; - background-color: #fff -} - -[tabindex="-1"]:focus { - outline: 0 !important -} - -hr { - box-sizing: content-box; - height: 0; - overflow: visible -} - -h1, -h2, -h3, -h4, -h5, -h6 { - margin-top: 0; - margin-bottom: .5rem -} - -p { - margin-top: 0; - margin-bottom: 1rem -} - -abbr[data-original-title], -abbr[title] { - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; - text-decoration-skip-ink: none -} - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit -} - -dl, -ol, -ul { - margin-top: 0; - margin-bottom: 1rem -} - -ol ol, -ol ul, -ul ol, -ul ul { - margin-bottom: 0 -} - -dt { - font-weight: 700 -} - -dd { - margin-bottom: .5rem; - margin-left: 0 -} - -blockquote { - margin: 0 0 1rem -} - -b, -strong { - font-weight: bolder -} - -small { - font-size: 80% -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline -} - -sub { - bottom: -.25em -} - -sup { - top: -.5em -} - -a { - color: #047006; - text-decoration: none; - background-color: transparent -} - -a:hover { - color: #012602; - text-decoration: underline -} - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none -} - -a:not([href]):not([tabindex]):focus, -a:not([href]):not([tabindex]):hover { - color: inherit; - text-decoration: none -} - -a:not([href]):not([tabindex]):focus { - outline: 0 -} - -code, -kbd, -pre, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 1em -} - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto -} - -figure { - margin: 0 0 1rem -} - -img { - vertical-align: middle; - border-style: none -} - -svg { - overflow: hidden; - vertical-align: middle -} - -table { - border-collapse: collapse -} - -caption { - padding-top: 10px 15px; - padding-bottom: 10px 15px; - color: #6c757d; - text-align: left; - caption-side: bottom -} - -th { - text-align: inherit -} - -label { - display: inline-block; - margin-bottom: .5rem -} - -button { - border-radius: 0 -} - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color -} - -button, -input, -optgroup, -select, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit -} - -button, -input { - overflow: visible -} - -button, -select { - text-transform: none -} - -select { - word-wrap: normal -} - -[type=button], -[type=reset], -[type=submit], -button { - -webkit-appearance: button -} - -[type=button]:not(:disabled), -[type=reset]:not(:disabled), -[type=submit]:not(:disabled), -button:not(:disabled) { - cursor: pointer -} - -[type=button]::-moz-focus-inner, -[type=reset]::-moz-focus-inner, -[type=submit]::-moz-focus-inner, -button::-moz-focus-inner { - padding: 0; - border-style: none -} - -input[type=checkbox], -input[type=radio] { - box-sizing: border-box; - padding: 0 -} - -input[type=date], -input[type=datetime-local], -input[type=month], -input[type=time] { - -webkit-appearance: listbox -} - -textarea { - overflow: auto; - resize: vertical -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0 -} - -legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; - color: inherit; - white-space: normal -} - -progress { - vertical-align: baseline -} - -[type=number]::-webkit-inner-spin-button, -[type=number]::-webkit-outer-spin-button { - height: auto -} - -[type=search] { - outline-offset: -2px; - -webkit-appearance: none -} - -[type=search]::-webkit-search-decoration { - -webkit-appearance: none -} - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button -} - -output { - display: inline-block -} - -summary { - display: list-item; - cursor: pointer -} - -template { - display: none -} - -[hidden] { - display: none !important -} - -.h1, -.h2, -.h3, -.h4, -.h5, -.h6, -h1, -h2, -h3, -h4, -h5, -h6 { - margin-bottom: .5rem; - font-weight: 500; - line-height: 1.2 -} - -.h1, -h1 { - font-size: 2.5rem -} - -.h2, -h2 { - font-size: 2rem -} - -.h3, -h3 { - font-size: 1.75rem -} - -.h4, -h4 { - font-size: 1.5rem -} - -.h5, -h5 { - font-size: 1.25rem -} - -.h6, -h6 { - font-size: 1rem -} - -.lead { - font-size: 1.25rem; - font-weight: 300 -} - -.display-1 { - font-size: 6rem; - font-weight: 300; - line-height: 1.2 -} - -.display-2 { - font-size: 5.5rem; - font-weight: 300; - line-height: 1.2 -} - -.display-3 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.2 -} - -.display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.2 -} - -hr { - margin-top: 1rem; - margin-bottom: 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-unstyled { - padding-left: 0; - list-style: none -} - -.list-inline { - padding-left: 0; - list-style: none -} - -.list-inline-item { - display: inline-block -} - -.list-inline-item:not(:last-child) { - margin-right: .5rem -} - -.initialism { - font-size: 90%; - text-transform: uppercase -} - -.blockquote { - margin-bottom: 1rem; - font-size: 1.25rem -} - -.blockquote-footer { - display: block; - font-size: 80%; - color: #6c757d -} - -.blockquote-footer::before { - content: "\2014\00A0" -} - -.img-fluid { - max-width: 100%; - height: auto -} - -.img-thumbnail { - padding: .25rem; - background-color: #fff; - border: 1px solid #dee2e6; - border-radius: .25rem; - max-width: 100%; - height: auto -} - -.figure { - display: inline-block -} - -.figure-img { - margin-bottom: .5rem; - line-height: 1 -} - -.figure-caption { - font-size: 90%; - color: #6c757d -} - -code { - font-size: 90%; - color: #bd4147; - word-break: break-word -} - -a>code { - color: inherit -} - -kbd { - padding: .2rem .4rem; - font-size: 87.5%; - color: #fff; - background-color: #212529; - border-radius: .2rem -} - -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 700 -} - -pre { - display: block; - font-size: 90%; - color: #212529 -} - -pre code { - font-size: inherit; - color: inherit; - word-break: normal -} - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll -} - -.container { - width: 100%; - padding-right: 10px; - padding-left: 10px; - margin-right: auto; - margin-left: auto -} - -@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 - } - -} - -.container-fluid { - width: 100%; - padding-right: 10px; - padding-left: 10px; - margin-right: auto; - margin-left: auto -} - -.row { - display: -webkit-box; - display: flex; - flex-wrap: wrap; - margin-right: -10px; - margin-left: -10px -} - -.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%; - padding-right: 10px; - padding-left: 10px -} - -.col { - flex-basis: 0; - -webkit-box-flex: 1; - flex-grow: 1; - max-width: 100% -} - -.col-auto { - -webkit-box-flex: 0; - flex: 0 0 auto; - width: auto; - max-width: 100% -} - -.col-1 { - -webkit-box-flex: 0; - flex: 0 0 8.33333%; - max-width: 8.33333% -} - -.col-2 { - -webkit-box-flex: 0; - flex: 0 0 16.66667%; - max-width: 16.66667% -} - -.col-3 { - -webkit-box-flex: 0; - flex: 0 0 25%; - max-width: 25% -} - -.col-4 { - -webkit-box-flex: 0; - flex: 0 0 33.33333%; - max-width: 33.33333% -} - -.col-5 { - -webkit-box-flex: 0; - flex: 0 0 41.66667%; - max-width: 41.66667% -} - -.col-6 { - -webkit-box-flex: 0; - flex: 0 0 50%; - max-width: 50% -} - -.col-7 { - -webkit-box-flex: 0; - flex: 0 0 58.33333%; - max-width: 58.33333% -} - -.col-8 { - -webkit-box-flex: 0; - flex: 0 0 66.66667%; - max-width: 66.66667% -} - -.col-9 { - -webkit-box-flex: 0; - flex: 0 0 75%; - max-width: 75% -} - -.col-10 { - -webkit-box-flex: 0; - flex: 0 0 83.33333%; - max-width: 83.33333% -} - -.col-11 { - -webkit-box-flex: 0; - flex: 0 0 91.66667%; - max-width: 91.66667% -} - -.col-12 { - -webkit-box-flex: 0; - flex: 0 0 100%; - max-width: 100% -} - -.order-first { - -webkit-box-ordinal-group: 0; - order: -1 -} - -.order-last { - -webkit-box-ordinal-group: 14; - order: 13 -} - -.order-0 { - -webkit-box-ordinal-group: 1; - order: 0 -} - -.order-1 { - -webkit-box-ordinal-group: 2; - order: 1 -} - -.order-2 { - -webkit-box-ordinal-group: 3; - order: 2 -} - -.order-3 { - -webkit-box-ordinal-group: 4; - order: 3 -} - -.order-4 { - -webkit-box-ordinal-group: 5; - order: 4 -} - -.order-5 { - -webkit-box-ordinal-group: 6; - order: 5 -} - -.order-6 { - -webkit-box-ordinal-group: 7; - order: 6 -} - -.order-7 { - -webkit-box-ordinal-group: 8; - order: 7 -} - -.order-8 { - -webkit-box-ordinal-group: 9; - order: 8 -} - -.order-9 { - -webkit-box-ordinal-group: 10; - order: 9 -} - -.order-10 { - -webkit-box-ordinal-group: 11; - order: 10 -} - -.order-11 { - -webkit-box-ordinal-group: 12; - order: 11 -} - -.order-12 { - -webkit-box-ordinal-group: 13; - order: 12 -} - -.offset-1 { - margin-left: 8.33333% -} - -.offset-2 { - margin-left: 16.66667% -} - -.offset-3 { - margin-left: 25% -} - -.offset-4 { - margin-left: 33.33333% -} - -.offset-5 { - margin-left: 41.66667% -} - -.offset-6 { - margin-left: 50% -} - -.offset-7 { - margin-left: 58.33333% -} - -.offset-8 { - margin-left: 66.66667% -} - -.offset-9 { - margin-left: 75% -} - -.offset-10 { - margin-left: 83.33333% -} - -.offset-11 { - margin-left: 91.66667% -} - -@media (min-width:576px) { - .col-sm { - flex-basis: 0; - -webkit-box-flex: 1; - flex-grow: 1; - max-width: 100% - } - - .col-sm-auto { - -webkit-box-flex: 0; - flex: 0 0 auto; - width: auto; - max-width: 100% - } - - .col-sm-1 { - -webkit-box-flex: 0; - flex: 0 0 8.33333%; - max-width: 8.33333% - } - - .col-sm-2 { - -webkit-box-flex: 0; - flex: 0 0 16.66667%; - max-width: 16.66667% - } - - .col-sm-3 { - -webkit-box-flex: 0; - flex: 0 0 25%; - max-width: 25% - } - - .col-sm-4 { - -webkit-box-flex: 0; - flex: 0 0 33.33333%; - max-width: 33.33333% - } - - .col-sm-5 { - -webkit-box-flex: 0; - flex: 0 0 41.66667%; - max-width: 41.66667% - } - - .col-sm-6 { - -webkit-box-flex: 0; - flex: 0 0 50%; - max-width: 50% - } - - .col-sm-7 { - -webkit-box-flex: 0; - flex: 0 0 58.33333%; - max-width: 58.33333% - } - - .col-sm-8 { - -webkit-box-flex: 0; - flex: 0 0 66.66667%; - max-width: 66.66667% - } - - .col-sm-9 { - -webkit-box-flex: 0; - flex: 0 0 75%; - max-width: 75% - } - - .col-sm-10 { - -webkit-box-flex: 0; - flex: 0 0 83.33333%; - max-width: 83.33333% - } - - .col-sm-11 { - -webkit-box-flex: 0; - flex: 0 0 91.66667%; - max-width: 91.66667% - } - - .col-sm-12 { - -webkit-box-flex: 0; - flex: 0 0 100%; - max-width: 100% - } - - .order-sm-first { - -webkit-box-ordinal-group: 0; - order: -1 - } - - .order-sm-last { - -webkit-box-ordinal-group: 14; - order: 13 - } - - .order-sm-0 { - -webkit-box-ordinal-group: 1; - order: 0 - } - - .order-sm-1 { - -webkit-box-ordinal-group: 2; - order: 1 - } - - .order-sm-2 { - -webkit-box-ordinal-group: 3; - order: 2 - } - - .order-sm-3 { - -webkit-box-ordinal-group: 4; - order: 3 - } - - .order-sm-4 { - -webkit-box-ordinal-group: 5; - order: 4 - } - - .order-sm-5 { - -webkit-box-ordinal-group: 6; - order: 5 - } - - .order-sm-6 { - -webkit-box-ordinal-group: 7; - order: 6 - } - - .order-sm-7 { - -webkit-box-ordinal-group: 8; - order: 7 - } - - .order-sm-8 { - -webkit-box-ordinal-group: 9; - order: 8 - } - - .order-sm-9 { - -webkit-box-ordinal-group: 10; - order: 9 - } - - .order-sm-10 { - -webkit-box-ordinal-group: 11; - order: 10 - } - - .order-sm-11 { - -webkit-box-ordinal-group: 12; - order: 11 - } - - .order-sm-12 { - -webkit-box-ordinal-group: 13; - order: 12 - } - - .offset-sm-0 { - margin-left: 0 - } - - .offset-sm-1 { - margin-left: 8.33333% - } - - .offset-sm-2 { - margin-left: 16.66667% - } - - .offset-sm-3 { - margin-left: 25% - } - - .offset-sm-4 { - margin-left: 33.33333% - } - - .offset-sm-5 { - margin-left: 41.66667% - } - - .offset-sm-6 { - margin-left: 50% - } - - .offset-sm-7 { - margin-left: 58.33333% - } - - .offset-sm-8 { - margin-left: 66.66667% - } - - .offset-sm-9 { - margin-left: 75% - } - - .offset-sm-10 { - margin-left: 83.33333% - } - - .offset-sm-11 { - margin-left: 91.66667% - } - -} - -@media (min-width:768px) { - .col-md { - flex-basis: 0; - -webkit-box-flex: 1; - flex-grow: 1; - max-width: 100% - } - - .col-md-auto { - -webkit-box-flex: 0; - flex: 0 0 auto; - width: auto; - max-width: 100% - } - - .col-md-1 { - -webkit-box-flex: 0; - flex: 0 0 8.33333%; - max-width: 8.33333% - } - - .col-md-2 { - -webkit-box-flex: 0; - flex: 0 0 16.66667%; - max-width: 16.66667% - } - - .col-md-3 { - -webkit-box-flex: 0; - flex: 0 0 25%; - max-width: 25% - } - - .col-md-4 { - -webkit-box-flex: 0; - flex: 0 0 33.33333%; - max-width: 33.33333% - } - - .col-md-5 { - -webkit-box-flex: 0; - flex: 0 0 41.66667%; - max-width: 41.66667% - } - - .col-md-6 { - -webkit-box-flex: 0; - flex: 0 0 50%; - max-width: 50% - } - - .col-md-7 { - -webkit-box-flex: 0; - flex: 0 0 58.33333%; - max-width: 58.33333% - } - - .col-md-8 { - -webkit-box-flex: 0; - flex: 0 0 66.66667%; - max-width: 66.66667% - } - - .col-md-9 { - -webkit-box-flex: 0; - flex: 0 0 75%; - max-width: 75% - } - - .col-md-10 { - -webkit-box-flex: 0; - flex: 0 0 83.33333%; - max-width: 83.33333% - } - - .col-md-11 { - -webkit-box-flex: 0; - flex: 0 0 91.66667%; - max-width: 91.66667% - } - - .col-md-12 { - -webkit-box-flex: 0; - flex: 0 0 100%; - max-width: 100% - } - - .order-md-first { - -webkit-box-ordinal-group: 0; - order: -1 - } - - .order-md-last { - -webkit-box-ordinal-group: 14; - order: 13 - } - - .order-md-0 { - -webkit-box-ordinal-group: 1; - order: 0 - } - - .order-md-1 { - -webkit-box-ordinal-group: 2; - order: 1 - } - - .order-md-2 { - -webkit-box-ordinal-group: 3; - order: 2 - } - - .order-md-3 { - -webkit-box-ordinal-group: 4; - order: 3 - } - - .order-md-4 { - -webkit-box-ordinal-group: 5; - order: 4 - } - - .order-md-5 { - -webkit-box-ordinal-group: 6; - order: 5 - } - - .order-md-6 { - -webkit-box-ordinal-group: 7; - order: 6 - } - - .order-md-7 { - -webkit-box-ordinal-group: 8; - order: 7 - } - - .order-md-8 { - -webkit-box-ordinal-group: 9; - order: 8 - } - - .order-md-9 { - -webkit-box-ordinal-group: 10; - order: 9 - } - - .order-md-10 { - -webkit-box-ordinal-group: 11; - order: 10 - } - - .order-md-11 { - -webkit-box-ordinal-group: 12; - order: 11 - } - - .order-md-12 { - -webkit-box-ordinal-group: 13; - order: 12 - } - - .offset-md-0 { - margin-left: 0 - } - - .offset-md-1 { - margin-left: 8.33333% - } - - .offset-md-2 { - margin-left: 16.66667% - } - - .offset-md-3 { - margin-left: 25% - } - - .offset-md-4 { - margin-left: 33.33333% - } - - .offset-md-5 { - margin-left: 41.66667% - } - - .offset-md-6 { - margin-left: 50% - } - - .offset-md-7 { - margin-left: 58.33333% - } - - .offset-md-8 { - margin-left: 66.66667% - } - - .offset-md-9 { - margin-left: 75% - } - - .offset-md-10 { - margin-left: 83.33333% - } - - .offset-md-11 { - margin-left: 91.66667% - } - -} - -@media (min-width:992px) { - .col-lg { - flex-basis: 0; - -webkit-box-flex: 1; - flex-grow: 1; - max-width: 100% - } - - .col-lg-auto { - -webkit-box-flex: 0; - flex: 0 0 auto; - width: auto; - max-width: 100% - } - - .col-lg-1 { - -webkit-box-flex: 0; - flex: 0 0 8.33333%; - max-width: 8.33333% - } - - .col-lg-2 { - -webkit-box-flex: 0; - flex: 0 0 16.66667%; - max-width: 16.66667% - } - - .col-lg-3 { - -webkit-box-flex: 0; - flex: 0 0 25%; - max-width: 25% - } - - .col-lg-4 { - -webkit-box-flex: 0; - flex: 0 0 33.33333%; - max-width: 33.33333% - } - - .col-lg-5 { - -webkit-box-flex: 0; - flex: 0 0 41.66667%; - max-width: 41.66667% - } - - .col-lg-6 { - -webkit-box-flex: 0; - flex: 0 0 50%; - max-width: 50% - } - - .col-lg-7 { - -webkit-box-flex: 0; - flex: 0 0 58.33333%; - max-width: 58.33333% - } - - .col-lg-8 { - -webkit-box-flex: 0; - flex: 0 0 66.66667%; - max-width: 66.66667% - } - - .col-lg-9 { - -webkit-box-flex: 0; - flex: 0 0 75%; - max-width: 75% - } - - .col-lg-10 { - -webkit-box-flex: 0; - flex: 0 0 83.33333%; - max-width: 83.33333% - } - - .col-lg-11 { - -webkit-box-flex: 0; - flex: 0 0 91.66667%; - max-width: 91.66667% - } - - .col-lg-12 { - -webkit-box-flex: 0; - flex: 0 0 100%; - max-width: 100% - } - - .order-lg-first { - -webkit-box-ordinal-group: 0; - order: -1 - } - - .order-lg-last { - -webkit-box-ordinal-group: 14; - order: 13 - } - - .order-lg-0 { - -webkit-box-ordinal-group: 1; - order: 0 - } - - .order-lg-1 { - -webkit-box-ordinal-group: 2; - order: 1 - } - - .order-lg-2 { - -webkit-box-ordinal-group: 3; - order: 2 - } - - .order-lg-3 { - -webkit-box-ordinal-group: 4; - order: 3 - } - - .order-lg-4 { - -webkit-box-ordinal-group: 5; - order: 4 - } - - .order-lg-5 { - -webkit-box-ordinal-group: 6; - order: 5 - } - - .order-lg-6 { - -webkit-box-ordinal-group: 7; - order: 6 - } - - .order-lg-7 { - -webkit-box-ordinal-group: 8; - order: 7 - } - - .order-lg-8 { - -webkit-box-ordinal-group: 9; - order: 8 - } - - .order-lg-9 { - -webkit-box-ordinal-group: 10; - order: 9 - } - - .order-lg-10 { - -webkit-box-ordinal-group: 11; - order: 10 - } - - .order-lg-11 { - -webkit-box-ordinal-group: 12; - order: 11 - } - - .order-lg-12 { - -webkit-box-ordinal-group: 13; - order: 12 - } - - .offset-lg-0 { - margin-left: 0 - } - - .offset-lg-1 { - margin-left: 8.33333% - } - - .offset-lg-2 { - margin-left: 16.66667% - } - - .offset-lg-3 { - margin-left: 25% - } - - .offset-lg-4 { - margin-left: 33.33333% - } - - .offset-lg-5 { - margin-left: 41.66667% - } - - .offset-lg-6 { - margin-left: 50% - } - - .offset-lg-7 { - margin-left: 58.33333% - } - - .offset-lg-8 { - margin-left: 66.66667% - } - - .offset-lg-9 { - margin-left: 75% - } - - .offset-lg-10 { - margin-left: 83.33333% - } - - .offset-lg-11 { - margin-left: 91.66667% - } - -} - -@media (min-width:1200px) { - .col-xl { - flex-basis: 0; - -webkit-box-flex: 1; - flex-grow: 1; - max-width: 100% - } - - .col-xl-auto { - -webkit-box-flex: 0; - flex: 0 0 auto; - width: auto; - max-width: 100% - } - - .col-xl-1 { - -webkit-box-flex: 0; - flex: 0 0 8.33333%; - max-width: 8.33333% - } - - .col-xl-2 { - -webkit-box-flex: 0; - flex: 0 0 16.66667%; - max-width: 16.66667% - } - - .col-xl-3 { - -webkit-box-flex: 0; - flex: 0 0 25%; - max-width: 25% - } - - .col-xl-4 { - -webkit-box-flex: 0; - flex: 0 0 33.33333%; - max-width: 33.33333% - } - - .col-xl-5 { - -webkit-box-flex: 0; - flex: 0 0 41.66667%; - max-width: 41.66667% - } - - .col-xl-6 { - -webkit-box-flex: 0; - flex: 0 0 50%; - max-width: 50% - } - - .col-xl-7 { - -webkit-box-flex: 0; - flex: 0 0 58.33333%; - max-width: 58.33333% - } - - .col-xl-8 { - -webkit-box-flex: 0; - flex: 0 0 66.66667%; - max-width: 66.66667% - } - - .col-xl-9 { - -webkit-box-flex: 0; - flex: 0 0 75%; - max-width: 75% - } - - .col-xl-10 { - -webkit-box-flex: 0; - flex: 0 0 83.33333%; - max-width: 83.33333% - } - - .col-xl-11 { - -webkit-box-flex: 0; - flex: 0 0 91.66667%; - max-width: 91.66667% - } - - .col-xl-12 { - -webkit-box-flex: 0; - flex: 0 0 100%; - max-width: 100% - } - - .order-xl-first { - -webkit-box-ordinal-group: 0; - order: -1 - } - - .order-xl-last { - -webkit-box-ordinal-group: 14; - order: 13 - } - - .order-xl-0 { - -webkit-box-ordinal-group: 1; - order: 0 - } - - .order-xl-1 { - -webkit-box-ordinal-group: 2; - order: 1 - } - - .order-xl-2 { - -webkit-box-ordinal-group: 3; - order: 2 - } - - .order-xl-3 { - -webkit-box-ordinal-group: 4; - order: 3 - } - - .order-xl-4 { - -webkit-box-ordinal-group: 5; - order: 4 - } - - .order-xl-5 { - -webkit-box-ordinal-group: 6; - order: 5 - } - - .order-xl-6 { - -webkit-box-ordinal-group: 7; - order: 6 - } - - .order-xl-7 { - -webkit-box-ordinal-group: 8; - order: 7 - } - - .order-xl-8 { - -webkit-box-ordinal-group: 9; - order: 8 - } - - .order-xl-9 { - -webkit-box-ordinal-group: 10; - order: 9 - } - - .order-xl-10 { - -webkit-box-ordinal-group: 11; - order: 10 - } - - .order-xl-11 { - -webkit-box-ordinal-group: 12; - order: 11 - } - - .order-xl-12 { - -webkit-box-ordinal-group: 13; - order: 12 - } - - .offset-xl-0 { - margin-left: 0 - } - - .offset-xl-1 { - margin-left: 8.33333% - } - - .offset-xl-2 { - margin-left: 16.66667% - } - - .offset-xl-3 { - margin-left: 25% - } - - .offset-xl-4 { - margin-left: 33.33333% - } - - .offset-xl-5 { - margin-left: 41.66667% - } - - .offset-xl-6 { - margin-left: 50% - } - - .offset-xl-7 { - margin-left: 58.33333% - } - - .offset-xl-8 { - margin-left: 66.66667% - } - - .offset-xl-9 { - margin-left: 75% - } - - .offset-xl-10 { - margin-left: 83.33333% - } - - .offset-xl-11 { - margin-left: 91.66667% - } - -} - -.table { - width: 100%; - margin-bottom: 1rem; - color: #212529 -} - -.table td, -.table th { - padding: 10px 15px; - vertical-align: top; - border-top: 1px solid #f2f4f9 -} - -.table thead th { - vertical-align: bottom; - border-bottom: 2px solid #f2f4f9 -} - -.table tbody+tbody { - border-top: 2px solid #f2f4f9 -} - -.table-sm td, -.table-sm th { - padding: 10px 15px -} - -.table-bordered { - border: 1px solid #f2f4f9 -} - -.table-bordered td, -.table-bordered th { - border: 1px solid #f2f4f9 -} - -.table-bordered thead td, -.table-bordered thead th { - border-bottom-width: 2px -} - -.table-borderless tbody+tbody, -.table-borderless td, -.table-borderless th, -.table-borderless thead th { - border: 0 -} - -.table-striped tbody tr:nth-of-type(odd) { - background-color: #f6f7f9 -} - -.table-hover tbody tr:hover { - color: #212529; - background-color: #f6f7f9 -} - -.table-primary, -.table-primary>td, -.table-primary>th { - background-color: #b9d7b9 -} - -.table-primary tbody+tbody, -.table-primary td, -.table-primary th, -.table-primary thead th { - border-color: #7cb57e -} - -.table-hover .table-primary:hover { - background-color: #a9cea9 -} - -.table-hover .table-primary:hover>td, -.table-hover .table-primary:hover>th { - background-color: #a9cea9 -} - -.table-secondary, -.table-secondary>td, -.table-secondary>th { - background-color: #dbdbdb -} - -.table-secondary tbody+tbody, -.table-secondary td, -.table-secondary th, -.table-secondary thead th { - border-color: #bdbdbd -} - -.table-hover .table-secondary:hover { - background-color: #cecece -} - -.table-hover .table-secondary:hover>td, -.table-hover .table-secondary:hover>th { - background-color: #cecece -} - -.table-success, -.table-success>td, -.table-success>th { - background-color: #b8f6e1 -} - -.table-success tbody+tbody, -.table-success td, -.table-success th, -.table-success thead th { - border-color: #7aefc7 -} - -.table-hover .table-success:hover { - background-color: #a1f3d7 -} - -.table-hover .table-success:hover>td, -.table-hover .table-success:hover>th { - background-color: #a1f3d7 -} - -.table-info, -.table-info>td, -.table-info>th { - background-color: #d6d3fc -} - -.table-info tbody+tbody, -.table-info td, -.table-info th, -.table-info thead th { - border-color: #b3adfa -} - -.table-hover .table-info:hover { - background-color: #c0bbfa -} - -.table-hover .table-info:hover>td, -.table-hover .table-info:hover>th { - background-color: #c0bbfa -} - -.table-warning, -.table-warning>td, -.table-warning>th { - background-color: #fbdcd2 -} - -.table-warning tbody+tbody, -.table-warning td, -.table-warning th, -.table-warning thead th { - border-color: #f7beac -} - -.table-hover .table-warning:hover { - background-color: #f9cabb -} - -.table-hover .table-warning:hover>td, -.table-hover .table-warning:hover>th { - background-color: #f9cabb -} - -.table-danger, -.table-danger>td, -.table-danger>th { - background-color: #ffd2d4 -} - -.table-danger tbody+tbody, -.table-danger td, -.table-danger th, -.table-danger thead th { - border-color: #ffacaf -} - -.table-hover .table-danger:hover { - background-color: #ffb9bc -} - -.table-hover .table-danger:hover>td, -.table-hover .table-danger:hover>th { - background-color: #ffb9bc -} - -.table-light, -.table-light>td, -.table-light>th { - background-color: #f6f6f6 -} - -.table-light tbody+tbody, -.table-light td, -.table-light th, -.table-light thead th { - border-color: #eee -} - -.table-hover .table-light:hover { - background-color: #e9e9e9 -} - -.table-hover .table-light:hover>td, -.table-hover .table-light:hover>th { - background-color: #e9e9e9 -} - -.table-dark, -.table-dark>td, -.table-dark>th { - background-color: #d8d9da -} - -.table-dark tbody+tbody, -.table-dark td, -.table-dark th, -.table-dark thead th { - border-color: #b7b8ba -} - -.table-hover .table-dark:hover { - background-color: #cbccce -} - -.table-hover .table-dark:hover>td, -.table-hover .table-dark:hover>th { - background-color: #cbccce -} - -.table-white, -.table-white>td, -.table-white>th { - background-color: #fff -} - -.table-white tbody+tbody, -.table-white td, -.table-white th, -.table-white thead th { - border-color: #fff -} - -.table-hover .table-white:hover { - background-color: #f2f2f2 -} - -.table-hover .table-white:hover>td, -.table-hover .table-white:hover>th { - background-color: #f2f2f2 -} - -.table-orange, -.table-orange>td, -.table-orange>th { - background-color: #ffe6b8 -} - -.table-orange tbody+tbody, -.table-orange td, -.table-orange th, -.table-orange thead th { - border-color: #ffd17a -} - -.table-hover .table-orange:hover { - background-color: #ffdd9f -} - -.table-hover .table-orange:hover>td, -.table-hover .table-orange:hover>th { - background-color: #ffdd9f -} - -.table-active, -.table-active>td, -.table-active>th { - background-color: rgba(0, 0, 0, .075) -} - -.table-hover .table-active:hover { - background-color: rgba(0, 0, 0, .075) -} - -.table-hover .table-active:hover>td, -.table-hover .table-active:hover>th { - background-color: rgba(0, 0, 0, .075) -} - -.table .thead-dark th { - color: #fff; - background-color: #343a40; - border-color: #454d55 -} - -.table .thead-light th { - color: #495057; - background-color: #e1e4e6; - border-color: #f2f4f9 -} - -.table-dark { - color: #fff; - background-color: #343a40 -} - -.table-dark td, -.table-dark th, -.table-dark thead th { - border-color: #454d55 -} - -.table-dark.table-bordered { - border: 0 -} - -.table-dark.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(255, 255, 255, .05) -} - -.table-dark.table-hover tbody tr:hover { - color: #fff; - background-color: rgba(255, 255, 255, .075) -} - -@media (max-width:575.98px) { - .table-responsive-sm { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch - } - - .table-responsive-sm>.table-bordered { - border: 0 - } - -} - -@media (max-width:767.98px) { - .table-responsive-md { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch - } - - .table-responsive-md>.table-bordered { - border: 0 - } - -} - -@media (max-width:991.98px) { - .table-responsive-lg { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch - } - - .table-responsive-lg>.table-bordered { - border: 0 - } - -} - -@media (max-width:1199.98px) { - .table-responsive-xl { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch - } - - .table-responsive-xl>.table-bordered { - border: 0 - } - -} - -.table-responsive { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch -} - -.table-responsive>.table-bordered { - border: 0 -} - -.form-control { - display: block; - width: 100%; - height: calc(1.5em + .75rem + 2px); - padding: .375rem .75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #6c757d; - background-color: #f6f7f9; - background-clip: padding-box; - border: 1px solid #f0f2f5; - border-radius: .25rem; - -webkit-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out -} - -@media (prefers-reduced-motion:reduce) { - .form-control { - -webkit-transition: none; - transition: none - } - -} - -.form-control::-ms-expand { - background-color: transparent; - border: 0 -} - -.form-control:focus { - color: #495057; - background-color: #f6f7f9; - border-color: #d7dee5; - outline: 0; - box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.form-control::-webkit-input-placeholder { - color: #6c757d; - opacity: 1 -} - -.form-control::-moz-placeholder { - color: #6c757d; - opacity: 1 -} - -.form-control::-ms-input-placeholder { - color: #6c757d; - opacity: 1 -} - -.form-control::placeholder { - color: #6c757d; - opacity: 1 -} - -.form-control:disabled, -.form-control[readonly] { - background-color: #f8f9fa; - opacity: 1 -} - -select.form-control:focus::-ms-value { - color: #6c757d; - background-color: #f6f7f9 -} - -.form-control-file, -.form-control-range { - display: block; - width: 100% -} - -.col-form-label { - padding-top: calc(.375rem + 1px); - padding-bottom: calc(.375rem + 1px); - margin-bottom: 0; - font-size: inherit; - line-height: 1.5 -} - -.col-form-label-lg { - padding-top: calc(.5rem + 1px); - padding-bottom: calc(.5rem + 1px); - font-size: 1.25rem; - line-height: 1.5 -} - -.col-form-label-sm { - padding-top: calc(.25rem + 1px); - padding-bottom: calc(.25rem + 1px); - font-size: .875rem; - line-height: 1.5 -} - -.form-control-plaintext { - display: block; - width: 100%; - padding-top: .375rem; - padding-bottom: .375rem; - margin-bottom: 0; - line-height: 1.5; - color: #212529; - background-color: transparent; - border: solid transparent; - border-width: 1px 0 -} - -.form-control-plaintext.form-control-lg, -.form-control-plaintext.form-control-sm { - padding-right: 0; - padding-left: 0 -} - -.form-control-sm { - height: calc(1.5em + .5rem + 2px); - padding: .25rem .5rem; - font-size: .875rem; - line-height: 1.5; - border-radius: .2rem -} - -.form-control-lg { - height: calc(1.5em + 1rem + 2px); - padding: .5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: .3rem -} - -select.form-control[multiple], -select.form-control[size] { - height: auto -} - -textarea.form-control { - height: auto -} - -.form-group { - margin-bottom: 1rem -} - -.form-text { - display: block; - margin-top: .25rem -} - -.form-row { - display: -webkit-box; - display: flex; - flex-wrap: wrap; - margin-right: -5px; - margin-left: -5px -} - -.form-row>.col, -.form-row>[class*=col-] { - padding-right: 5px; - padding-left: 5px -} - -.form-check { - position: relative; - display: block; - padding-left: 1.25rem -} - -.form-check-input { - position: absolute; - margin-top: .3rem; - margin-left: -1.25rem -} - -.form-check-input:disabled~.form-check-label { - color: #adb5bd -} - -.form-check-label { - margin-bottom: 0 -} - -.form-check-inline { - display: -webkit-inline-box; - display: inline-flex; - -webkit-box-align: center; - align-items: center; - padding-left: 0; - margin-right: .75rem -} - -.form-check-inline .form-check-input { - position: static; - margin-top: 0; - margin-right: .3125rem; - margin-left: 0 -} - -.valid-feedback { - display: none; - width: 100%; - margin-top: .25rem; - font-size: 80%; - color: #28a745 -} - -.valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: .25rem .5rem; - margin-top: .1rem; - font-size: .875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(40, 167, 69, .9); - border-radius: .25rem -} - -.form-control.is-valid, -.was-validated .form-control:valid { - border-color: #28a745; - padding-right: calc(1.5em + .75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath fill=!string!d=!string!/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: center right calc(.375em + .1875rem); - background-size: calc(.75em + .375rem) calc(.75em + .375rem) -} - -.form-control.is-valid:focus, -.was-validated .form-control:valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25) -} - -.form-control.is-valid~.valid-feedback, -.form-control.is-valid~.valid-tooltip, -.was-validated .form-control:valid~.valid-feedback, -.was-validated .form-control:valid~.valid-tooltip { - display: block -} - -.was-validated textarea.form-control:valid, -textarea.form-control.is-valid { - padding-right: calc(1.5em + .75rem); - background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem) -} - -.custom-select.is-valid, -.was-validated .custom-select:valid { - border-color: #28a745; - padding-right: calc((1em + .75rem) * 3 / 4 + 1.75rem); - background: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath fill=!string!d=!string!/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath fill=!string!d=!string!/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) -} - -.custom-select.is-valid:focus, -.was-validated .custom-select:valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25) -} - -.custom-select.is-valid~.valid-feedback, -.custom-select.is-valid~.valid-tooltip, -.was-validated .custom-select:valid~.valid-feedback, -.was-validated .custom-select:valid~.valid-tooltip { - display: block -} - -.form-control-file.is-valid~.valid-feedback, -.form-control-file.is-valid~.valid-tooltip, -.was-validated .form-control-file:valid~.valid-feedback, -.was-validated .form-control-file:valid~.valid-tooltip { - display: block -} - -.form-check-input.is-valid~.form-check-label, -.was-validated .form-check-input:valid~.form-check-label { - color: #28a745 -} - -.form-check-input.is-valid~.valid-feedback, -.form-check-input.is-valid~.valid-tooltip, -.was-validated .form-check-input:valid~.valid-feedback, -.was-validated .form-check-input:valid~.valid-tooltip { - display: block -} - -.custom-control-input.is-valid~.custom-control-label, -.was-validated .custom-control-input:valid~.custom-control-label { - color: #28a745 -} - -.custom-control-input.is-valid~.custom-control-label::before, -.was-validated .custom-control-input:valid~.custom-control-label::before { - border-color: #28a745 -} - -.custom-control-input.is-valid~.valid-feedback, -.custom-control-input.is-valid~.valid-tooltip, -.was-validated .custom-control-input:valid~.valid-feedback, -.was-validated .custom-control-input:valid~.valid-tooltip { - display: block -} - -.custom-control-input.is-valid:checked~.custom-control-label::before, -.was-validated .custom-control-input:valid:checked~.custom-control-label::before { - border-color: #34ce57; - background-color: #34ce57 -} - -.custom-control-input.is-valid:focus~.custom-control-label::before, -.was-validated .custom-control-input:valid:focus~.custom-control-label::before { - box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25) -} - -.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before, -.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before { - border-color: #28a745 -} - -.custom-file-input.is-valid~.custom-file-label, -.was-validated .custom-file-input:valid~.custom-file-label { - border-color: #28a745 -} - -.custom-file-input.is-valid~.valid-feedback, -.custom-file-input.is-valid~.valid-tooltip, -.was-validated .custom-file-input:valid~.valid-feedback, -.was-validated .custom-file-input:valid~.valid-tooltip { - display: block -} - -.custom-file-input.is-valid:focus~.custom-file-label, -.was-validated .custom-file-input:valid:focus~.custom-file-label { - border-color: #28a745; - box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25) -} - -.invalid-feedback { - display: none; - width: 100%; - margin-top: .25rem; - font-size: 80%; - color: #dc3545 -} - -.invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: .25rem .5rem; - margin-top: .1rem; - font-size: .875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(220, 53, 69, .9); - border-radius: .25rem -} - -.form-control.is-invalid, -.was-validated .form-control:invalid { - border-color: #dc3545; - padding-right: calc(1.5em + .75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!fill=!string!viewBox=!string!%3e%3cpath stroke=!string!d=!string!/%3e%3ccircle r=!string!/%3e%3ccircle cx=!string!r=!string!/%3e%3ccircle cy=!string!r=!string!/%3e%3ccircle cx=!string!cy=!string!r=!string!/%3e%3c/svg%3E"); - background-repeat: no-repeat; - background-position: center right calc(.375em + .1875rem); - background-size: calc(.75em + .375rem) calc(.75em + .375rem) -} - -.form-control.is-invalid:focus, -.was-validated .form-control:invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25) -} - -.form-control.is-invalid~.invalid-feedback, -.form-control.is-invalid~.invalid-tooltip, -.was-validated .form-control:invalid~.invalid-feedback, -.was-validated .form-control:invalid~.invalid-tooltip { - display: block -} - -.was-validated textarea.form-control:invalid, -textarea.form-control.is-invalid { - padding-right: calc(1.5em + .75rem); - background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem) -} - -.custom-select.is-invalid, -.was-validated .custom-select:invalid { - border-color: #dc3545; - padding-right: calc((1em + .75rem) * 3 / 4 + 1.75rem); - background: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath fill=!string!d=!string!/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns=!string!fill=!string!viewBox=!string!%3e%3cpath stroke=!string!d=!string!/%3e%3ccircle r=!string!/%3e%3ccircle cx=!string!r=!string!/%3e%3ccircle cy=!string!r=!string!/%3e%3ccircle cx=!string!cy=!string!r=!string!/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) -} - -.custom-select.is-invalid:focus, -.was-validated .custom-select:invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25) -} - -.custom-select.is-invalid~.invalid-feedback, -.custom-select.is-invalid~.invalid-tooltip, -.was-validated .custom-select:invalid~.invalid-feedback, -.was-validated .custom-select:invalid~.invalid-tooltip { - display: block -} - -.form-control-file.is-invalid~.invalid-feedback, -.form-control-file.is-invalid~.invalid-tooltip, -.was-validated .form-control-file:invalid~.invalid-feedback, -.was-validated .form-control-file:invalid~.invalid-tooltip { - display: block -} - -.form-check-input.is-invalid~.form-check-label, -.was-validated .form-check-input:invalid~.form-check-label { - color: #dc3545 -} - -.form-check-input.is-invalid~.invalid-feedback, -.form-check-input.is-invalid~.invalid-tooltip, -.was-validated .form-check-input:invalid~.invalid-feedback, -.was-validated .form-check-input:invalid~.invalid-tooltip { - display: block -} - -.custom-control-input.is-invalid~.custom-control-label, -.was-validated .custom-control-input:invalid~.custom-control-label { - color: #dc3545 -} - -.custom-control-input.is-invalid~.custom-control-label::before, -.was-validated .custom-control-input:invalid~.custom-control-label::before { - border-color: #dc3545 -} - -.custom-control-input.is-invalid~.invalid-feedback, -.custom-control-input.is-invalid~.invalid-tooltip, -.was-validated .custom-control-input:invalid~.invalid-feedback, -.was-validated .custom-control-input:invalid~.invalid-tooltip { - display: block -} - -.custom-control-input.is-invalid:checked~.custom-control-label::before, -.was-validated .custom-control-input:invalid:checked~.custom-control-label::before { - border-color: #e4606d; - background-color: #e4606d -} - -.custom-control-input.is-invalid:focus~.custom-control-label::before, -.was-validated .custom-control-input:invalid:focus~.custom-control-label::before { - box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25) -} - -.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before, -.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before { - border-color: #dc3545 -} - -.custom-file-input.is-invalid~.custom-file-label, -.was-validated .custom-file-input:invalid~.custom-file-label { - border-color: #dc3545 -} - -.custom-file-input.is-invalid~.invalid-feedback, -.custom-file-input.is-invalid~.invalid-tooltip, -.was-validated .custom-file-input:invalid~.invalid-feedback, -.was-validated .custom-file-input:invalid~.invalid-tooltip { - display: block -} - -.custom-file-input.is-invalid:focus~.custom-file-label, -.was-validated .custom-file-input:invalid:focus~.custom-file-label { - border-color: #dc3545; - box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25) -} - -.form-inline { - display: -webkit-box; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row wrap; - -webkit-box-align: center; - align-items: center -} - -.form-inline .form-check { - width: 100% -} - -@media (min-width:576px) { - .form-inline label { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center; - margin-bottom: 0 - } - - .form-inline .form-group { - display: -webkit-box; - display: flex; - -webkit-box-flex: 0; - flex: 0 0 auto; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row wrap; - -webkit-box-align: center; - align-items: center; - margin-bottom: 0 - } - - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle - } - - .form-inline .form-control-plaintext { - display: inline-block - } - - .form-inline .custom-select, - .form-inline .input-group { - width: auto - } - - .form-inline .form-check { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center; - width: auto; - padding-left: 0 - } - - .form-inline .form-check-input { - position: relative; - flex-shrink: 0; - margin-top: 0; - margin-right: .25rem; - margin-left: 0 - } - - .form-inline .custom-control { - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center - } - - .form-inline .custom-control-label { - margin-bottom: 0 - } - -} - -.btn { - display: inline-block; - font-weight: 400; - color: #212529; - text-align: center; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: transparent; - border: 1px solid transparent; - padding: .375rem .75rem; - font-size: 1rem; - line-height: 1.5; - border-radius: .25rem; - -webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out -} - -@media (prefers-reduced-motion:reduce) { - .btn { - -webkit-transition: none; - transition: none - } - -} - -.btn:hover { - color: #212529; - text-decoration: none -} - -.btn.focus, -.btn:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.btn.disabled, -.btn:disabled { - opacity: .65 -} - -a.btn.disabled, -fieldset:disabled a.btn { - pointer-events: none -} - -.btn-primary { - color: #fff; - background-color: #047006; - border-color: #047006 -} - -.btn-primary:hover { - color: #fff; - background-color: #034b04; - border-color: #023f03 -} - -.btn-primary.focus, -.btn-primary:focus { - box-shadow: 0 0 0 .2rem rgba(42, 133, 43, .5) -} - -.btn-primary.disabled, -.btn-primary:disabled { - color: #fff; - background-color: #047006; - border-color: #047006 -} - -.btn-primary:not(:disabled):not(.disabled).active, -.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle { - color: #fff; - background-color: #023f03; - border-color: #023203 -} - -.btn-primary:not(:disabled):not(.disabled).active:focus, -.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(42, 133, 43, .5) -} - -.btn-secondary { - color: #fff; - background-color: grey; - border-color: grey -} - -.btn-secondary:hover { - color: #fff; - background-color: #6d6d6d; - border-color: #676767 -} - -.btn-secondary.focus, -.btn-secondary:focus { - box-shadow: 0 0 0 .2rem rgba(147, 147, 147, .5) -} - -.btn-secondary.disabled, -.btn-secondary:disabled { - color: #fff; - background-color: grey; - border-color: grey -} - -.btn-secondary:not(:disabled):not(.disabled).active, -.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle { - color: #fff; - background-color: #676767; - border-color: #606060 -} - -.btn-secondary:not(:disabled):not(.disabled).active:focus, -.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(147, 147, 147, .5) -} - -.btn-success { - color: #fff; - background-color: #00e093; - border-color: #00e093 -} - -.btn-success:hover { - color: #fff; - background-color: #00ba7a; - border-color: #00ad72 -} - -.btn-success.focus, -.btn-success:focus { - box-shadow: 0 0 0 .2rem rgba(38, 229, 163, .5) -} - -.btn-success.disabled, -.btn-success:disabled { - color: #fff; - background-color: #00e093; - border-color: #00e093 -} - -.btn-success:not(:disabled):not(.disabled).active, -.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle { - color: #fff; - background-color: #00ad72; - border-color: #00a069 -} - -.btn-success:not(:disabled):not(.disabled).active:focus, -.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(38, 229, 163, .5) -} - -.btn-info { - color: #fff; - background-color: #6c61f6; - border-color: #6c61f6 -} - -.btn-info:hover { - color: #fff; - background-color: #4a3df4; - border-color: #3f31f3 -} - -.btn-info.focus, -.btn-info:focus { - box-shadow: 0 0 0 .2rem rgba(130, 121, 247, .5) -} - -.btn-info.disabled, -.btn-info:disabled { - color: #fff; - background-color: #6c61f6; - border-color: #6c61f6 -} - -.btn-info:not(:disabled):not(.disabled).active, -.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle { - color: #fff; - background-color: #3f31f3; - border-color: #3425f3 -} - -.btn-info:not(:disabled):not(.disabled).active:focus, -.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(130, 121, 247, .5) -} - -.btn-warning { - color: #212529; - background-color: #f0825f; - border-color: #f0825f -} - -.btn-warning:hover { - color: #fff; - background-color: #ed673c; - border-color: #ec5e30 -} - -.btn-warning.focus, -.btn-warning:focus { - box-shadow: 0 0 0 .2rem rgba(209, 116, 87, .5) -} - -.btn-warning.disabled, -.btn-warning:disabled { - color: #212529; - background-color: #f0825f; - border-color: #f0825f -} - -.btn-warning:not(:disabled):not(.disabled).active, -.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle { - color: #fff; - background-color: #ec5e30; - border-color: #eb5425 -} - -.btn-warning:not(:disabled):not(.disabled).active:focus, -.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(209, 116, 87, .5) -} - -.btn-danger { - color: #fff; - background-color: #ff5f66; - border-color: #ff5f66 -} - -.btn-danger:hover { - color: #fff; - background-color: #ff3941; - border-color: #ff2c35 -} - -.btn-danger.focus, -.btn-danger:focus { - box-shadow: 0 0 0 .2rem rgba(255, 119, 125, .5) -} - -.btn-danger.disabled, -.btn-danger:disabled { - color: #fff; - background-color: #ff5f66; - border-color: #ff5f66 -} - -.btn-danger:not(:disabled):not(.disabled).active, -.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle { - color: #fff; - background-color: #ff2c35; - border-color: #ff1f29 -} - -.btn-danger:not(:disabled):not(.disabled).active:focus, -.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(255, 119, 125, .5) -} - -.btn-light { - color: #212529; - background-color: #dfdfdf; - border-color: #dfdfdf -} - -.btn-light:hover { - color: #212529; - background-color: #ccc; - border-color: #c6c6c6 -} - -.btn-light.focus, -.btn-light:focus { - box-shadow: 0 0 0 .2rem rgba(195, 195, 196, .5) -} - -.btn-light.disabled, -.btn-light:disabled { - color: #212529; - background-color: #dfdfdf; - border-color: #dfdfdf -} - -.btn-light:not(:disabled):not(.disabled).active, -.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle { - color: #212529; - background-color: #c6c6c6; - border-color: #bfbfbf -} - -.btn-light:not(:disabled):not(.disabled).active:focus, -.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(195, 195, 196, .5) -} - -.btn-dark { - color: #fff; - background-color: #74767b; - border-color: #74767b -} - -.btn-dark:hover { - color: #fff; - background-color: #616367; - border-color: #5b5d61 -} - -.btn-dark.focus, -.btn-dark:focus { - box-shadow: 0 0 0 .2rem rgba(137, 139, 143, .5) -} - -.btn-dark.disabled, -.btn-dark:disabled { - color: #fff; - background-color: #74767b; - border-color: #74767b -} - -.btn-dark:not(:disabled):not(.disabled).active, -.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle { - color: #fff; - background-color: #5b5d61; - border-color: #55575a -} - -.btn-dark:not(:disabled):not(.disabled).active:focus, -.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(137, 139, 143, .5) -} - -.btn-white { - color: #212529; - background-color: #fff; - border-color: #fff -} - -.btn-white:hover { - color: #212529; - background-color: #ececec; - border-color: #e6e6e6 -} - -.btn-white.focus, -.btn-white:focus { - box-shadow: 0 0 0 .2rem rgba(222, 222, 223, .5) -} - -.btn-white.disabled, -.btn-white:disabled { - color: #212529; - background-color: #fff; - border-color: #fff -} - -.btn-white:not(:disabled):not(.disabled).active, -.btn-white:not(:disabled):not(.disabled):active,.show>.btn-white.dropdown-toggle { - color: #212529; - background-color: #e6e6e6; - border-color: #dfdfdf -} - -.btn-white:not(:disabled):not(.disabled).active:focus, -.btn-white:not(:disabled):not(.disabled):active:focus,.show>.btn-white.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(222, 222, 223, .5) -} - -.btn-orange { - color: #212529; - background-color: #ffa600; - border-color: #ffa600 -} - -.btn-orange:hover { - color: #fff; - background-color: #d98d00; - border-color: #cc8500 -} - -.btn-orange.focus, -.btn-orange:focus { - box-shadow: 0 0 0 .2rem rgba(222, 147, 6, .5) -} - -.btn-orange.disabled, -.btn-orange:disabled { - color: #212529; - background-color: #ffa600; - border-color: #ffa600 -} - -.btn-orange:not(:disabled):not(.disabled).active, -.btn-orange:not(:disabled):not(.disabled):active,.show>.btn-orange.dropdown-toggle { - color: #fff; - background-color: #cc8500; - border-color: #bf7d00 -} - -.btn-orange:not(:disabled):not(.disabled).active:focus, -.btn-orange:not(:disabled):not(.disabled):active:focus,.show>.btn-orange.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(222, 147, 6, .5) -} - -.btn-outline-primary { - color: #047006; - border-color: #047006 -} - -.btn-outline-primary:hover { - color: #fff; - background-color: #047006; - border-color: #047006 -} - -.btn-outline-primary.focus, -.btn-outline-primary:focus { - box-shadow: 0 0 0 .2rem rgba(4, 112, 6, .5) -} - -.btn-outline-primary.disabled, -.btn-outline-primary:disabled { - color: #047006; - background-color: transparent -} - -.btn-outline-primary:not(:disabled):not(.disabled).active, -.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle { - color: #fff; - background-color: #047006; - border-color: #047006 -} - -.btn-outline-primary:not(:disabled):not(.disabled).active:focus, -.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(4, 112, 6, .5) -} - -.btn-outline-secondary { - color: grey; - border-color: grey -} - -.btn-outline-secondary:hover { - color: #fff; - background-color: grey; - border-color: grey -} - -.btn-outline-secondary.focus, -.btn-outline-secondary:focus { - box-shadow: 0 0 0 .2rem rgba(128, 128, 128, .5) -} - -.btn-outline-secondary.disabled, -.btn-outline-secondary:disabled { - color: grey; - background-color: transparent -} - -.btn-outline-secondary:not(:disabled):not(.disabled).active, -.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle { - color: #fff; - background-color: grey; - border-color: grey -} - -.btn-outline-secondary:not(:disabled):not(.disabled).active:focus, -.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(128, 128, 128, .5) -} - -.btn-outline-success { - color: #00e093; - border-color: #00e093 -} - -.btn-outline-success:hover { - color: #fff; - background-color: #00e093; - border-color: #00e093 -} - -.btn-outline-success.focus, -.btn-outline-success:focus { - box-shadow: 0 0 0 .2rem rgba(0, 224, 147, .5) -} - -.btn-outline-success.disabled, -.btn-outline-success:disabled { - color: #00e093; - background-color: transparent -} - -.btn-outline-success:not(:disabled):not(.disabled).active, -.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle { - color: #fff; - background-color: #00e093; - border-color: #00e093 -} - -.btn-outline-success:not(:disabled):not(.disabled).active:focus, -.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(0, 224, 147, .5) -} - -.btn-outline-info { - color: #6c61f6; - border-color: #6c61f6 -} - -.btn-outline-info:hover { - color: #fff; - background-color: #6c61f6; - border-color: #6c61f6 -} - -.btn-outline-info.focus, -.btn-outline-info:focus { - box-shadow: 0 0 0 .2rem rgba(108, 97, 246, .5) -} - -.btn-outline-info.disabled, -.btn-outline-info:disabled { - color: #6c61f6; - background-color: transparent -} - -.btn-outline-info:not(:disabled):not(.disabled).active, -.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle { - color: #fff; - background-color: #6c61f6; - border-color: #6c61f6 -} - -.btn-outline-info:not(:disabled):not(.disabled).active:focus, -.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(108, 97, 246, .5) -} - -.btn-outline-warning { - color: #f0825f; - border-color: #f0825f -} - -.btn-outline-warning:hover { - color: #212529; - background-color: #f0825f; - border-color: #f0825f -} - -.btn-outline-warning.focus, -.btn-outline-warning:focus { - box-shadow: 0 0 0 .2rem rgba(240, 130, 95, .5) -} - -.btn-outline-warning.disabled, -.btn-outline-warning:disabled { - color: #f0825f; - background-color: transparent -} - -.btn-outline-warning:not(:disabled):not(.disabled).active, -.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle { - color: #212529; - background-color: #f0825f; - border-color: #f0825f -} - -.btn-outline-warning:not(:disabled):not(.disabled).active:focus, -.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(240, 130, 95, .5) -} - -.btn-outline-danger { - color: #ff5f66; - border-color: #ff5f66 -} - -.btn-outline-danger:hover { - color: #fff; - background-color: #ff5f66; - border-color: #ff5f66 -} - -.btn-outline-danger.focus, -.btn-outline-danger:focus { - box-shadow: 0 0 0 .2rem rgba(255, 95, 102, .5) -} - -.btn-outline-danger.disabled, -.btn-outline-danger:disabled { - color: #ff5f66; - background-color: transparent -} - -.btn-outline-danger:not(:disabled):not(.disabled).active, -.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle { - color: #fff; - background-color: #ff5f66; - border-color: #ff5f66 -} - -.btn-outline-danger:not(:disabled):not(.disabled).active:focus, -.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(255, 95, 102, .5) -} - -.btn-outline-light { - color: #dfdfdf; - border-color: #dfdfdf -} - -.btn-outline-light:hover { - color: #212529; - background-color: #dfdfdf; - border-color: #dfdfdf -} - -.btn-outline-light.focus, -.btn-outline-light:focus { - box-shadow: 0 0 0 .2rem rgba(223, 223, 223, .5) -} - -.btn-outline-light.disabled, -.btn-outline-light:disabled { - color: #dfdfdf; - background-color: transparent -} - -.btn-outline-light:not(:disabled):not(.disabled).active, -.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle { - color: #212529; - background-color: #dfdfdf; - border-color: #dfdfdf -} - -.btn-outline-light:not(:disabled):not(.disabled).active:focus, -.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(223, 223, 223, .5) -} - -.btn-outline-dark { - color: #74767b; - border-color: #74767b -} - -.btn-outline-dark:hover { - color: #fff; - background-color: #74767b; - border-color: #74767b -} - -.btn-outline-dark.focus, -.btn-outline-dark:focus { - box-shadow: 0 0 0 .2rem rgba(116, 118, 123, .5) -} - -.btn-outline-dark.disabled, -.btn-outline-dark:disabled { - color: #74767b; - background-color: transparent -} - -.btn-outline-dark:not(:disabled):not(.disabled).active, -.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle { - color: #fff; - background-color: #74767b; - border-color: #74767b -} - -.btn-outline-dark:not(:disabled):not(.disabled).active:focus, -.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(116, 118, 123, .5) -} - -.btn-outline-white { - color: #fff; - border-color: #fff -} - -.btn-outline-white:hover { - color: #212529; - background-color: #fff; - border-color: #fff -} - -.btn-outline-white.focus, -.btn-outline-white:focus { - box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .5) -} - -.btn-outline-white.disabled, -.btn-outline-white:disabled { - color: #fff; - background-color: transparent -} - -.btn-outline-white:not(:disabled):not(.disabled).active, -.btn-outline-white:not(:disabled):not(.disabled):active,.show>.btn-outline-white.dropdown-toggle { - color: #212529; - background-color: #fff; - border-color: #fff -} - -.btn-outline-white:not(:disabled):not(.disabled).active:focus, -.btn-outline-white:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-white.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .5) -} - -.btn-outline-orange { - color: #ffa600; - border-color: #ffa600 -} - -.btn-outline-orange:hover { - color: #212529; - background-color: #ffa600; - border-color: #ffa600 -} - -.btn-outline-orange.focus, -.btn-outline-orange:focus { - box-shadow: 0 0 0 .2rem rgba(255, 166, 0, .5) -} - -.btn-outline-orange.disabled, -.btn-outline-orange:disabled { - color: #ffa600; - background-color: transparent -} - -.btn-outline-orange:not(:disabled):not(.disabled).active, -.btn-outline-orange:not(:disabled):not(.disabled):active,.show>.btn-outline-orange.dropdown-toggle { - color: #212529; - background-color: #ffa600; - border-color: #ffa600 -} - -.btn-outline-orange:not(:disabled):not(.disabled).active:focus, -.btn-outline-orange:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-orange.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(255, 166, 0, .5) -} - -.btn-link { - font-weight: 400; - color: #047006; - text-decoration: none -} - -.btn-link:hover { - color: #012602; - text-decoration: underline -} - -.btn-link.focus, -.btn-link:focus { - text-decoration: underline; - box-shadow: none -} - -.btn-link.disabled, -.btn-link:disabled { - color: #6c757d; - pointer-events: none -} - -.btn-group-lg>.btn, -.btn-lg { - padding: .5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: .3rem -} - -.btn-group-sm>.btn, -.btn-sm { - padding: .25rem .5rem; - font-size: .875rem; - line-height: 1.5; - border-radius: .2rem -} - -.btn-block { - display: block; - width: 100% -} - -.btn-block+.btn-block { - margin-top: .5rem -} - -input[type=button].btn-block, -input[type=reset].btn-block, -input[type=submit].btn-block { - width: 100% -} - -.fade { - -webkit-transition: opacity .15s linear; - transition: opacity .15s linear -} - -@media (prefers-reduced-motion:reduce) { - .fade { - -webkit-transition: none; - transition: none - } - -} - -.fade:not(.show) { - opacity: 0 -} - -.collapse:not(.show) { - display: none -} - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition: height .35s ease; - transition: height .35s ease -} - -@media (prefers-reduced-motion:reduce) { - .collapsing { - -webkit-transition: none; - transition: none - } - -} - -.dropdown, -.dropleft, -.dropright, -.dropup { - position: relative -} - -.dropdown-toggle { - white-space: nowrap -} - -.dropdown-toggle::after { - display: inline-block; - margin-left: .255em; - vertical-align: .255em; - content: 'http://www.w3.org/2000/svg'; - border-top: .3em solid; - border-right: .3em solid transparent; - border-bottom: 0; - border-left: .3em solid transparent -} - -.dropdown-toggle:empty::after { - margin-left: 0 -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 10rem; - padding: .5rem 0; - margin: .125rem 0 0; - font-size: 1rem; - color: #212529; - text-align: left; - list-style: none; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .15); - border-radius: .25rem -} - -.dropdown-menu-left { - right: auto; - left: 0 -} - -.dropdown-menu-right { - right: 0; - left: auto -} - -@media (min-width:576px) { - .dropdown-menu-sm-left { - right: auto; - left: 0 - } - - .dropdown-menu-sm-right { - right: 0; - left: auto - } - -} - -@media (min-width:768px) { - .dropdown-menu-md-left { - right: auto; - left: 0 - } - - .dropdown-menu-md-right { - right: 0; - left: auto - } - -} - -@media (min-width:992px) { - .dropdown-menu-lg-left { - right: auto; - left: 0 - } - - .dropdown-menu-lg-right { - right: 0; - left: auto - } - -} - -@media (min-width:1200px) { - .dropdown-menu-xl-left { - right: auto; - left: 0 - } - - .dropdown-menu-xl-right { - right: 0; - left: auto - } - -} - -.dropup .dropdown-menu { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: .125rem -} - -.dropup .dropdown-toggle::after { - display: inline-block; - margin-left: .255em; - vertical-align: .255em; - content: '0 0 8 8'; - border-top: 0; - border-right: .3em solid transparent; - border-bottom: .3em solid; - border-left: .3em solid transparent -} - -.dropup .dropdown-toggle:empty::after { - margin-left: 0 -} - -.dropright .dropdown-menu { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: .125rem -} - -.dropright .dropdown-toggle::after { - display: inline-block; - margin-left: .255em; - vertical-align: .255em; - content: '%2328a745'; - border-top: .3em solid transparent; - border-right: 0; - border-bottom: .3em solid transparent; - border-left: .3em solid -} - -.dropright .dropdown-toggle:empty::after { - margin-left: 0 -} - -.dropright .dropdown-toggle::after { - vertical-align: 0 -} - -.dropleft .dropdown-menu { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: .125rem -} - -.dropleft .dropdown-toggle::after { - display: inline-block; - margin-left: .255em; - vertical-align: .255em; - content: 'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z' -} - -.dropleft .dropdown-toggle::after { - display: none -} - -.dropleft .dropdown-toggle::before { - display: inline-block; - margin-right: .255em; - vertical-align: .255em; - content: 'http://www.w3.org/2000/svg'; - border-top: .3em solid transparent; - border-right: .3em solid; - border-bottom: .3em solid transparent -} - -.dropleft .dropdown-toggle:empty::after { - margin-left: 0 -} - -.dropleft .dropdown-toggle::before { - vertical-align: 0 -} - -.dropdown-menu[x-placement^=bottom], -.dropdown-menu[x-placement^=left], -.dropdown-menu[x-placement^=right], -.dropdown-menu[x-placement^=top] { - right: auto; - bottom: auto -} - -.dropdown-divider { - height: 0; - margin: .5rem 0; - overflow: hidden; - border-top: 1px solid #e9ecef -} - -.dropdown-item { - display: block; - width: 100%; - padding: .25rem 1.5rem; - clear: both; - font-weight: 400; - color: #212529; - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0 -} - -.dropdown-item:focus, -.dropdown-item:hover { - color: #16181b; - text-decoration: none; - background-color: #f8f9fa -} - -.dropdown-item.active, -.dropdown-item:active { - color: #fff; - text-decoration: none; - background-color: #007bff -} - -.dropdown-item.disabled, -.dropdown-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: transparent -} - -.dropdown-menu.show { - display: block -} - -.dropdown-header { - display: block; - padding: .5rem 1.5rem; - margin-bottom: 0; - font-size: .875rem; - color: #6c757d; - white-space: nowrap -} - -.dropdown-item-text { - display: block; - padding: .25rem 1.5rem; - color: #212529 -} - -.btn-group, -.btn-group-vertical { - position: relative; - display: -webkit-inline-box; - display: inline-flex; - vertical-align: middle -} - -.btn-group-vertical>.btn, -.btn-group>.btn { - position: relative; - -webkit-box-flex: 1; - flex: 1 1 auto -} - -.btn-group-vertical>.btn:hover, -.btn-group>.btn:hover { - z-index: 1 -} - -.btn-group-vertical>.btn.active, -.btn-group-vertical>.btn:active, -.btn-group-vertical>.btn:focus, -.btn-group>.btn.active, -.btn-group>.btn:active, -.btn-group>.btn:focus { - z-index: 1 -} - -.btn-toolbar { - display: -webkit-box; - display: flex; - flex-wrap: wrap; - -webkit-box-pack: start; - justify-content: flex-start -} - -.btn-toolbar .input-group { - width: auto -} - -.btn-group>.btn-group:not(:first-child), -.btn-group>.btn:not(:first-child) { - margin-left: -1px -} - -.btn-group>.btn-group:not(:last-child)>.btn, -.btn-group>.btn:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.btn-group>.btn-group:not(:first-child)>.btn, -.btn-group>.btn:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.dropdown-toggle-split { - padding-right: .5625rem; - padding-left: .5625rem -} - -.dropdown-toggle-split::after, -.dropright .dropdown-toggle-split::after, -.dropup .dropdown-toggle-split::after { - margin-left: 0 -} - -.dropleft .dropdown-toggle-split::before { - margin-right: 0 -} - -.btn-group-sm>.btn+.dropdown-toggle-split, -.btn-sm+.dropdown-toggle-split { - padding-right: .375rem; - padding-left: .375rem -} - -.btn-group-lg>.btn+.dropdown-toggle-split, -.btn-lg+.dropdown-toggle-split { - padding-right: .75rem; - padding-left: .75rem -} - -.btn-group-vertical { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - -webkit-box-align: start; - align-items: flex-start; - -webkit-box-pack: center; - justify-content: center -} - -.btn-group-vertical>.btn, -.btn-group-vertical>.btn-group { - width: 100% -} - -.btn-group-vertical>.btn-group:not(:first-child), -.btn-group-vertical>.btn:not(:first-child) { - margin-top: -1px -} - -.btn-group-vertical>.btn-group:not(:last-child)>.btn, -.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle) { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0 -} - -.btn-group-vertical>.btn-group:not(:first-child)>.btn, -.btn-group-vertical>.btn:not(:first-child) { - border-top-left-radius: 0; - border-top-right-radius: 0 -} - -.btn-group-toggle>.btn, -.btn-group-toggle>.btn-group>.btn { - margin-bottom: 0 -} - -.btn-group-toggle>.btn input[type=checkbox], -.btn-group-toggle>.btn input[type=radio], -.btn-group-toggle>.btn-group>.btn input[type=checkbox], -.btn-group-toggle>.btn-group>.btn input[type=radio] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none -} - -.input-group { - position: relative; - display: -webkit-box; - display: flex; - flex-wrap: wrap; - -webkit-box-align: stretch; - align-items: stretch; - width: 100% -} - -.input-group>.custom-file, -.input-group>.custom-select, -.input-group>.form-control, -.input-group>.form-control-plaintext { - position: relative; - -webkit-box-flex: 1; - flex: 1 1 auto; - width: 1%; - margin-bottom: 0 -} - -.input-group>.custom-file+.custom-file, -.input-group>.custom-file+.custom-select, -.input-group>.custom-file+.form-control, -.input-group>.custom-select+.custom-file, -.input-group>.custom-select+.custom-select, -.input-group>.custom-select+.form-control, -.input-group>.form-control+.custom-file, -.input-group>.form-control+.custom-select, -.input-group>.form-control+.form-control, -.input-group>.form-control-plaintext+.custom-file, -.input-group>.form-control-plaintext+.custom-select, -.input-group>.form-control-plaintext+.form-control { - margin-left: -1px -} - -.input-group>.custom-file .custom-file-input:focus~.custom-file-label, -.input-group>.custom-select:focus, -.input-group>.form-control:focus { - z-index: 3 -} - -.input-group>.custom-file .custom-file-input:focus { - z-index: 4 -} - -.input-group>.custom-select:not(:last-child), -.input-group>.form-control:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.input-group>.custom-select:not(:first-child), -.input-group>.form-control:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.input-group>.custom-file { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center -} - -.input-group>.custom-file:not(:last-child) .custom-file-label, -.input-group>.custom-file:not(:last-child) .custom-file-label::after { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.input-group>.custom-file:not(:first-child) .custom-file-label { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.input-group-append, -.input-group-prepend { - display: -webkit-box; - display: flex -} - -.input-group-append .btn, -.input-group-prepend .btn { - position: relative; - z-index: 2 -} - -.input-group-append .btn:focus, -.input-group-prepend .btn:focus { - z-index: 3 -} - -.input-group-append .btn+.btn, -.input-group-append .btn+.input-group-text, -.input-group-append .input-group-text+.btn, -.input-group-append .input-group-text+.input-group-text, -.input-group-prepend .btn+.btn, -.input-group-prepend .btn+.input-group-text, -.input-group-prepend .input-group-text+.btn, -.input-group-prepend .input-group-text+.input-group-text { - margin-left: -1px -} - -.input-group-prepend { - margin-right: -1px -} - -.input-group-append { - margin-left: -1px -} - -.input-group-text { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - padding: .375rem .75rem; - margin-bottom: 0; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #6c757d; - text-align: center; - white-space: nowrap; - background-color: #e9ecef; - border: 1px solid #f0f2f5; - border-radius: .25rem -} - -.input-group-text input[type=checkbox], -.input-group-text input[type=radio] { - margin-top: 0 -} - -.input-group-lg>.custom-select, -.input-group-lg>.form-control:not(textarea) { - height: calc(1.5em + 1rem + 2px) -} - -.input-group-lg>.custom-select, -.input-group-lg>.form-control, -.input-group-lg>.input-group-append>.btn, -.input-group-lg>.input-group-append>.input-group-text, -.input-group-lg>.input-group-prepend>.btn, -.input-group-lg>.input-group-prepend>.input-group-text { - padding: .5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: .3rem -} - -.input-group-sm>.custom-select, -.input-group-sm>.form-control:not(textarea) { - height: calc(1.5em + .5rem + 2px) -} - -.input-group-sm>.custom-select, -.input-group-sm>.form-control, -.input-group-sm>.input-group-append>.btn, -.input-group-sm>.input-group-append>.input-group-text, -.input-group-sm>.input-group-prepend>.btn, -.input-group-sm>.input-group-prepend>.input-group-text { - padding: .25rem .5rem; - font-size: .875rem; - line-height: 1.5; - border-radius: .2rem -} - -.input-group-lg>.custom-select, -.input-group-sm>.custom-select { - padding-right: 1.75rem -} - -.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle), -.input-group>.input-group-append:last-child>.input-group-text:not(:last-child), -.input-group>.input-group-append:not(:last-child)>.btn, -.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.input-group>.input-group-append>.btn, -.input-group>.input-group-append>.input-group-text, -.input-group>.input-group-prepend:first-child>.btn:not(:first-child), -.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child), -.input-group>.input-group-prepend:not(:first-child)>.btn, -.input-group>.input-group-prepend:not(:first-child)>.input-group-text { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.custom-control { - position: relative; - display: block; - min-height: 1.7rem; - padding-left: 1.9rem -} - -.custom-control-inline { - display: -webkit-inline-box; - display: inline-flex; - margin-right: 1rem -} - -.custom-control-input { - position: absolute; - z-index: -1; - opacity: 0 -} - -.custom-control-input:checked~.custom-control-label::before { - color: #fff; - border-color: #00e093; - background-color: #00e093 -} - -.custom-control-input:focus~.custom-control-label::before { - box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.custom-control-input:focus:not(:checked)~.custom-control-label::before { - border-color: #80bdff -} - -.custom-control-input:not(:disabled):active~.custom-control-label::before { - color: #fff; - background-color: #b3d7ff; - border-color: #b3d7ff -} - -.custom-control-input:disabled~.custom-control-label { - color: #6c757d -} - -.custom-control-input:disabled~.custom-control-label::before { - background-color: #e9ecef -} - -.custom-control-label { - position: relative; - margin-bottom: 0; - vertical-align: top -} - -.custom-control-label::before { - position: absolute; - top: .15rem; - left: -1.9rem; - display: block; - width: 1.4rem; - height: 1.4rem; - pointer-events: none; - content: '0 0 4 5'; - background-color: #fff; - border: #e1e5f1 solid 1px -} - -.custom-control-label::after { - position: absolute; - top: .15rem; - left: -1.9rem; - display: block; - width: 1.4rem; - height: 1.4rem; - content: '%23343a40'; - background: no-repeat 50%/50% 50% -} - -.custom-checkbox .custom-control-label::before { - border-radius: .25rem -} - -.custom-checkbox .custom-control-input:checked~.custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath fill=!string!d=!string!/%3e%3c/svg%3e") -} - -.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before { - border-color: #007bff; - background-color: #007bff -} - -.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath stroke=!string!d=!string!/%3e%3c/svg%3e") -} - -.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before { - background-color: rgba(0, 123, 255, .5) -} - -.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before { - background-color: rgba(0, 123, 255, .5) -} - -.custom-radio .custom-control-label::before { - border-radius: 50% -} - -.custom-radio .custom-control-input:checked~.custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3ccircle r=!string!fill=!string!/%3e%3c/svg%3e") -} - -.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before { - background-color: rgba(0, 123, 255, .5) -} - -.custom-switch { - padding-left: 2.8rem -} - -.custom-switch .custom-control-label::before { - left: -2.8rem; - width: 2.3rem; - pointer-events: all; - border-radius: 25px -} - -.custom-switch .custom-control-label::after { - top: calc(.15rem + 2px); - left: calc(-2.8rem + 2px); - width: 1.1rem; - height: 1.1rem; - background-color: #e1e5f1; - border-radius: 25px; - -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-transform .15s ease-in-out; - transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-transform .15s ease-in-out; - transition: transform .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: transform .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-transform .15s ease-in-out -} - -@media (prefers-reduced-motion:reduce) { - .custom-switch .custom-control-label::after { - -webkit-transition: none; - transition: none - } - -} - -.custom-switch .custom-control-input:checked~.custom-control-label::after { - background-color: #fff; - -webkit-transform: translateX(.9rem); - transform: translateX(.9rem) -} - -.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before { - background-color: rgba(0, 123, 255, .5) -} - -.custom-select { - display: inline-block; - width: 100%; - height: calc(1.5em + .75rem + 2px); - padding: .375rem 1.75rem .375rem .75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - vertical-align: middle; - background: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath fill=!string!d=!string!/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px; - background-color: #fff; - border: 1px solid #ced4da; - border-radius: .25rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none -} - -.custom-select:focus { - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.custom-select:focus::-ms-value { - color: #6c757d; - background-color: #f6f7f9 -} - -.custom-select[multiple], -.custom-select[size]:not([size='M2 0L0 2h4zm0 5L0 3h4z']) { - height: auto; - padding-right: .75rem; - background-image: none -} - -.custom-select:disabled { - color: #6c757d; - background-color: #e9ecef -} - -.custom-select::-ms-expand { - display: none -} - -.custom-select-sm { - height: calc(1.5em + .5rem + 2px); - padding-top: .25rem; - padding-bottom: .25rem; - padding-left: .5rem; - font-size: .875rem -} - -.custom-select-lg { - height: calc(1.5em + 1rem + 2px); - padding-top: .5rem; - padding-bottom: .5rem; - padding-left: 1rem; - font-size: 1.25rem -} - -.custom-file { - position: relative; - display: inline-block; - width: 100%; - height: calc(1.5em + .75rem + 2px); - margin-bottom: 0 -} - -.custom-file-input { - position: relative; - z-index: 2; - width: 100%; - height: calc(1.5em + .75rem + 2px); - margin: 0; - opacity: 0 -} - -.custom-file-input:focus~.custom-file-label { - border-color: #80bdff; - box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.custom-file-input:disabled~.custom-file-label { - background-color: #e9ecef -} - -.custom-file-input:lang(en)~.custom-file-label::after { - content: 'http://www.w3.org/2000/svg' -} - -.custom-file-input~.custom-file-label[data-browse]::after { - content: attr(data-browse) -} - -.custom-file-label { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 1; - height: calc(1.5em + .75rem + 2px); - padding: .375rem .75rem; - font-weight: 400; - line-height: 1.5; - color: #6c757d; - background-color: #f6f7f9; - border: 1px solid #f0f2f5; - border-radius: .25rem -} - -.custom-file-label::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - z-index: 3; - display: block; - height: calc(1.5em + .75rem); - padding: .375rem .75rem; - line-height: 1.5; - color: #495057; - content: '0 0 8 8'; - background-color: #e9ecef; - border-left: inherit; - border-radius: 0 .25rem .25rem 0 -} - -.custom-range { - width: 100%; - height: calc(1rem + .4rem); - padding: 0; - background-color: transparent; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none -} - -.custom-range:focus { - outline: 0 -} - -.custom-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.custom-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.custom-range:focus::-ms-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.custom-range::-moz-focus-outer { - border: 0 -} - -.custom-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -.25rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - -webkit-appearance: none; - appearance: none -} - -@media (prefers-reduced-motion:reduce) { - .custom-range::-webkit-slider-thumb { - -webkit-transition: none; - transition: none - } - -} - -.custom-range::-webkit-slider-thumb:active { - background-color: #b3d7ff -} - -.custom-range::-webkit-slider-runnable-track { - width: 100%; - height: .5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem -} - -.custom-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - -moz-appearance: none; - appearance: none -} - -@media (prefers-reduced-motion:reduce) { - .custom-range::-moz-range-thumb { - -webkit-transition: none; - transition: none - } - -} - -.custom-range::-moz-range-thumb:active { - background-color: #b3d7ff -} - -.custom-range::-moz-range-track { - width: 100%; - height: .5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem -} - -.custom-range::-ms-thumb { - width: 1rem; - height: 1rem; - margin-top: 0; - margin-right: .2rem; - margin-left: .2rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - appearance: none -} - -@media (prefers-reduced-motion:reduce) { - .custom-range::-ms-thumb { - -webkit-transition: none; - transition: none - } - -} - -.custom-range::-ms-thumb:active { - background-color: #b3d7ff -} - -.custom-range::-ms-track { - width: 100%; - height: .5rem; - color: transparent; - cursor: pointer; - background-color: transparent; - border-color: transparent; - border-width: .5rem -} - -.custom-range::-ms-fill-lower { - background-color: #dee2e6; - border-radius: 1rem -} - -.custom-range::-ms-fill-upper { - margin-right: 15px; - background-color: #dee2e6; - border-radius: 1rem -} - -.custom-range:disabled::-webkit-slider-thumb { - background-color: #adb5bd -} - -.custom-range:disabled::-webkit-slider-runnable-track { - cursor: default -} - -.custom-range:disabled::-moz-range-thumb { - background-color: #adb5bd -} - -.custom-range:disabled::-moz-range-track { - cursor: default -} - -.custom-range:disabled::-ms-thumb { - background-color: #adb5bd -} - -.custom-control-label::before, -.custom-file-label, -.custom-select { - -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out -} - -@media (prefers-reduced-motion:reduce) { - .custom-control-label::before, - .custom-file-label, - .custom-select { - -webkit-transition: none; - transition: none - } - -} - -.nav { - display: -webkit-box; - display: flex; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none -} - -.nav-link { - display: block; - padding: .5rem 1rem -} - -.nav-link:focus, -.nav-link:hover { - text-decoration: none -} - -.nav-link.disabled { - color: #6c757d; - pointer-events: none; - cursor: default -} - -.nav-tabs { - border-bottom: 1px solid #dee2e6 -} - -.nav-tabs .nav-item { - margin-bottom: -1px -} - -.nav-tabs .nav-link { - border: 1px solid transparent; - border-top-left-radius: 2px; - border-top-right-radius: 2px -} - -.nav-tabs .nav-link:focus, -.nav-tabs .nav-link:hover { - border-color: #e9ecef #e9ecef #dee2e6 -} - -.nav-tabs .nav-link.disabled { - color: #6c757d; - background-color: transparent; - border-color: transparent -} - -.nav-tabs .nav-item.show .nav-link, -.nav-tabs .nav-link.active { - color: #495057; - background-color: #fff; - border-color: #dee2e6 #dee2e6 #fff -} - -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0 -} - -.nav-pills .nav-link { - border-radius: 2px -} - -.nav-pills .nav-link.active, -.nav-pills .show>.nav-link { - color: #fff; - background-color: #007bff -} - -.nav-fill .nav-item { - -webkit-box-flex: 1; - flex: 1 1 auto; - text-align: center -} - -.nav-justified .nav-item { - flex-basis: 0; - -webkit-box-flex: 1; - flex-grow: 1; - text-align: center -} - -.tab-content>.tab-pane { - display: none -} - -.tab-content>.active { - display: block -} - -.navbar { - position: relative; - display: -webkit-box; - display: flex; - flex-wrap: wrap; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: justify; - justify-content: space-between; - padding: .5rem 1rem -} - -.navbar>.container, -.navbar>.container-fluid { - display: -webkit-box; - display: flex; - flex-wrap: wrap; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: justify; - justify-content: space-between -} - -.navbar-brand { - display: inline-block; - padding-top: .3125rem; - padding-bottom: .3125rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: inherit; - white-space: nowrap -} - -.navbar-brand:focus, -.navbar-brand:hover { - text-decoration: none -} - -.navbar-nav { - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none -} - -.navbar-nav .nav-link { - padding-right: 0; - padding-left: 0 -} - -.navbar-nav .dropdown-menu { - position: static; - float: none -} - -.navbar-text { - display: inline-block; - padding-top: .5rem; - padding-bottom: .5rem -} - -.navbar-collapse { - flex-basis: 100%; - -webkit-box-flex: 1; - flex-grow: 1; - -webkit-box-align: center; - align-items: center -} - -.navbar-toggler { - padding: .25rem .75rem; - font-size: 1.25rem; - line-height: 1; - background-color: transparent; - border: 1px solid transparent; - border-radius: .25rem -} - -.navbar-toggler:focus, -.navbar-toggler:hover { - text-decoration: none -} - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: '%2328a745'; - background: no-repeat center center; - background-size: 100% 100% -} - -@media (max-width:575.98px) { - .navbar-expand-sm>.container, - .navbar-expand-sm>.container-fluid { - padding-right: 0; - padding-left: 0 - } - -} - -@media (min-width:576px) { - .navbar-expand-sm { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row nowrap; - -webkit-box-pack: start; - justify-content: flex-start - } - - .navbar-expand-sm .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute - } - - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem - } - - .navbar-expand-sm>.container, - .navbar-expand-sm>.container-fluid { - flex-wrap: nowrap - } - - .navbar-expand-sm .navbar-collapse { - display: -webkit-box !important; - display: flex !important; - flex-basis: auto - } - - .navbar-expand-sm .navbar-toggler { - display: none - } - -} - -@media (max-width:767.98px) { - .navbar-expand-md>.container, - .navbar-expand-md>.container-fluid { - padding-right: 0; - padding-left: 0 - } - -} - -@media (min-width:768px) { - .navbar-expand-md { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row nowrap; - -webkit-box-pack: start; - justify-content: flex-start - } - - .navbar-expand-md .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute - } - - .navbar-expand-md .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem - } - - .navbar-expand-md>.container, - .navbar-expand-md>.container-fluid { - flex-wrap: nowrap - } - - .navbar-expand-md .navbar-collapse { - display: -webkit-box !important; - display: flex !important; - flex-basis: auto - } - - .navbar-expand-md .navbar-toggler { - display: none - } - -} - -@media (max-width:991.98px) { - .navbar-expand-lg>.container, - .navbar-expand-lg>.container-fluid { - padding-right: 0; - padding-left: 0 - } - -} - -@media (min-width:992px) { - .navbar-expand-lg { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row nowrap; - -webkit-box-pack: start; - justify-content: flex-start - } - - .navbar-expand-lg .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute - } - - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem - } - - .navbar-expand-lg>.container, - .navbar-expand-lg>.container-fluid { - flex-wrap: nowrap - } - - .navbar-expand-lg .navbar-collapse { - display: -webkit-box !important; - display: flex !important; - flex-basis: auto - } - - .navbar-expand-lg .navbar-toggler { - display: none - } - -} - -@media (max-width:1199.98px) { - .navbar-expand-xl>.container, - .navbar-expand-xl>.container-fluid { - padding-right: 0; - padding-left: 0 - } - -} - -@media (min-width:1200px) { - .navbar-expand-xl { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row nowrap; - -webkit-box-pack: start; - justify-content: flex-start - } - - .navbar-expand-xl .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute - } - - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem - } - - .navbar-expand-xl>.container, - .navbar-expand-xl>.container-fluid { - flex-wrap: nowrap - } - - .navbar-expand-xl .navbar-collapse { - display: -webkit-box !important; - display: flex !important; - flex-basis: auto - } - - .navbar-expand-xl .navbar-toggler { - display: none - } - -} - -.navbar-expand { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row nowrap; - -webkit-box-pack: start; - justify-content: flex-start -} - -.navbar-expand>.container, -.navbar-expand>.container-fluid { - padding-right: 0; - padding-left: 0 -} - -.navbar-expand .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row -} - -.navbar-expand .navbar-nav .dropdown-menu { - position: absolute -} - -.navbar-expand .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem -} - -.navbar-expand>.container, -.navbar-expand>.container-fluid { - flex-wrap: nowrap -} - -.navbar-expand .navbar-collapse { - display: -webkit-box !important; - display: flex !important; - flex-basis: auto -} - -.navbar-expand .navbar-toggler { - display: none -} - -.navbar-light .navbar-brand { - color: rgba(0, 0, 0, .9) -} - -.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,%3csvg viewBox=!string!xmlns=!string!%3e%3cpath stroke=!string!stroke-width=!string!stroke-linecap=!string!stroke-miterlimit=!string!d=!string!/%3e%3c/svg%3e") -} - -.navbar-light .navbar-text { - color: rgba(0, 0, 0, .5) -} - -.navbar-light .navbar-text a { - color: rgba(0, 0, 0, .9) -} - -.navbar-light .navbar-text a:focus, -.navbar-light .navbar-text a:hover { - color: rgba(0, 0, 0, .9) -} - -.navbar-dark .navbar-brand { - color: #fff -} - -.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,%3csvg viewBox=!string!xmlns=!string!%3e%3cpath stroke=!string!stroke-width=!string!stroke-linecap=!string!stroke-miterlimit=!string!d=!string!/%3e%3c/svg%3e") -} - -.navbar-dark .navbar-text { - color: rgba(255, 255, 255, .5) -} - -.navbar-dark .navbar-text a { - color: #fff -} - -.navbar-dark .navbar-text a:focus, -.navbar-dark .navbar-text a:hover { - color: #fff -} - -.card { - position: relative; - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(238, 238, 238, .75); - border-radius: .25rem -} - -.card>hr { - margin-right: 0; - margin-left: 0 -} - -.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-body { - -webkit-box-flex: 1; - flex: 1 1 auto; - padding: 1.25rem -} - -.card-title { - margin-bottom: .75rem -} - -.card-subtitle { - margin-top: -.375rem; - margin-bottom: 0 -} - -.card-text:last-child { - margin-bottom: 0 -} - -.card-link:hover { - text-decoration: none -} - -.card-link+.card-link { - margin-left: 1.25rem -} - -.card-header { - padding: .75rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0, 0, 0, .03); - border-bottom: 1px solid rgba(238, 238, 238, .75) -} - -.card-header:first-child { - border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0 -} - -.card-header+.list-group .list-group-item:first-child { - border-top: 0 -} - -.card-footer { - padding: .75rem 1.25rem; - background-color: rgba(0, 0, 0, .03); - border-top: 1px solid rgba(238, 238, 238, .75) -} - -.card-footer:last-child { - border-radius: 0 0 calc(.25rem - 1px) calc(.25rem - 1px) -} - -.card-header-tabs { - margin-right: -.625rem; - margin-bottom: -.75rem; - margin-left: -.625rem; - border-bottom: 0 -} - -.card-header-pills { - margin-right: -.625rem; - margin-left: -.625rem -} - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1.25rem -} - -.card-img { - width: 100%; - border-radius: calc(.25rem - 1px) -} - -.card-img-top { - width: 100%; - border-top-left-radius: calc(.25rem - 1px); - border-top-right-radius: calc(.25rem - 1px) -} - -.card-img-bottom { - width: 100%; - border-bottom-right-radius: calc(.25rem - 1px); - border-bottom-left-radius: calc(.25rem - 1px) -} - -.card-deck { - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column -} - -.card-deck .card { - margin-bottom: 15px -} - -@media (min-width:576px) { - .card-deck { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row wrap; - margin-right: -15px; - margin-left: -15px - } - - .card-deck .card { - display: -webkit-box; - display: flex; - -webkit-box-flex: 1; - flex: 1 0 0%; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - margin-right: 15px; - margin-bottom: 0; - margin-left: 15px - } - -} - -.card-group { - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column -} - -.card-group>.card { - margin-bottom: 15px -} - -@media (min-width:576px) { - .card-group { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row wrap - } - - .card-group>.card { - -webkit-box-flex: 1; - flex: 1 0 0%; - margin-bottom: 0 - } - - .card-group>.card+.card { - margin-left: 0; - border-left: 0 - } - - .card-group>.card:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0 - } - - .card-group>.card:not(:last-child) .card-header, - .card-group>.card:not(:last-child) .card-img-top { - border-top-right-radius: 0 - } - - .card-group>.card:not(:last-child) .card-footer, - .card-group>.card:not(:last-child) .card-img-bottom { - border-bottom-right-radius: 0 - } - - .card-group>.card:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0 - } - - .card-group>.card:not(:first-child) .card-header, - .card-group>.card:not(:first-child) .card-img-top { - border-top-left-radius: 0 - } - - .card-group>.card:not(:first-child) .card-footer, - .card-group>.card:not(:first-child) .card-img-bottom { - border-bottom-left-radius: 0 - } - -} - -.card-columns .card { - margin-bottom: .75rem -} - -@media (min-width:576px) { - .card-columns { - -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; - orphans: 1; - widows: 1 - } - - .card-columns .card { - display: inline-block; - width: 100% - } - -} - -.accordion>.card { - overflow: hidden -} - -.accordion>.card:not(:first-of-type) .card-header:first-child { - border-radius: 0 -} - -.accordion>.card:not(:first-of-type):not(:last-of-type) { - border-bottom: 0; - border-radius: 0 -} - -.accordion>.card:first-of-type { - border-bottom: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0 -} - -.accordion>.card:last-of-type { - border-top-left-radius: 0; - border-top-right-radius: 0 -} - -.accordion>.card .card-header { - margin-bottom: -1px -} - -.breadcrumb { - display: -webkit-box; - display: flex; - flex-wrap: wrap; - padding: .75rem 1rem; - margin-bottom: 1rem; - list-style: none; - background-color: #f7f9fa; - border-radius: .25rem -} - -.breadcrumb-item+.breadcrumb-item { - padding-left: .5rem -} - -.breadcrumb-item+.breadcrumb-item::before { - display: inline-block; - padding-right: .5rem; - color: #a8a9ad; - content: 'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z' -} - -.breadcrumb-item+.breadcrumb-item:hover::before { - text-decoration: underline -} - -.breadcrumb-item+.breadcrumb-item:hover::before { - text-decoration: none -} - -.breadcrumb-item.active { - color: #6c757d -} - -.pagination { - display: -webkit-box; - display: flex; - padding-left: 0; - list-style: none; - border-radius: 2px -} - -.page-link { - position: relative; - display: block; - padding: .5rem .75rem; - margin-left: -1px; - line-height: 1.25; - color: #007bff; - background-color: #fff; - border: 1px solid #dee2e6 -} - -.page-link:hover { - z-index: 2; - color: #0056b3; - text-decoration: none; - background-color: #e9ecef; - border-color: #dee2e6 -} - -.page-link:focus { - z-index: 2; - outline: 0; - box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.page-item:first-child .page-link { - margin-left: 0; - border-top-left-radius: 2px; - border-bottom-left-radius: 2px -} - -.page-item:last-child .page-link { - border-top-right-radius: 2px; - border-bottom-right-radius: 2px -} - -.page-item.active .page-link { - z-index: 1; - color: #fff; - background-color: #007bff; - border-color: #007bff -} - -.page-item.disabled .page-link { - color: #6c757d; - pointer-events: none; - cursor: auto; - background-color: #fff; - border-color: #dee2e6 -} - -.pagination-lg .page-link { - padding: .75rem 1.5rem; - font-size: 1.25rem; - line-height: 1.5 -} - -.pagination-lg .page-item:first-child .page-link { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px -} - -.pagination-lg .page-item:last-child .page-link { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px -} - -.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: .45rem 1rem; - font-size: 80%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25rem; - -webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out -} - -@media (prefers-reduced-motion:reduce) { - .badge { - -webkit-transition: none; - transition: none - } - -} - -a.badge:focus, -a.badge:hover { - text-decoration: none -} - -.badge:empty { - display: none -} - -.btn .badge { - position: relative; - top: -1px -} - -.badge-pill { - padding-right: .5rem; - padding-left: .5rem; - border-radius: 10rem -} - -.badge-primary { - color: #fff; - background-color: #047006 -} - -a.badge-primary:focus, -a.badge-primary:hover { - color: #fff; - background-color: #023f03 -} - -a.badge-primary.focus, -a.badge-primary:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(4, 112, 6, .5) -} - -.badge-secondary { - color: #fff; - background-color: grey -} - -a.badge-secondary:focus, -a.badge-secondary:hover { - color: #fff; - background-color: #676767 -} - -a.badge-secondary.focus, -a.badge-secondary:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(128, 128, 128, .5) -} - -.badge-success { - color: #fff; - background-color: #00e093 -} - -a.badge-success:focus, -a.badge-success:hover { - color: #fff; - background-color: #00ad72 -} - -a.badge-success.focus, -a.badge-success:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(0, 224, 147, .5) -} - -.badge-info { - color: #fff; - background-color: #6c61f6 -} - -a.badge-info:focus, -a.badge-info:hover { - color: #fff; - background-color: #3f31f3 -} - -a.badge-info.focus, -a.badge-info:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(108, 97, 246, .5) -} - -.badge-warning { - color: #212529; - background-color: #f0825f -} - -a.badge-warning:focus, -a.badge-warning:hover { - color: #212529; - background-color: #ec5e30 -} - -a.badge-warning.focus, -a.badge-warning:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(240, 130, 95, .5) -} - -.badge-danger { - color: #fff; - background-color: #ff5f66 -} - -a.badge-danger:focus, -a.badge-danger:hover { - color: #fff; - background-color: #ff2c35 -} - -a.badge-danger.focus, -a.badge-danger:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(255, 95, 102, .5) -} - -.badge-light { - color: #212529; - background-color: #dfdfdf -} - -a.badge-light:focus, -a.badge-light:hover { - color: #212529; - background-color: #c6c6c6 -} - -a.badge-light.focus, -a.badge-light:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(223, 223, 223, .5) -} - -.badge-dark { - color: #fff; - background-color: #74767b -} - -a.badge-dark:focus, -a.badge-dark:hover { - color: #fff; - background-color: #5b5d61 -} - -a.badge-dark.focus, -a.badge-dark:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(116, 118, 123, .5) -} - -.badge-white { - color: #212529; - background-color: #fff -} - -a.badge-white:focus, -a.badge-white:hover { - color: #212529; - background-color: #e6e6e6 -} - -a.badge-white.focus, -a.badge-white:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .5) -} - -.badge-orange { - color: #212529; - background-color: #ffa600 -} - -a.badge-orange:focus, -a.badge-orange:hover { - color: #212529; - background-color: #cc8500 -} - -a.badge-orange.focus, -a.badge-orange:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(255, 166, 0, .5) -} - -.jumbotron { - padding: 2rem 1rem; - margin-bottom: 2rem; - background-color: #e9ecef; - border-radius: 6px -} - -@media (min-width:576px) { - .jumbotron { - padding: 4rem 2rem - } - -} - -.jumbotron-fluid { - padding-right: 0; - padding-left: 0; - border-radius: 0 -} - -.alert { - position: relative; - padding: 1.15rem 1.15rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: 2px -} - -.alert-heading { - color: inherit -} - -.alert-link { - font-weight: 700 -} - -.alert-dismissible { - padding-right: 3.8rem -} - -.alert-dismissible .close { - position: absolute; - top: 0; - right: 0; - padding: 1.15rem 1.15rem; - color: inherit -} - -.alert-primary { - color: #023a03; - background-color: #cde2cd; - border-color: #b9d7b9 -} - -.alert-primary hr { - border-top-color: #a9cea9 -} - -.alert-primary .alert-link { - color: #000900 -} - -.alert-secondary { - color: #434343; - background-color: #e6e6e6; - border-color: #dbdbdb -} - -.alert-secondary hr { - border-top-color: #cecece -} - -.alert-secondary .alert-link { - color: #2a2a2a -} - -.alert-success { - color: #00744c; - background-color: #ccf9e9; - border-color: #b8f6e1 -} - -.alert-success hr { - border-top-color: #a1f3d7 -} - -.alert-success .alert-link { - color: #00412b -} - -.alert-info { - color: #383280; - background-color: #e2dffd; - border-color: #d6d3fc -} - -.alert-info hr { - border-top-color: #c0bbfa -} - -.alert-info .alert-link { - color: #28245b -} - -.alert-warning { - color: #7d4431; - background-color: #fce6df; - border-color: #fbdcd2 -} - -.alert-warning hr { - border-top-color: #f9cabb -} - -.alert-warning .alert-link { - color: #583023 -} - -.alert-danger { - color: #853135; - background-color: #ffdfe0; - border-color: #ffd2d4 -} - -.alert-danger hr { - border-top-color: #ffb9bc -} - -.alert-danger .alert-link { - color: #602326 -} - -.alert-light { - color: #747474; - background-color: #f9f9f9; - border-color: #f6f6f6 -} - -.alert-light hr { - border-top-color: #e9e9e9 -} - -.alert-light .alert-link { - color: #5b5b5b -} - -.alert-dark { - color: #3c3d40; - background-color: #e3e4e5; - border-color: #d8d9da -} - -.alert-dark hr { - border-top-color: #cbccce -} - -.alert-dark .alert-link { - color: #232426 -} - -.alert-white { - color: #858585; - background-color: #fff; - border-color: #fff -} - -.alert-white hr { - border-top-color: #f2f2f2 -} - -.alert-white .alert-link { - color: #6c6c6c -} - -.alert-orange { - color: #855600; - background-color: #ffedcc; - border-color: #ffe6b8 -} - -.alert-orange hr { - border-top-color: #ffdd9f -} - -.alert-orange .alert-link { - color: #523500 -} - -@-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 { - display: -webkit-box; - display: flex; - height: 1rem; - overflow: hidden; - font-size: .75rem; - background-color: #f3f5f7; - border-radius: 2px -} - -.progress-bar { - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - -webkit-box-pack: center; - justify-content: center; - color: #fff; - text-align: center; - white-space: nowrap; - background-color: #007bff; - -webkit-transition: width .6s ease; - transition: width .6s ease -} - -@media (prefers-reduced-motion:reduce) { - .progress-bar { - -webkit-transition: none; - transition: none - } - -} - -.progress-bar-striped { - 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 (prefers-reduced-motion:reduce) { - .progress-bar-animated { - -webkit-animation: none; - animation: none - } - -} - -.media { - display: -webkit-box; - display: flex; - -webkit-box-align: start; - align-items: flex-start -} - -.media-body { - -webkit-box-flex: 1; - flex: 1 -} - -.list-group { - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - 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 { - z-index: 1; - color: #495057; - text-decoration: none; - background-color: #f8f9fa -} - -.list-group-item-action:active { - color: #212529; - background-color: #e9ecef -} - -.list-group-item { - position: relative; - display: block; - padding: .75rem 1.25rem; - 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.disabled, -.list-group-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: #fff -} - -.list-group-item.active { - z-index: 2; - color: #fff; - background-color: #007bff; - border-color: #007bff -} - -.list-group-horizontal { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row -} - -.list-group-horizontal .list-group-item { - margin-right: -1px; - margin-bottom: 0 -} - -.list-group-horizontal .list-group-item:first-child { - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; - border-top-right-radius: 0 -} - -.list-group-horizontal .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; - border-bottom-left-radius: 0 -} - -@media (min-width:576px) { - .list-group-horizontal-sm { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .list-group-horizontal-sm .list-group-item { - margin-right: -1px; - margin-bottom: 0 - } - - .list-group-horizontal-sm .list-group-item:first-child { - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; - border-top-right-radius: 0 - } - - .list-group-horizontal-sm .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; - border-bottom-left-radius: 0 - } - -} - -@media (min-width:768px) { - .list-group-horizontal-md { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .list-group-horizontal-md .list-group-item { - margin-right: -1px; - margin-bottom: 0 - } - - .list-group-horizontal-md .list-group-item:first-child { - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; - border-top-right-radius: 0 - } - - .list-group-horizontal-md .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; - border-bottom-left-radius: 0 - } - -} - -@media (min-width:992px) { - .list-group-horizontal-lg { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .list-group-horizontal-lg .list-group-item { - margin-right: -1px; - margin-bottom: 0 - } - - .list-group-horizontal-lg .list-group-item:first-child { - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; - border-top-right-radius: 0 - } - - .list-group-horizontal-lg .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; - border-bottom-left-radius: 0 - } - -} - -@media (min-width:1200px) { - .list-group-horizontal-xl { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .list-group-horizontal-xl .list-group-item { - margin-right: -1px; - margin-bottom: 0 - } - - .list-group-horizontal-xl .list-group-item:first-child { - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; - border-top-right-radius: 0 - } - - .list-group-horizontal-xl .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; - border-bottom-left-radius: 0 - } - -} - -.list-group-flush .list-group-item { - border-right: 0; - border-left: 0; - border-radius: 0 -} - -.list-group-flush .list-group-item:last-child { - margin-bottom: -1px -} - -.list-group-flush:first-child .list-group-item:first-child { - border-top: 0 -} - -.list-group-flush:last-child .list-group-item:last-child { - margin-bottom: 0; - border-bottom: 0 -} - -.list-group-item-primary { - color: #023a03; - background-color: #b9d7b9 -} - -.list-group-item-primary.list-group-item-action:focus, -.list-group-item-primary.list-group-item-action:hover { - color: #023a03; - background-color: #a9cea9 -} - -.list-group-item-primary.list-group-item-action.active { - color: #fff; - background-color: #023a03; - border-color: #023a03 -} - -.list-group-item-secondary { - color: #434343; - background-color: #dbdbdb -} - -.list-group-item-secondary.list-group-item-action:focus, -.list-group-item-secondary.list-group-item-action:hover { - color: #434343; - background-color: #cecece -} - -.list-group-item-secondary.list-group-item-action.active { - color: #fff; - background-color: #434343; - border-color: #434343 -} - -.list-group-item-success { - color: #00744c; - background-color: #b8f6e1 -} - -.list-group-item-success.list-group-item-action:focus, -.list-group-item-success.list-group-item-action:hover { - color: #00744c; - background-color: #a1f3d7 -} - -.list-group-item-success.list-group-item-action.active { - color: #fff; - background-color: #00744c; - border-color: #00744c -} - -.list-group-item-info { - color: #383280; - background-color: #d6d3fc -} - -.list-group-item-info.list-group-item-action:focus, -.list-group-item-info.list-group-item-action:hover { - color: #383280; - background-color: #c0bbfa -} - -.list-group-item-info.list-group-item-action.active { - color: #fff; - background-color: #383280; - border-color: #383280 -} - -.list-group-item-warning { - color: #7d4431; - background-color: #fbdcd2 -} - -.list-group-item-warning.list-group-item-action:focus, -.list-group-item-warning.list-group-item-action:hover { - color: #7d4431; - background-color: #f9cabb -} - -.list-group-item-warning.list-group-item-action.active { - color: #fff; - background-color: #7d4431; - border-color: #7d4431 -} - -.list-group-item-danger { - color: #853135; - background-color: #ffd2d4 -} - -.list-group-item-danger.list-group-item-action:focus, -.list-group-item-danger.list-group-item-action:hover { - color: #853135; - background-color: #ffb9bc -} - -.list-group-item-danger.list-group-item-action.active { - color: #fff; - background-color: #853135; - border-color: #853135 -} - -.list-group-item-light { - color: #747474; - background-color: #f6f6f6 -} - -.list-group-item-light.list-group-item-action:focus, -.list-group-item-light.list-group-item-action:hover { - color: #747474; - background-color: #e9e9e9 -} - -.list-group-item-light.list-group-item-action.active { - color: #fff; - background-color: #747474; - border-color: #747474 -} - -.list-group-item-dark { - color: #3c3d40; - background-color: #d8d9da -} - -.list-group-item-dark.list-group-item-action:focus, -.list-group-item-dark.list-group-item-action:hover { - color: #3c3d40; - background-color: #cbccce -} - -.list-group-item-dark.list-group-item-action.active { - color: #fff; - background-color: #3c3d40; - border-color: #3c3d40 -} - -.list-group-item-white { - color: #858585; - background-color: #fff -} - -.list-group-item-white.list-group-item-action:focus, -.list-group-item-white.list-group-item-action:hover { - color: #858585; - background-color: #f2f2f2 -} - -.list-group-item-white.list-group-item-action.active { - color: #fff; - background-color: #858585; - border-color: #858585 -} - -.list-group-item-orange { - color: #855600; - background-color: #ffe6b8 -} - -.list-group-item-orange.list-group-item-action:focus, -.list-group-item-orange.list-group-item-action:hover { - color: #855600; - background-color: #ffdd9f -} - -.list-group-item-orange.list-group-item-action.active { - color: #fff; - background-color: #855600; - border-color: #855600 -} - -.close { - float: right; - font-size: 1.5rem; - font-weight: 700; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: .5 -} - -.close:hover { - color: #000; - text-decoration: none -} - -.close:not(:disabled):not(.disabled):focus, -.close:not(:disabled):not(.disabled):hover { - opacity: .75 -} - -button.close { - padding: 0; - background-color: transparent; - border: 0; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none -} - -a.close.disabled { - pointer-events: none -} - -.toast { - max-width: 350px; - overflow: hidden; - font-size: .875rem; - background-color: rgba(255, 255, 255, .85); - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .1); - box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .1); - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); - opacity: 0; - border-radius: .25rem -} - -.toast:not(:last-child) { - margin-bottom: .75rem -} - -.toast.showing { - opacity: 1 -} - -.toast.show { - display: block; - opacity: 1 -} - -.toast.hide { - display: none -} - -.toast-header { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - padding: .25rem .75rem; - color: #6c757d; - background-color: rgba(255, 255, 255, .85); - background-clip: padding-box; - border-bottom: 1px solid rgba(0, 0, 0, .05) -} - -.toast-body { - padding: .75rem -} - -.modal-open { - overflow: hidden -} - -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto -} - -.modal { - position: fixed; - top: 0; - left: 0; - z-index: 1050; - display: none; - width: 100%; - height: 100%; - overflow: hidden; - outline: 0 -} - -.modal-dialog { - position: relative; - width: auto; - margin: .5rem; - pointer-events: none -} - -.modal.fade .modal-dialog { - -webkit-transition: -webkit-transform .3s ease-out; - 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, -50px); - transform: translate(0, -50px) -} - -@media (prefers-reduced-motion:reduce) { - .modal.fade .modal-dialog { - -webkit-transition: none; - transition: none - } - -} - -.modal.show .modal-dialog { - -webkit-transform: none; - transform: none -} - -.modal-dialog-scrollable { - display: -webkit-box; - display: flex; - max-height: calc(100% - 1rem) -} - -.modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 1rem); - overflow: hidden -} - -.modal-dialog-scrollable .modal-footer, -.modal-dialog-scrollable .modal-header { - flex-shrink: 0 -} - -.modal-dialog-scrollable .modal-body { - overflow-y: auto -} - -.modal-dialog-centered { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - min-height: calc(100% - 1rem) -} - -.modal-dialog-centered::before { - display: block; - height: calc(100vh - 1rem); - content: 'http://www.w3.org/2000/svg' -} - -.modal-dialog-centered.modal-dialog-scrollable { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - -webkit-box-pack: center; - justify-content: center; - height: 100% -} - -.modal-dialog-centered.modal-dialog-scrollable .modal-content { - max-height: none -} - -.modal-dialog-centered.modal-dialog-scrollable::before { - content: none -} - -.modal-content { - position: relative; - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - width: 100%; - pointer-events: auto; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: .3rem; - outline: 0 -} - -.modal-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #000 -} - -.modal-backdrop.fade { - opacity: 0 -} - -.modal-backdrop.show { - opacity: .8 -} - -.modal-header { - display: -webkit-box; - display: flex; - -webkit-box-align: start; - align-items: flex-start; - -webkit-box-pack: justify; - justify-content: space-between; - padding: 1rem 1rem; - border-bottom: 1px solid #dee2e6; - border-top-left-radius: .3rem; - border-top-right-radius: .3rem -} - -.modal-header .close { - padding: 1rem 1rem; - margin: -1rem -1rem -1rem auto -} - -.modal-title { - margin-bottom: 0; - line-height: 1.5 -} - -.modal-body { - position: relative; - -webkit-box-flex: 1; - flex: 1 1 auto; - padding: 1rem -} - -.modal-footer { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: end; - justify-content: flex-end; - padding: 1rem; - border-top: 1px solid #dee2e6; - border-bottom-right-radius: .3rem; - border-bottom-left-radius: .3rem -} - -.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 -} - -@media (min-width:576px) { - .modal-dialog { - max-width: 500px; - margin: 1.75rem auto - } - - .modal-dialog-scrollable { - max-height: calc(100% - 3.5rem) - } - - .modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 3.5rem) - } - - .modal-dialog-centered { - min-height: calc(100% - 3.5rem) - } - - .modal-dialog-centered::before { - height: calc(100vh - 3.5rem) - } - - .modal-sm { - max-width: 300px - } - -} - -@media (min-width:992px) { - .modal-lg, - .modal-xl { - max-width: 800px - } - -} - -@media (min-width:1200px) { - .modal-xl { - max-width: 1140px - } - -} - -.tooltip { - position: absolute; - z-index: 1070; - display: block; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.7; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: .875rem; - word-wrap: break-word; - opacity: 0 -} - -.tooltip.show { - opacity: .9 -} - -.tooltip .arrow { - position: absolute; - display: block; - width: .8rem; - height: .4rem -} - -.tooltip .arrow::before { - position: absolute; - content: '%23dc3545'; - border-color: transparent; - border-style: solid -} - -.bs-tooltip-auto[x-placement^=top], -.bs-tooltip-top { - padding: .4rem 0 -} - -.bs-tooltip-auto[x-placement^=top] .arrow, -.bs-tooltip-top .arrow { - bottom: 0 -} - -.bs-tooltip-auto[x-placement^=top] .arrow::before, -.bs-tooltip-top .arrow::before { - top: 0; - border-width: .4rem .4rem 0; - border-top-color: #000 -} - -.bs-tooltip-auto[x-placement^=right], -.bs-tooltip-right { - padding: 0 .4rem -} - -.bs-tooltip-auto[x-placement^=right] .arrow, -.bs-tooltip-right .arrow { - left: 0; - width: .4rem; - height: .8rem -} - -.bs-tooltip-auto[x-placement^=right] .arrow::before, -.bs-tooltip-right .arrow::before { - right: 0; - border-width: .4rem .4rem .4rem 0; - border-right-color: #000 -} - -.bs-tooltip-auto[x-placement^=bottom], -.bs-tooltip-bottom { - padding: .4rem 0 -} - -.bs-tooltip-auto[x-placement^=bottom] .arrow, -.bs-tooltip-bottom .arrow { - top: 0 -} - -.bs-tooltip-auto[x-placement^=bottom] .arrow::before, -.bs-tooltip-bottom .arrow::before { - bottom: 0; - border-width: 0 .4rem .4rem; - border-bottom-color: #000 -} - -.bs-tooltip-auto[x-placement^=left], -.bs-tooltip-left { - padding: 0 .4rem -} - -.bs-tooltip-auto[x-placement^=left] .arrow, -.bs-tooltip-left .arrow { - right: 0; - width: .4rem; - height: .8rem -} - -.bs-tooltip-auto[x-placement^=left] .arrow::before, -.bs-tooltip-left .arrow::before { - left: 0; - border-width: .4rem 0 .4rem .4rem; - border-left-color: #000 -} - -.tooltip-inner { - max-width: 200px; - padding: .25rem .5rem; - color: #fff; - text-align: center; - background-color: #000; - border-radius: .25rem -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: block; - max-width: 276px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.7; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: .875rem; - word-wrap: break-word; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: .3rem -} - -.popover .arrow { - position: absolute; - display: block; - width: 1rem; - height: .5rem; - margin: 0 6px -} - -.popover .arrow::after, -.popover .arrow::before { - position: absolute; - display: block; - content: '-2 -2 7 7'; - border-color: transparent; - border-style: solid -} - -.bs-popover-auto[x-placement^=top], -.bs-popover-top { - margin-bottom: .5rem -} - -.bs-popover-auto[x-placement^=top]>.arrow, -.bs-popover-top>.arrow { - bottom: calc((.5rem + 1px) * -1) -} - -.bs-popover-auto[x-placement^=top]>.arrow::before, -.bs-popover-top>.arrow::before { - bottom: 0; - border-width: .5rem .5rem 0; - border-top-color: rgba(0, 0, 0, .25) -} - -.bs-popover-auto[x-placement^=top]>.arrow::after, -.bs-popover-top>.arrow::after { - bottom: 1px; - border-width: .5rem .5rem 0; - border-top-color: #fff -} - -.bs-popover-auto[x-placement^=right], -.bs-popover-right { - margin-left: .5rem -} - -.bs-popover-auto[x-placement^=right]>.arrow, -.bs-popover-right>.arrow { - left: calc((.5rem + 1px) * -1); - width: .5rem; - height: 1rem; - margin: 6px 0 -} - -.bs-popover-auto[x-placement^=right]>.arrow::before, -.bs-popover-right>.arrow::before { - left: 0; - border-width: .5rem .5rem .5rem 0; - border-right-color: rgba(0, 0, 0, .25) -} - -.bs-popover-auto[x-placement^=right]>.arrow::after, -.bs-popover-right>.arrow::after { - left: 1px; - border-width: .5rem .5rem .5rem 0; - border-right-color: #fff -} - -.bs-popover-auto[x-placement^=bottom], -.bs-popover-bottom { - margin-top: .5rem -} - -.bs-popover-auto[x-placement^=bottom]>.arrow, -.bs-popover-bottom>.arrow { - top: calc((.5rem + 1px) * -1) -} - -.bs-popover-auto[x-placement^=bottom]>.arrow::before, -.bs-popover-bottom>.arrow::before { - top: 0; - border-width: 0 .5rem .5rem .5rem; - border-bottom-color: rgba(0, 0, 0, .25) -} - -.bs-popover-auto[x-placement^=bottom]>.arrow::after, -.bs-popover-bottom>.arrow::after { - top: 1px; - border-width: 0 .5rem .5rem .5rem; - border-bottom-color: #fff -} - -.bs-popover-auto[x-placement^=bottom] .popover-header::before, -.bs-popover-bottom .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: 1rem; - margin-left: -.5rem; - content: '%23dc3545'; - border-bottom: 1px solid #f7f7f7 -} - -.bs-popover-auto[x-placement^=left], -.bs-popover-left { - margin-right: .5rem -} - -.bs-popover-auto[x-placement^=left]>.arrow, -.bs-popover-left>.arrow { - right: calc((.5rem + 1px) * -1); - width: .5rem; - height: 1rem; - margin: 6px 0 -} - -.bs-popover-auto[x-placement^=left]>.arrow::before, -.bs-popover-left>.arrow::before { - right: 0; - border-width: .5rem 0 .5rem .5rem; - border-left-color: rgba(0, 0, 0, .25) -} - -.bs-popover-auto[x-placement^=left]>.arrow::after, -.bs-popover-left>.arrow::after { - right: 1px; - border-width: .5rem 0 .5rem .5rem; - border-left-color: #fff -} - -.popover-header { - padding: .5rem .75rem; - margin-bottom: 0; - font-size: 1rem; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-top-left-radius: calc(6px - 1px); - border-top-right-radius: calc(6px - 1px) -} - -.popover-header:empty { - display: none -} - -.popover-body { - padding: .5rem .75rem; - color: #212529 -} - -.carousel { - position: relative -} - -.carousel.pointer-event { - touch-action: pan-y -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden -} - -.carousel-inner::after { - display: block; - clear: both; - content: 'M0 0l3 3m0-3L0 3' -} - -.carousel-item { - position: relative; - display: none; - float: left; - width: 100%; - margin-right: -100%; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition: -webkit-transform .6s ease-in-out; - transition: -webkit-transform .6s ease-in-out; - transition: transform .6s ease-in-out; - transition: transform .6s ease-in-out, -webkit-transform .6s ease-in-out -} - -@media (prefers-reduced-motion:reduce) { - .carousel-item { - -webkit-transition: none; - transition: none - } - -} - -.carousel-item-next, -.carousel-item-prev, -.carousel-item.active { - display: block -} - -.active.carousel-item-right, -.carousel-item-next:not(.carousel-item-left) { - -webkit-transform: translateX(100%); - transform: translateX(100%) -} - -.active.carousel-item-left, -.carousel-item-prev:not(.carousel-item-right) { - -webkit-transform: translateX(-100%); - transform: translateX(-100%) -} - -.carousel-fade .carousel-item { - opacity: 0; - -webkit-transition-property: opacity; - transition-property: opacity; - -webkit-transform: none; - transform: none -} - -.carousel-fade .carousel-item-next.carousel-item-left, -.carousel-fade .carousel-item-prev.carousel-item-right, -.carousel-fade .carousel-item.active { - z-index: 1; - opacity: 1 -} - -.carousel-fade .active.carousel-item-left, -.carousel-fade .active.carousel-item-right { - z-index: 0; - opacity: 0; - -webkit-transition: 0s .6s opacity; - transition: 0s .6s opacity -} - -@media (prefers-reduced-motion:reduce) { - .carousel-fade .active.carousel-item-left, - .carousel-fade .active.carousel-item-right { - -webkit-transition: none; - transition: none - } - -} - -.carousel-control-next, -.carousel-control-prev { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center; - width: 15%; - color: #fff; - text-align: center; - opacity: .5; - -webkit-transition: opacity .15s ease; - transition: opacity .15s ease -} - -@media (prefers-reduced-motion:reduce) { - .carousel-control-next, - .carousel-control-prev { - -webkit-transition: none; - transition: none - } - -} - -.carousel-control-next:focus, -.carousel-control-next:hover, -.carousel-control-prev:focus, -.carousel-control-prev:hover { - color: #fff; - text-decoration: none; - outline: 0; - opacity: .9 -} - -.carousel-control-prev { - left: 0 -} - -.carousel-control-next { - right: 0 -} - -.carousel-control-next-icon, -.carousel-control-prev-icon { - display: inline-block; - width: 20px; - height: 20px; - background: no-repeat 50%/100% 100% -} - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!fill=!string!viewBox=!string!%3e%3cpath d=!string!/%3e%3c/svg%3e") -} - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!fill=!string!viewBox=!string!%3e%3cpath d=!string!/%3e%3c/svg%3e") -} - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 15; - display: -webkit-box; - display: flex; - -webkit-box-pack: center; - justify-content: center; - padding-left: 0; - margin-right: 15%; - margin-left: 15%; - list-style: none -} - -.carousel-indicators li { - box-sizing: content-box; - -webkit-box-flex: 0; - flex: 0 1 auto; - width: 30px; - height: 3px; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: #fff; - background-clip: padding-box; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: .5; - -webkit-transition: opacity .6s ease; - transition: opacity .6s ease -} - -@media (prefers-reduced-motion:reduce) { - .carousel-indicators li { - -webkit-transition: none; - transition: none - } - -} - -.carousel-indicators .active { - opacity: 1 -} - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center -} - -@-webkit-keyframes spinner-border { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } - -} - -@keyframes spinner-border { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } - -} - -.spinner-border { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: text-bottom; - border: .25em solid currentColor; - border-right-color: transparent; - border-radius: 50%; - -webkit-animation: spinner-border .75s linear infinite; - animation: spinner-border .75s linear infinite -} - -.spinner-border-sm { - width: 1rem; - height: 1rem; - border-width: .2em -} - -@-webkit-keyframes spinner-grow { - 0% { - -webkit-transform: scale(0); - transform: scale(0) - } - - 50% { - opacity: 1 - } - -} - -@keyframes spinner-grow { - 0% { - -webkit-transform: scale(0); - transform: scale(0) - } - - 50% { - opacity: 1 - } - -} - -.spinner-grow { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: text-bottom; - background-color: currentColor; - border-radius: 50%; - opacity: 0; - -webkit-animation: spinner-grow .75s linear infinite; - animation: spinner-grow .75s linear infinite -} - -.spinner-grow-sm { - width: 1rem; - height: 1rem -} - -.align-baseline { - vertical-align: baseline !important -} - -.align-top { - vertical-align: top !important -} - -.align-middle { - vertical-align: middle !important -} - -.align-bottom { - vertical-align: bottom !important -} - -.align-text-bottom { - vertical-align: text-bottom !important -} - -.align-text-top { - vertical-align: text-top !important -} - -.bg-primary { - background-color: #047006 !important -} - -a.bg-primary:focus, -a.bg-primary:hover, -button.bg-primary:focus, -button.bg-primary:hover { - background-color: #023f03 !important -} - -.bg-secondary { - background-color: grey !important -} - -a.bg-secondary:focus, -a.bg-secondary:hover, -button.bg-secondary:focus, -button.bg-secondary:hover { - background-color: #676767 !important -} - -.bg-success { - background-color: #00e093 !important -} - -a.bg-success:focus, -a.bg-success:hover, -button.bg-success:focus, -button.bg-success:hover { - background-color: #00ad72 !important -} - -.bg-info { - background-color: #6c61f6 !important -} - -a.bg-info:focus, -a.bg-info:hover, -button.bg-info:focus, -button.bg-info:hover { - background-color: #3f31f3 !important -} - -.bg-warning { - background-color: #f0825f !important -} - -a.bg-warning:focus, -a.bg-warning:hover, -button.bg-warning:focus, -button.bg-warning:hover { - background-color: #ec5e30 !important -} - -.bg-danger { - background-color: #ff5f66 !important -} - -a.bg-danger:focus, -a.bg-danger:hover, -button.bg-danger:focus, -button.bg-danger:hover { - background-color: #ff2c35 !important -} - -.bg-light { - background-color: #dfdfdf !important -} - -a.bg-light:focus, -a.bg-light:hover, -button.bg-light:focus, -button.bg-light:hover { - background-color: #c6c6c6 !important -} - -.bg-dark { - background-color: #74767b !important -} - -a.bg-dark:focus, -a.bg-dark:hover, -button.bg-dark:focus, -button.bg-dark:hover { - background-color: #5b5d61 !important -} - -.bg-white { - background-color: #fff !important -} - -a.bg-white:focus, -a.bg-white:hover, -button.bg-white:focus, -button.bg-white:hover { - background-color: #e6e6e6 !important -} - -.bg-orange { - background-color: #ffa600 !important -} - -a.bg-orange:focus, -a.bg-orange:hover, -button.bg-orange:focus, -button.bg-orange:hover { - background-color: #cc8500 !important -} - -.bg-white { - background-color: #fff !important -} - -.bg-transparent { - background-color: transparent !important -} - -.border { - border: 1px solid #f2f4f9 !important -} - -.border-top { - border-top: 1px solid #f2f4f9 !important -} - -.border-right { - border-right: 1px solid #f2f4f9 !important -} - -.border-bottom { - border-bottom: 1px solid #f2f4f9 !important -} - -.border-left { - border-left: 1px solid #f2f4f9 !important -} - -.border-0 { - border: 0 !important -} - -.border-top-0 { - border-top: 0 !important -} - -.border-right-0 { - border-right: 0 !important -} - -.border-bottom-0 { - border-bottom: 0 !important -} - -.border-left-0 { - border-left: 0 !important -} - -.border-primary { - border-color: #047006 !important -} - -.border-secondary { - border-color: grey !important -} - -.border-success { - border-color: #00e093 !important -} - -.border-info { - border-color: #6c61f6 !important -} - -.border-warning { - border-color: #f0825f !important -} - -.border-danger { - border-color: #ff5f66 !important -} - -.border-light { - border-color: #dfdfdf !important -} - -.border-dark { - border-color: #74767b !important -} - -.border-white { - border-color: #fff !important -} - -.border-orange { - border-color: #ffa600 !important -} - -.border-white { - border-color: #fff !important -} - -.rounded-sm { - border-radius: .2rem !important -} - -.rounded { - border-radius: 2px !important -} - -.rounded-top { - border-top-left-radius: 2px !important; - border-top-right-radius: 2px !important -} - -.rounded-right { - border-top-right-radius: 2px !important; - border-bottom-right-radius: 2px !important -} - -.rounded-bottom { - border-bottom-right-radius: 2px !important; - border-bottom-left-radius: 2px !important -} - -.rounded-left { - border-top-left-radius: 2px !important; - border-bottom-left-radius: 2px !important -} - -.rounded-lg { - border-radius: 6px !important -} - -.rounded-circle { - border-radius: 50% !important -} - -.rounded-pill { - border-radius: 50rem !important -} - -.rounded-0 { - border-radius: 0 !important -} - -.clearfix::after { - display: block; - clear: both; - content: '.5' -} - -.d-none { - display: none !important -} - -.d-inline { - display: inline !important -} - -.d-inline-block { - display: inline-block !important -} - -.d-block { - display: block !important -} - -.d-table { - display: table !important -} - -.d-table-row { - display: table-row !important -} - -.d-table-cell { - display: table-cell !important -} - -.d-flex { - display: -webkit-box !important; - display: flex !important -} - -.d-inline-flex { - display: -webkit-inline-box !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-row { - display: table-row !important - } - - .d-sm-table-cell { - display: table-cell !important - } - - .d-sm-flex { - display: -webkit-box !important; - display: flex !important - } - - .d-sm-inline-flex { - display: -webkit-inline-box !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-row { - display: table-row !important - } - - .d-md-table-cell { - display: table-cell !important - } - - .d-md-flex { - display: -webkit-box !important; - display: flex !important - } - - .d-md-inline-flex { - display: -webkit-inline-box !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-row { - display: table-row !important - } - - .d-lg-table-cell { - display: table-cell !important - } - - .d-lg-flex { - display: -webkit-box !important; - display: flex !important - } - - .d-lg-inline-flex { - display: -webkit-inline-box !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-row { - display: table-row !important - } - - .d-xl-table-cell { - display: table-cell !important - } - - .d-xl-flex { - display: -webkit-box !important; - display: flex !important - } - - .d-xl-inline-flex { - display: -webkit-inline-box !important; - display: inline-flex !important - } - -} - -@media print { - .d-print-none { - display: none !important - } - - .d-print-inline { - display: inline !important - } - - .d-print-inline-block { - display: inline-block !important - } - - .d-print-block { - display: block !important - } - - .d-print-table { - display: table !important - } - - .d-print-table-row { - display: table-row !important - } - - .d-print-table-cell { - display: table-cell !important - } - - .d-print-flex { - display: -webkit-box !important; - display: flex !important - } - - .d-print-inline-flex { - display: -webkit-inline-box !important; - display: inline-flex !important - } - -} - -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden -} - -.embed-responsive::before { - display: block; - content: '3' -} - -.embed-responsive .embed-responsive-item, -.embed-responsive embed, -.embed-responsive iframe, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0 -} - -.embed-responsive-21by9::before { - padding-top: 42.85714% -} - -.embed-responsive-16by9::before { - padding-top: 56.25% -} - -.embed-responsive-4by3::before { - padding-top: 75% -} - -.embed-responsive-1by1::before { - padding-top: 100% -} - -.embed-responsive-21by9::before { - padding-top: 42.85714% -} - -.embed-responsive-16by9::before { - padding-top: 56.25% -} - -.embed-responsive-4by3::before { - padding-top: 75% -} - -.embed-responsive-1by1::before { - padding-top: 100% -} - -.flex-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - flex-direction: row !important -} - -.flex-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - flex-direction: column !important -} - -.flex-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - flex-direction: row-reverse !important -} - -.flex-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - flex-direction: column-reverse !important -} - -.flex-wrap { - flex-wrap: wrap !important -} - -.flex-nowrap { - flex-wrap: nowrap !important -} - -.flex-wrap-reverse { - flex-wrap: wrap-reverse !important -} - -.flex-fill { - -webkit-box-flex: 1 !important; - flex: 1 1 auto !important -} - -.flex-grow-0 { - -webkit-box-flex: 0 !important; - flex-grow: 0 !important -} - -.flex-grow-1 { - -webkit-box-flex: 1 !important; - flex-grow: 1 !important -} - -.flex-shrink-0 { - flex-shrink: 0 !important -} - -.flex-shrink-1 { - flex-shrink: 1 !important -} - -.justify-content-start { - -webkit-box-pack: start !important; - justify-content: flex-start !important -} - -.justify-content-end { - -webkit-box-pack: end !important; - justify-content: flex-end !important -} - -.justify-content-center { - -webkit-box-pack: center !important; - justify-content: center !important -} - -.justify-content-between { - -webkit-box-pack: justify !important; - justify-content: space-between !important -} - -.justify-content-around { - justify-content: space-around !important -} - -.align-items-start { - -webkit-box-align: start !important; - align-items: flex-start !important -} - -.align-items-end { - -webkit-box-align: end !important; - align-items: flex-end !important -} - -.align-items-center { - -webkit-box-align: center !important; - align-items: center !important -} - -.align-items-baseline { - -webkit-box-align: baseline !important; - align-items: baseline !important -} - -.align-items-stretch { - -webkit-box-align: stretch !important; - align-items: stretch !important -} - -.align-content-start { - align-content: flex-start !important -} - -.align-content-end { - align-content: flex-end !important -} - -.align-content-center { - align-content: center !important -} - -.align-content-between { - align-content: space-between !important -} - -.align-content-around { - align-content: space-around !important -} - -.align-content-stretch { - align-content: stretch !important -} - -.align-self-auto { - align-self: auto !important -} - -.align-self-start { - align-self: flex-start !important -} - -.align-self-end { - align-self: flex-end !important -} - -.align-self-center { - align-self: center !important -} - -.align-self-baseline { - align-self: baseline !important -} - -.align-self-stretch { - align-self: stretch !important -} - -@media (min-width:576px) { - .flex-sm-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - flex-direction: row !important - } - - .flex-sm-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - flex-direction: column !important - } - - .flex-sm-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - flex-direction: row-reverse !important - } - - .flex-sm-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - flex-direction: column-reverse !important - } - - .flex-sm-wrap { - flex-wrap: wrap !important - } - - .flex-sm-nowrap { - flex-wrap: nowrap !important - } - - .flex-sm-wrap-reverse { - flex-wrap: wrap-reverse !important - } - - .flex-sm-fill { - -webkit-box-flex: 1 !important; - flex: 1 1 auto !important - } - - .flex-sm-grow-0 { - -webkit-box-flex: 0 !important; - flex-grow: 0 !important - } - - .flex-sm-grow-1 { - -webkit-box-flex: 1 !important; - flex-grow: 1 !important - } - - .flex-sm-shrink-0 { - flex-shrink: 0 !important - } - - .flex-sm-shrink-1 { - flex-shrink: 1 !important - } - - .justify-content-sm-start { - -webkit-box-pack: start !important; - justify-content: flex-start !important - } - - .justify-content-sm-end { - -webkit-box-pack: end !important; - justify-content: flex-end !important - } - - .justify-content-sm-center { - -webkit-box-pack: center !important; - justify-content: center !important - } - - .justify-content-sm-between { - -webkit-box-pack: justify !important; - justify-content: space-between !important - } - - .justify-content-sm-around { - justify-content: space-around !important - } - - .align-items-sm-start { - -webkit-box-align: start !important; - align-items: flex-start !important - } - - .align-items-sm-end { - -webkit-box-align: end !important; - align-items: flex-end !important - } - - .align-items-sm-center { - -webkit-box-align: center !important; - align-items: center !important - } - - .align-items-sm-baseline { - -webkit-box-align: baseline !important; - align-items: baseline !important - } - - .align-items-sm-stretch { - -webkit-box-align: stretch !important; - align-items: stretch !important - } - - .align-content-sm-start { - align-content: flex-start !important - } - - .align-content-sm-end { - align-content: flex-end !important - } - - .align-content-sm-center { - align-content: center !important - } - - .align-content-sm-between { - align-content: space-between !important - } - - .align-content-sm-around { - align-content: space-around !important - } - - .align-content-sm-stretch { - align-content: stretch !important - } - - .align-self-sm-auto { - align-self: auto !important - } - - .align-self-sm-start { - align-self: flex-start !important - } - - .align-self-sm-end { - align-self: flex-end !important - } - - .align-self-sm-center { - align-self: center !important - } - - .align-self-sm-baseline { - align-self: baseline !important - } - - .align-self-sm-stretch { - align-self: stretch !important - } - -} - -@media (min-width:768px) { - .flex-md-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - flex-direction: row !important - } - - .flex-md-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - flex-direction: column !important - } - - .flex-md-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - flex-direction: row-reverse !important - } - - .flex-md-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - flex-direction: column-reverse !important - } - - .flex-md-wrap { - flex-wrap: wrap !important - } - - .flex-md-nowrap { - flex-wrap: nowrap !important - } - - .flex-md-wrap-reverse { - flex-wrap: wrap-reverse !important - } - - .flex-md-fill { - -webkit-box-flex: 1 !important; - flex: 1 1 auto !important - } - - .flex-md-grow-0 { - -webkit-box-flex: 0 !important; - flex-grow: 0 !important - } - - .flex-md-grow-1 { - -webkit-box-flex: 1 !important; - flex-grow: 1 !important - } - - .flex-md-shrink-0 { - flex-shrink: 0 !important - } - - .flex-md-shrink-1 { - flex-shrink: 1 !important - } - - .justify-content-md-start { - -webkit-box-pack: start !important; - justify-content: flex-start !important - } - - .justify-content-md-end { - -webkit-box-pack: end !important; - justify-content: flex-end !important - } - - .justify-content-md-center { - -webkit-box-pack: center !important; - justify-content: center !important - } - - .justify-content-md-between { - -webkit-box-pack: justify !important; - justify-content: space-between !important - } - - .justify-content-md-around { - justify-content: space-around !important - } - - .align-items-md-start { - -webkit-box-align: start !important; - align-items: flex-start !important - } - - .align-items-md-end { - -webkit-box-align: end !important; - align-items: flex-end !important - } - - .align-items-md-center { - -webkit-box-align: center !important; - align-items: center !important - } - - .align-items-md-baseline { - -webkit-box-align: baseline !important; - align-items: baseline !important - } - - .align-items-md-stretch { - -webkit-box-align: stretch !important; - align-items: stretch !important - } - - .align-content-md-start { - align-content: flex-start !important - } - - .align-content-md-end { - align-content: flex-end !important - } - - .align-content-md-center { - align-content: center !important - } - - .align-content-md-between { - align-content: space-between !important - } - - .align-content-md-around { - align-content: space-around !important - } - - .align-content-md-stretch { - align-content: stretch !important - } - - .align-self-md-auto { - align-self: auto !important - } - - .align-self-md-start { - align-self: flex-start !important - } - - .align-self-md-end { - align-self: flex-end !important - } - - .align-self-md-center { - align-self: center !important - } - - .align-self-md-baseline { - align-self: baseline !important - } - - .align-self-md-stretch { - align-self: stretch !important - } - -} - -@media (min-width:992px) { - .flex-lg-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - flex-direction: row !important - } - - .flex-lg-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - flex-direction: column !important - } - - .flex-lg-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - flex-direction: row-reverse !important - } - - .flex-lg-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - flex-direction: column-reverse !important - } - - .flex-lg-wrap { - flex-wrap: wrap !important - } - - .flex-lg-nowrap { - flex-wrap: nowrap !important - } - - .flex-lg-wrap-reverse { - flex-wrap: wrap-reverse !important - } - - .flex-lg-fill { - -webkit-box-flex: 1 !important; - flex: 1 1 auto !important - } - - .flex-lg-grow-0 { - -webkit-box-flex: 0 !important; - flex-grow: 0 !important - } - - .flex-lg-grow-1 { - -webkit-box-flex: 1 !important; - flex-grow: 1 !important - } - - .flex-lg-shrink-0 { - flex-shrink: 0 !important - } - - .flex-lg-shrink-1 { - flex-shrink: 1 !important - } - - .justify-content-lg-start { - -webkit-box-pack: start !important; - justify-content: flex-start !important - } - - .justify-content-lg-end { - -webkit-box-pack: end !important; - justify-content: flex-end !important - } - - .justify-content-lg-center { - -webkit-box-pack: center !important; - justify-content: center !important - } - - .justify-content-lg-between { - -webkit-box-pack: justify !important; - justify-content: space-between !important - } - - .justify-content-lg-around { - justify-content: space-around !important - } - - .align-items-lg-start { - -webkit-box-align: start !important; - align-items: flex-start !important - } - - .align-items-lg-end { - -webkit-box-align: end !important; - align-items: flex-end !important - } - - .align-items-lg-center { - -webkit-box-align: center !important; - align-items: center !important - } - - .align-items-lg-baseline { - -webkit-box-align: baseline !important; - align-items: baseline !important - } - - .align-items-lg-stretch { - -webkit-box-align: stretch !important; - align-items: stretch !important - } - - .align-content-lg-start { - align-content: flex-start !important - } - - .align-content-lg-end { - align-content: flex-end !important - } - - .align-content-lg-center { - align-content: center !important - } - - .align-content-lg-between { - align-content: space-between !important - } - - .align-content-lg-around { - align-content: space-around !important - } - - .align-content-lg-stretch { - align-content: stretch !important - } - - .align-self-lg-auto { - align-self: auto !important - } - - .align-self-lg-start { - align-self: flex-start !important - } - - .align-self-lg-end { - align-self: flex-end !important - } - - .align-self-lg-center { - align-self: center !important - } - - .align-self-lg-baseline { - align-self: baseline !important - } - - .align-self-lg-stretch { - align-self: stretch !important - } - -} - -@media (min-width:1200px) { - .flex-xl-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - flex-direction: row !important - } - - .flex-xl-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - flex-direction: column !important - } - - .flex-xl-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - flex-direction: row-reverse !important - } - - .flex-xl-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - flex-direction: column-reverse !important - } - - .flex-xl-wrap { - flex-wrap: wrap !important - } - - .flex-xl-nowrap { - flex-wrap: nowrap !important - } - - .flex-xl-wrap-reverse { - flex-wrap: wrap-reverse !important - } - - .flex-xl-fill { - -webkit-box-flex: 1 !important; - flex: 1 1 auto !important - } - - .flex-xl-grow-0 { - -webkit-box-flex: 0 !important; - flex-grow: 0 !important - } - - .flex-xl-grow-1 { - -webkit-box-flex: 1 !important; - flex-grow: 1 !important - } - - .flex-xl-shrink-0 { - flex-shrink: 0 !important - } - - .flex-xl-shrink-1 { - flex-shrink: 1 !important - } - - .justify-content-xl-start { - -webkit-box-pack: start !important; - justify-content: flex-start !important - } - - .justify-content-xl-end { - -webkit-box-pack: end !important; - justify-content: flex-end !important - } - - .justify-content-xl-center { - -webkit-box-pack: center !important; - justify-content: center !important - } - - .justify-content-xl-between { - -webkit-box-pack: justify !important; - justify-content: space-between !important - } - - .justify-content-xl-around { - justify-content: space-around !important - } - - .align-items-xl-start { - -webkit-box-align: start !important; - align-items: flex-start !important - } - - .align-items-xl-end { - -webkit-box-align: end !important; - align-items: flex-end !important - } - - .align-items-xl-center { - -webkit-box-align: center !important; - align-items: center !important - } - - .align-items-xl-baseline { - -webkit-box-align: baseline !important; - align-items: baseline !important - } - - .align-items-xl-stretch { - -webkit-box-align: stretch !important; - align-items: stretch !important - } - - .align-content-xl-start { - align-content: flex-start !important - } - - .align-content-xl-end { - align-content: flex-end !important - } - - .align-content-xl-center { - align-content: center !important - } - - .align-content-xl-between { - align-content: space-between !important - } - - .align-content-xl-around { - align-content: space-around !important - } - - .align-content-xl-stretch { - align-content: stretch !important - } - - .align-self-xl-auto { - align-self: auto !important - } - - .align-self-xl-start { - align-self: flex-start !important - } - - .align-self-xl-end { - align-self: flex-end !important - } - - .align-self-xl-center { - align-self: center !important - } - - .align-self-xl-baseline { - align-self: baseline !important - } - - .align-self-xl-stretch { - align-self: stretch !important - } - -} - -.float-left { - float: left !important -} - -.float-right { - float: right !important -} - -.float-none { - float: none !important -} - -@media (min-width:576px) { - .float-sm-left { - float: left !important - } - - .float-sm-right { - float: right !important - } - - .float-sm-none { - float: none !important - } - -} - -@media (min-width:768px) { - .float-md-left { - float: left !important - } - - .float-md-right { - float: right !important - } - - .float-md-none { - float: none !important - } - -} - -@media (min-width:992px) { - .float-lg-left { - float: left !important - } - - .float-lg-right { - float: right !important - } - - .float-lg-none { - float: none !important - } - -} - -@media (min-width:1200px) { - .float-xl-left { - float: left !important - } - - .float-xl-right { - float: right !important - } - - .float-xl-none { - float: none !important - } - -} - -.overflow-auto { - overflow: auto !important -} - -.overflow-hidden { - overflow: hidden !important -} - -.position-static { - position: static !important -} - -.position-relative { - position: relative !important -} - -.position-absolute { - position: absolute !important -} - -.position-fixed { - position: fixed !important -} - -.position-sticky { - position: -webkit-sticky !important; - position: sticky !important -} - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030 -} - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030 -} - -@supports ((position:-webkit-sticky) or (position:sticky)) { - .sticky-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020 - } - -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0 -} - -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - overflow: visible; - clip: auto; - white-space: normal -} - -.shadow-sm { - box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important -} - -.shadow { - box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important -} - -.shadow-lg { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important -} - -.shadow-none { - box-shadow: none !important -} - -.w-25 { - width: 25% !important -} - -.w-50 { - width: 50% !important -} - -.w-75 { - width: 75% !important -} - -.w-100 { - width: 100% !important -} - -.w-auto { - width: auto !important -} - -.h-25 { - height: 25% !important -} - -.h-50 { - height: 50% !important -} - -.h-75 { - height: 75% !important -} - -.h-100 { - height: 100% !important -} - -.h-auto { - height: auto !important -} - -.mw-100 { - max-width: 100% !important -} - -.mh-100 { - max-height: 100% !important -} - -.min-vw-100 { - min-width: 100vw !important -} - -.min-vh-100 { - min-height: 100vh !important -} - -.vw-100 { - width: 100vw !important -} - -.vh-100 { - height: 100vh !important -} - -.stretched-link::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - pointer-events: auto; - content: '.5'; - background-color: rgba(0, 0, 0, 0) -} - -.m-0 { - margin: 0 !important -} - -.mt-0, -.my-0 { - margin-top: 0 !important -} - -.mr-0, -.mx-0 { - margin-right: 0 !important -} - -.mb-0, -.my-0 { - margin-bottom: 0 !important -} - -.ml-0, -.mx-0 { - margin-left: 0 !important -} - -.m-1 { - margin: .25rem !important -} - -.mt-1, -.my-1 { - margin-top: .25rem !important -} - -.mr-1, -.mx-1 { - margin-right: .25rem !important -} - -.mb-1, -.my-1 { - margin-bottom: .25rem !important -} - -.ml-1, -.mx-1 { - margin-left: .25rem !important -} - -.m-2 { - margin: .5rem !important -} - -.mt-2, -.my-2 { - margin-top: .5rem !important -} - -.mr-2, -.mx-2 { - margin-right: .5rem !important -} - -.mb-2, -.my-2 { - margin-bottom: .5rem !important -} - -.ml-2, -.mx-2 { - margin-left: .5rem !important -} - -.m-3 { - margin: 1rem !important -} - -.mt-3, -.my-3 { - margin-top: 1rem !important -} - -.mr-3, -.mx-3 { - margin-right: 1rem !important -} - -.mb-3, -.my-3 { - margin-bottom: 1rem !important -} - -.ml-3, -.mx-3 { - margin-left: 1rem !important -} - -.m-4 { - margin: 1.5rem !important -} - -.mt-4, -.my-4 { - margin-top: 1.5rem !important -} - -.mr-4, -.mx-4 { - margin-right: 1.5rem !important -} - -.mb-4, -.my-4 { - margin-bottom: 1.5rem !important -} - -.ml-4, -.mx-4 { - margin-left: 1.5rem !important -} - -.m-5 { - margin: 3rem !important -} - -.mt-5, -.my-5 { - margin-top: 3rem !important -} - -.mr-5, -.mx-5 { - margin-right: 3rem !important -} - -.mb-5, -.my-5 { - margin-bottom: 3rem !important -} - -.ml-5, -.mx-5 { - margin-left: 3rem !important -} - -.p-0 { - padding: 0 !important -} - -.pt-0, -.py-0 { - padding-top: 0 !important -} - -.pr-0, -.px-0 { - padding-right: 0 !important -} - -.pb-0, -.py-0 { - padding-bottom: 0 !important -} - -.pl-0, -.px-0 { - padding-left: 0 !important -} - -.p-1 { - padding: .25rem !important -} - -.pt-1, -.py-1 { - padding-top: .25rem !important -} - -.pr-1, -.px-1 { - padding-right: .25rem !important -} - -.pb-1, -.py-1 { - padding-bottom: .25rem !important -} - -.pl-1, -.px-1 { - padding-left: .25rem !important -} - -.p-2 { - padding: .5rem !important -} - -.pt-2, -.py-2 { - padding-top: .5rem !important -} - -.pr-2, -.px-2 { - padding-right: .5rem !important -} - -.pb-2, -.py-2 { - padding-bottom: .5rem !important -} - -.pl-2, -.px-2 { - padding-left: .5rem !important -} - -.p-3 { - padding: 1rem !important -} - -.pt-3, -.py-3 { - padding-top: 1rem !important -} - -.pr-3, -.px-3 { - padding-right: 1rem !important -} - -.pb-3, -.py-3 { - padding-bottom: 1rem !important -} - -.pl-3, -.px-3 { - padding-left: 1rem !important -} - -.p-4 { - padding: 1.5rem !important -} - -.pt-4, -.py-4 { - padding-top: 1.5rem !important -} - -.pr-4, -.px-4 { - padding-right: 1.5rem !important -} - -.pb-4, -.py-4 { - padding-bottom: 1.5rem !important -} - -.pl-4, -.px-4 { - padding-left: 1.5rem !important -} - -.p-5 { - padding: 3rem !important -} - -.pt-5, -.py-5 { - padding-top: 3rem !important -} - -.pr-5, -.px-5 { - padding-right: 3rem !important -} - -.pb-5, -.py-5 { - padding-bottom: 3rem !important -} - -.pl-5, -.px-5 { - padding-left: 3rem !important -} - -.m-n1 { - margin: -.25rem !important -} - -.mt-n1, -.my-n1 { - margin-top: -.25rem !important -} - -.mr-n1, -.mx-n1 { - margin-right: -.25rem !important -} - -.mb-n1, -.my-n1 { - margin-bottom: -.25rem !important -} - -.ml-n1, -.mx-n1 { - margin-left: -.25rem !important -} - -.m-n2 { - margin: -.5rem !important -} - -.mt-n2, -.my-n2 { - margin-top: -.5rem !important -} - -.mr-n2, -.mx-n2 { - margin-right: -.5rem !important -} - -.mb-n2, -.my-n2 { - margin-bottom: -.5rem !important -} - -.ml-n2, -.mx-n2 { - margin-left: -.5rem !important -} - -.m-n3 { - margin: -1rem !important -} - -.mt-n3, -.my-n3 { - margin-top: -1rem !important -} - -.mr-n3, -.mx-n3 { - margin-right: -1rem !important -} - -.mb-n3, -.my-n3 { - margin-bottom: -1rem !important -} - -.ml-n3, -.mx-n3 { - margin-left: -1rem !important -} - -.m-n4 { - margin: -1.5rem !important -} - -.mt-n4, -.my-n4 { - margin-top: -1.5rem !important -} - -.mr-n4, -.mx-n4 { - margin-right: -1.5rem !important -} - -.mb-n4, -.my-n4 { - margin-bottom: -1.5rem !important -} - -.ml-n4, -.mx-n4 { - margin-left: -1.5rem !important -} - -.m-n5 { - margin: -3rem !important -} - -.mt-n5, -.my-n5 { - margin-top: -3rem !important -} - -.mr-n5, -.mx-n5 { - margin-right: -3rem !important -} - -.mb-n5, -.my-n5 { - margin-bottom: -3rem !important -} - -.ml-n5, -.mx-n5 { - margin-left: -3rem !important -} - -.m-auto { - margin: auto !important -} - -.mt-auto, -.my-auto { - margin-top: auto !important -} - -.mr-auto, -.mx-auto { - margin-right: auto !important -} - -.mb-auto, -.my-auto { - margin-bottom: auto !important -} - -.ml-auto, -.mx-auto { - margin-left: auto !important -} - -@media (min-width:576px) { - .m-sm-0 { - margin: 0 !important - } - - .mt-sm-0, - .my-sm-0 { - margin-top: 0 !important - } - - .mr-sm-0, - .mx-sm-0 { - margin-right: 0 !important - } - - .mb-sm-0, - .my-sm-0 { - margin-bottom: 0 !important - } - - .ml-sm-0, - .mx-sm-0 { - margin-left: 0 !important - } - - .m-sm-1 { - margin: .25rem !important - } - - .mt-sm-1, - .my-sm-1 { - margin-top: .25rem !important - } - - .mr-sm-1, - .mx-sm-1 { - margin-right: .25rem !important - } - - .mb-sm-1, - .my-sm-1 { - margin-bottom: .25rem !important - } - - .ml-sm-1, - .mx-sm-1 { - margin-left: .25rem !important - } - - .m-sm-2 { - margin: .5rem !important - } - - .mt-sm-2, - .my-sm-2 { - margin-top: .5rem !important - } - - .mr-sm-2, - .mx-sm-2 { - margin-right: .5rem !important - } - - .mb-sm-2, - .my-sm-2 { - margin-bottom: .5rem !important - } - - .ml-sm-2, - .mx-sm-2 { - margin-left: .5rem !important - } - - .m-sm-3 { - margin: 1rem !important - } - - .mt-sm-3, - .my-sm-3 { - margin-top: 1rem !important - } - - .mr-sm-3, - .mx-sm-3 { - margin-right: 1rem !important - } - - .mb-sm-3, - .my-sm-3 { - margin-bottom: 1rem !important - } - - .ml-sm-3, - .mx-sm-3 { - margin-left: 1rem !important - } - - .m-sm-4 { - margin: 1.5rem !important - } - - .mt-sm-4, - .my-sm-4 { - margin-top: 1.5rem !important - } - - .mr-sm-4, - .mx-sm-4 { - margin-right: 1.5rem !important - } - - .mb-sm-4, - .my-sm-4 { - margin-bottom: 1.5rem !important - } - - .ml-sm-4, - .mx-sm-4 { - margin-left: 1.5rem !important - } - - .m-sm-5 { - margin: 3rem !important - } - - .mt-sm-5, - .my-sm-5 { - margin-top: 3rem !important - } - - .mr-sm-5, - .mx-sm-5 { - margin-right: 3rem !important - } - - .mb-sm-5, - .my-sm-5 { - margin-bottom: 3rem !important - } - - .ml-sm-5, - .mx-sm-5 { - margin-left: 3rem !important - } - - .p-sm-0 { - padding: 0 !important - } - - .pt-sm-0, - .py-sm-0 { - padding-top: 0 !important - } - - .pr-sm-0, - .px-sm-0 { - padding-right: 0 !important - } - - .pb-sm-0, - .py-sm-0 { - padding-bottom: 0 !important - } - - .pl-sm-0, - .px-sm-0 { - padding-left: 0 !important - } - - .p-sm-1 { - padding: .25rem !important - } - - .pt-sm-1, - .py-sm-1 { - padding-top: .25rem !important - } - - .pr-sm-1, - .px-sm-1 { - padding-right: .25rem !important - } - - .pb-sm-1, - .py-sm-1 { - padding-bottom: .25rem !important - } - - .pl-sm-1, - .px-sm-1 { - padding-left: .25rem !important - } - - .p-sm-2 { - padding: .5rem !important - } - - .pt-sm-2, - .py-sm-2 { - padding-top: .5rem !important - } - - .pr-sm-2, - .px-sm-2 { - padding-right: .5rem !important - } - - .pb-sm-2, - .py-sm-2 { - padding-bottom: .5rem !important - } - - .pl-sm-2, - .px-sm-2 { - padding-left: .5rem !important - } - - .p-sm-3 { - padding: 1rem !important - } - - .pt-sm-3, - .py-sm-3 { - padding-top: 1rem !important - } - - .pr-sm-3, - .px-sm-3 { - padding-right: 1rem !important - } - - .pb-sm-3, - .py-sm-3 { - padding-bottom: 1rem !important - } - - .pl-sm-3, - .px-sm-3 { - padding-left: 1rem !important - } - - .p-sm-4 { - padding: 1.5rem !important - } - - .pt-sm-4, - .py-sm-4 { - padding-top: 1.5rem !important - } - - .pr-sm-4, - .px-sm-4 { - padding-right: 1.5rem !important - } - - .pb-sm-4, - .py-sm-4 { - padding-bottom: 1.5rem !important - } - - .pl-sm-4, - .px-sm-4 { - padding-left: 1.5rem !important - } - - .p-sm-5 { - padding: 3rem !important - } - - .pt-sm-5, - .py-sm-5 { - padding-top: 3rem !important - } - - .pr-sm-5, - .px-sm-5 { - padding-right: 3rem !important - } - - .pb-sm-5, - .py-sm-5 { - padding-bottom: 3rem !important - } - - .pl-sm-5, - .px-sm-5 { - padding-left: 3rem !important - } - - .m-sm-n1 { - margin: -.25rem !important - } - - .mt-sm-n1, - .my-sm-n1 { - margin-top: -.25rem !important - } - - .mr-sm-n1, - .mx-sm-n1 { - margin-right: -.25rem !important - } - - .mb-sm-n1, - .my-sm-n1 { - margin-bottom: -.25rem !important - } - - .ml-sm-n1, - .mx-sm-n1 { - margin-left: -.25rem !important - } - - .m-sm-n2 { - margin: -.5rem !important - } - - .mt-sm-n2, - .my-sm-n2 { - margin-top: -.5rem !important - } - - .mr-sm-n2, - .mx-sm-n2 { - margin-right: -.5rem !important - } - - .mb-sm-n2, - .my-sm-n2 { - margin-bottom: -.5rem !important - } - - .ml-sm-n2, - .mx-sm-n2 { - margin-left: -.5rem !important - } - - .m-sm-n3 { - margin: -1rem !important - } - - .mt-sm-n3, - .my-sm-n3 { - margin-top: -1rem !important - } - - .mr-sm-n3, - .mx-sm-n3 { - margin-right: -1rem !important - } - - .mb-sm-n3, - .my-sm-n3 { - margin-bottom: -1rem !important - } - - .ml-sm-n3, - .mx-sm-n3 { - margin-left: -1rem !important - } - - .m-sm-n4 { - margin: -1.5rem !important - } - - .mt-sm-n4, - .my-sm-n4 { - margin-top: -1.5rem !important - } - - .mr-sm-n4, - .mx-sm-n4 { - margin-right: -1.5rem !important - } - - .mb-sm-n4, - .my-sm-n4 { - margin-bottom: -1.5rem !important - } - - .ml-sm-n4, - .mx-sm-n4 { - margin-left: -1.5rem !important - } - - .m-sm-n5 { - margin: -3rem !important - } - - .mt-sm-n5, - .my-sm-n5 { - margin-top: -3rem !important - } - - .mr-sm-n5, - .mx-sm-n5 { - margin-right: -3rem !important - } - - .mb-sm-n5, - .my-sm-n5 { - margin-bottom: -3rem !important - } - - .ml-sm-n5, - .mx-sm-n5 { - margin-left: -3rem !important - } - - .m-sm-auto { - margin: auto !important - } - - .mt-sm-auto, - .my-sm-auto { - margin-top: auto !important - } - - .mr-sm-auto, - .mx-sm-auto { - margin-right: auto !important - } - - .mb-sm-auto, - .my-sm-auto { - margin-bottom: auto !important - } - - .ml-sm-auto, - .mx-sm-auto { - margin-left: auto !important - } - -} - -@media (min-width:768px) { - .m-md-0 { - margin: 0 !important - } - - .mt-md-0, - .my-md-0 { - margin-top: 0 !important - } - - .mr-md-0, - .mx-md-0 { - margin-right: 0 !important - } - - .mb-md-0, - .my-md-0 { - margin-bottom: 0 !important - } - - .ml-md-0, - .mx-md-0 { - margin-left: 0 !important - } - - .m-md-1 { - margin: .25rem !important - } - - .mt-md-1, - .my-md-1 { - margin-top: .25rem !important - } - - .mr-md-1, - .mx-md-1 { - margin-right: .25rem !important - } - - .mb-md-1, - .my-md-1 { - margin-bottom: .25rem !important - } - - .ml-md-1, - .mx-md-1 { - margin-left: .25rem !important - } - - .m-md-2 { - margin: .5rem !important - } - - .mt-md-2, - .my-md-2 { - margin-top: .5rem !important - } - - .mr-md-2, - .mx-md-2 { - margin-right: .5rem !important - } - - .mb-md-2, - .my-md-2 { - margin-bottom: .5rem !important - } - - .ml-md-2, - .mx-md-2 { - margin-left: .5rem !important - } - - .m-md-3 { - margin: 1rem !important - } - - .mt-md-3, - .my-md-3 { - margin-top: 1rem !important - } - - .mr-md-3, - .mx-md-3 { - margin-right: 1rem !important - } - - .mb-md-3, - .my-md-3 { - margin-bottom: 1rem !important - } - - .ml-md-3, - .mx-md-3 { - margin-left: 1rem !important - } - - .m-md-4 { - margin: 1.5rem !important - } - - .mt-md-4, - .my-md-4 { - margin-top: 1.5rem !important - } - - .mr-md-4, - .mx-md-4 { - margin-right: 1.5rem !important - } - - .mb-md-4, - .my-md-4 { - margin-bottom: 1.5rem !important - } - - .ml-md-4, - .mx-md-4 { - margin-left: 1.5rem !important - } - - .m-md-5 { - margin: 3rem !important - } - - .mt-md-5, - .my-md-5 { - margin-top: 3rem !important - } - - .mr-md-5, - .mx-md-5 { - margin-right: 3rem !important - } - - .mb-md-5, - .my-md-5 { - margin-bottom: 3rem !important - } - - .ml-md-5, - .mx-md-5 { - margin-left: 3rem !important - } - - .p-md-0 { - padding: 0 !important - } - - .pt-md-0, - .py-md-0 { - padding-top: 0 !important - } - - .pr-md-0, - .px-md-0 { - padding-right: 0 !important - } - - .pb-md-0, - .py-md-0 { - padding-bottom: 0 !important - } - - .pl-md-0, - .px-md-0 { - padding-left: 0 !important - } - - .p-md-1 { - padding: .25rem !important - } - - .pt-md-1, - .py-md-1 { - padding-top: .25rem !important - } - - .pr-md-1, - .px-md-1 { - padding-right: .25rem !important - } - - .pb-md-1, - .py-md-1 { - padding-bottom: .25rem !important - } - - .pl-md-1, - .px-md-1 { - padding-left: .25rem !important - } - - .p-md-2 { - padding: .5rem !important - } - - .pt-md-2, - .py-md-2 { - padding-top: .5rem !important - } - - .pr-md-2, - .px-md-2 { - padding-right: .5rem !important - } - - .pb-md-2, - .py-md-2 { - padding-bottom: .5rem !important - } - - .pl-md-2, - .px-md-2 { - padding-left: .5rem !important - } - - .p-md-3 { - padding: 1rem !important - } - - .pt-md-3, - .py-md-3 { - padding-top: 1rem !important - } - - .pr-md-3, - .px-md-3 { - padding-right: 1rem !important - } - - .pb-md-3, - .py-md-3 { - padding-bottom: 1rem !important - } - - .pl-md-3, - .px-md-3 { - padding-left: 1rem !important - } - - .p-md-4 { - padding: 1.5rem !important - } - - .pt-md-4, - .py-md-4 { - padding-top: 1.5rem !important - } - - .pr-md-4, - .px-md-4 { - padding-right: 1.5rem !important - } - - .pb-md-4, - .py-md-4 { - padding-bottom: 1.5rem !important - } - - .pl-md-4, - .px-md-4 { - padding-left: 1.5rem !important - } - - .p-md-5 { - padding: 3rem !important - } - - .pt-md-5, - .py-md-5 { - padding-top: 3rem !important - } - - .pr-md-5, - .px-md-5 { - padding-right: 3rem !important - } - - .pb-md-5, - .py-md-5 { - padding-bottom: 3rem !important - } - - .pl-md-5, - .px-md-5 { - padding-left: 3rem !important - } - - .m-md-n1 { - margin: -.25rem !important - } - - .mt-md-n1, - .my-md-n1 { - margin-top: -.25rem !important - } - - .mr-md-n1, - .mx-md-n1 { - margin-right: -.25rem !important - } - - .mb-md-n1, - .my-md-n1 { - margin-bottom: -.25rem !important - } - - .ml-md-n1, - .mx-md-n1 { - margin-left: -.25rem !important - } - - .m-md-n2 { - margin: -.5rem !important - } - - .mt-md-n2, - .my-md-n2 { - margin-top: -.5rem !important - } - - .mr-md-n2, - .mx-md-n2 { - margin-right: -.5rem !important - } - - .mb-md-n2, - .my-md-n2 { - margin-bottom: -.5rem !important - } - - .ml-md-n2, - .mx-md-n2 { - margin-left: -.5rem !important - } - - .m-md-n3 { - margin: -1rem !important - } - - .mt-md-n3, - .my-md-n3 { - margin-top: -1rem !important - } - - .mr-md-n3, - .mx-md-n3 { - margin-right: -1rem !important - } - - .mb-md-n3, - .my-md-n3 { - margin-bottom: -1rem !important - } - - .ml-md-n3, - .mx-md-n3 { - margin-left: -1rem !important - } - - .m-md-n4 { - margin: -1.5rem !important - } - - .mt-md-n4, - .my-md-n4 { - margin-top: -1.5rem !important - } - - .mr-md-n4, - .mx-md-n4 { - margin-right: -1.5rem !important - } - - .mb-md-n4, - .my-md-n4 { - margin-bottom: -1.5rem !important - } - - .ml-md-n4, - .mx-md-n4 { - margin-left: -1.5rem !important - } - - .m-md-n5 { - margin: -3rem !important - } - - .mt-md-n5, - .my-md-n5 { - margin-top: -3rem !important - } - - .mr-md-n5, - .mx-md-n5 { - margin-right: -3rem !important - } - - .mb-md-n5, - .my-md-n5 { - margin-bottom: -3rem !important - } - - .ml-md-n5, - .mx-md-n5 { - margin-left: -3rem !important - } - - .m-md-auto { - margin: auto !important - } - - .mt-md-auto, - .my-md-auto { - margin-top: auto !important - } - - .mr-md-auto, - .mx-md-auto { - margin-right: auto !important - } - - .mb-md-auto, - .my-md-auto { - margin-bottom: auto !important - } - - .ml-md-auto, - .mx-md-auto { - margin-left: auto !important - } - -} - -@media (min-width:992px) { - .m-lg-0 { - margin: 0 !important - } - - .mt-lg-0, - .my-lg-0 { - margin-top: 0 !important - } - - .mr-lg-0, - .mx-lg-0 { - margin-right: 0 !important - } - - .mb-lg-0, - .my-lg-0 { - margin-bottom: 0 !important - } - - .ml-lg-0, - .mx-lg-0 { - margin-left: 0 !important - } - - .m-lg-1 { - margin: .25rem !important - } - - .mt-lg-1, - .my-lg-1 { - margin-top: .25rem !important - } - - .mr-lg-1, - .mx-lg-1 { - margin-right: .25rem !important - } - - .mb-lg-1, - .my-lg-1 { - margin-bottom: .25rem !important - } - - .ml-lg-1, - .mx-lg-1 { - margin-left: .25rem !important - } - - .m-lg-2 { - margin: .5rem !important - } - - .mt-lg-2, - .my-lg-2 { - margin-top: .5rem !important - } - - .mr-lg-2, - .mx-lg-2 { - margin-right: .5rem !important - } - - .mb-lg-2, - .my-lg-2 { - margin-bottom: .5rem !important - } - - .ml-lg-2, - .mx-lg-2 { - margin-left: .5rem !important - } - - .m-lg-3 { - margin: 1rem !important - } - - .mt-lg-3, - .my-lg-3 { - margin-top: 1rem !important - } - - .mr-lg-3, - .mx-lg-3 { - margin-right: 1rem !important - } - - .mb-lg-3, - .my-lg-3 { - margin-bottom: 1rem !important - } - - .ml-lg-3, - .mx-lg-3 { - margin-left: 1rem !important - } - - .m-lg-4 { - margin: 1.5rem !important - } - - .mt-lg-4, - .my-lg-4 { - margin-top: 1.5rem !important - } - - .mr-lg-4, - .mx-lg-4 { - margin-right: 1.5rem !important - } - - .mb-lg-4, - .my-lg-4 { - margin-bottom: 1.5rem !important - } - - .ml-lg-4, - .mx-lg-4 { - margin-left: 1.5rem !important - } - - .m-lg-5 { - margin: 3rem !important - } - - .mt-lg-5, - .my-lg-5 { - margin-top: 3rem !important - } - - .mr-lg-5, - .mx-lg-5 { - margin-right: 3rem !important - } - - .mb-lg-5, - .my-lg-5 { - margin-bottom: 3rem !important - } - - .ml-lg-5, - .mx-lg-5 { - margin-left: 3rem !important - } - - .p-lg-0 { - padding: 0 !important - } - - .pt-lg-0, - .py-lg-0 { - padding-top: 0 !important - } - - .pr-lg-0, - .px-lg-0 { - padding-right: 0 !important - } - - .pb-lg-0, - .py-lg-0 { - padding-bottom: 0 !important - } - - .pl-lg-0, - .px-lg-0 { - padding-left: 0 !important - } - - .p-lg-1 { - padding: .25rem !important - } - - .pt-lg-1, - .py-lg-1 { - padding-top: .25rem !important - } - - .pr-lg-1, - .px-lg-1 { - padding-right: .25rem !important - } - - .pb-lg-1, - .py-lg-1 { - padding-bottom: .25rem !important - } - - .pl-lg-1, - .px-lg-1 { - padding-left: .25rem !important - } - - .p-lg-2 { - padding: .5rem !important - } - - .pt-lg-2, - .py-lg-2 { - padding-top: .5rem !important - } - - .pr-lg-2, - .px-lg-2 { - padding-right: .5rem !important - } - - .pb-lg-2, - .py-lg-2 { - padding-bottom: .5rem !important - } - - .pl-lg-2, - .px-lg-2 { - padding-left: .5rem !important - } - - .p-lg-3 { - padding: 1rem !important - } - - .pt-lg-3, - .py-lg-3 { - padding-top: 1rem !important - } - - .pr-lg-3, - .px-lg-3 { - padding-right: 1rem !important - } - - .pb-lg-3, - .py-lg-3 { - padding-bottom: 1rem !important - } - - .pl-lg-3, - .px-lg-3 { - padding-left: 1rem !important - } - - .p-lg-4 { - padding: 1.5rem !important - } - - .pt-lg-4, - .py-lg-4 { - padding-top: 1.5rem !important - } - - .pr-lg-4, - .px-lg-4 { - padding-right: 1.5rem !important - } - - .pb-lg-4, - .py-lg-4 { - padding-bottom: 1.5rem !important - } - - .pl-lg-4, - .px-lg-4 { - padding-left: 1.5rem !important - } - - .p-lg-5 { - padding: 3rem !important - } - - .pt-lg-5, - .py-lg-5 { - padding-top: 3rem !important - } - - .pr-lg-5, - .px-lg-5 { - padding-right: 3rem !important - } - - .pb-lg-5, - .py-lg-5 { - padding-bottom: 3rem !important - } - - .pl-lg-5, - .px-lg-5 { - padding-left: 3rem !important - } - - .m-lg-n1 { - margin: -.25rem !important - } - - .mt-lg-n1, - .my-lg-n1 { - margin-top: -.25rem !important - } - - .mr-lg-n1, - .mx-lg-n1 { - margin-right: -.25rem !important - } - - .mb-lg-n1, - .my-lg-n1 { - margin-bottom: -.25rem !important - } - - .ml-lg-n1, - .mx-lg-n1 { - margin-left: -.25rem !important - } - - .m-lg-n2 { - margin: -.5rem !important - } - - .mt-lg-n2, - .my-lg-n2 { - margin-top: -.5rem !important - } - - .mr-lg-n2, - .mx-lg-n2 { - margin-right: -.5rem !important - } - - .mb-lg-n2, - .my-lg-n2 { - margin-bottom: -.5rem !important - } - - .ml-lg-n2, - .mx-lg-n2 { - margin-left: -.5rem !important - } - - .m-lg-n3 { - margin: -1rem !important - } - - .mt-lg-n3, - .my-lg-n3 { - margin-top: -1rem !important - } - - .mr-lg-n3, - .mx-lg-n3 { - margin-right: -1rem !important - } - - .mb-lg-n3, - .my-lg-n3 { - margin-bottom: -1rem !important - } - - .ml-lg-n3, - .mx-lg-n3 { - margin-left: -1rem !important - } - - .m-lg-n4 { - margin: -1.5rem !important - } - - .mt-lg-n4, - .my-lg-n4 { - margin-top: -1.5rem !important - } - - .mr-lg-n4, - .mx-lg-n4 { - margin-right: -1.5rem !important - } - - .mb-lg-n4, - .my-lg-n4 { - margin-bottom: -1.5rem !important - } - - .ml-lg-n4, - .mx-lg-n4 { - margin-left: -1.5rem !important - } - - .m-lg-n5 { - margin: -3rem !important - } - - .mt-lg-n5, - .my-lg-n5 { - margin-top: -3rem !important - } - - .mr-lg-n5, - .mx-lg-n5 { - margin-right: -3rem !important - } - - .mb-lg-n5, - .my-lg-n5 { - margin-bottom: -3rem !important - } - - .ml-lg-n5, - .mx-lg-n5 { - margin-left: -3rem !important - } - - .m-lg-auto { - margin: auto !important - } - - .mt-lg-auto, - .my-lg-auto { - margin-top: auto !important - } - - .mr-lg-auto, - .mx-lg-auto { - margin-right: auto !important - } - - .mb-lg-auto, - .my-lg-auto { - margin-bottom: auto !important - } - - .ml-lg-auto, - .mx-lg-auto { - margin-left: auto !important - } - -} - -@media (min-width:1200px) { - .m-xl-0 { - margin: 0 !important - } - - .mt-xl-0, - .my-xl-0 { - margin-top: 0 !important - } - - .mr-xl-0, - .mx-xl-0 { - margin-right: 0 !important - } - - .mb-xl-0, - .my-xl-0 { - margin-bottom: 0 !important - } - - .ml-xl-0, - .mx-xl-0 { - margin-left: 0 !important - } - - .m-xl-1 { - margin: .25rem !important - } - - .mt-xl-1, - .my-xl-1 { - margin-top: .25rem !important - } - - .mr-xl-1, - .mx-xl-1 { - margin-right: .25rem !important - } - - .mb-xl-1, - .my-xl-1 { - margin-bottom: .25rem !important - } - - .ml-xl-1, - .mx-xl-1 { - margin-left: .25rem !important - } - - .m-xl-2 { - margin: .5rem !important - } - - .mt-xl-2, - .my-xl-2 { - margin-top: .5rem !important - } - - .mr-xl-2, - .mx-xl-2 { - margin-right: .5rem !important - } - - .mb-xl-2, - .my-xl-2 { - margin-bottom: .5rem !important - } - - .ml-xl-2, - .mx-xl-2 { - margin-left: .5rem !important - } - - .m-xl-3 { - margin: 1rem !important - } - - .mt-xl-3, - .my-xl-3 { - margin-top: 1rem !important - } - - .mr-xl-3, - .mx-xl-3 { - margin-right: 1rem !important - } - - .mb-xl-3, - .my-xl-3 { - margin-bottom: 1rem !important - } - - .ml-xl-3, - .mx-xl-3 { - margin-left: 1rem !important - } - - .m-xl-4 { - margin: 1.5rem !important - } - - .mt-xl-4, - .my-xl-4 { - margin-top: 1.5rem !important - } - - .mr-xl-4, - .mx-xl-4 { - margin-right: 1.5rem !important - } - - .mb-xl-4, - .my-xl-4 { - margin-bottom: 1.5rem !important - } - - .ml-xl-4, - .mx-xl-4 { - margin-left: 1.5rem !important - } - - .m-xl-5 { - margin: 3rem !important - } - - .mt-xl-5, - .my-xl-5 { - margin-top: 3rem !important - } - - .mr-xl-5, - .mx-xl-5 { - margin-right: 3rem !important - } - - .mb-xl-5, - .my-xl-5 { - margin-bottom: 3rem !important - } - - .ml-xl-5, - .mx-xl-5 { - margin-left: 3rem !important - } - - .p-xl-0 { - padding: 0 !important - } - - .pt-xl-0, - .py-xl-0 { - padding-top: 0 !important - } - - .pr-xl-0, - .px-xl-0 { - padding-right: 0 !important - } - - .pb-xl-0, - .py-xl-0 { - padding-bottom: 0 !important - } - - .pl-xl-0, - .px-xl-0 { - padding-left: 0 !important - } - - .p-xl-1 { - padding: .25rem !important - } - - .pt-xl-1, - .py-xl-1 { - padding-top: .25rem !important - } - - .pr-xl-1, - .px-xl-1 { - padding-right: .25rem !important - } - - .pb-xl-1, - .py-xl-1 { - padding-bottom: .25rem !important - } - - .pl-xl-1, - .px-xl-1 { - padding-left: .25rem !important - } - - .p-xl-2 { - padding: .5rem !important - } - - .pt-xl-2, - .py-xl-2 { - padding-top: .5rem !important - } - - .pr-xl-2, - .px-xl-2 { - padding-right: .5rem !important - } - - .pb-xl-2, - .py-xl-2 { - padding-bottom: .5rem !important - } - - .pl-xl-2, - .px-xl-2 { - padding-left: .5rem !important - } - - .p-xl-3 { - padding: 1rem !important - } - - .pt-xl-3, - .py-xl-3 { - padding-top: 1rem !important - } - - .pr-xl-3, - .px-xl-3 { - padding-right: 1rem !important - } - - .pb-xl-3, - .py-xl-3 { - padding-bottom: 1rem !important - } - - .pl-xl-3, - .px-xl-3 { - padding-left: 1rem !important - } - - .p-xl-4 { - padding: 1.5rem !important - } - - .pt-xl-4, - .py-xl-4 { - padding-top: 1.5rem !important - } - - .pr-xl-4, - .px-xl-4 { - padding-right: 1.5rem !important - } - - .pb-xl-4, - .py-xl-4 { - padding-bottom: 1.5rem !important - } - - .pl-xl-4, - .px-xl-4 { - padding-left: 1.5rem !important - } - - .p-xl-5 { - padding: 3rem !important - } - - .pt-xl-5, - .py-xl-5 { - padding-top: 3rem !important - } - - .pr-xl-5, - .px-xl-5 { - padding-right: 3rem !important - } - - .pb-xl-5, - .py-xl-5 { - padding-bottom: 3rem !important - } - - .pl-xl-5, - .px-xl-5 { - padding-left: 3rem !important - } - - .m-xl-n1 { - margin: -.25rem !important - } - - .mt-xl-n1, - .my-xl-n1 { - margin-top: -.25rem !important - } - - .mr-xl-n1, - .mx-xl-n1 { - margin-right: -.25rem !important - } - - .mb-xl-n1, - .my-xl-n1 { - margin-bottom: -.25rem !important - } - - .ml-xl-n1, - .mx-xl-n1 { - margin-left: -.25rem !important - } - - .m-xl-n2 { - margin: -.5rem !important - } - - .mt-xl-n2, - .my-xl-n2 { - margin-top: -.5rem !important - } - - .mr-xl-n2, - .mx-xl-n2 { - margin-right: -.5rem !important - } - - .mb-xl-n2, - .my-xl-n2 { - margin-bottom: -.5rem !important - } - - .ml-xl-n2, - .mx-xl-n2 { - margin-left: -.5rem !important - } - - .m-xl-n3 { - margin: -1rem !important - } - - .mt-xl-n3, - .my-xl-n3 { - margin-top: -1rem !important - } - - .mr-xl-n3, - .mx-xl-n3 { - margin-right: -1rem !important - } - - .mb-xl-n3, - .my-xl-n3 { - margin-bottom: -1rem !important - } - - .ml-xl-n3, - .mx-xl-n3 { - margin-left: -1rem !important - } - - .m-xl-n4 { - margin: -1.5rem !important - } - - .mt-xl-n4, - .my-xl-n4 { - margin-top: -1.5rem !important - } - - .mr-xl-n4, - .mx-xl-n4 { - margin-right: -1.5rem !important - } - - .mb-xl-n4, - .my-xl-n4 { - margin-bottom: -1.5rem !important - } - - .ml-xl-n4, - .mx-xl-n4 { - margin-left: -1.5rem !important - } - - .m-xl-n5 { - margin: -3rem !important - } - - .mt-xl-n5, - .my-xl-n5 { - margin-top: -3rem !important - } - - .mr-xl-n5, - .mx-xl-n5 { - margin-right: -3rem !important - } - - .mb-xl-n5, - .my-xl-n5 { - margin-bottom: -3rem !important - } - - .ml-xl-n5, - .mx-xl-n5 { - margin-left: -3rem !important - } - - .m-xl-auto { - margin: auto !important - } - - .mt-xl-auto, - .my-xl-auto { - margin-top: auto !important - } - - .mr-xl-auto, - .mx-xl-auto { - margin-right: auto !important - } - - .mb-xl-auto, - .my-xl-auto { - margin-bottom: auto !important - } - - .ml-xl-auto, - .mx-xl-auto { - margin-left: auto !important - } - -} - -.text-monospace { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important -} - -.text-justify { - text-align: justify !important -} - -.text-wrap { - white-space: normal !important -} - -.text-nowrap { - white-space: nowrap !important -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap -} - -.text-left { - text-align: left !important -} - -.text-right { - text-align: right !important -} - -.text-center { - text-align: center !important -} - -@media (min-width:576px) { - .text-sm-left { - text-align: left !important - } - - .text-sm-right { - text-align: right !important - } - - .text-sm-center { - text-align: center !important - } - -} - -@media (min-width:768px) { - .text-md-left { - text-align: left !important - } - - .text-md-right { - text-align: right !important - } - - .text-md-center { - text-align: center !important - } - -} - -@media (min-width:992px) { - .text-lg-left { - text-align: left !important - } - - .text-lg-right { - text-align: right !important - } - - .text-lg-center { - text-align: center !important - } - -} - -@media (min-width:1200px) { - .text-xl-left { - text-align: left !important - } - - .text-xl-right { - text-align: right !important - } - - .text-xl-center { - text-align: center !important - } - -} - -.text-lowercase { - text-transform: lowercase !important -} - -.text-uppercase { - text-transform: uppercase !important -} - -.text-capitalize { - text-transform: capitalize !important -} - -.font-weight-light { - font-weight: 300 !important -} - -.font-weight-lighter { - font-weight: lighter !important -} - -.font-weight-normal { - font-weight: 400 !important -} - -.font-weight-bold { - font-weight: 700 !important -} - -.font-weight-bolder { - font-weight: bolder !important -} - -.font-italic { - font-style: italic !important -} - -.text-white { - color: #fff !important -} - -.text-primary { - color: #047006 !important -} - -a.text-primary:focus, -a.text-primary:hover { - color: #012602 !important -} - -.text-secondary { - color: grey !important -} - -a.text-secondary:focus, -a.text-secondary:hover { - color: #5a5a5a !important -} - -.text-success { - color: #00e093 !important -} - -a.text-success:focus, -a.text-success:hover { - color: #009461 !important -} - -.text-info { - color: #6c61f6 !important -} - -a.text-info:focus, -a.text-info:hover { - color: #2919f2 !important -} - -.text-warning { - color: #f0825f !important -} - -a.text-warning:focus, -a.text-warning:hover { - color: #e94b19 !important -} - -.text-danger { - color: #ff5f66 !important -} - -a.text-danger:focus, -a.text-danger:hover { - color: #ff131d !important -} - -.text-light { - color: #dfdfdf !important -} - -a.text-light:focus, -a.text-light:hover { - color: #b9b9b9 !important -} - -.text-dark { - color: #74767b !important -} - -a.text-dark:focus, -a.text-dark:hover { - color: #4f5054 !important -} - -.text-white { - color: #fff !important -} - -a.text-white:focus, -a.text-white:hover { - color: #d9d9d9 !important -} - -.text-orange { - color: #ffa600 !important -} - -a.text-orange:focus, -a.text-orange:hover { - color: #b37400 !important -} - -.text-body { - color: #212529 !important -} - -.text-muted { - color: #adb5bd !important -} - -.text-black-50 { - color: rgba(0, 0, 0, .5) !important -} - -.text-white-50 { - color: rgba(255, 255, 255, .5) !important -} - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0 -} - -.text-decoration-none { - text-decoration: none !important -} - -.text-break { - word-break: break-word !important; - overflow-wrap: break-word !important -} - -.text-reset { - color: inherit !important -} - -.visible { - visibility: visible !important -} - -.invisible { - visibility: hidden !important -} - -@media print { - *, - ::after, - ::before { - text-shadow: none !important; - box-shadow: none !important - } - - a:not(.btn) { - text-decoration: underline - } - - abbr[title]::after { - content: '3'attr(title) ")" - } - - pre { - white-space: pre-wrap !important - } - - blockquote, - pre { - border: 1px solid #adb5bd; - page-break-inside: avoid - } - - thead { - display: table-header-group - } - - img, - tr { - page-break-inside: avoid - } - - h2, - h3, - p { - orphans: 3; - widows: 3 - } - - h2, - h3 { - page-break-after: avoid - } - - @page { - size: a3 - } - - body { - min-width: 992px !important - } - - .container { - min-width: 992px !important - } - - .navbar { - display: none - } - - .badge { - border: 1px solid #000 - } - - .table { - border-collapse: collapse !important - } - - .table td, - .table th { - background-color: #fff !important - } - - .table-bordered td, - .table-bordered th { - border: 1px solid #dee2e6 !important - } - - .table-dark { - color: inherit - } - - .table-dark tbody+tbody, - .table-dark td, - .table-dark th, - .table-dark thead th { - border-color: #f2f4f9 - } - - .table .thead-dark th { - color: inherit; - border-color: #f2f4f9 - } - -} - -.dev-info { - position: fixed; - color: grey; - font-size: smaller; - left: 8px; - z-index: 120 -} - -.versionstring { - top: 70px; - right: 8px; - left: auto -} - -.grd-time-used { - bottom: 0 -} - -footer { - position: absolute; - bottom: 0; - left: 0; - right: 0; - padding: 2rem 2.5rem; - max-width: 1140px; - margin-left: auto; - margin-right: auto -} - -@media (max-width:991.98px) { - footer { - padding: 20px 0 30px 0 - } - -} - -footer ul { - margin-left: 0; - padding-left: 0 -} - -footer ul li { - display: inline-block; - padding: 0 10px 0 0; - line-height: 1 -} - -footer ul li:not(:last-child) { - margin-right: 10px; - border-right: 1px solid #f2f4f9 -} - -footer ul li a { - font-size: 14px; - font-family: Roboto, sans-serif; - font-weight: 400; - letter-spacing: .03rem; - color: #565656 -} - -@media (min-width:768px) and (max-width:991px) { - footer ul li a { - font-size: calc(14px + 0 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - footer ul li a { - font-size: calc(14px + -1 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - footer ul li a { - font-size: 13px - } - -} - -.alert { - border: none; - font-size: 14px; - font-family: Roboto, sans-serif; - font-weight: 400 -} - -@media (min-width:768px) and (max-width:991px) { - .alert { - font-size: calc(14px + 1 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - .alert { - font-size: calc(15px + -1 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - .alert { - font-size: 14px - } - -} - -.alert .alert-heading { - margin-top: 20px; - margin-bottom: 10px -} - -.alert .btn-dismmiss { - margin-top: 20px -} - -.alert.dismissible-alert { - position: relative; - padding-right: 40px -} - -.alert.dismissible-alert .alert-close { - position: absolute; - top: 0; - right: 0; - bottom: 0; - padding: 10px; - font-size: 18px; - display: -webkit-box; - display: flex; - cursor: pointer; - height: inherit; - -webkit-box-align: center; - align-items: center -} - -.alert-notification-wrapper { - position: fixed; - left: 17rem; - right: 0; - z-index: 999 -} - -@media (max-width:991.98px) { - .alert-notification-wrapper { - left: 0 - } - -} - -.alert-notification-wrapper.top { - top: 70px -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-twitter { - border: 2px solid #55acee; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-twitter i { - color: #55acee -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-twitter.btn-link { - background: 0 0; - color: #55acee -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-twitter.btn-link:hover { - color: #2795e9 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-facebook { - border: 2px solid #0084ff; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-facebook i { - color: #0084ff -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-facebook.btn-link { - background: 0 0; - color: #0084ff -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-facebook.btn-link:hover { - color: #006acc -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-google { - border: 2px solid #dd4b39; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-google i { - color: #dd4b39 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-google.btn-link { - background: 0 0; - color: #dd4b39 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-google.btn-link:hover { - color: #c23321 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-linkedin { - border: 2px solid #0077b5; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-linkedin i { - color: #0077b5 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-linkedin.btn-link { - background: 0 0; - color: #0077b5 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-linkedin.btn-link:hover { - color: #005582 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-pinterest { - border: 2px solid #bd081c; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-pinterest i { - color: #bd081c -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-pinterest.btn-link { - background: 0 0; - color: #bd081c -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-pinterest.btn-link:hover { - color: #8c0615 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-youtube { - border: 2px solid #cd201f; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-youtube i { - color: #cd201f -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-youtube.btn-link { - background: 0 0; - color: #cd201f -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-youtube.btn-link:hover { - color: #a11918 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-github { - border: 2px solid #333; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-github i { - color: #333 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-github.btn-link { - background: 0 0; - color: #333 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-github.btn-link:hover { - color: #1a1a1a -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-behance { - border: 2px solid #0454f6; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-behance i { - color: #0454f6 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-behance.btn-link { - background: 0 0; - color: #0454f6 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-behance.btn-link:hover { - color: #0343c4 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-dribbble { - border: 2px solid #ea4c89; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-dribbble i { - color: #ea4c89 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-dribbble.btn-link { - background: 0 0; - color: #ea4c89 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-dribbble.btn-link:hover { - color: #e51e6b -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-reddit { - border: 2px solid #ed4333; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-reddit i { - color: #ed4333 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-reddit.btn-link { - background: 0 0; - color: #ed4333 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-reddit.btn-link:hover { - color: #da2413 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-instagram { - border: 2px solid #ff759b; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-instagram i { - color: #ff759b -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-instagram.btn-link { - background: 0 0; - color: #ff759b -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-instagram.btn-link:hover { - color: #ff4276 -} - -.btn-inverse-primary { - background: rgba(4, 112, 6, .15); - color: #047006 -} - -.btn-inverse-primary i { - color: inherit -} - -.btn-inverse-primary:hover { - background: rgba(4, 112, 6, .8); - color: #fff -} - -.btn-inverse-secondary { - background: rgba(128, 128, 128, .15); - color: grey -} - -.btn-inverse-secondary i { - color: inherit -} - -.btn-inverse-secondary:hover { - background: rgba(128, 128, 128, .8); - color: #fff -} - -.btn-inverse-success { - background: rgba(0, 224, 147, .15); - color: #00e093 -} - -.btn-inverse-success i { - color: inherit -} - -.btn-inverse-success:hover { - background: rgba(0, 224, 147, .8); - color: #fff -} - -.btn-inverse-info { - background: rgba(108, 97, 246, .15); - color: #6c61f6 -} - -.btn-inverse-info i { - color: inherit -} - -.btn-inverse-info:hover { - background: rgba(108, 97, 246, .8); - color: #fff -} - -.btn-inverse-warning { - background: rgba(240, 130, 95, .15); - color: #f0825f -} - -.btn-inverse-warning i { - color: inherit -} - -.btn-inverse-warning:hover { - background: rgba(240, 130, 95, .8); - color: #fff -} - -.btn-inverse-danger { - background: rgba(255, 95, 102, .15); - color: #ff5f66 -} - -.btn-inverse-danger i { - color: inherit -} - -.btn-inverse-danger:hover { - background: rgba(255, 95, 102, .8); - color: #fff -} - -.btn-inverse-light { - background: rgba(223, 223, 223, .15); - color: #dfdfdf -} - -.btn-inverse-light i { - color: inherit -} - -.btn-inverse-light:hover { - background: rgba(223, 223, 223, .8); - color: #fff -} - -.btn-inverse-dark { - background: rgba(116, 118, 123, .15); - color: #74767b -} - -.btn-inverse-dark i { - color: inherit -} - -.btn-inverse-dark:hover { - background: rgba(116, 118, 123, .8); - color: #fff -} - -.btn-inverse-white { - background: rgba(255, 255, 255, .15); - color: #fff -} - -.btn-inverse-white i { - color: inherit -} - -.btn-inverse-white:hover { - background: rgba(255, 255, 255, .8); - color: #fff -} - -.btn-inverse-orange { - background: rgba(255, 166, 0, .15); - color: #ffa600 -} - -.btn-inverse-orange i { - color: inherit -} - -.btn-inverse-orange:hover { - background: rgba(255, 166, 0, .8); - color: #fff -} - -.btn:not(.social-btn-outlined).btn-twitter { - background: #55acee; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-twitter:hover { - background: #2795e9 -} - -.btn:not(.social-btn-outlined).btn-twitter.btn-link { - background: 0 0; - color: #55acee -} - -.btn:not(.social-btn-outlined).btn-twitter.btn-link:hover { - color: #2795e9 -} - -.btn:not(.social-btn-outlined).btn-facebook { - background: #0084ff; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-facebook:hover { - background: #006acc -} - -.btn:not(.social-btn-outlined).btn-facebook.btn-link { - background: 0 0; - color: #0084ff -} - -.btn:not(.social-btn-outlined).btn-facebook.btn-link:hover { - color: #006acc -} - -.btn:not(.social-btn-outlined).btn-google { - background: #dd4b39; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-google:hover { - background: #c23321 -} - -.btn:not(.social-btn-outlined).btn-google.btn-link { - background: 0 0; - color: #dd4b39 -} - -.btn:not(.social-btn-outlined).btn-google.btn-link:hover { - color: #c23321 -} - -.btn:not(.social-btn-outlined).btn-linkedin { - background: #0077b5; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-linkedin:hover { - background: #005582 -} - -.btn:not(.social-btn-outlined).btn-linkedin.btn-link { - background: 0 0; - color: #0077b5 -} - -.btn:not(.social-btn-outlined).btn-linkedin.btn-link:hover { - color: #005582 -} - -.btn:not(.social-btn-outlined).btn-pinterest { - background: #bd081c; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-pinterest:hover { - background: #8c0615 -} - -.btn:not(.social-btn-outlined).btn-pinterest.btn-link { - background: 0 0; - color: #bd081c -} - -.btn:not(.social-btn-outlined).btn-pinterest.btn-link:hover { - color: #8c0615 -} - -.btn:not(.social-btn-outlined).btn-youtube { - background: #cd201f; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-youtube:hover { - background: #a11918 -} - -.btn:not(.social-btn-outlined).btn-youtube.btn-link { - background: 0 0; - color: #cd201f -} - -.btn:not(.social-btn-outlined).btn-youtube.btn-link:hover { - color: #a11918 -} - -.btn:not(.social-btn-outlined).btn-github { - background: #333; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-github:hover { - background: #1a1a1a -} - -.btn:not(.social-btn-outlined).btn-github.btn-link { - background: 0 0; - color: #333 -} - -.btn:not(.social-btn-outlined).btn-github.btn-link:hover { - color: #1a1a1a -} - -.btn:not(.social-btn-outlined).btn-behance { - background: #0454f6; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-behance:hover { - background: #0343c4 -} - -.btn:not(.social-btn-outlined).btn-behance.btn-link { - background: 0 0; - color: #0454f6 -} - -.btn:not(.social-btn-outlined).btn-behance.btn-link:hover { - color: #0343c4 -} - -.btn:not(.social-btn-outlined).btn-dribbble { - background: #ea4c89; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-dribbble:hover { - background: #e51e6b -} - -.btn:not(.social-btn-outlined).btn-dribbble.btn-link { - background: 0 0; - color: #ea4c89 -} - -.btn:not(.social-btn-outlined).btn-dribbble.btn-link:hover { - color: #e51e6b -} - -.btn:not(.social-btn-outlined).btn-reddit { - background: #ed4333; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-reddit:hover { - background: #da2413 -} - -.btn:not(.social-btn-outlined).btn-reddit.btn-link { - background: 0 0; - color: #ed4333 -} - -.btn:not(.social-btn-outlined).btn-reddit.btn-link:hover { - color: #da2413 -} - -.btn:not(.social-btn-outlined).btn-instagram { - background: #ff759b; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-instagram:hover { - background: #ff4276 -} - -.btn:not(.social-btn-outlined).btn-instagram.btn-link { - background: 0 0; - color: #ff759b -} - -.btn:not(.social-btn-outlined).btn-instagram.btn-link:hover { - color: #ff4276 -} - -.btn-group label.btn.btn-primary:not(:disabled):not(.disabled).active { - background: #000e01 -} - -.btn-group label.btn.btn-secondary:not(:disabled):not(.disabled).active { - background: #4d4d4d -} - -.btn-group label.btn.btn-success:not(:disabled):not(.disabled).active { - background: #007a50 -} - -.btn-group label.btn.btn-info:not(:disabled):not(.disabled).active { - background: #1d0de4 -} - -.btn-group label.btn.btn-warning:not(:disabled):not(.disabled).active { - background: #d54314 -} - -.btn-group label.btn.btn-danger:not(:disabled):not(.disabled).active { - background: #f8000b -} - -.btn-group label.btn.btn-light:not(:disabled):not(.disabled).active { - background: #acacac -} - -.btn-group label.btn.btn-dark:not(:disabled):not(.disabled).active { - background: #424447 -} - -.btn-group label.btn.btn-white:not(:disabled):not(.disabled).active { - background: #ccc -} - -.btn-group label.btn.btn-orange:not(:disabled):not(.disabled).active { - background: #996400 -} - -.btn-outline-primary { - border: 2px solid #047006 -} - -.btn-outline-secondary { - border: 2px solid grey -} - -.btn-outline-success { - border: 2px solid #00e093 -} - -.btn-outline-info { - border: 2px solid #6c61f6 -} - -.btn-outline-warning { - border: 2px solid #f0825f -} - -.btn-outline-danger { - border: 2px solid #ff5f66 -} - -.btn-outline-light { - border: 2px solid #dfdfdf -} - -.btn-outline-dark { - border: 2px solid #74767b -} - -.btn-outline-white { - border: 2px solid #fff -} - -.btn-outline-orange { - border: 2px solid #ffa600 -} - -.btn-group label.btn input { - display: none -} - -.btn { - display: -webkit-inline-box; - display: inline-flex; - -webkit-box-pack: center; - justify-content: center; - -webkit-box-align: center; - align-items: center; - -webkit-transition: .3s ease; - transition: .3s ease; - -webkit-transition-property: background, color; - transition-property: background, color; - font-size: .875rem; - font-family: Roboto, sans-serif; - font-weight: 600; - letter-spacing: .03rem -} - -.btn:not([class*=btn-inverse]):not(.component-flat) { - box-shadow: 0 0 2px 0 rgba(0, 0, 0, .2) -} - -.btn i { - font-size: 1.25rem -} - -.btn-group-lg>.btn, -.btn.btn-lg { - height: 55px; - max-height: 55px; - padding: 15px 30px; - font-size: 1.125rem -} - -.btn-group-sm>.btn, -.btn.btn-sm { - height: 35px; - max-height: 35px; - padding: 4px 15px; - font-size: .875rem -} - -.btn.btn-xs { - height: 25px; - max-height: 25px; - padding: 0 10px; - line-height: 1; - font-size: .75rem -} - -.btn.btn-xs.has-icon i, -.btn.btn-xs.has-icon span { - font-size: .8125rem; - margin-right: 5px -} - -.btn { - height: 40px; - max-height: 40px; - padding: 5px 20px -} - -.btn.active { - box-shadow: none -} - -.btn.social-icon-btn { - height: 40px; - width: 40px -} - -.btn.social-btn i { - margin-right: 10px -} - -.btn.social-btn-outlined i { - margin-right: 10px -} - -.btn.has-icon i, -.btn.has-icon span { - font-size: 1.25rem; - margin-right: 10px; - line-height: 1 -} - -.btn.btn-outline-secondary { - color: #1a1a1a; - border-color: #676767 -} - -.btn.btn-info, -.btn.btn-warning { - color: #fff -} - -.btn.btn-light { - background: #fff; - color: #000 -} - -.btn.dropdown-dotted-list { - background: #fff -} - -.btn.dropdown-toggle-split { - padding: 0 8px -} - -.btn.action-btn { - display: -webkit-inline-box; - display: inline-flex; - -webkit-box-pack: center; - justify-content: center; - -webkit-box-align: center; - align-items: center; - padding: 0; - height: 40px; - width: 40px -} - -.btn.action-btn i { - font-size: 1.25rem; - width: 26px; - display: -webkit-box; - display: flex; - -webkit-box-pack: center; - justify-content: center; - -webkit-box-align: center; - align-items: center; - line-height: 23px; - vertical-align: middle; - font-size: 1.25rem -} - -.btn.action-btn i:before { - width: inherit; - height: inherit; - line-height: inherit; - font-size: inherit -} - -.btn.action-btn.btn-xs { - height: 30px; - width: 30px -} - -.btn-group-sm>.btn.action-btn, -.btn.action-btn.btn-sm { - height: 35px; - width: 35px -} - -.btn-group-lg>.btn.action-btn, -.btn.action-btn.btn-lg { - height: 50px; - width: 50px -} - -.btn-group-lg>.btn.action-btn i, -.btn.action-btn.btn-lg i { - font-size: 1.875rem; - line-height: 24px -} - -.btn.action-btn.btn-refresh.clicked i { - color: #047006; - -webkit-animation: rotate360 .8s linear infinite; - animation: rotate360 .8s linear infinite -} - -.btn.action-btn.btn-like.clicked i { - color: #ff5f66; - -webkit-animation: bounceIn .8s linear 1; - animation: bounceIn .8s linear 1 -} - -.btn.action-btn.btn-like.clicked:hover i { - color: #fff -} - -.btn.btn-rounded { - border-radius: 50px -} - -.flag-germany { - width: 40px; - height: 28px; - background: red; - border-top: 9px solid #000; - border-bottom: 9px solid #fc0; - display: block -} - -.flag-england { - background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJmbGFnLWljb24tY3NzLWdiIiB2aWV3Qm94PSIwIDAgNjQwIDQ4MCI+CiAgPHBhdGggZmlsbD0iIzAxMjE2OSIgZD0iTTAgMGg2NDB2NDgwSDB6Ii8+CiAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTc1IDBsMjQ0IDE4MUw1NjIgMGg3OHY2Mkw0MDAgMjQxbDI0MCAxNzh2NjFoLTgwTDMyMCAzMDEgODEgNDgwSDB2LTYwbDIzOS0xNzhMMCA2NFYwaDc1eiIvPgogIDxwYXRoIGZpbGw9IiNDODEwMkUiIGQ9Ik00MjQgMjgxbDIxNiAxNTl2NDBMMzY5IDI4MWg1NXptLTE4NCAyMGw2IDM1TDU0IDQ4MEgwbDI0MC0xNzl6TTY0MCAwdjNMMzkxIDE5MWwyLTQ0TDU5MCAwaDUwek0wIDBsMjM5IDE3NmgtNjBMMCA0MlYweiIvPgogIDxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0yNDEgMHY0ODBoMTYwVjBIMjQxek0wIDE2MHYxNjBoNjQwVjE2MEgweiIvPgogIDxwYXRoIGZpbGw9IiNDODEwMkUiIGQ9Ik0wIDE5M3Y5Nmg2NDB2LTk2SDB6TTI3MyAwdjQ4MGg5NlYwaC05NnoiLz4KPC9zdmc+Cg==); - background-size: cover; - width: 40px; - height: 28px; - display: block -} - -.language-active { - background-color: #f9fafb; - padding: 2px -} - -.language-inactive { - padding: 2px; - background-color: transparent -} - -.is-invalid .form-control { - background-color: rgba(240, 130, 95, .2); - border: none -} - -.is-invalid .invalid-feedback { - display: block -} - -.is-valid .form-control { - background-color: rgba(4, 112, 6, .2); - border: none -} - -.form-control { - padding-left: 20px; - padding-right: 20px; - color: rgba(16, 16, 16, .8) -} - -.form-control.placeholder { - font-weight: inherit; - color: inherit; - font-size: inherit -} - -.form-control:-moz-placeholder { - font-weight: inherit; - color: inherit; - font-size: inherit -} - -.form-control::-moz-placeholder { - font-weight: inherit; - color: inherit; - font-size: inherit -} - -.form-control:-ms-input-placeholder { - font-weight: inherit; - color: inherit; - font-size: inherit -} - -.form-control::-webkit-input-placeholder { - font-weight: inherit; - color: inherit; - font-size: inherit -} - -.form-control.is-invalid { - background-color: rgba(240, 130, 95, .2); - border: none -} - -.form-control.is-valid { - background-color: rgba(4, 112, 6, .2); - border: none -} - -.input-group-text { - background-color: #f6f7f9; - color: #101010; - border-color: #f2f4f9; - padding: 0 10px; - font-size: 17px -} - -.is-valid .input-group-text { - background-color: rgba(4, 112, 6, .2); - color: #047006 -} - -.is-invalid .input-group-text { - background-color: rgba(240, 130, 95, .2); - color: #f0825f -} - -.form-group { - margin-bottom: 20px -} - -.form-group.input-rounded .form-control { - border-radius: 25px -} - -.custom-file .custom-file-label { - padding: 8px .75rem; - height: 41px -} - -.custom-file .custom-file-label:after { - padding: 1.45rem .8rem; - line-height: 0 -} - -.custom-select, -.custom-select[multiple] { - background: #f6f7f9; - border-color: #f0f2f5; - color: rgba(16, 16, 16, .8) -} - -.custom-select option, -.custom-select[multiple] option { - background: #f6f7f9; - color: rgba(16, 16, 16, .8); - display: block; - border-bottom: 1px solid #f2f4f9; - padding: 5px 10px -} - -.custom-select option:checked, -.custom-select[multiple] option:checked { - background: #f6f7f9 -} - -.custom-select option[selected], -.custom-select[multiple] option[selected] { - background: #f6f7f9; - display: block -} - -.custom-select[multiple] { - padding: 0; - border-radius: 2px -} - -.custom-control-input:focus~.custom-control-label::before { - box-shadow: none -} - -.custom-switch .custom-control-label::after { - box-shadow: 0 0 2px 0 rgba(0, 0, 0, .2); - background: #047006 -} - -.checkbox, -.radio { - position: relative; - display: block; - margin-top: 2px; - margin-bottom: 20px -} - -.checkbox label, -.radio label { - display: block; - padding-left: 30px; - line-height: 1.42857143; - font-size: .875rem -} - -.checkbox label input, -.radio label input { - position: absolute; - margin-left: -20px; - margin-top: 4px\9; - top: 0; - left: 0; - margin-left: 0 !important; - z-index: 1; - cursor: pointer; - opacity: 0; - filter: alpha(opacity=0); - margin-top: 0 -} - -.checkbox label input:checked+.input-frame:before, -.radio label input:checked+.input-frame:before { - background-color: #fff -} - -.checkbox label input:checked+.input-frame:after, -.radio label input:checked+.input-frame:after { - color: #047006; - opacity: 1; - line-height: 1.5; - filter: alpha(opacity=100); - -webkit-transform: scale(1); - transform: scale(1) -} - -.checkbox label input:disabled+.input-frame:before, -.radio label input:disabled+.input-frame:before { - border-color: #fff -} - -.checkbox label input:disabled:checked+.input-frame:before, -.radio label input:disabled:checked+.input-frame:before { - background: #047006 -} - -.checkbox label .input-frame:before, -.radio label .input-frame:before { - position: absolute; - content: '.5'; - top: 0; - width: 19px; - height: 19px; - border-radius: 2px; - left: 0; - border: 2px solid #f2f4f9; - -webkit-transition: all; - transition: all; - -webkit-transition-duration: 250ms; - transition-duration: 250ms -} - -.checkbox label .input-frame:after, -.radio label .input-frame:after { - line-height: 1.5; - -webkit-transition: all; - transition: all; - -webkit-transition-duration: 250ms; - transition-duration: 250ms; - font-family: Material Design Icons; - opacity: 0; - filter: alpha(opacity=0); - -webkit-transform: scale(0); - transform: scale(0); - content: '3'; - position: absolute; - font-size: .9375rem; - left: 1px; - top: -2px; - color: #fff -} - -.checkbox label { - font-size: 16; - line-height: 1.5; - padding-left: 30px -} - -.checkbox label input:checked+.input-helper:before { - background-color: #fff -} - -.checkbox label input:checked+.input-helper:after { - width: 18px; - opacity: 1; - line-height: 18px; - filter: alpha(opacity=100); - -webkit-transform: scale(1); - transform: scale(1) -} - -.checkbox label input:disabled+.input-helper:before { - border-color: #f2f4f9 -} - -.checkbox label input:disabled:checked+.input-helper:after { - color: #f2f4f9 -} - -.checkbox label .input-frame:before { - position: absolute; - content: '3'; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - width: 18px; - height: 18px; - border-radius: 2px; - left: 0; - border: 2px solid #f2f4f9; - -webkit-transition: all; - transition: all; - transition-duration: 0s; - -webkit-transition-duration: 250ms; - transition-duration: 250ms -} - -.rtl .checkbox label .input-frame:before { - left: auto; - right: 0 -} - -.checkbox label .input-frame:after { - -webkit-transition: all; - transition: all; - transition-duration: 0s; - -webkit-transition-duration: 250ms; - transition-duration: 250ms; - font-family: Material Design Icons; - opacity: 0; - filter: alpha(opacity=0); - -webkit-transform: scale(0); - transform: scale(0); - content: '.5'; - position: absolute; - font-size: 15px; - font-weight: 700; - left: 0; - top: 0; - -webkit-transform: translateY(-14%); - transform: translateY(-14%); - color: #047006 -} - -.rtl .checkbox label .input-frame:after { - left: auto; - right: 0 -} - -.radio label input:checked+.input-frame:before { - background-color: #fff -} - -.radio label input:checked:disabled+.input-frame:before { - background-color: #fff; - border-color: #fff -} - -.radio label input:checked:disabled+.input-frame:after { - background-color: #047006 -} - -.radio label .input-frame:before { - border-radius: 50% -} - -.radio label .input-frame:after { - content: 'http://www.w3.org/2000/svg'; - width: 9px; - height: 9px; - background: #047006; - border-radius: 50%; - top: 5px; - left: 5px; - -webkit-transform: scale(0); - transform: scale(0) -} - -.form-inline .checkbox, -.form-inline .radio { - margin-right: 30px -} - -.form-inline .checkbox:last-child, -.form-inline .radio:last-child { - margin-right: 0 -} - -.form-inline .form-check-input { - display: none -} - -.bootstrap-tagsinput { - background: #f6f7f9; - border-color: #f0f2f5; - box-shadow: none; - min-width: 100%; - width: 100%; - max-width: 100% -} - -.bootstrap-tagsinput .tag { - display: inline-block; - background: #047006; - color: #fff; - padding: 2px 9px; - border-radius: 2px; - margin-bottom: 5px -} - -.bootstrap-tagsinput .tag:nth-child(5n+1) { - background: #047006 -} - -.bootstrap-tagsinput .tag:nth-child(5n+2) { - background: #00e093 -} - -.bootstrap-tagsinput .tag:nth-child(5n+3) { - background: #6c61f6 -} - -.bootstrap-tagsinput .tag:nth-child(5n+4) { - background: #f0825f -} - -.bootstrap-tagsinput .tag:nth-child(5n+5) { - background: #ff5f66 -} - -.page-body { - background: #fff -} - -.page-content-wrapper { - background: #f9fafb; - border-left: 1px solid #f2f4f9 -} - -@media (min-width:992px) { - .t-header .t-header-content-wrapper { - border-left: 1px solid #f2f4f9 - } - -} - -@media (min-width:768px) { - .page-body { - position: relative; - display: grid; - max-width: 100%; - grid-template-columns: 17rem calc(100vw - 17rem); - -webkit-transition: .3s; - transition: .3s - } - - .page-body .page-content-wrapper { - position: relative; - width: 100%; - min-height: 100vh; - padding: 1.5rem 2.5rem calc(90px + 1.5rem); - margin-top: 70px - } - - .page-body .page-content-wrapper .page-content-wrapper-inner { - max-width: 1140px; - margin-left: auto; - margin-right: auto - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header { - position: -webkit-sticky; - position: sticky; - top: 70px; - background: #f9fafb; - z-index: 99 - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header .breadcrumb { - padding: 1rem 1rem 1rem 21px; - margin-left: -20px; - margin-right: -20px; - background: #f9fafb - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header .breadcrumb .breadcrumb-item { - color: #565656; - letter-spacing: .03rem; - font-family: Roboto, sans-serif; - font-weight: 500 - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header .breadcrumb .breadcrumb-item a { - color: inherit - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header .breadcrumb .breadcrumb-item.active { - color: #047006 - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header .page-title-heading { - color: #565656; - font-size: 1.5rem; - font-family: Roboto, sans-serif; - font-weight: 500; - margin-bottom: 0 - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header .page-description { - opacity: .7; - margin-top: 15px - } - - body.sidebar-minimized .t-header .t-header-brand-wrapper { - background: #f9fafb - } - - body.sidebar-minimized .t-header .t-header-content-wrapper { - border-left: #f9fafb - } - - body.sidebar-minimized .page-body { - grid-template-columns: 0 100% - } - - body.sidebar-minimized .page-body .sidebar .sidebar_footer { - left: -17rem - } - - body.sidebar-minimized .page-body .sidebar .nav-category-divider { - position: initial - } - -} - -@media (max-width:991.98px) { - .t-header { - width: 100vw - } - - .t-header .t-header-brand-wrapper { - background: #f9fafb; - width: 4rem; - min-width: 4rem; - max-width: 4rem - } - - .t-header .t-header-brand-wrapper a .logo { - -webkit-animation-name: menuItemFadeIn; - animation-name: menuItemFadeIn; - -webkit-animation-duration: .25s; - animation-duration: .25s; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; - display: none - } - - @-webkit-keyframes menuItemFadeIn { - from { - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - display: none; - opacity: 0 - } - - to { - display: block; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1 - } - - } - - @keyframes menuItemFadeIn { - from { - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - display: none; - opacity: 0 - } - - to { - display: block; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1 - } - - } - - .t-header .t-header-brand-wrapper a .logo-mini { - display: block - } - - .page-body { - display: -webkit-box; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row; - overflow: hidden; - max-width: 100% - } - - .page-body .sidebar { - position: relative; - left: 0; - z-index: 99; - width: 15rem; - min-width: 15rem; - max-width: 15rem; - margin-left: -15rem; - -webkit-transition-duration: .2s; - transition-duration: .2s; - -webkit-transition-timing-function: ease-in-out; - transition-timing-function: ease-in-out; - -webkit-transition-property: margin-left, width; - transition-property: margin-left, width - } - - .page-body .sidebar .sidebar_footer { - -webkit-transition-duration: .2s; - transition-duration: .2s; - -webkit-transition-timing-function: ease-in-out; - transition-timing-function: ease-in-out; - -webkit-transition-property: left; - transition-property: left; - left: -15rem - } - - .page-body .page-content-wrapper { - padding: 20px 20px; - min-width: 100vw; - margin-left: 0; - -webkit-transition-duration: .2s; - transition-duration: .2s; - -webkit-transition-timing-function: ease-in-out; - transition-timing-function: ease-in-out; - -webkit-transition-property: margin-left; - transition-property: margin-left - } - - .page-body .page-content-wrapper .viewport-header .breadcrumb { - background: 0 0; - padding-left: 0 - } - - .page-body .page-content-wrapper footer { - position: relative - } - - .page-body.sidebar-collpased .sidebar { - margin-left: 0; - min-width: 15rem - } - - .page-body.sidebar-collpased .sidebar .sidebar_footer { - left: 0 - } - -} - -@media (max-width:767.98px) { - .page-body .page-content-wrapper { - padding: 80px 20px 0 20px - } - -} - -.logo { - display: block; - margin: 0 auto; - width: 280px -} - -.logo img { - width: 100% -} - -.grid { - background: #fff; - border-radius: 6px; - box-shadow: 0 0 10px 0 rgba(183, 192, 206, .2); - margin-bottom: 1.5rem; - border: 1px solid rgba(238, 238, 238, .75) -} - -.grid-header { - padding: 15px 20px; - margin-bottom: 15px; - font-family: Roboto, sans-serif; - font-weight: 500; - font-size: 14px; - letter-spacing: .03rem; - background: #f9fafb; - border-left: 3px solid #047006; - border-radius: 0 6px 0 0 -} - -@media (min-width:768px) and (max-width:991px) { - .grid-header { - font-size: calc(14px + 1 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - .grid-header { - font-size: calc(15px + -1 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - .grid-header { - font-size: 14px - } - -} - -.grid-title { - opacity: .9; - margin-bottom: 25px -} - -.close { - color: #101010 -} - -.split-header { - display: -webkit-box; - display: flex; - -webkit-box-pack: justify; - justify-content: space-between; - -webkit-box-align: center; - align-items: center -} - -.split-header .content-wrapper { - display: -webkit-box; - display: flex -} - -.split-header .content-wrapper a i, -.split-header .content-wrapper span i { - font-size: 20px; - color: #adb5bd; - -webkit-transition: .3s ease color; - transition: .3s ease color -} - -.split-header .content-wrapper a i:hover, -.split-header .content-wrapper span i:hover { - color: #047006 -} - -.split-header .content-wrapper.v-centered { - -webkit-box-align: center; - align-items: center -} - -.split-header .content-wrapper.h-centered { - -webkit-box-pack: center; - justify-content: center -} - -.grid-body { - padding: 20px 25px 20px -} - -.card-title { - font-size: 14px; - font-family: Roboto, sans-serif; - font-weight: 500; - color: #313131; - margin-bottom: 0 -} - -@media (min-width:768px) and (max-width:991px) { - .card-title { - font-size: calc(14px + 1 * ((100vw - 768px)/ 223)) - } - -} - -@media (min-width:991px) and (max-width:1200px) { - .card-title { - font-size: calc(15px + -1 * ((100vw - 991px)/ 209)) - } - -} - -@media (min-width:1200px) { - .card-title { - font-size: 14px - } - -} - -.equel-grid { - display: -webkit-box; - display: flex; - -webkit-box-align: stretch; - align-items: stretch -} - -.equel-grid .grid { - width: 100%; - min-width: 100% -} - -.showcase_row_area { - margin-bottom: 20px -} - -.showcase_row_area .showcase_text_area { - text-align: right -} - -@media (max-width:767.98px) { - .showcase_row_area .showcase_text_area { - text-align: left - } - -} - -.showcase_row_area .showcase_content_area { - margin-bottom: -10px -} - -.showcase_row_area .showcase_content_area .btn { - margin-right: 5px; - margin-bottom: 10px -} - -.showcase_row_area:last-child { - margin-bottom: 0 -} - -.content-preview { - width: 45px; - height: 45px -} - -.content-preview.rounded { - border-radius: 100% -} - -.btn:not(.disabled),.cursor_pointer,a { - cursor: pointer -} - -.grd-positive-currency { - color: #047006 -} - -.grd-negative-currency { - color: red -} - -.color-success { - color: var(--success) -} - -.color-danger { - color: var(--danger) -} - -.color-warning { - color: var(--warning) -} - -.color-primary { - color: var(--primary) -} - -.btn-gradido-orange { - color: #fff; - background-color: #ffa600; - border-color: #ffa600 -} - -.visible-modal { - display: block -} - -.margin-top-10 { - margin-top: 10px -} - -.pull-right { - float: right -} - -.pull-right-row { - display: block; - margin-right: 10px -} - -.display-block { - display: block -} - -p.grd_small { - margin-top: 2px; - margin-bottom: 2px -} - -ul.grd-no-style { - list-style-type: none -} - -.center-ul-container ul { - padding-left: 0; - margin-bottom: 0; - text-align: center -} - -.center-ul-container ul .grd-error { - margin-top: 5px; - color: #8b0000 -} - -.grd-alert-color { - color: #ff5f66 !important -} - -.grd-success-color { - color: #047006 !important -} - -.grd-orange-color { - color: #ffa600 -} - -.hidden { - display: none -} - -.alert { - cursor: pointer -} - -.table.table-auto-break td, -.table.table-auto-break th { - white-space: pre-line -} - -.grd-passphrase-words { - cursor: pointer -} - -.authentication-theme .reset-pwd-link, -.authentication-theme .signup-link { - margin: 20px auto 0 auto; - text-align: center; - display: -webkit-box; - display: flex; - -webkit-box-pack: center; - justify-content: center -} - -.authentication-theme .reset-pwd-link a, -.authentication-theme .signup-link a { - display: inline-block; - margin-left: 10px -} - -.authentication-theme .auth_footer { - margin-top: 30px -} - -.authentication-theme.auth-style_1 { - min-height: 100vh; - width: 100%; - background: #f9fafb; - padding: 10% 0 2px 0 -} - -.authentication-theme.auth-style_1 .logo-section { - margin-bottom: 50px -} - -.authentication-theme.auth-style_1 .grid-body { - padding: 60px 15px; - padding-bottom: 80px; - position: relative -} - -.authentication-theme.auth-style_1 .grid-body .form-wrapper { - position: unset -} - -.authentication-theme.auth-style_1 .grid-body-small { - padding: 15px 5px; - position: relative -} - -.authentication-theme.auth-style_1 .signup-link { - position: absolute; - bottom: 25px; - left: 0; - right: 0 -} - -.authentication-theme.auth-style_1 .reset-pwd-link { - position: absolute; - bottom: 20px; - left: 0; - right: 0 -} - -.authentication-theme.auth-style_2 { - display: -webkit-box; - display: flex; - -webkit-box-align: stretch; - align-items: stretch; - -webkit-box-pack: center; - justify-content: center; - min-height: 100vh -} - -.authentication-theme.auth-style_2 .inner-wrapper { - width: 100% -} - -.authentication-theme.auth-style_2 .banner-section { - background: url(http://www.placehold.it/1200x800) no-repeat center; - background-size: 60%; - background-color: #fff; - display: -webkit-box; - display: flex; - -webkit-box-align: end; - align-items: flex-end -} - -.authentication-theme.auth-style_2 .banner-section .auth_footer { - padding: 20px 20px -} - -@media (max-width:767.98px) { - .authentication-theme.auth-style_2 .banner-section { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 0 - } - -} - -.authentication-theme.auth-style_2 .form-section { - background-color: #fff; - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - -webkit-box-pack: center; - justify-content: center; - -webkit-box-align: center; - align-items: center -} - -.authentication-theme.auth-style_2 .form-section .logo-section { - margin: 0 auto 50px auto -} - -.authentication-theme.auth-style_2 .form-section form { - width: 100%; - max-width: 350px; - margin: 0 auto -} - -@media (max-width:767.98px) { - .authentication-theme.auth-style_2 .form-section { - background: rgba(255, 255, 255, .96) - } - -} - -.authentication-theme.auth-style_3 { - background: url(http://www.placehold.it/1200x800) no-repeat center; - background-size: cover; - background-color: #fff; - min-height: 100vh; - height: 100%; - display: -webkit-box; - display: flex; - -webkit-box-align: stretch; - align-items: stretch; - -webkit-box-pack: center; - justify-content: center -} - -.authentication-theme.auth-style_3 .inner-wrapper { - width: 100% -} - -.authentication-theme.auth-style_3 .logo-section { - margin: 0 auto 50px auto -} - -.authentication-theme.auth-style_3 .form-section { - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center -} - -.authentication-theme.auth-style_3 .form-section form { - width: 100%; - max-width: 400px; - margin: 0 auto -} - -@media (max-width:767.98px) { - .authentication-theme.auth-style_3 .form-section form { - max-width: 300px - } - -} diff --git a/community_server/webroot/css/main.css b/community_server/webroot/css/main.css deleted file mode 100644 index 3e16f1164..000000000 --- a/community_server/webroot/css/main.css +++ /dev/null @@ -1,25 +0,0 @@ -@charset "UTF-8"; -/* ============================================================ - - Common CSS file, importing other files. - - Datei : main.css - Datum : 2020-04-30 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ - -@import url(normalize.css); -@import url(grd_styles.css); - -/*! debug.css v0.0.3 | MIT License | https://gist.github.com/zaydek/6b2e55258734deabbd2b4a284321d6f6 */ -[debug], -[debug] * { - color: hsla(210, 100%, 100%, 0.9) !important; - background: hsla(210, 100%, 50%, 0.5) !important; - outline: solid 0.25rem hsla(210, 100%, 100%, 0.5) !important; - - box-shadow: none !important; - filter: none !important; -} diff --git a/community_server/webroot/css/materialdesignicons.min.css b/community_server/webroot/css/materialdesignicons.min.css deleted file mode 100644 index bbdcbc816..000000000 --- a/community_server/webroot/css/materialdesignicons.min.css +++ /dev/null @@ -1,2 +0,0 @@ -/* MaterialDesignIcons.com */@font-face{font-family:"Material Design Icons";src:url("../fonts/materialdesignicons-webfont.eot?v=3.5.95");src:url("../fonts/materialdesignicons-webfont.eot?#iefix&v=3.5.95") format("embedded-opentype"),url("../fonts/materialdesignicons-webfont.woff2?v=3.5.95") format("woff2"),url("../fonts/materialdesignicons-webfont.woff?v=3.5.95") format("woff"),url("../fonts/materialdesignicons-webfont.ttf?v=3.5.95") format("truetype"),url("../fonts/materialdesignicons-webfont.svg?v=3.5.95#materialdesigniconsregular") format("svg");font-weight:normal;font-style:normal}.mdi:before,.mdi-set{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mdi-access-point:before{content:"\F002"}.mdi-access-point-network:before{content:"\F003"}.mdi-access-point-network-off:before{content:"\FBBD"}.mdi-account:before{content:"\F004"}.mdi-account-alert:before{content:"\F005"}.mdi-account-alert-outline:before{content:"\FB2C"}.mdi-account-arrow-left:before{content:"\FB2D"}.mdi-account-arrow-left-outline:before{content:"\FB2E"}.mdi-account-arrow-right:before{content:"\FB2F"}.mdi-account-arrow-right-outline:before{content:"\FB30"}.mdi-account-badge:before{content:"\FD83"}.mdi-account-badge-alert:before{content:"\FD84"}.mdi-account-badge-alert-outline:before{content:"\FD85"}.mdi-account-badge-outline:before{content:"\FD86"}.mdi-account-box:before{content:"\F006"}.mdi-account-box-multiple:before{content:"\F933"}.mdi-account-box-outline:before{content:"\F007"}.mdi-account-card-details:before{content:"\F5D2"}.mdi-account-card-details-outline:before{content:"\FD87"}.mdi-account-check:before{content:"\F008"}.mdi-account-check-outline:before{content:"\FBBE"}.mdi-account-child:before{content:"\FA88"}.mdi-account-child-circle:before{content:"\FA89"}.mdi-account-circle:before{content:"\F009"}.mdi-account-circle-outline:before{content:"\FB31"}.mdi-account-clock:before{content:"\FB32"}.mdi-account-clock-outline:before{content:"\FB33"}.mdi-account-convert:before{content:"\F00A"}.mdi-account-details:before{content:"\F631"}.mdi-account-edit:before{content:"\F6BB"}.mdi-account-group:before{content:"\F848"}.mdi-account-group-outline:before{content:"\FB34"}.mdi-account-heart:before{content:"\F898"}.mdi-account-heart-outline:before{content:"\FBBF"}.mdi-account-key:before{content:"\F00B"}.mdi-account-key-outline:before{content:"\FBC0"}.mdi-account-minus:before{content:"\F00D"}.mdi-account-minus-outline:before{content:"\FAEB"}.mdi-account-multiple:before{content:"\F00E"}.mdi-account-multiple-check:before{content:"\F8C4"}.mdi-account-multiple-minus:before{content:"\F5D3"}.mdi-account-multiple-minus-outline:before{content:"\FBC1"}.mdi-account-multiple-outline:before{content:"\F00F"}.mdi-account-multiple-plus:before{content:"\F010"}.mdi-account-multiple-plus-outline:before{content:"\F7FF"}.mdi-account-network:before{content:"\F011"}.mdi-account-network-outline:before{content:"\FBC2"}.mdi-account-off:before{content:"\F012"}.mdi-account-off-outline:before{content:"\FBC3"}.mdi-account-outline:before{content:"\F013"}.mdi-account-plus:before{content:"\F014"}.mdi-account-plus-outline:before{content:"\F800"}.mdi-account-question:before{content:"\FB35"}.mdi-account-question-outline:before{content:"\FB36"}.mdi-account-remove:before{content:"\F015"}.mdi-account-remove-outline:before{content:"\FAEC"}.mdi-account-search:before{content:"\F016"}.mdi-account-search-outline:before{content:"\F934"}.mdi-account-settings:before{content:"\F630"}.mdi-account-star:before{content:"\F017"}.mdi-account-star-outline:before{content:"\FBC4"}.mdi-account-supervisor:before{content:"\FA8A"}.mdi-account-supervisor-circle:before{content:"\FA8B"}.mdi-account-switch:before{content:"\F019"}.mdi-account-tie:before{content:"\FCBF"}.mdi-accusoft:before{content:"\F849"}.mdi-adchoices:before{content:"\FD1E"}.mdi-adjust:before{content:"\F01A"}.mdi-adobe:before{content:"\F935"}.mdi-air-conditioner:before{content:"\F01B"}.mdi-air-filter:before{content:"\FD1F"}.mdi-air-horn:before{content:"\FD88"}.mdi-air-purifier:before{content:"\FD20"}.mdi-airbag:before{content:"\FBC5"}.mdi-airballoon:before{content:"\F01C"}.mdi-airplane:before{content:"\F01D"}.mdi-airplane-landing:before{content:"\F5D4"}.mdi-airplane-off:before{content:"\F01E"}.mdi-airplane-takeoff:before{content:"\F5D5"}.mdi-airplay:before{content:"\F01F"}.mdi-airport:before{content:"\F84A"}.mdi-alarm:before{content:"\F020"}.mdi-alarm-bell:before{content:"\F78D"}.mdi-alarm-check:before{content:"\F021"}.mdi-alarm-light:before{content:"\F78E"}.mdi-alarm-light-outline:before{content:"\FBC6"}.mdi-alarm-multiple:before{content:"\F022"}.mdi-alarm-off:before{content:"\F023"}.mdi-alarm-plus:before{content:"\F024"}.mdi-alarm-snooze:before{content:"\F68D"}.mdi-album:before{content:"\F025"}.mdi-alert:before{content:"\F026"}.mdi-alert-box:before{content:"\F027"}.mdi-alert-box-outline:before{content:"\FCC0"}.mdi-alert-circle:before{content:"\F028"}.mdi-alert-circle-outline:before{content:"\F5D6"}.mdi-alert-decagram:before{content:"\F6BC"}.mdi-alert-decagram-outline:before{content:"\FCC1"}.mdi-alert-octagon:before{content:"\F029"}.mdi-alert-octagon-outline:before{content:"\FCC2"}.mdi-alert-octagram:before{content:"\F766"}.mdi-alert-octagram-outline:before{content:"\FCC3"}.mdi-alert-outline:before{content:"\F02A"}.mdi-alien:before{content:"\F899"}.mdi-all-inclusive:before{content:"\F6BD"}.mdi-alpha:before{content:"\F02B"}.mdi-alpha-a:before{content:"\41"}.mdi-alpha-a-box:before{content:"\FAED"}.mdi-alpha-a-box-outline:before{content:"\FBC7"}.mdi-alpha-a-circle:before{content:"\FBC8"}.mdi-alpha-a-circle-outline:before{content:"\FBC9"}.mdi-alpha-b:before{content:"\42"}.mdi-alpha-b-box:before{content:"\FAEE"}.mdi-alpha-b-box-outline:before{content:"\FBCA"}.mdi-alpha-b-circle:before{content:"\FBCB"}.mdi-alpha-b-circle-outline:before{content:"\FBCC"}.mdi-alpha-c:before{content:"\43"}.mdi-alpha-c-box:before{content:"\FAEF"}.mdi-alpha-c-box-outline:before{content:"\FBCD"}.mdi-alpha-c-circle:before{content:"\FBCE"}.mdi-alpha-c-circle-outline:before{content:"\FBCF"}.mdi-alpha-d:before{content:"\44"}.mdi-alpha-d-box:before{content:"\FAF0"}.mdi-alpha-d-box-outline:before{content:"\FBD0"}.mdi-alpha-d-circle:before{content:"\FBD1"}.mdi-alpha-d-circle-outline:before{content:"\FBD2"}.mdi-alpha-e:before{content:"\45"}.mdi-alpha-e-box:before{content:"\FAF1"}.mdi-alpha-e-box-outline:before{content:"\FBD3"}.mdi-alpha-e-circle:before{content:"\FBD4"}.mdi-alpha-e-circle-outline:before{content:"\FBD5"}.mdi-alpha-f:before{content:"\46"}.mdi-alpha-f-box:before{content:"\FAF2"}.mdi-alpha-f-box-outline:before{content:"\FBD6"}.mdi-alpha-f-circle:before{content:"\FBD7"}.mdi-alpha-f-circle-outline:before{content:"\FBD8"}.mdi-alpha-g:before{content:"\47"}.mdi-alpha-g-box:before{content:"\FAF3"}.mdi-alpha-g-box-outline:before{content:"\FBD9"}.mdi-alpha-g-circle:before{content:"\FBDA"}.mdi-alpha-g-circle-outline:before{content:"\FBDB"}.mdi-alpha-h:before{content:"\48"}.mdi-alpha-h-box:before{content:"\FAF4"}.mdi-alpha-h-box-outline:before{content:"\FBDC"}.mdi-alpha-h-circle:before{content:"\FBDD"}.mdi-alpha-h-circle-outline:before{content:"\FBDE"}.mdi-alpha-i:before{content:"\49"}.mdi-alpha-i-box:before{content:"\FAF5"}.mdi-alpha-i-box-outline:before{content:"\FBDF"}.mdi-alpha-i-circle:before{content:"\FBE0"}.mdi-alpha-i-circle-outline:before{content:"\FBE1"}.mdi-alpha-j:before{content:"\4A"}.mdi-alpha-j-box:before{content:"\FAF6"}.mdi-alpha-j-box-outline:before{content:"\FBE2"}.mdi-alpha-j-circle:before{content:"\FBE3"}.mdi-alpha-j-circle-outline:before{content:"\FBE4"}.mdi-alpha-k:before{content:"\4B"}.mdi-alpha-k-box:before{content:"\FAF7"}.mdi-alpha-k-box-outline:before{content:"\FBE5"}.mdi-alpha-k-circle:before{content:"\FBE6"}.mdi-alpha-k-circle-outline:before{content:"\FBE7"}.mdi-alpha-l:before{content:"\4C"}.mdi-alpha-l-box:before{content:"\FAF8"}.mdi-alpha-l-box-outline:before{content:"\FBE8"}.mdi-alpha-l-circle:before{content:"\FBE9"}.mdi-alpha-l-circle-outline:before{content:"\FBEA"}.mdi-alpha-m:before{content:"\4D"}.mdi-alpha-m-box:before{content:"\FAF9"}.mdi-alpha-m-box-outline:before{content:"\FBEB"}.mdi-alpha-m-circle:before{content:"\FBEC"}.mdi-alpha-m-circle-outline:before{content:"\FBED"}.mdi-alpha-n:before{content:"\4E"}.mdi-alpha-n-box:before{content:"\FAFA"}.mdi-alpha-n-box-outline:before{content:"\FBEE"}.mdi-alpha-n-circle:before{content:"\FBEF"}.mdi-alpha-n-circle-outline:before{content:"\FBF0"}.mdi-alpha-o:before{content:"\4F"}.mdi-alpha-o-box:before{content:"\FAFB"}.mdi-alpha-o-box-outline:before{content:"\FBF1"}.mdi-alpha-o-circle:before{content:"\FBF2"}.mdi-alpha-o-circle-outline:before{content:"\FBF3"}.mdi-alpha-p:before{content:"\50"}.mdi-alpha-p-box:before{content:"\FAFC"}.mdi-alpha-p-box-outline:before{content:"\FBF4"}.mdi-alpha-p-circle:before{content:"\FBF5"}.mdi-alpha-p-circle-outline:before{content:"\FBF6"}.mdi-alpha-q:before{content:"\51"}.mdi-alpha-q-box:before{content:"\FAFD"}.mdi-alpha-q-box-outline:before{content:"\FBF7"}.mdi-alpha-q-circle:before{content:"\FBF8"}.mdi-alpha-q-circle-outline:before{content:"\FBF9"}.mdi-alpha-r:before{content:"\52"}.mdi-alpha-r-box:before{content:"\FAFE"}.mdi-alpha-r-box-outline:before{content:"\FBFA"}.mdi-alpha-r-circle:before{content:"\FBFB"}.mdi-alpha-r-circle-outline:before{content:"\FBFC"}.mdi-alpha-s:before{content:"\53"}.mdi-alpha-s-box:before{content:"\FAFF"}.mdi-alpha-s-box-outline:before{content:"\FBFD"}.mdi-alpha-s-circle:before{content:"\FBFE"}.mdi-alpha-s-circle-outline:before{content:"\FBFF"}.mdi-alpha-t:before{content:"\54"}.mdi-alpha-t-box:before{content:"\FB00"}.mdi-alpha-t-box-outline:before{content:"\FC00"}.mdi-alpha-t-circle:before{content:"\FC01"}.mdi-alpha-t-circle-outline:before{content:"\FC02"}.mdi-alpha-u:before{content:"\55"}.mdi-alpha-u-box:before{content:"\FB01"}.mdi-alpha-u-box-outline:before{content:"\FC03"}.mdi-alpha-u-circle:before{content:"\FC04"}.mdi-alpha-u-circle-outline:before{content:"\FC05"}.mdi-alpha-v:before{content:"\56"}.mdi-alpha-v-box:before{content:"\FB02"}.mdi-alpha-v-box-outline:before{content:"\FC06"}.mdi-alpha-v-circle:before{content:"\FC07"}.mdi-alpha-v-circle-outline:before{content:"\FC08"}.mdi-alpha-w:before{content:"\57"}.mdi-alpha-w-box:before{content:"\FB03"}.mdi-alpha-w-box-outline:before{content:"\FC09"}.mdi-alpha-w-circle:before{content:"\FC0A"}.mdi-alpha-w-circle-outline:before{content:"\FC0B"}.mdi-alpha-x:before{content:"\58"}.mdi-alpha-x-box:before{content:"\FB04"}.mdi-alpha-x-box-outline:before{content:"\FC0C"}.mdi-alpha-x-circle:before{content:"\FC0D"}.mdi-alpha-x-circle-outline:before{content:"\FC0E"}.mdi-alpha-y:before{content:"\59"}.mdi-alpha-y-box:before{content:"\FB05"}.mdi-alpha-y-box-outline:before{content:"\FC0F"}.mdi-alpha-y-circle:before{content:"\FC10"}.mdi-alpha-y-circle-outline:before{content:"\FC11"}.mdi-alpha-z:before{content:"\5A"}.mdi-alpha-z-box:before{content:"\FB06"}.mdi-alpha-z-box-outline:before{content:"\FC12"}.mdi-alpha-z-circle:before{content:"\FC13"}.mdi-alpha-z-circle-outline:before{content:"\FC14"}.mdi-alphabetical:before{content:"\F02C"}.mdi-altimeter:before{content:"\F5D7"}.mdi-amazon:before{content:"\F02D"}.mdi-amazon-alexa:before{content:"\F8C5"}.mdi-amazon-drive:before{content:"\F02E"}.mdi-ambulance:before{content:"\F02F"}.mdi-ammunition:before{content:"\FCC4"}.mdi-ampersand:before{content:"\FA8C"}.mdi-amplifier:before{content:"\F030"}.mdi-anchor:before{content:"\F031"}.mdi-android:before{content:"\F032"}.mdi-android-auto:before{content:"\FA8D"}.mdi-android-debug-bridge:before{content:"\F033"}.mdi-android-head:before{content:"\F78F"}.mdi-android-messages:before{content:"\FD21"}.mdi-android-studio:before{content:"\F034"}.mdi-angle-acute:before{content:"\F936"}.mdi-angle-obtuse:before{content:"\F937"}.mdi-angle-right:before{content:"\F938"}.mdi-angular:before{content:"\F6B1"}.mdi-angularjs:before{content:"\F6BE"}.mdi-animation:before{content:"\F5D8"}.mdi-animation-outline:before{content:"\FA8E"}.mdi-animation-play:before{content:"\F939"}.mdi-animation-play-outline:before{content:"\FA8F"}.mdi-anvil:before{content:"\F89A"}.mdi-apple:before{content:"\F035"}.mdi-apple-finder:before{content:"\F036"}.mdi-apple-icloud:before{content:"\F038"}.mdi-apple-ios:before{content:"\F037"}.mdi-apple-keyboard-caps:before{content:"\F632"}.mdi-apple-keyboard-command:before{content:"\F633"}.mdi-apple-keyboard-control:before{content:"\F634"}.mdi-apple-keyboard-option:before{content:"\F635"}.mdi-apple-keyboard-shift:before{content:"\F636"}.mdi-apple-safari:before{content:"\F039"}.mdi-application:before{content:"\F614"}.mdi-application-export:before{content:"\FD89"}.mdi-application-import:before{content:"\FD8A"}.mdi-apps:before{content:"\F03B"}.mdi-apps-box:before{content:"\FD22"}.mdi-arch:before{content:"\F8C6"}.mdi-archive:before{content:"\F03C"}.mdi-arrange-bring-forward:before{content:"\F03D"}.mdi-arrange-bring-to-front:before{content:"\F03E"}.mdi-arrange-send-backward:before{content:"\F03F"}.mdi-arrange-send-to-back:before{content:"\F040"}.mdi-arrow-all:before{content:"\F041"}.mdi-arrow-bottom-left:before{content:"\F042"}.mdi-arrow-bottom-left-bold-outline:before{content:"\F9B6"}.mdi-arrow-bottom-left-thick:before{content:"\F9B7"}.mdi-arrow-bottom-right:before{content:"\F043"}.mdi-arrow-bottom-right-bold-outline:before{content:"\F9B8"}.mdi-arrow-bottom-right-thick:before{content:"\F9B9"}.mdi-arrow-collapse:before{content:"\F615"}.mdi-arrow-collapse-all:before{content:"\F044"}.mdi-arrow-collapse-down:before{content:"\F791"}.mdi-arrow-collapse-horizontal:before{content:"\F84B"}.mdi-arrow-collapse-left:before{content:"\F792"}.mdi-arrow-collapse-right:before{content:"\F793"}.mdi-arrow-collapse-up:before{content:"\F794"}.mdi-arrow-collapse-vertical:before{content:"\F84C"}.mdi-arrow-decision:before{content:"\F9BA"}.mdi-arrow-decision-auto:before{content:"\F9BB"}.mdi-arrow-decision-auto-outline:before{content:"\F9BC"}.mdi-arrow-decision-outline:before{content:"\F9BD"}.mdi-arrow-down:before{content:"\F045"}.mdi-arrow-down-bold:before{content:"\F72D"}.mdi-arrow-down-bold-box:before{content:"\F72E"}.mdi-arrow-down-bold-box-outline:before{content:"\F72F"}.mdi-arrow-down-bold-circle:before{content:"\F047"}.mdi-arrow-down-bold-circle-outline:before{content:"\F048"}.mdi-arrow-down-bold-hexagon-outline:before{content:"\F049"}.mdi-arrow-down-bold-outline:before{content:"\F9BE"}.mdi-arrow-down-box:before{content:"\F6BF"}.mdi-arrow-down-circle:before{content:"\FCB7"}.mdi-arrow-down-circle-outline:before{content:"\FCB8"}.mdi-arrow-down-drop-circle:before{content:"\F04A"}.mdi-arrow-down-drop-circle-outline:before{content:"\F04B"}.mdi-arrow-down-thick:before{content:"\F046"}.mdi-arrow-expand:before{content:"\F616"}.mdi-arrow-expand-all:before{content:"\F04C"}.mdi-arrow-expand-down:before{content:"\F795"}.mdi-arrow-expand-horizontal:before{content:"\F84D"}.mdi-arrow-expand-left:before{content:"\F796"}.mdi-arrow-expand-right:before{content:"\F797"}.mdi-arrow-expand-up:before{content:"\F798"}.mdi-arrow-expand-vertical:before{content:"\F84E"}.mdi-arrow-left:before{content:"\F04D"}.mdi-arrow-left-bold:before{content:"\F730"}.mdi-arrow-left-bold-box:before{content:"\F731"}.mdi-arrow-left-bold-box-outline:before{content:"\F732"}.mdi-arrow-left-bold-circle:before{content:"\F04F"}.mdi-arrow-left-bold-circle-outline:before{content:"\F050"}.mdi-arrow-left-bold-hexagon-outline:before{content:"\F051"}.mdi-arrow-left-bold-outline:before{content:"\F9BF"}.mdi-arrow-left-box:before{content:"\F6C0"}.mdi-arrow-left-circle:before{content:"\FCB9"}.mdi-arrow-left-circle-outline:before{content:"\FCBA"}.mdi-arrow-left-drop-circle:before{content:"\F052"}.mdi-arrow-left-drop-circle-outline:before{content:"\F053"}.mdi-arrow-left-right-bold-outline:before{content:"\F9C0"}.mdi-arrow-left-thick:before{content:"\F04E"}.mdi-arrow-right:before{content:"\F054"}.mdi-arrow-right-bold:before{content:"\F733"}.mdi-arrow-right-bold-box:before{content:"\F734"}.mdi-arrow-right-bold-box-outline:before{content:"\F735"}.mdi-arrow-right-bold-circle:before{content:"\F056"}.mdi-arrow-right-bold-circle-outline:before{content:"\F057"}.mdi-arrow-right-bold-hexagon-outline:before{content:"\F058"}.mdi-arrow-right-bold-outline:before{content:"\F9C1"}.mdi-arrow-right-box:before{content:"\F6C1"}.mdi-arrow-right-circle:before{content:"\FCBB"}.mdi-arrow-right-circle-outline:before{content:"\FCBC"}.mdi-arrow-right-drop-circle:before{content:"\F059"}.mdi-arrow-right-drop-circle-outline:before{content:"\F05A"}.mdi-arrow-right-thick:before{content:"\F055"}.mdi-arrow-split-horizontal:before{content:"\F93A"}.mdi-arrow-split-vertical:before{content:"\F93B"}.mdi-arrow-top-left:before{content:"\F05B"}.mdi-arrow-top-left-bold-outline:before{content:"\F9C2"}.mdi-arrow-top-left-thick:before{content:"\F9C3"}.mdi-arrow-top-right:before{content:"\F05C"}.mdi-arrow-top-right-bold-outline:before{content:"\F9C4"}.mdi-arrow-top-right-thick:before{content:"\F9C5"}.mdi-arrow-up:before{content:"\F05D"}.mdi-arrow-up-bold:before{content:"\F736"}.mdi-arrow-up-bold-box:before{content:"\F737"}.mdi-arrow-up-bold-box-outline:before{content:"\F738"}.mdi-arrow-up-bold-circle:before{content:"\F05F"}.mdi-arrow-up-bold-circle-outline:before{content:"\F060"}.mdi-arrow-up-bold-hexagon-outline:before{content:"\F061"}.mdi-arrow-up-bold-outline:before{content:"\F9C6"}.mdi-arrow-up-box:before{content:"\F6C2"}.mdi-arrow-up-circle:before{content:"\FCBD"}.mdi-arrow-up-circle-outline:before{content:"\FCBE"}.mdi-arrow-up-down-bold-outline:before{content:"\F9C7"}.mdi-arrow-up-drop-circle:before{content:"\F062"}.mdi-arrow-up-drop-circle-outline:before{content:"\F063"}.mdi-arrow-up-thick:before{content:"\F05E"}.mdi-artist:before{content:"\F802"}.mdi-artist-outline:before{content:"\FCC5"}.mdi-artstation:before{content:"\FB37"}.mdi-aspect-ratio:before{content:"\FA23"}.mdi-assistant:before{content:"\F064"}.mdi-asterisk:before{content:"\F6C3"}.mdi-at:before{content:"\F065"}.mdi-atlassian:before{content:"\F803"}.mdi-atm:before{content:"\FD23"}.mdi-atom:before{content:"\F767"}.mdi-attachment:before{content:"\F066"}.mdi-audio-video:before{content:"\F93C"}.mdi-audiobook:before{content:"\F067"}.mdi-augmented-reality:before{content:"\F84F"}.mdi-auto-fix:before{content:"\F068"}.mdi-auto-upload:before{content:"\F069"}.mdi-autorenew:before{content:"\F06A"}.mdi-av-timer:before{content:"\F06B"}.mdi-axe:before{content:"\F8C7"}.mdi-axis:before{content:"\FD24"}.mdi-axis-arrow:before{content:"\FD25"}.mdi-axis-arrow-lock:before{content:"\FD26"}.mdi-axis-lock:before{content:"\FD27"}.mdi-axis-x-arrow:before{content:"\FD28"}.mdi-axis-x-arrow-lock:before{content:"\FD29"}.mdi-axis-x-rotate-clockwise:before{content:"\FD2A"}.mdi-axis-x-rotate-counterclockwise:before{content:"\FD2B"}.mdi-axis-x-y-arrow-lock:before{content:"\FD2C"}.mdi-axis-y-arrow:before{content:"\FD2D"}.mdi-axis-y-arrow-lock:before{content:"\FD2E"}.mdi-axis-y-rotate-clockwise:before{content:"\FD2F"}.mdi-axis-y-rotate-counterclockwise:before{content:"\FD30"}.mdi-axis-z-arrow:before{content:"\FD31"}.mdi-axis-z-arrow-lock:before{content:"\FD32"}.mdi-axis-z-rotate-clockwise:before{content:"\FD33"}.mdi-axis-z-rotate-counterclockwise:before{content:"\FD34"}.mdi-azure:before{content:"\F804"}.mdi-babel:before{content:"\FA24"}.mdi-baby:before{content:"\F06C"}.mdi-baby-buggy:before{content:"\F68E"}.mdi-backburger:before{content:"\F06D"}.mdi-backspace:before{content:"\F06E"}.mdi-backspace-outline:before{content:"\FB38"}.mdi-backup-restore:before{content:"\F06F"}.mdi-badminton:before{content:"\F850"}.mdi-balloon:before{content:"\FA25"}.mdi-ballot:before{content:"\F9C8"}.mdi-ballot-outline:before{content:"\F9C9"}.mdi-ballot-recount:before{content:"\FC15"}.mdi-ballot-recount-outline:before{content:"\FC16"}.mdi-bandage:before{content:"\FD8B"}.mdi-bandcamp:before{content:"\F674"}.mdi-bank:before{content:"\F070"}.mdi-bank-minus:before{content:"\FD8C"}.mdi-bank-plus:before{content:"\FD8D"}.mdi-bank-remove:before{content:"\FD8E"}.mdi-bank-transfer:before{content:"\FA26"}.mdi-bank-transfer-in:before{content:"\FA27"}.mdi-bank-transfer-out:before{content:"\FA28"}.mdi-barcode:before{content:"\F071"}.mdi-barcode-scan:before{content:"\F072"}.mdi-barley:before{content:"\F073"}.mdi-barley-off:before{content:"\FB39"}.mdi-barn:before{content:"\FB3A"}.mdi-barrel:before{content:"\F074"}.mdi-baseball:before{content:"\F851"}.mdi-baseball-bat:before{content:"\F852"}.mdi-basecamp:before{content:"\F075"}.mdi-basket:before{content:"\F076"}.mdi-basket-fill:before{content:"\F077"}.mdi-basket-unfill:before{content:"\F078"}.mdi-basketball:before{content:"\F805"}.mdi-basketball-hoop:before{content:"\FC17"}.mdi-basketball-hoop-outline:before{content:"\FC18"}.mdi-bat:before{content:"\FB3B"}.mdi-battery:before{content:"\F079"}.mdi-battery-10:before{content:"\F07A"}.mdi-battery-10-bluetooth:before{content:"\F93D"}.mdi-battery-20:before{content:"\F07B"}.mdi-battery-20-bluetooth:before{content:"\F93E"}.mdi-battery-30:before{content:"\F07C"}.mdi-battery-30-bluetooth:before{content:"\F93F"}.mdi-battery-40:before{content:"\F07D"}.mdi-battery-40-bluetooth:before{content:"\F940"}.mdi-battery-50:before{content:"\F07E"}.mdi-battery-50-bluetooth:before{content:"\F941"}.mdi-battery-60:before{content:"\F07F"}.mdi-battery-60-bluetooth:before{content:"\F942"}.mdi-battery-70:before{content:"\F080"}.mdi-battery-70-bluetooth:before{content:"\F943"}.mdi-battery-80:before{content:"\F081"}.mdi-battery-80-bluetooth:before{content:"\F944"}.mdi-battery-90:before{content:"\F082"}.mdi-battery-90-bluetooth:before{content:"\F945"}.mdi-battery-alert:before{content:"\F083"}.mdi-battery-alert-bluetooth:before{content:"\F946"}.mdi-battery-bluetooth:before{content:"\F947"}.mdi-battery-bluetooth-variant:before{content:"\F948"}.mdi-battery-charging:before{content:"\F084"}.mdi-battery-charging-10:before{content:"\F89B"}.mdi-battery-charging-100:before{content:"\F085"}.mdi-battery-charging-20:before{content:"\F086"}.mdi-battery-charging-30:before{content:"\F087"}.mdi-battery-charging-40:before{content:"\F088"}.mdi-battery-charging-50:before{content:"\F89C"}.mdi-battery-charging-60:before{content:"\F089"}.mdi-battery-charging-70:before{content:"\F89D"}.mdi-battery-charging-80:before{content:"\F08A"}.mdi-battery-charging-90:before{content:"\F08B"}.mdi-battery-charging-outline:before{content:"\F89E"}.mdi-battery-charging-wireless:before{content:"\F806"}.mdi-battery-charging-wireless-10:before{content:"\F807"}.mdi-battery-charging-wireless-20:before{content:"\F808"}.mdi-battery-charging-wireless-30:before{content:"\F809"}.mdi-battery-charging-wireless-40:before{content:"\F80A"}.mdi-battery-charging-wireless-50:before{content:"\F80B"}.mdi-battery-charging-wireless-60:before{content:"\F80C"}.mdi-battery-charging-wireless-70:before{content:"\F80D"}.mdi-battery-charging-wireless-80:before{content:"\F80E"}.mdi-battery-charging-wireless-90:before{content:"\F80F"}.mdi-battery-charging-wireless-alert:before{content:"\F810"}.mdi-battery-charging-wireless-outline:before{content:"\F811"}.mdi-battery-minus:before{content:"\F08C"}.mdi-battery-negative:before{content:"\F08D"}.mdi-battery-outline:before{content:"\F08E"}.mdi-battery-plus:before{content:"\F08F"}.mdi-battery-positive:before{content:"\F090"}.mdi-battery-unknown:before{content:"\F091"}.mdi-battery-unknown-bluetooth:before{content:"\F949"}.mdi-battlenet:before{content:"\FB3C"}.mdi-beach:before{content:"\F092"}.mdi-beaker:before{content:"\FCC6"}.mdi-beaker-outline:before{content:"\F68F"}.mdi-beats:before{content:"\F097"}.mdi-bed-empty:before{content:"\F89F"}.mdi-beer:before{content:"\F098"}.mdi-behance:before{content:"\F099"}.mdi-bell:before{content:"\F09A"}.mdi-bell-alert:before{content:"\FD35"}.mdi-bell-circle:before{content:"\FD36"}.mdi-bell-circle-outline:before{content:"\FD37"}.mdi-bell-off:before{content:"\F09B"}.mdi-bell-off-outline:before{content:"\FA90"}.mdi-bell-outline:before{content:"\F09C"}.mdi-bell-plus:before{content:"\F09D"}.mdi-bell-plus-outline:before{content:"\FA91"}.mdi-bell-ring:before{content:"\F09E"}.mdi-bell-ring-outline:before{content:"\F09F"}.mdi-bell-sleep:before{content:"\F0A0"}.mdi-bell-sleep-outline:before{content:"\FA92"}.mdi-beta:before{content:"\F0A1"}.mdi-betamax:before{content:"\F9CA"}.mdi-bible:before{content:"\F0A2"}.mdi-bike:before{content:"\F0A3"}.mdi-billiards:before{content:"\FB3D"}.mdi-billiards-rack:before{content:"\FB3E"}.mdi-bing:before{content:"\F0A4"}.mdi-binoculars:before{content:"\F0A5"}.mdi-bio:before{content:"\F0A6"}.mdi-biohazard:before{content:"\F0A7"}.mdi-bitbucket:before{content:"\F0A8"}.mdi-bitcoin:before{content:"\F812"}.mdi-black-mesa:before{content:"\F0A9"}.mdi-blackberry:before{content:"\F0AA"}.mdi-blender:before{content:"\FCC7"}.mdi-blender-software:before{content:"\F0AB"}.mdi-blinds:before{content:"\F0AC"}.mdi-block-helper:before{content:"\F0AD"}.mdi-blogger:before{content:"\F0AE"}.mdi-blood-bag:before{content:"\FCC8"}.mdi-bluetooth:before{content:"\F0AF"}.mdi-bluetooth-audio:before{content:"\F0B0"}.mdi-bluetooth-connect:before{content:"\F0B1"}.mdi-bluetooth-off:before{content:"\F0B2"}.mdi-bluetooth-settings:before{content:"\F0B3"}.mdi-bluetooth-transfer:before{content:"\F0B4"}.mdi-blur:before{content:"\F0B5"}.mdi-blur-linear:before{content:"\F0B6"}.mdi-blur-off:before{content:"\F0B7"}.mdi-blur-radial:before{content:"\F0B8"}.mdi-bolnisi-cross:before{content:"\FCC9"}.mdi-bolt:before{content:"\FD8F"}.mdi-bomb:before{content:"\F690"}.mdi-bomb-off:before{content:"\F6C4"}.mdi-bone:before{content:"\F0B9"}.mdi-book:before{content:"\F0BA"}.mdi-book-lock:before{content:"\F799"}.mdi-book-lock-open:before{content:"\F79A"}.mdi-book-minus:before{content:"\F5D9"}.mdi-book-multiple:before{content:"\F0BB"}.mdi-book-multiple-minus:before{content:"\FA93"}.mdi-book-multiple-plus:before{content:"\FA94"}.mdi-book-multiple-remove:before{content:"\FA95"}.mdi-book-multiple-variant:before{content:"\F0BC"}.mdi-book-open:before{content:"\F0BD"}.mdi-book-open-outline:before{content:"\FB3F"}.mdi-book-open-page-variant:before{content:"\F5DA"}.mdi-book-open-variant:before{content:"\F0BE"}.mdi-book-outline:before{content:"\FB40"}.mdi-book-plus:before{content:"\F5DB"}.mdi-book-remove:before{content:"\FA96"}.mdi-book-variant:before{content:"\F0BF"}.mdi-bookmark:before{content:"\F0C0"}.mdi-bookmark-check:before{content:"\F0C1"}.mdi-bookmark-minus:before{content:"\F9CB"}.mdi-bookmark-minus-outline:before{content:"\F9CC"}.mdi-bookmark-music:before{content:"\F0C2"}.mdi-bookmark-off:before{content:"\F9CD"}.mdi-bookmark-off-outline:before{content:"\F9CE"}.mdi-bookmark-outline:before{content:"\F0C3"}.mdi-bookmark-plus:before{content:"\F0C5"}.mdi-bookmark-plus-outline:before{content:"\F0C4"}.mdi-bookmark-remove:before{content:"\F0C6"}.mdi-boombox:before{content:"\F5DC"}.mdi-bootstrap:before{content:"\F6C5"}.mdi-border-all:before{content:"\F0C7"}.mdi-border-all-variant:before{content:"\F8A0"}.mdi-border-bottom:before{content:"\F0C8"}.mdi-border-bottom-variant:before{content:"\F8A1"}.mdi-border-color:before{content:"\F0C9"}.mdi-border-horizontal:before{content:"\F0CA"}.mdi-border-inside:before{content:"\F0CB"}.mdi-border-left:before{content:"\F0CC"}.mdi-border-left-variant:before{content:"\F8A2"}.mdi-border-none:before{content:"\F0CD"}.mdi-border-none-variant:before{content:"\F8A3"}.mdi-border-outside:before{content:"\F0CE"}.mdi-border-right:before{content:"\F0CF"}.mdi-border-right-variant:before{content:"\F8A4"}.mdi-border-style:before{content:"\F0D0"}.mdi-border-top:before{content:"\F0D1"}.mdi-border-top-variant:before{content:"\F8A5"}.mdi-border-vertical:before{content:"\F0D2"}.mdi-bottle-wine:before{content:"\F853"}.mdi-bow-tie:before{content:"\F677"}.mdi-bowl:before{content:"\F617"}.mdi-bowling:before{content:"\F0D3"}.mdi-box:before{content:"\F0D4"}.mdi-box-cutter:before{content:"\F0D5"}.mdi-box-shadow:before{content:"\F637"}.mdi-boxing-glove:before{content:"\FB41"}.mdi-braille:before{content:"\F9CF"}.mdi-brain:before{content:"\F9D0"}.mdi-bread-slice:before{content:"\FCCA"}.mdi-bread-slice-outline:before{content:"\FCCB"}.mdi-bridge:before{content:"\F618"}.mdi-briefcase:before{content:"\F0D6"}.mdi-briefcase-account:before{content:"\FCCC"}.mdi-briefcase-account-outline:before{content:"\FCCD"}.mdi-briefcase-check:before{content:"\F0D7"}.mdi-briefcase-download:before{content:"\F0D8"}.mdi-briefcase-download-outline:before{content:"\FC19"}.mdi-briefcase-edit:before{content:"\FA97"}.mdi-briefcase-edit-outline:before{content:"\FC1A"}.mdi-briefcase-minus:before{content:"\FA29"}.mdi-briefcase-minus-outline:before{content:"\FC1B"}.mdi-briefcase-outline:before{content:"\F813"}.mdi-briefcase-plus:before{content:"\FA2A"}.mdi-briefcase-plus-outline:before{content:"\FC1C"}.mdi-briefcase-remove:before{content:"\FA2B"}.mdi-briefcase-remove-outline:before{content:"\FC1D"}.mdi-briefcase-search:before{content:"\FA2C"}.mdi-briefcase-search-outline:before{content:"\FC1E"}.mdi-briefcase-upload:before{content:"\F0D9"}.mdi-briefcase-upload-outline:before{content:"\FC1F"}.mdi-brightness-1:before{content:"\F0DA"}.mdi-brightness-2:before{content:"\F0DB"}.mdi-brightness-3:before{content:"\F0DC"}.mdi-brightness-4:before{content:"\F0DD"}.mdi-brightness-5:before{content:"\F0DE"}.mdi-brightness-6:before{content:"\F0DF"}.mdi-brightness-7:before{content:"\F0E0"}.mdi-brightness-auto:before{content:"\F0E1"}.mdi-brightness-percent:before{content:"\FCCE"}.mdi-broom:before{content:"\F0E2"}.mdi-brush:before{content:"\F0E3"}.mdi-buddhism:before{content:"\F94A"}.mdi-buffer:before{content:"\F619"}.mdi-bug:before{content:"\F0E4"}.mdi-bug-check:before{content:"\FA2D"}.mdi-bug-check-outline:before{content:"\FA2E"}.mdi-bug-outline:before{content:"\FA2F"}.mdi-bugle:before{content:"\FD90"}.mdi-bulldozer:before{content:"\FB07"}.mdi-bullet:before{content:"\FCCF"}.mdi-bulletin-board:before{content:"\F0E5"}.mdi-bullhorn:before{content:"\F0E6"}.mdi-bullhorn-outline:before{content:"\FB08"}.mdi-bullseye:before{content:"\F5DD"}.mdi-bullseye-arrow:before{content:"\F8C8"}.mdi-bus:before{content:"\F0E7"}.mdi-bus-alert:before{content:"\FA98"}.mdi-bus-articulated-end:before{content:"\F79B"}.mdi-bus-articulated-front:before{content:"\F79C"}.mdi-bus-clock:before{content:"\F8C9"}.mdi-bus-double-decker:before{content:"\F79D"}.mdi-bus-school:before{content:"\F79E"}.mdi-bus-side:before{content:"\F79F"}.mdi-cached:before{content:"\F0E8"}.mdi-cactus:before{content:"\FD91"}.mdi-cake:before{content:"\F0E9"}.mdi-cake-layered:before{content:"\F0EA"}.mdi-cake-variant:before{content:"\F0EB"}.mdi-calculator:before{content:"\F0EC"}.mdi-calculator-variant:before{content:"\FA99"}.mdi-calendar:before{content:"\F0ED"}.mdi-calendar-alert:before{content:"\FA30"}.mdi-calendar-blank:before{content:"\F0EE"}.mdi-calendar-blank-outline:before{content:"\FB42"}.mdi-calendar-check:before{content:"\F0EF"}.mdi-calendar-check-outline:before{content:"\FC20"}.mdi-calendar-clock:before{content:"\F0F0"}.mdi-calendar-edit:before{content:"\F8A6"}.mdi-calendar-export:before{content:"\FB09"}.mdi-calendar-heart:before{content:"\F9D1"}.mdi-calendar-import:before{content:"\FB0A"}.mdi-calendar-minus:before{content:"\FD38"}.mdi-calendar-multiple:before{content:"\F0F1"}.mdi-calendar-multiple-check:before{content:"\F0F2"}.mdi-calendar-multiselect:before{content:"\FA31"}.mdi-calendar-outline:before{content:"\FB43"}.mdi-calendar-plus:before{content:"\F0F3"}.mdi-calendar-question:before{content:"\F691"}.mdi-calendar-range:before{content:"\F678"}.mdi-calendar-range-outline:before{content:"\FB44"}.mdi-calendar-remove:before{content:"\F0F4"}.mdi-calendar-remove-outline:before{content:"\FC21"}.mdi-calendar-search:before{content:"\F94B"}.mdi-calendar-star:before{content:"\F9D2"}.mdi-calendar-text:before{content:"\F0F5"}.mdi-calendar-text-outline:before{content:"\FC22"}.mdi-calendar-today:before{content:"\F0F6"}.mdi-calendar-week:before{content:"\FA32"}.mdi-calendar-week-begin:before{content:"\FA33"}.mdi-call-made:before{content:"\F0F7"}.mdi-call-merge:before{content:"\F0F8"}.mdi-call-missed:before{content:"\F0F9"}.mdi-call-received:before{content:"\F0FA"}.mdi-call-split:before{content:"\F0FB"}.mdi-camcorder:before{content:"\F0FC"}.mdi-camcorder-box:before{content:"\F0FD"}.mdi-camcorder-box-off:before{content:"\F0FE"}.mdi-camcorder-off:before{content:"\F0FF"}.mdi-camera:before{content:"\F100"}.mdi-camera-account:before{content:"\F8CA"}.mdi-camera-burst:before{content:"\F692"}.mdi-camera-control:before{content:"\FB45"}.mdi-camera-enhance:before{content:"\F101"}.mdi-camera-enhance-outline:before{content:"\FB46"}.mdi-camera-front:before{content:"\F102"}.mdi-camera-front-variant:before{content:"\F103"}.mdi-camera-gopro:before{content:"\F7A0"}.mdi-camera-image:before{content:"\F8CB"}.mdi-camera-iris:before{content:"\F104"}.mdi-camera-metering-center:before{content:"\F7A1"}.mdi-camera-metering-matrix:before{content:"\F7A2"}.mdi-camera-metering-partial:before{content:"\F7A3"}.mdi-camera-metering-spot:before{content:"\F7A4"}.mdi-camera-off:before{content:"\F5DF"}.mdi-camera-outline:before{content:"\FD39"}.mdi-camera-party-mode:before{content:"\F105"}.mdi-camera-rear:before{content:"\F106"}.mdi-camera-rear-variant:before{content:"\F107"}.mdi-camera-switch:before{content:"\F108"}.mdi-camera-timer:before{content:"\F109"}.mdi-camera-wireless:before{content:"\FD92"}.mdi-camera-wireless-outline:before{content:"\FD93"}.mdi-cancel:before{content:"\F739"}.mdi-candle:before{content:"\F5E2"}.mdi-candycane:before{content:"\F10A"}.mdi-cannabis:before{content:"\F7A5"}.mdi-caps-lock:before{content:"\FA9A"}.mdi-car:before{content:"\F10B"}.mdi-car-battery:before{content:"\F10C"}.mdi-car-brake-abs:before{content:"\FC23"}.mdi-car-brake-alert:before{content:"\FC24"}.mdi-car-brake-hold:before{content:"\FD3A"}.mdi-car-brake-parking:before{content:"\FD3B"}.mdi-car-connected:before{content:"\F10D"}.mdi-car-convertible:before{content:"\F7A6"}.mdi-car-cruise-control:before{content:"\FD3C"}.mdi-car-defrost-front:before{content:"\FD3D"}.mdi-car-defrost-rear:before{content:"\FD3E"}.mdi-car-door:before{content:"\FB47"}.mdi-car-electric:before{content:"\FB48"}.mdi-car-esp:before{content:"\FC25"}.mdi-car-estate:before{content:"\F7A7"}.mdi-car-hatchback:before{content:"\F7A8"}.mdi-car-key:before{content:"\FB49"}.mdi-car-light-dimmed:before{content:"\FC26"}.mdi-car-light-fog:before{content:"\FC27"}.mdi-car-light-high:before{content:"\FC28"}.mdi-car-limousine:before{content:"\F8CC"}.mdi-car-multiple:before{content:"\FB4A"}.mdi-car-parking-lights:before{content:"\FD3F"}.mdi-car-pickup:before{content:"\F7A9"}.mdi-car-side:before{content:"\F7AA"}.mdi-car-sports:before{content:"\F7AB"}.mdi-car-tire-alert:before{content:"\FC29"}.mdi-car-traction-control:before{content:"\FD40"}.mdi-car-wash:before{content:"\F10E"}.mdi-caravan:before{content:"\F7AC"}.mdi-card:before{content:"\FB4B"}.mdi-card-bulleted:before{content:"\FB4C"}.mdi-card-bulleted-off:before{content:"\FB4D"}.mdi-card-bulleted-off-outline:before{content:"\FB4E"}.mdi-card-bulleted-outline:before{content:"\FB4F"}.mdi-card-bulleted-settings:before{content:"\FB50"}.mdi-card-bulleted-settings-outline:before{content:"\FB51"}.mdi-card-outline:before{content:"\FB52"}.mdi-card-text:before{content:"\FB53"}.mdi-card-text-outline:before{content:"\FB54"}.mdi-cards:before{content:"\F638"}.mdi-cards-club:before{content:"\F8CD"}.mdi-cards-diamond:before{content:"\F8CE"}.mdi-cards-heart:before{content:"\F8CF"}.mdi-cards-outline:before{content:"\F639"}.mdi-cards-playing-outline:before{content:"\F63A"}.mdi-cards-spade:before{content:"\F8D0"}.mdi-cards-variant:before{content:"\F6C6"}.mdi-carrot:before{content:"\F10F"}.mdi-carry-on-bag-check:before{content:"\FD41"}.mdi-cart:before{content:"\F110"}.mdi-cart-arrow-down:before{content:"\FD42"}.mdi-cart-arrow-right:before{content:"\FC2A"}.mdi-cart-arrow-up:before{content:"\FD43"}.mdi-cart-minus:before{content:"\FD44"}.mdi-cart-off:before{content:"\F66B"}.mdi-cart-outline:before{content:"\F111"}.mdi-cart-plus:before{content:"\F112"}.mdi-cart-remove:before{content:"\FD45"}.mdi-case-sensitive-alt:before{content:"\F113"}.mdi-cash:before{content:"\F114"}.mdi-cash-100:before{content:"\F115"}.mdi-cash-marker:before{content:"\FD94"}.mdi-cash-multiple:before{content:"\F116"}.mdi-cash-refund:before{content:"\FA9B"}.mdi-cash-register:before{content:"\FCD0"}.mdi-cash-usd:before{content:"\F117"}.mdi-cassette:before{content:"\F9D3"}.mdi-cast:before{content:"\F118"}.mdi-cast-connected:before{content:"\F119"}.mdi-cast-off:before{content:"\F789"}.mdi-castle:before{content:"\F11A"}.mdi-cat:before{content:"\F11B"}.mdi-cctv:before{content:"\F7AD"}.mdi-ceiling-light:before{content:"\F768"}.mdi-cellphone:before{content:"\F11C"}.mdi-cellphone-android:before{content:"\F11D"}.mdi-cellphone-arrow-down:before{content:"\F9D4"}.mdi-cellphone-basic:before{content:"\F11E"}.mdi-cellphone-dock:before{content:"\F11F"}.mdi-cellphone-erase:before{content:"\F94C"}.mdi-cellphone-iphone:before{content:"\F120"}.mdi-cellphone-key:before{content:"\F94D"}.mdi-cellphone-link:before{content:"\F121"}.mdi-cellphone-link-off:before{content:"\F122"}.mdi-cellphone-lock:before{content:"\F94E"}.mdi-cellphone-message:before{content:"\F8D2"}.mdi-cellphone-off:before{content:"\F94F"}.mdi-cellphone-screenshot:before{content:"\FA34"}.mdi-cellphone-settings:before{content:"\F123"}.mdi-cellphone-settings-variant:before{content:"\F950"}.mdi-cellphone-sound:before{content:"\F951"}.mdi-cellphone-text:before{content:"\F8D1"}.mdi-cellphone-wireless:before{content:"\F814"}.mdi-celtic-cross:before{content:"\FCD1"}.mdi-certificate:before{content:"\F124"}.mdi-chair-school:before{content:"\F125"}.mdi-charity:before{content:"\FC2B"}.mdi-chart-arc:before{content:"\F126"}.mdi-chart-areaspline:before{content:"\F127"}.mdi-chart-bar:before{content:"\F128"}.mdi-chart-bar-stacked:before{content:"\F769"}.mdi-chart-bell-curve:before{content:"\FC2C"}.mdi-chart-bubble:before{content:"\F5E3"}.mdi-chart-donut:before{content:"\F7AE"}.mdi-chart-donut-variant:before{content:"\F7AF"}.mdi-chart-gantt:before{content:"\F66C"}.mdi-chart-histogram:before{content:"\F129"}.mdi-chart-line:before{content:"\F12A"}.mdi-chart-line-stacked:before{content:"\F76A"}.mdi-chart-line-variant:before{content:"\F7B0"}.mdi-chart-multiline:before{content:"\F8D3"}.mdi-chart-pie:before{content:"\F12B"}.mdi-chart-scatterplot-hexbin:before{content:"\F66D"}.mdi-chart-timeline:before{content:"\F66E"}.mdi-chat:before{content:"\FB55"}.mdi-chat-alert:before{content:"\FB56"}.mdi-chat-processing:before{content:"\FB57"}.mdi-check:before{content:"\F12C"}.mdi-check-all:before{content:"\F12D"}.mdi-check-box-multiple-outline:before{content:"\FC2D"}.mdi-check-box-outline:before{content:"\FC2E"}.mdi-check-circle:before{content:"\F5E0"}.mdi-check-circle-outline:before{content:"\F5E1"}.mdi-check-decagram:before{content:"\F790"}.mdi-check-network:before{content:"\FC2F"}.mdi-check-network-outline:before{content:"\FC30"}.mdi-check-outline:before{content:"\F854"}.mdi-checkbook:before{content:"\FA9C"}.mdi-checkbox-blank:before{content:"\F12E"}.mdi-checkbox-blank-circle:before{content:"\F12F"}.mdi-checkbox-blank-circle-outline:before{content:"\F130"}.mdi-checkbox-blank-outline:before{content:"\F131"}.mdi-checkbox-intermediate:before{content:"\F855"}.mdi-checkbox-marked:before{content:"\F132"}.mdi-checkbox-marked-circle:before{content:"\F133"}.mdi-checkbox-marked-circle-outline:before{content:"\F134"}.mdi-checkbox-marked-outline:before{content:"\F135"}.mdi-checkbox-multiple-blank:before{content:"\F136"}.mdi-checkbox-multiple-blank-circle:before{content:"\F63B"}.mdi-checkbox-multiple-blank-circle-outline:before{content:"\F63C"}.mdi-checkbox-multiple-blank-outline:before{content:"\F137"}.mdi-checkbox-multiple-marked:before{content:"\F138"}.mdi-checkbox-multiple-marked-circle:before{content:"\F63D"}.mdi-checkbox-multiple-marked-circle-outline:before{content:"\F63E"}.mdi-checkbox-multiple-marked-outline:before{content:"\F139"}.mdi-checkerboard:before{content:"\F13A"}.mdi-chef-hat:before{content:"\FB58"}.mdi-chemical-weapon:before{content:"\F13B"}.mdi-chess-bishop:before{content:"\F85B"}.mdi-chess-king:before{content:"\F856"}.mdi-chess-knight:before{content:"\F857"}.mdi-chess-pawn:before{content:"\F858"}.mdi-chess-queen:before{content:"\F859"}.mdi-chess-rook:before{content:"\F85A"}.mdi-chevron-double-down:before{content:"\F13C"}.mdi-chevron-double-left:before{content:"\F13D"}.mdi-chevron-double-right:before{content:"\F13E"}.mdi-chevron-double-up:before{content:"\F13F"}.mdi-chevron-down:before{content:"\F140"}.mdi-chevron-down-box:before{content:"\F9D5"}.mdi-chevron-down-box-outline:before{content:"\F9D6"}.mdi-chevron-down-circle:before{content:"\FB0B"}.mdi-chevron-down-circle-outline:before{content:"\FB0C"}.mdi-chevron-left:before{content:"\F141"}.mdi-chevron-left-box:before{content:"\F9D7"}.mdi-chevron-left-box-outline:before{content:"\F9D8"}.mdi-chevron-left-circle:before{content:"\FB0D"}.mdi-chevron-left-circle-outline:before{content:"\FB0E"}.mdi-chevron-right:before{content:"\F142"}.mdi-chevron-right-box:before{content:"\F9D9"}.mdi-chevron-right-box-outline:before{content:"\F9DA"}.mdi-chevron-right-circle:before{content:"\FB0F"}.mdi-chevron-right-circle-outline:before{content:"\FB10"}.mdi-chevron-triple-down:before{content:"\FD95"}.mdi-chevron-triple-left:before{content:"\FD96"}.mdi-chevron-triple-right:before{content:"\FD97"}.mdi-chevron-triple-up:before{content:"\FD98"}.mdi-chevron-up:before{content:"\F143"}.mdi-chevron-up-box:before{content:"\F9DB"}.mdi-chevron-up-box-outline:before{content:"\F9DC"}.mdi-chevron-up-circle:before{content:"\FB11"}.mdi-chevron-up-circle-outline:before{content:"\FB12"}.mdi-chili-hot:before{content:"\F7B1"}.mdi-chili-medium:before{content:"\F7B2"}.mdi-chili-mild:before{content:"\F7B3"}.mdi-chip:before{content:"\F61A"}.mdi-christianity:before{content:"\F952"}.mdi-christianity-outline:before{content:"\FCD2"}.mdi-church:before{content:"\F144"}.mdi-circle:before{content:"\F764"}.mdi-circle-edit-outline:before{content:"\F8D4"}.mdi-circle-medium:before{content:"\F9DD"}.mdi-circle-outline:before{content:"\F765"}.mdi-circle-slice-1:before{content:"\FA9D"}.mdi-circle-slice-2:before{content:"\FA9E"}.mdi-circle-slice-3:before{content:"\FA9F"}.mdi-circle-slice-4:before{content:"\FAA0"}.mdi-circle-slice-5:before{content:"\FAA1"}.mdi-circle-slice-6:before{content:"\FAA2"}.mdi-circle-slice-7:before{content:"\FAA3"}.mdi-circle-slice-8:before{content:"\FAA4"}.mdi-circle-small:before{content:"\F9DE"}.mdi-cisco-webex:before{content:"\F145"}.mdi-city:before{content:"\F146"}.mdi-city-variant:before{content:"\FA35"}.mdi-city-variant-outline:before{content:"\FA36"}.mdi-clipboard:before{content:"\F147"}.mdi-clipboard-account:before{content:"\F148"}.mdi-clipboard-account-outline:before{content:"\FC31"}.mdi-clipboard-alert:before{content:"\F149"}.mdi-clipboard-alert-outline:before{content:"\FCD3"}.mdi-clipboard-arrow-down:before{content:"\F14A"}.mdi-clipboard-arrow-down-outline:before{content:"\FC32"}.mdi-clipboard-arrow-left:before{content:"\F14B"}.mdi-clipboard-arrow-left-outline:before{content:"\FCD4"}.mdi-clipboard-arrow-right:before{content:"\FCD5"}.mdi-clipboard-arrow-right-outline:before{content:"\FCD6"}.mdi-clipboard-arrow-up:before{content:"\FC33"}.mdi-clipboard-arrow-up-outline:before{content:"\FC34"}.mdi-clipboard-check:before{content:"\F14C"}.mdi-clipboard-check-outline:before{content:"\F8A7"}.mdi-clipboard-flow:before{content:"\F6C7"}.mdi-clipboard-outline:before{content:"\F14D"}.mdi-clipboard-play:before{content:"\FC35"}.mdi-clipboard-play-outline:before{content:"\FC36"}.mdi-clipboard-plus:before{content:"\F750"}.mdi-clipboard-pulse:before{content:"\F85C"}.mdi-clipboard-pulse-outline:before{content:"\F85D"}.mdi-clipboard-text:before{content:"\F14E"}.mdi-clipboard-text-outline:before{content:"\FA37"}.mdi-clipboard-text-play:before{content:"\FC37"}.mdi-clipboard-text-play-outline:before{content:"\FC38"}.mdi-clippy:before{content:"\F14F"}.mdi-clock:before{content:"\F953"}.mdi-clock-alert:before{content:"\F954"}.mdi-clock-alert-outline:before{content:"\F5CE"}.mdi-clock-end:before{content:"\F151"}.mdi-clock-fast:before{content:"\F152"}.mdi-clock-in:before{content:"\F153"}.mdi-clock-out:before{content:"\F154"}.mdi-clock-outline:before{content:"\F150"}.mdi-clock-start:before{content:"\F155"}.mdi-close:before{content:"\F156"}.mdi-close-box:before{content:"\F157"}.mdi-close-box-multiple:before{content:"\FC39"}.mdi-close-box-multiple-outline:before{content:"\FC3A"}.mdi-close-box-outline:before{content:"\F158"}.mdi-close-circle:before{content:"\F159"}.mdi-close-circle-outline:before{content:"\F15A"}.mdi-close-network:before{content:"\F15B"}.mdi-close-network-outline:before{content:"\FC3B"}.mdi-close-octagon:before{content:"\F15C"}.mdi-close-octagon-outline:before{content:"\F15D"}.mdi-close-outline:before{content:"\F6C8"}.mdi-closed-caption:before{content:"\F15E"}.mdi-closed-caption-outline:before{content:"\FD99"}.mdi-cloud:before{content:"\F15F"}.mdi-cloud-alert:before{content:"\F9DF"}.mdi-cloud-braces:before{content:"\F7B4"}.mdi-cloud-check:before{content:"\F160"}.mdi-cloud-circle:before{content:"\F161"}.mdi-cloud-download:before{content:"\F162"}.mdi-cloud-download-outline:before{content:"\FB59"}.mdi-cloud-off-outline:before{content:"\F164"}.mdi-cloud-outline:before{content:"\F163"}.mdi-cloud-print:before{content:"\F165"}.mdi-cloud-print-outline:before{content:"\F166"}.mdi-cloud-question:before{content:"\FA38"}.mdi-cloud-search:before{content:"\F955"}.mdi-cloud-search-outline:before{content:"\F956"}.mdi-cloud-sync:before{content:"\F63F"}.mdi-cloud-tags:before{content:"\F7B5"}.mdi-cloud-upload:before{content:"\F167"}.mdi-cloud-upload-outline:before{content:"\FB5A"}.mdi-clover:before{content:"\F815"}.mdi-code-array:before{content:"\F168"}.mdi-code-braces:before{content:"\F169"}.mdi-code-brackets:before{content:"\F16A"}.mdi-code-equal:before{content:"\F16B"}.mdi-code-greater-than:before{content:"\F16C"}.mdi-code-greater-than-or-equal:before{content:"\F16D"}.mdi-code-less-than:before{content:"\F16E"}.mdi-code-less-than-or-equal:before{content:"\F16F"}.mdi-code-not-equal:before{content:"\F170"}.mdi-code-not-equal-variant:before{content:"\F171"}.mdi-code-parentheses:before{content:"\F172"}.mdi-code-string:before{content:"\F173"}.mdi-code-tags:before{content:"\F174"}.mdi-code-tags-check:before{content:"\F693"}.mdi-codepen:before{content:"\F175"}.mdi-coffee:before{content:"\F176"}.mdi-coffee-outline:before{content:"\F6C9"}.mdi-coffee-to-go:before{content:"\F177"}.mdi-coffin:before{content:"\FB5B"}.mdi-cogs:before{content:"\F8D5"}.mdi-coin:before{content:"\F178"}.mdi-coins:before{content:"\F694"}.mdi-collage:before{content:"\F640"}.mdi-collapse-all:before{content:"\FAA5"}.mdi-collapse-all-outline:before{content:"\FAA6"}.mdi-color-helper:before{content:"\F179"}.mdi-comment:before{content:"\F17A"}.mdi-comment-account:before{content:"\F17B"}.mdi-comment-account-outline:before{content:"\F17C"}.mdi-comment-alert:before{content:"\F17D"}.mdi-comment-alert-outline:before{content:"\F17E"}.mdi-comment-arrow-left:before{content:"\F9E0"}.mdi-comment-arrow-left-outline:before{content:"\F9E1"}.mdi-comment-arrow-right:before{content:"\F9E2"}.mdi-comment-arrow-right-outline:before{content:"\F9E3"}.mdi-comment-check:before{content:"\F17F"}.mdi-comment-check-outline:before{content:"\F180"}.mdi-comment-eye:before{content:"\FA39"}.mdi-comment-eye-outline:before{content:"\FA3A"}.mdi-comment-multiple:before{content:"\F85E"}.mdi-comment-multiple-outline:before{content:"\F181"}.mdi-comment-outline:before{content:"\F182"}.mdi-comment-plus:before{content:"\F9E4"}.mdi-comment-plus-outline:before{content:"\F183"}.mdi-comment-processing:before{content:"\F184"}.mdi-comment-processing-outline:before{content:"\F185"}.mdi-comment-question:before{content:"\F816"}.mdi-comment-question-outline:before{content:"\F186"}.mdi-comment-remove:before{content:"\F5DE"}.mdi-comment-remove-outline:before{content:"\F187"}.mdi-comment-search:before{content:"\FA3B"}.mdi-comment-search-outline:before{content:"\FA3C"}.mdi-comment-text:before{content:"\F188"}.mdi-comment-text-multiple:before{content:"\F85F"}.mdi-comment-text-multiple-outline:before{content:"\F860"}.mdi-comment-text-outline:before{content:"\F189"}.mdi-compare:before{content:"\F18A"}.mdi-compass:before{content:"\F18B"}.mdi-compass-off:before{content:"\FB5C"}.mdi-compass-off-outline:before{content:"\FB5D"}.mdi-compass-outline:before{content:"\F18C"}.mdi-console:before{content:"\F18D"}.mdi-console-line:before{content:"\F7B6"}.mdi-console-network:before{content:"\F8A8"}.mdi-console-network-outline:before{content:"\FC3C"}.mdi-contact-mail:before{content:"\F18E"}.mdi-contactless-payment:before{content:"\FD46"}.mdi-contacts:before{content:"\F6CA"}.mdi-contain:before{content:"\FA3D"}.mdi-contain-end:before{content:"\FA3E"}.mdi-contain-start:before{content:"\FA3F"}.mdi-content-copy:before{content:"\F18F"}.mdi-content-cut:before{content:"\F190"}.mdi-content-duplicate:before{content:"\F191"}.mdi-content-paste:before{content:"\F192"}.mdi-content-save:before{content:"\F193"}.mdi-content-save-all:before{content:"\F194"}.mdi-content-save-edit:before{content:"\FCD7"}.mdi-content-save-edit-outline:before{content:"\FCD8"}.mdi-content-save-outline:before{content:"\F817"}.mdi-content-save-settings:before{content:"\F61B"}.mdi-content-save-settings-outline:before{content:"\FB13"}.mdi-contrast:before{content:"\F195"}.mdi-contrast-box:before{content:"\F196"}.mdi-contrast-circle:before{content:"\F197"}.mdi-controller-classic:before{content:"\FB5E"}.mdi-controller-classic-outline:before{content:"\FB5F"}.mdi-cookie:before{content:"\F198"}.mdi-copyright:before{content:"\F5E6"}.mdi-cordova:before{content:"\F957"}.mdi-corn:before{content:"\F7B7"}.mdi-counter:before{content:"\F199"}.mdi-cow:before{content:"\F19A"}.mdi-crane:before{content:"\F861"}.mdi-creation:before{content:"\F1C9"}.mdi-creative-commons:before{content:"\FD47"}.mdi-credit-card:before{content:"\F19B"}.mdi-credit-card-marker:before{content:"\FD9A"}.mdi-credit-card-multiple:before{content:"\F19C"}.mdi-credit-card-off:before{content:"\F5E4"}.mdi-credit-card-plus:before{content:"\F675"}.mdi-credit-card-refund:before{content:"\FAA7"}.mdi-credit-card-scan:before{content:"\F19D"}.mdi-credit-card-settings:before{content:"\F8D6"}.mdi-credit-card-wireless:before{content:"\FD48"}.mdi-cricket:before{content:"\FD49"}.mdi-crop:before{content:"\F19E"}.mdi-crop-free:before{content:"\F19F"}.mdi-crop-landscape:before{content:"\F1A0"}.mdi-crop-portrait:before{content:"\F1A1"}.mdi-crop-rotate:before{content:"\F695"}.mdi-crop-square:before{content:"\F1A2"}.mdi-crosshairs:before{content:"\F1A3"}.mdi-crosshairs-gps:before{content:"\F1A4"}.mdi-crown:before{content:"\F1A5"}.mdi-cryengine:before{content:"\F958"}.mdi-crystal-ball:before{content:"\FB14"}.mdi-cube:before{content:"\F1A6"}.mdi-cube-outline:before{content:"\F1A7"}.mdi-cube-scan:before{content:"\FB60"}.mdi-cube-send:before{content:"\F1A8"}.mdi-cube-unfolded:before{content:"\F1A9"}.mdi-cup:before{content:"\F1AA"}.mdi-cup-off:before{content:"\F5E5"}.mdi-cup-water:before{content:"\F1AB"}.mdi-cupcake:before{content:"\F959"}.mdi-curling:before{content:"\F862"}.mdi-currency-bdt:before{content:"\F863"}.mdi-currency-brl:before{content:"\FB61"}.mdi-currency-btc:before{content:"\F1AC"}.mdi-currency-chf:before{content:"\F7B8"}.mdi-currency-cny:before{content:"\F7B9"}.mdi-currency-eth:before{content:"\F7BA"}.mdi-currency-eur:before{content:"\F1AD"}.mdi-currency-gbp:before{content:"\F1AE"}.mdi-currency-ils:before{content:"\FC3D"}.mdi-currency-inr:before{content:"\F1AF"}.mdi-currency-jpy:before{content:"\F7BB"}.mdi-currency-krw:before{content:"\F7BC"}.mdi-currency-kzt:before{content:"\F864"}.mdi-currency-ngn:before{content:"\F1B0"}.mdi-currency-php:before{content:"\F9E5"}.mdi-currency-rub:before{content:"\F1B1"}.mdi-currency-sign:before{content:"\F7BD"}.mdi-currency-try:before{content:"\F1B2"}.mdi-currency-twd:before{content:"\F7BE"}.mdi-currency-usd:before{content:"\F1B3"}.mdi-currency-usd-off:before{content:"\F679"}.mdi-current-ac:before{content:"\F95A"}.mdi-current-dc:before{content:"\F95B"}.mdi-cursor-default:before{content:"\F1B4"}.mdi-cursor-default-click:before{content:"\FCD9"}.mdi-cursor-default-click-outline:before{content:"\FCDA"}.mdi-cursor-default-outline:before{content:"\F1B5"}.mdi-cursor-move:before{content:"\F1B6"}.mdi-cursor-pointer:before{content:"\F1B7"}.mdi-cursor-text:before{content:"\F5E7"}.mdi-database:before{content:"\F1B8"}.mdi-database-check:before{content:"\FAA8"}.mdi-database-edit:before{content:"\FB62"}.mdi-database-export:before{content:"\F95D"}.mdi-database-import:before{content:"\F95C"}.mdi-database-lock:before{content:"\FAA9"}.mdi-database-minus:before{content:"\F1B9"}.mdi-database-plus:before{content:"\F1BA"}.mdi-database-refresh:before{content:"\FCDB"}.mdi-database-remove:before{content:"\FCDC"}.mdi-database-search:before{content:"\F865"}.mdi-database-settings:before{content:"\FCDD"}.mdi-death-star:before{content:"\F8D7"}.mdi-death-star-variant:before{content:"\F8D8"}.mdi-deathly-hallows:before{content:"\FB63"}.mdi-debian:before{content:"\F8D9"}.mdi-debug-step-into:before{content:"\F1BB"}.mdi-debug-step-out:before{content:"\F1BC"}.mdi-debug-step-over:before{content:"\F1BD"}.mdi-decagram:before{content:"\F76B"}.mdi-decagram-outline:before{content:"\F76C"}.mdi-decimal-decrease:before{content:"\F1BE"}.mdi-decimal-increase:before{content:"\F1BF"}.mdi-delete:before{content:"\F1C0"}.mdi-delete-circle:before{content:"\F682"}.mdi-delete-circle-outline:before{content:"\FB64"}.mdi-delete-empty:before{content:"\F6CB"}.mdi-delete-forever:before{content:"\F5E8"}.mdi-delete-forever-outline:before{content:"\FB65"}.mdi-delete-outline:before{content:"\F9E6"}.mdi-delete-restore:before{content:"\F818"}.mdi-delete-sweep:before{content:"\F5E9"}.mdi-delete-sweep-outline:before{content:"\FC3E"}.mdi-delete-variant:before{content:"\F1C1"}.mdi-delta:before{content:"\F1C2"}.mdi-desk-lamp:before{content:"\F95E"}.mdi-deskphone:before{content:"\F1C3"}.mdi-desktop-classic:before{content:"\F7BF"}.mdi-desktop-mac:before{content:"\F1C4"}.mdi-desktop-mac-dashboard:before{content:"\F9E7"}.mdi-desktop-tower:before{content:"\F1C5"}.mdi-desktop-tower-monitor:before{content:"\FAAA"}.mdi-details:before{content:"\F1C6"}.mdi-dev-to:before{content:"\FD4A"}.mdi-developer-board:before{content:"\F696"}.mdi-deviantart:before{content:"\F1C7"}.mdi-dialpad:before{content:"\F61C"}.mdi-diameter:before{content:"\FC3F"}.mdi-diameter-outline:before{content:"\FC40"}.mdi-diameter-variant:before{content:"\FC41"}.mdi-diamond:before{content:"\FB66"}.mdi-diamond-outline:before{content:"\FB67"}.mdi-diamond-stone:before{content:"\F1C8"}.mdi-dice-1:before{content:"\F1CA"}.mdi-dice-2:before{content:"\F1CB"}.mdi-dice-3:before{content:"\F1CC"}.mdi-dice-4:before{content:"\F1CD"}.mdi-dice-5:before{content:"\F1CE"}.mdi-dice-6:before{content:"\F1CF"}.mdi-dice-d10:before{content:"\F76E"}.mdi-dice-d12:before{content:"\F866"}.mdi-dice-d20:before{content:"\F5EA"}.mdi-dice-d4:before{content:"\F5EB"}.mdi-dice-d6:before{content:"\F5EC"}.mdi-dice-d8:before{content:"\F5ED"}.mdi-dice-multiple:before{content:"\F76D"}.mdi-dictionary:before{content:"\F61D"}.mdi-dip-switch:before{content:"\F7C0"}.mdi-directions:before{content:"\F1D0"}.mdi-directions-fork:before{content:"\F641"}.mdi-disc:before{content:"\F5EE"}.mdi-disc-alert:before{content:"\F1D1"}.mdi-disc-player:before{content:"\F95F"}.mdi-discord:before{content:"\F66F"}.mdi-dishwasher:before{content:"\FAAB"}.mdi-disqus:before{content:"\F1D2"}.mdi-disqus-outline:before{content:"\F1D3"}.mdi-diving-flippers:before{content:"\FD9B"}.mdi-diving-helmet:before{content:"\FD9C"}.mdi-diving-scuba:before{content:"\FD9D"}.mdi-diving-scuba-flag:before{content:"\FD9E"}.mdi-diving-scuba-tank:before{content:"\FD9F"}.mdi-diving-scuba-tank-multiple:before{content:"\FDA0"}.mdi-diving-snorkel:before{content:"\FDA1"}.mdi-division:before{content:"\F1D4"}.mdi-division-box:before{content:"\F1D5"}.mdi-dlna:before{content:"\FA40"}.mdi-dna:before{content:"\F683"}.mdi-dns:before{content:"\F1D6"}.mdi-dns-outline:before{content:"\FB68"}.mdi-do-not-disturb:before{content:"\F697"}.mdi-do-not-disturb-off:before{content:"\F698"}.mdi-docker:before{content:"\F867"}.mdi-doctor:before{content:"\FA41"}.mdi-dog:before{content:"\FA42"}.mdi-dog-service:before{content:"\FAAC"}.mdi-dog-side:before{content:"\FA43"}.mdi-dolby:before{content:"\F6B2"}.mdi-domain:before{content:"\F1D7"}.mdi-domain-off:before{content:"\FD4B"}.mdi-donkey:before{content:"\F7C1"}.mdi-door:before{content:"\F819"}.mdi-door-closed:before{content:"\F81A"}.mdi-door-open:before{content:"\F81B"}.mdi-doorbell-video:before{content:"\F868"}.mdi-dot-net:before{content:"\FAAD"}.mdi-dots-horizontal:before{content:"\F1D8"}.mdi-dots-horizontal-circle:before{content:"\F7C2"}.mdi-dots-horizontal-circle-outline:before{content:"\FB69"}.mdi-dots-vertical:before{content:"\F1D9"}.mdi-dots-vertical-circle:before{content:"\F7C3"}.mdi-dots-vertical-circle-outline:before{content:"\FB6A"}.mdi-douban:before{content:"\F699"}.mdi-download:before{content:"\F1DA"}.mdi-download-multiple:before{content:"\F9E8"}.mdi-download-network:before{content:"\F6F3"}.mdi-download-network-outline:before{content:"\FC42"}.mdi-download-outline:before{content:"\FB6B"}.mdi-drag:before{content:"\F1DB"}.mdi-drag-horizontal:before{content:"\F1DC"}.mdi-drag-variant:before{content:"\FB6C"}.mdi-drag-vertical:before{content:"\F1DD"}.mdi-drama-masks:before{content:"\FCDE"}.mdi-drawing:before{content:"\F1DE"}.mdi-drawing-box:before{content:"\F1DF"}.mdi-dribbble:before{content:"\F1E0"}.mdi-dribbble-box:before{content:"\F1E1"}.mdi-drone:before{content:"\F1E2"}.mdi-dropbox:before{content:"\F1E3"}.mdi-drupal:before{content:"\F1E4"}.mdi-duck:before{content:"\F1E5"}.mdi-dumbbell:before{content:"\F1E6"}.mdi-dump-truck:before{content:"\FC43"}.mdi-ear-hearing:before{content:"\F7C4"}.mdi-ear-hearing-off:before{content:"\FA44"}.mdi-earth:before{content:"\F1E7"}.mdi-earth-box:before{content:"\F6CC"}.mdi-earth-box-off:before{content:"\F6CD"}.mdi-earth-off:before{content:"\F1E8"}.mdi-edge:before{content:"\F1E9"}.mdi-egg:before{content:"\FAAE"}.mdi-egg-easter:before{content:"\FAAF"}.mdi-eight-track:before{content:"\F9E9"}.mdi-eject:before{content:"\F1EA"}.mdi-eject-outline:before{content:"\FB6D"}.mdi-elephant:before{content:"\F7C5"}.mdi-elevation-decline:before{content:"\F1EB"}.mdi-elevation-rise:before{content:"\F1EC"}.mdi-elevator:before{content:"\F1ED"}.mdi-email:before{content:"\F1EE"}.mdi-email-alert:before{content:"\F6CE"}.mdi-email-box:before{content:"\FCDF"}.mdi-email-check:before{content:"\FAB0"}.mdi-email-check-outline:before{content:"\FAB1"}.mdi-email-lock:before{content:"\F1F1"}.mdi-email-mark-as-unread:before{content:"\FB6E"}.mdi-email-open:before{content:"\F1EF"}.mdi-email-open-outline:before{content:"\F5EF"}.mdi-email-outline:before{content:"\F1F0"}.mdi-email-plus:before{content:"\F9EA"}.mdi-email-plus-outline:before{content:"\F9EB"}.mdi-email-search:before{content:"\F960"}.mdi-email-search-outline:before{content:"\F961"}.mdi-email-variant:before{content:"\F5F0"}.mdi-ember:before{content:"\FB15"}.mdi-emby:before{content:"\F6B3"}.mdi-emoticon:before{content:"\FC44"}.mdi-emoticon-angry:before{content:"\FC45"}.mdi-emoticon-angry-outline:before{content:"\FC46"}.mdi-emoticon-cool:before{content:"\FC47"}.mdi-emoticon-cool-outline:before{content:"\F1F3"}.mdi-emoticon-cry:before{content:"\FC48"}.mdi-emoticon-cry-outline:before{content:"\FC49"}.mdi-emoticon-dead:before{content:"\FC4A"}.mdi-emoticon-dead-outline:before{content:"\F69A"}.mdi-emoticon-devil:before{content:"\FC4B"}.mdi-emoticon-devil-outline:before{content:"\F1F4"}.mdi-emoticon-excited:before{content:"\FC4C"}.mdi-emoticon-excited-outline:before{content:"\F69B"}.mdi-emoticon-happy:before{content:"\FC4D"}.mdi-emoticon-happy-outline:before{content:"\F1F5"}.mdi-emoticon-kiss:before{content:"\FC4E"}.mdi-emoticon-kiss-outline:before{content:"\FC4F"}.mdi-emoticon-neutral:before{content:"\FC50"}.mdi-emoticon-neutral-outline:before{content:"\F1F6"}.mdi-emoticon-outline:before{content:"\F1F2"}.mdi-emoticon-poop:before{content:"\F1F7"}.mdi-emoticon-poop-outline:before{content:"\FC51"}.mdi-emoticon-sad:before{content:"\FC52"}.mdi-emoticon-sad-outline:before{content:"\F1F8"}.mdi-emoticon-tongue:before{content:"\F1F9"}.mdi-emoticon-tongue-outline:before{content:"\FC53"}.mdi-emoticon-wink:before{content:"\FC54"}.mdi-emoticon-wink-outline:before{content:"\FC55"}.mdi-engine:before{content:"\F1FA"}.mdi-engine-off:before{content:"\FA45"}.mdi-engine-off-outline:before{content:"\FA46"}.mdi-engine-outline:before{content:"\F1FB"}.mdi-equal:before{content:"\F1FC"}.mdi-equal-box:before{content:"\F1FD"}.mdi-eraser:before{content:"\F1FE"}.mdi-eraser-variant:before{content:"\F642"}.mdi-escalator:before{content:"\F1FF"}.mdi-eslint:before{content:"\FC56"}.mdi-et:before{content:"\FAB2"}.mdi-ethereum:before{content:"\F869"}.mdi-ethernet:before{content:"\F200"}.mdi-ethernet-cable:before{content:"\F201"}.mdi-ethernet-cable-off:before{content:"\F202"}.mdi-etsy:before{content:"\F203"}.mdi-ev-station:before{content:"\F5F1"}.mdi-eventbrite:before{content:"\F7C6"}.mdi-evernote:before{content:"\F204"}.mdi-exclamation:before{content:"\F205"}.mdi-exit-run:before{content:"\FA47"}.mdi-exit-to-app:before{content:"\F206"}.mdi-expand-all:before{content:"\FAB3"}.mdi-expand-all-outline:before{content:"\FAB4"}.mdi-exponent:before{content:"\F962"}.mdi-exponent-box:before{content:"\F963"}.mdi-export:before{content:"\F207"}.mdi-export-variant:before{content:"\FB6F"}.mdi-eye:before{content:"\F208"}.mdi-eye-check:before{content:"\FCE0"}.mdi-eye-check-outline:before{content:"\FCE1"}.mdi-eye-circle:before{content:"\FB70"}.mdi-eye-circle-outline:before{content:"\FB71"}.mdi-eye-off:before{content:"\F209"}.mdi-eye-off-outline:before{content:"\F6D0"}.mdi-eye-outline:before{content:"\F6CF"}.mdi-eye-plus:before{content:"\F86A"}.mdi-eye-plus-outline:before{content:"\F86B"}.mdi-eye-settings:before{content:"\F86C"}.mdi-eye-settings-outline:before{content:"\F86D"}.mdi-eyedropper:before{content:"\F20A"}.mdi-eyedropper-variant:before{content:"\F20B"}.mdi-face:before{content:"\F643"}.mdi-face-agent:before{content:"\FD4C"}.mdi-face-outline:before{content:"\FB72"}.mdi-face-profile:before{content:"\F644"}.mdi-face-recognition:before{content:"\FC57"}.mdi-facebook:before{content:"\F20C"}.mdi-facebook-box:before{content:"\F20D"}.mdi-facebook-messenger:before{content:"\F20E"}.mdi-facebook-workplace:before{content:"\FB16"}.mdi-factory:before{content:"\F20F"}.mdi-fan:before{content:"\F210"}.mdi-fan-off:before{content:"\F81C"}.mdi-fast-forward:before{content:"\F211"}.mdi-fast-forward-10:before{content:"\FD4D"}.mdi-fast-forward-30:before{content:"\FCE2"}.mdi-fast-forward-outline:before{content:"\F6D1"}.mdi-fax:before{content:"\F212"}.mdi-feather:before{content:"\F6D2"}.mdi-feature-search:before{content:"\FA48"}.mdi-feature-search-outline:before{content:"\FA49"}.mdi-fedora:before{content:"\F8DA"}.mdi-ferry:before{content:"\F213"}.mdi-file:before{content:"\F214"}.mdi-file-account:before{content:"\F73A"}.mdi-file-alert:before{content:"\FA4A"}.mdi-file-alert-outline:before{content:"\FA4B"}.mdi-file-cabinet:before{content:"\FAB5"}.mdi-file-cancel:before{content:"\FDA2"}.mdi-file-cancel-outline:before{content:"\FDA3"}.mdi-file-chart:before{content:"\F215"}.mdi-file-check:before{content:"\F216"}.mdi-file-cloud:before{content:"\F217"}.mdi-file-compare:before{content:"\F8A9"}.mdi-file-delimited:before{content:"\F218"}.mdi-file-document:before{content:"\F219"}.mdi-file-document-box:before{content:"\F21A"}.mdi-file-document-box-multiple:before{content:"\FAB6"}.mdi-file-document-box-multiple-outline:before{content:"\FAB7"}.mdi-file-document-box-outline:before{content:"\F9EC"}.mdi-file-document-edit:before{content:"\FDA4"}.mdi-file-document-edit-outline:before{content:"\FDA5"}.mdi-file-document-outline:before{content:"\F9ED"}.mdi-file-download:before{content:"\F964"}.mdi-file-download-outline:before{content:"\F965"}.mdi-file-excel:before{content:"\F21B"}.mdi-file-excel-box:before{content:"\F21C"}.mdi-file-export:before{content:"\F21D"}.mdi-file-eye:before{content:"\FDA6"}.mdi-file-eye-outline:before{content:"\FDA7"}.mdi-file-find:before{content:"\F21E"}.mdi-file-find-outline:before{content:"\FB73"}.mdi-file-hidden:before{content:"\F613"}.mdi-file-image:before{content:"\F21F"}.mdi-file-import:before{content:"\F220"}.mdi-file-lock:before{content:"\F221"}.mdi-file-move:before{content:"\FAB8"}.mdi-file-multiple:before{content:"\F222"}.mdi-file-music:before{content:"\F223"}.mdi-file-outline:before{content:"\F224"}.mdi-file-pdf:before{content:"\F225"}.mdi-file-pdf-box:before{content:"\F226"}.mdi-file-percent:before{content:"\F81D"}.mdi-file-plus:before{content:"\F751"}.mdi-file-powerpoint:before{content:"\F227"}.mdi-file-powerpoint-box:before{content:"\F228"}.mdi-file-presentation-box:before{content:"\F229"}.mdi-file-question:before{content:"\F86E"}.mdi-file-remove:before{content:"\FB74"}.mdi-file-replace:before{content:"\FB17"}.mdi-file-replace-outline:before{content:"\FB18"}.mdi-file-restore:before{content:"\F670"}.mdi-file-search:before{content:"\FC58"}.mdi-file-search-outline:before{content:"\FC59"}.mdi-file-send:before{content:"\F22A"}.mdi-file-table:before{content:"\FC5A"}.mdi-file-table-outline:before{content:"\FC5B"}.mdi-file-tree:before{content:"\F645"}.mdi-file-undo:before{content:"\F8DB"}.mdi-file-upload:before{content:"\FA4C"}.mdi-file-upload-outline:before{content:"\FA4D"}.mdi-file-video:before{content:"\F22B"}.mdi-file-word:before{content:"\F22C"}.mdi-file-word-box:before{content:"\F22D"}.mdi-file-xml:before{content:"\F22E"}.mdi-film:before{content:"\F22F"}.mdi-filmstrip:before{content:"\F230"}.mdi-filmstrip-off:before{content:"\F231"}.mdi-filter:before{content:"\F232"}.mdi-filter-outline:before{content:"\F233"}.mdi-filter-remove:before{content:"\F234"}.mdi-filter-remove-outline:before{content:"\F235"}.mdi-filter-variant:before{content:"\F236"}.mdi-finance:before{content:"\F81E"}.mdi-find-replace:before{content:"\F6D3"}.mdi-fingerprint:before{content:"\F237"}.mdi-fire:before{content:"\F238"}.mdi-fire-truck:before{content:"\F8AA"}.mdi-firebase:before{content:"\F966"}.mdi-firefox:before{content:"\F239"}.mdi-fish:before{content:"\F23A"}.mdi-flag:before{content:"\F23B"}.mdi-flag-checkered:before{content:"\F23C"}.mdi-flag-minus:before{content:"\FB75"}.mdi-flag-outline:before{content:"\F23D"}.mdi-flag-plus:before{content:"\FB76"}.mdi-flag-remove:before{content:"\FB77"}.mdi-flag-triangle:before{content:"\F23F"}.mdi-flag-variant:before{content:"\F240"}.mdi-flag-variant-outline:before{content:"\F23E"}.mdi-flare:before{content:"\FD4E"}.mdi-flash:before{content:"\F241"}.mdi-flash-auto:before{content:"\F242"}.mdi-flash-circle:before{content:"\F81F"}.mdi-flash-off:before{content:"\F243"}.mdi-flash-outline:before{content:"\F6D4"}.mdi-flash-red-eye:before{content:"\F67A"}.mdi-flashlight:before{content:"\F244"}.mdi-flashlight-off:before{content:"\F245"}.mdi-flask:before{content:"\F093"}.mdi-flask-empty:before{content:"\F094"}.mdi-flask-empty-outline:before{content:"\F095"}.mdi-flask-outline:before{content:"\F096"}.mdi-flattr:before{content:"\F246"}.mdi-flickr:before{content:"\FCE3"}.mdi-flip-to-back:before{content:"\F247"}.mdi-flip-to-front:before{content:"\F248"}.mdi-floor-lamp:before{content:"\F8DC"}.mdi-floor-plan:before{content:"\F820"}.mdi-floppy:before{content:"\F249"}.mdi-floppy-variant:before{content:"\F9EE"}.mdi-flower:before{content:"\F24A"}.mdi-flower-outline:before{content:"\F9EF"}.mdi-flower-poppy:before{content:"\FCE4"}.mdi-flower-tulip:before{content:"\F9F0"}.mdi-flower-tulip-outline:before{content:"\F9F1"}.mdi-folder:before{content:"\F24B"}.mdi-folder-account:before{content:"\F24C"}.mdi-folder-account-outline:before{content:"\FB78"}.mdi-folder-alert:before{content:"\FDA8"}.mdi-folder-alert-outline:before{content:"\FDA9"}.mdi-folder-clock:before{content:"\FAB9"}.mdi-folder-clock-outline:before{content:"\FABA"}.mdi-folder-download:before{content:"\F24D"}.mdi-folder-edit:before{content:"\F8DD"}.mdi-folder-edit-outline:before{content:"\FDAA"}.mdi-folder-google-drive:before{content:"\F24E"}.mdi-folder-image:before{content:"\F24F"}.mdi-folder-key:before{content:"\F8AB"}.mdi-folder-key-network:before{content:"\F8AC"}.mdi-folder-key-network-outline:before{content:"\FC5C"}.mdi-folder-lock:before{content:"\F250"}.mdi-folder-lock-open:before{content:"\F251"}.mdi-folder-move:before{content:"\F252"}.mdi-folder-multiple:before{content:"\F253"}.mdi-folder-multiple-image:before{content:"\F254"}.mdi-folder-multiple-outline:before{content:"\F255"}.mdi-folder-network:before{content:"\F86F"}.mdi-folder-network-outline:before{content:"\FC5D"}.mdi-folder-open:before{content:"\F76F"}.mdi-folder-open-outline:before{content:"\FDAB"}.mdi-folder-outline:before{content:"\F256"}.mdi-folder-plus:before{content:"\F257"}.mdi-folder-plus-outline:before{content:"\FB79"}.mdi-folder-pound:before{content:"\FCE5"}.mdi-folder-pound-outline:before{content:"\FCE6"}.mdi-folder-remove:before{content:"\F258"}.mdi-folder-remove-outline:before{content:"\FB7A"}.mdi-folder-search:before{content:"\F967"}.mdi-folder-search-outline:before{content:"\F968"}.mdi-folder-star:before{content:"\F69C"}.mdi-folder-star-outline:before{content:"\FB7B"}.mdi-folder-sync:before{content:"\FCE7"}.mdi-folder-sync-outline:before{content:"\FCE8"}.mdi-folder-text:before{content:"\FC5E"}.mdi-folder-text-outline:before{content:"\FC5F"}.mdi-folder-upload:before{content:"\F259"}.mdi-font-awesome:before{content:"\F03A"}.mdi-food:before{content:"\F25A"}.mdi-food-apple:before{content:"\F25B"}.mdi-food-apple-outline:before{content:"\FC60"}.mdi-food-croissant:before{content:"\F7C7"}.mdi-food-fork-drink:before{content:"\F5F2"}.mdi-food-off:before{content:"\F5F3"}.mdi-food-variant:before{content:"\F25C"}.mdi-football:before{content:"\F25D"}.mdi-football-australian:before{content:"\F25E"}.mdi-football-helmet:before{content:"\F25F"}.mdi-forklift:before{content:"\F7C8"}.mdi-format-align-bottom:before{content:"\F752"}.mdi-format-align-center:before{content:"\F260"}.mdi-format-align-justify:before{content:"\F261"}.mdi-format-align-left:before{content:"\F262"}.mdi-format-align-middle:before{content:"\F753"}.mdi-format-align-right:before{content:"\F263"}.mdi-format-align-top:before{content:"\F754"}.mdi-format-annotation-minus:before{content:"\FABB"}.mdi-format-annotation-plus:before{content:"\F646"}.mdi-format-bold:before{content:"\F264"}.mdi-format-clear:before{content:"\F265"}.mdi-format-color-fill:before{content:"\F266"}.mdi-format-color-text:before{content:"\F69D"}.mdi-format-columns:before{content:"\F8DE"}.mdi-format-float-center:before{content:"\F267"}.mdi-format-float-left:before{content:"\F268"}.mdi-format-float-none:before{content:"\F269"}.mdi-format-float-right:before{content:"\F26A"}.mdi-format-font:before{content:"\F6D5"}.mdi-format-font-size-decrease:before{content:"\F9F2"}.mdi-format-font-size-increase:before{content:"\F9F3"}.mdi-format-header-1:before{content:"\F26B"}.mdi-format-header-2:before{content:"\F26C"}.mdi-format-header-3:before{content:"\F26D"}.mdi-format-header-4:before{content:"\F26E"}.mdi-format-header-5:before{content:"\F26F"}.mdi-format-header-6:before{content:"\F270"}.mdi-format-header-decrease:before{content:"\F271"}.mdi-format-header-equal:before{content:"\F272"}.mdi-format-header-increase:before{content:"\F273"}.mdi-format-header-pound:before{content:"\F274"}.mdi-format-horizontal-align-center:before{content:"\F61E"}.mdi-format-horizontal-align-left:before{content:"\F61F"}.mdi-format-horizontal-align-right:before{content:"\F620"}.mdi-format-indent-decrease:before{content:"\F275"}.mdi-format-indent-increase:before{content:"\F276"}.mdi-format-italic:before{content:"\F277"}.mdi-format-letter-case:before{content:"\FB19"}.mdi-format-letter-case-lower:before{content:"\FB1A"}.mdi-format-letter-case-upper:before{content:"\FB1B"}.mdi-format-line-spacing:before{content:"\F278"}.mdi-format-line-style:before{content:"\F5C8"}.mdi-format-line-weight:before{content:"\F5C9"}.mdi-format-list-bulleted:before{content:"\F279"}.mdi-format-list-bulleted-square:before{content:"\FDAC"}.mdi-format-list-bulleted-type:before{content:"\F27A"}.mdi-format-list-checkbox:before{content:"\F969"}.mdi-format-list-checks:before{content:"\F755"}.mdi-format-list-numbered:before{content:"\F27B"}.mdi-format-list-numbered-rtl:before{content:"\FCE9"}.mdi-format-page-break:before{content:"\F6D6"}.mdi-format-paint:before{content:"\F27C"}.mdi-format-paragraph:before{content:"\F27D"}.mdi-format-pilcrow:before{content:"\F6D7"}.mdi-format-quote-close:before{content:"\F27E"}.mdi-format-quote-open:before{content:"\F756"}.mdi-format-rotate-90:before{content:"\F6A9"}.mdi-format-section:before{content:"\F69E"}.mdi-format-size:before{content:"\F27F"}.mdi-format-strikethrough:before{content:"\F280"}.mdi-format-strikethrough-variant:before{content:"\F281"}.mdi-format-subscript:before{content:"\F282"}.mdi-format-superscript:before{content:"\F283"}.mdi-format-text:before{content:"\F284"}.mdi-format-text-rotation-down:before{content:"\FD4F"}.mdi-format-text-rotation-none:before{content:"\FD50"}.mdi-format-text-wrapping-clip:before{content:"\FCEA"}.mdi-format-text-wrapping-overflow:before{content:"\FCEB"}.mdi-format-text-wrapping-wrap:before{content:"\FCEC"}.mdi-format-textbox:before{content:"\FCED"}.mdi-format-textdirection-l-to-r:before{content:"\F285"}.mdi-format-textdirection-r-to-l:before{content:"\F286"}.mdi-format-title:before{content:"\F5F4"}.mdi-format-underline:before{content:"\F287"}.mdi-format-vertical-align-bottom:before{content:"\F621"}.mdi-format-vertical-align-center:before{content:"\F622"}.mdi-format-vertical-align-top:before{content:"\F623"}.mdi-format-wrap-inline:before{content:"\F288"}.mdi-format-wrap-square:before{content:"\F289"}.mdi-format-wrap-tight:before{content:"\F28A"}.mdi-format-wrap-top-bottom:before{content:"\F28B"}.mdi-forum:before{content:"\F28C"}.mdi-forum-outline:before{content:"\F821"}.mdi-forward:before{content:"\F28D"}.mdi-forwardburger:before{content:"\FD51"}.mdi-fountain:before{content:"\F96A"}.mdi-fountain-pen:before{content:"\FCEE"}.mdi-fountain-pen-tip:before{content:"\FCEF"}.mdi-foursquare:before{content:"\F28E"}.mdi-freebsd:before{content:"\F8DF"}.mdi-fridge:before{content:"\F290"}.mdi-fridge-bottom:before{content:"\F292"}.mdi-fridge-outline:before{content:"\F28F"}.mdi-fridge-top:before{content:"\F291"}.mdi-fuel:before{content:"\F7C9"}.mdi-fullscreen:before{content:"\F293"}.mdi-fullscreen-exit:before{content:"\F294"}.mdi-function:before{content:"\F295"}.mdi-function-variant:before{content:"\F870"}.mdi-fuse:before{content:"\FC61"}.mdi-fuse-blade:before{content:"\FC62"}.mdi-gamepad:before{content:"\F296"}.mdi-gamepad-variant:before{content:"\F297"}.mdi-gantry-crane:before{content:"\FDAD"}.mdi-garage:before{content:"\F6D8"}.mdi-garage-alert:before{content:"\F871"}.mdi-garage-open:before{content:"\F6D9"}.mdi-gas-cylinder:before{content:"\F647"}.mdi-gas-station:before{content:"\F298"}.mdi-gate:before{content:"\F299"}.mdi-gate-and:before{content:"\F8E0"}.mdi-gate-nand:before{content:"\F8E1"}.mdi-gate-nor:before{content:"\F8E2"}.mdi-gate-not:before{content:"\F8E3"}.mdi-gate-or:before{content:"\F8E4"}.mdi-gate-xnor:before{content:"\F8E5"}.mdi-gate-xor:before{content:"\F8E6"}.mdi-gauge:before{content:"\F29A"}.mdi-gauge-empty:before{content:"\F872"}.mdi-gauge-full:before{content:"\F873"}.mdi-gauge-low:before{content:"\F874"}.mdi-gavel:before{content:"\F29B"}.mdi-gender-female:before{content:"\F29C"}.mdi-gender-male:before{content:"\F29D"}.mdi-gender-male-female:before{content:"\F29E"}.mdi-gender-transgender:before{content:"\F29F"}.mdi-gentoo:before{content:"\F8E7"}.mdi-gesture:before{content:"\F7CA"}.mdi-gesture-double-tap:before{content:"\F73B"}.mdi-gesture-pinch:before{content:"\FABC"}.mdi-gesture-spread:before{content:"\FABD"}.mdi-gesture-swipe:before{content:"\FD52"}.mdi-gesture-swipe-down:before{content:"\F73C"}.mdi-gesture-swipe-horizontal:before{content:"\FABE"}.mdi-gesture-swipe-left:before{content:"\F73D"}.mdi-gesture-swipe-right:before{content:"\F73E"}.mdi-gesture-swipe-up:before{content:"\F73F"}.mdi-gesture-swipe-vertical:before{content:"\FABF"}.mdi-gesture-tap:before{content:"\F740"}.mdi-gesture-tap-hold:before{content:"\FD53"}.mdi-gesture-two-double-tap:before{content:"\F741"}.mdi-gesture-two-tap:before{content:"\F742"}.mdi-ghost:before{content:"\F2A0"}.mdi-ghost-off:before{content:"\F9F4"}.mdi-gif:before{content:"\FD54"}.mdi-gift:before{content:"\F2A1"}.mdi-git:before{content:"\F2A2"}.mdi-github-box:before{content:"\F2A3"}.mdi-github-circle:before{content:"\F2A4"}.mdi-github-face:before{content:"\F6DA"}.mdi-gitlab:before{content:"\FB7C"}.mdi-glass-cocktail:before{content:"\F356"}.mdi-glass-flute:before{content:"\F2A5"}.mdi-glass-mug:before{content:"\F2A6"}.mdi-glass-stange:before{content:"\F2A7"}.mdi-glass-tulip:before{content:"\F2A8"}.mdi-glass-wine:before{content:"\F875"}.mdi-glassdoor:before{content:"\F2A9"}.mdi-glasses:before{content:"\F2AA"}.mdi-globe-model:before{content:"\F8E8"}.mdi-gmail:before{content:"\F2AB"}.mdi-gnome:before{content:"\F2AC"}.mdi-go-kart:before{content:"\FD55"}.mdi-go-kart-track:before{content:"\FD56"}.mdi-gog:before{content:"\FB7D"}.mdi-golf:before{content:"\F822"}.mdi-gondola:before{content:"\F685"}.mdi-goodreads:before{content:"\FD57"}.mdi-google:before{content:"\F2AD"}.mdi-google-adwords:before{content:"\FC63"}.mdi-google-allo:before{content:"\F801"}.mdi-google-analytics:before{content:"\F7CB"}.mdi-google-assistant:before{content:"\F7CC"}.mdi-google-cardboard:before{content:"\F2AE"}.mdi-google-chrome:before{content:"\F2AF"}.mdi-google-circles:before{content:"\F2B0"}.mdi-google-circles-communities:before{content:"\F2B1"}.mdi-google-circles-extended:before{content:"\F2B2"}.mdi-google-circles-group:before{content:"\F2B3"}.mdi-google-classroom:before{content:"\F2C0"}.mdi-google-controller:before{content:"\F2B4"}.mdi-google-controller-off:before{content:"\F2B5"}.mdi-google-drive:before{content:"\F2B6"}.mdi-google-earth:before{content:"\F2B7"}.mdi-google-fit:before{content:"\F96B"}.mdi-google-glass:before{content:"\F2B8"}.mdi-google-hangouts:before{content:"\F2C9"}.mdi-google-home:before{content:"\F823"}.mdi-google-keep:before{content:"\F6DB"}.mdi-google-lens:before{content:"\F9F5"}.mdi-google-maps:before{content:"\F5F5"}.mdi-google-nearby:before{content:"\F2B9"}.mdi-google-pages:before{content:"\F2BA"}.mdi-google-photos:before{content:"\F6DC"}.mdi-google-physical-web:before{content:"\F2BB"}.mdi-google-play:before{content:"\F2BC"}.mdi-google-plus:before{content:"\F2BD"}.mdi-google-plus-box:before{content:"\F2BE"}.mdi-google-spreadsheet:before{content:"\F9F6"}.mdi-google-street-view:before{content:"\FC64"}.mdi-google-translate:before{content:"\F2BF"}.mdi-gpu:before{content:"\F8AD"}.mdi-gradient:before{content:"\F69F"}.mdi-grain:before{content:"\FD58"}.mdi-graphql:before{content:"\F876"}.mdi-grave-stone:before{content:"\FB7E"}.mdi-grease-pencil:before{content:"\F648"}.mdi-greater-than:before{content:"\F96C"}.mdi-greater-than-or-equal:before{content:"\F96D"}.mdi-grid:before{content:"\F2C1"}.mdi-grid-large:before{content:"\F757"}.mdi-grid-off:before{content:"\F2C2"}.mdi-group:before{content:"\F2C3"}.mdi-guitar-acoustic:before{content:"\F770"}.mdi-guitar-electric:before{content:"\F2C4"}.mdi-guitar-pick:before{content:"\F2C5"}.mdi-guitar-pick-outline:before{content:"\F2C6"}.mdi-guy-fawkes-mask:before{content:"\F824"}.mdi-hackernews:before{content:"\F624"}.mdi-hail:before{content:"\FAC0"}.mdi-halloween:before{content:"\FB7F"}.mdi-hamburger:before{content:"\F684"}.mdi-hammer:before{content:"\F8E9"}.mdi-hand:before{content:"\FA4E"}.mdi-hand-okay:before{content:"\FA4F"}.mdi-hand-peace:before{content:"\FA50"}.mdi-hand-peace-variant:before{content:"\FA51"}.mdi-hand-pointing-down:before{content:"\FA52"}.mdi-hand-pointing-left:before{content:"\FA53"}.mdi-hand-pointing-right:before{content:"\F2C7"}.mdi-hand-pointing-up:before{content:"\FA54"}.mdi-hanger:before{content:"\F2C8"}.mdi-hard-hat:before{content:"\F96E"}.mdi-harddisk:before{content:"\F2CA"}.mdi-hat-fedora:before{content:"\FB80"}.mdi-hazard-lights:before{content:"\FC65"}.mdi-hdr:before{content:"\FD59"}.mdi-hdr-off:before{content:"\FD5A"}.mdi-headphones:before{content:"\F2CB"}.mdi-headphones-bluetooth:before{content:"\F96F"}.mdi-headphones-box:before{content:"\F2CC"}.mdi-headphones-off:before{content:"\F7CD"}.mdi-headphones-settings:before{content:"\F2CD"}.mdi-headset:before{content:"\F2CE"}.mdi-headset-dock:before{content:"\F2CF"}.mdi-headset-off:before{content:"\F2D0"}.mdi-heart:before{content:"\F2D1"}.mdi-heart-box:before{content:"\F2D2"}.mdi-heart-box-outline:before{content:"\F2D3"}.mdi-heart-broken:before{content:"\F2D4"}.mdi-heart-broken-outline:before{content:"\FCF0"}.mdi-heart-circle:before{content:"\F970"}.mdi-heart-circle-outline:before{content:"\F971"}.mdi-heart-half:before{content:"\F6DE"}.mdi-heart-half-full:before{content:"\F6DD"}.mdi-heart-half-outline:before{content:"\F6DF"}.mdi-heart-multiple:before{content:"\FA55"}.mdi-heart-multiple-outline:before{content:"\FA56"}.mdi-heart-off:before{content:"\F758"}.mdi-heart-outline:before{content:"\F2D5"}.mdi-heart-pulse:before{content:"\F5F6"}.mdi-helicopter:before{content:"\FAC1"}.mdi-help:before{content:"\F2D6"}.mdi-help-box:before{content:"\F78A"}.mdi-help-circle:before{content:"\F2D7"}.mdi-help-circle-outline:before{content:"\F625"}.mdi-help-network:before{content:"\F6F4"}.mdi-help-network-outline:before{content:"\FC66"}.mdi-help-rhombus:before{content:"\FB81"}.mdi-help-rhombus-outline:before{content:"\FB82"}.mdi-hexagon:before{content:"\F2D8"}.mdi-hexagon-multiple:before{content:"\F6E0"}.mdi-hexagon-outline:before{content:"\F2D9"}.mdi-hexagon-slice-1:before{content:"\FAC2"}.mdi-hexagon-slice-2:before{content:"\FAC3"}.mdi-hexagon-slice-3:before{content:"\FAC4"}.mdi-hexagon-slice-4:before{content:"\FAC5"}.mdi-hexagon-slice-5:before{content:"\FAC6"}.mdi-hexagon-slice-6:before{content:"\FAC7"}.mdi-hexagram:before{content:"\FAC8"}.mdi-hexagram-outline:before{content:"\FAC9"}.mdi-high-definition:before{content:"\F7CE"}.mdi-high-definition-box:before{content:"\F877"}.mdi-highway:before{content:"\F5F7"}.mdi-hiking:before{content:"\FD5B"}.mdi-hinduism:before{content:"\F972"}.mdi-history:before{content:"\F2DA"}.mdi-hockey-puck:before{content:"\F878"}.mdi-hockey-sticks:before{content:"\F879"}.mdi-hololens:before{content:"\F2DB"}.mdi-home:before{content:"\F2DC"}.mdi-home-account:before{content:"\F825"}.mdi-home-alert:before{content:"\F87A"}.mdi-home-assistant:before{content:"\F7CF"}.mdi-home-automation:before{content:"\F7D0"}.mdi-home-circle:before{content:"\F7D1"}.mdi-home-city:before{content:"\FCF1"}.mdi-home-city-outline:before{content:"\FCF2"}.mdi-home-currency-usd:before{content:"\F8AE"}.mdi-home-floor-0:before{content:"\FDAE"}.mdi-home-floor-1:before{content:"\FD5C"}.mdi-home-floor-2:before{content:"\FD5D"}.mdi-home-floor-3:before{content:"\FD5E"}.mdi-home-floor-a:before{content:"\FD5F"}.mdi-home-floor-b:before{content:"\FD60"}.mdi-home-floor-g:before{content:"\FD61"}.mdi-home-floor-l:before{content:"\FD62"}.mdi-home-floor-negative-1:before{content:"\FDAF"}.mdi-home-group:before{content:"\FDB0"}.mdi-home-heart:before{content:"\F826"}.mdi-home-lock:before{content:"\F8EA"}.mdi-home-lock-open:before{content:"\F8EB"}.mdi-home-map-marker:before{content:"\F5F8"}.mdi-home-minus:before{content:"\F973"}.mdi-home-modern:before{content:"\F2DD"}.mdi-home-outline:before{content:"\F6A0"}.mdi-home-plus:before{content:"\F974"}.mdi-home-variant:before{content:"\F2DE"}.mdi-home-variant-outline:before{content:"\FB83"}.mdi-hook:before{content:"\F6E1"}.mdi-hook-off:before{content:"\F6E2"}.mdi-hops:before{content:"\F2DF"}.mdi-horseshoe:before{content:"\FA57"}.mdi-hospital:before{content:"\F2E0"}.mdi-hospital-building:before{content:"\F2E1"}.mdi-hospital-marker:before{content:"\F2E2"}.mdi-hot-tub:before{content:"\F827"}.mdi-hotel:before{content:"\F2E3"}.mdi-houzz:before{content:"\F2E4"}.mdi-houzz-box:before{content:"\F2E5"}.mdi-hubspot:before{content:"\FCF3"}.mdi-hulu:before{content:"\F828"}.mdi-human:before{content:"\F2E6"}.mdi-human-child:before{content:"\F2E7"}.mdi-human-female:before{content:"\F649"}.mdi-human-female-boy:before{content:"\FA58"}.mdi-human-female-female:before{content:"\FA59"}.mdi-human-female-girl:before{content:"\FA5A"}.mdi-human-greeting:before{content:"\F64A"}.mdi-human-handsdown:before{content:"\F64B"}.mdi-human-handsup:before{content:"\F64C"}.mdi-human-male:before{content:"\F64D"}.mdi-human-male-boy:before{content:"\FA5B"}.mdi-human-male-female:before{content:"\F2E8"}.mdi-human-male-girl:before{content:"\FA5C"}.mdi-human-male-male:before{content:"\FA5D"}.mdi-human-pregnant:before{content:"\F5CF"}.mdi-humble-bundle:before{content:"\F743"}.mdi-ice-cream:before{content:"\F829"}.mdi-iframe:before{content:"\FC67"}.mdi-iframe-outline:before{content:"\FC68"}.mdi-image:before{content:"\F2E9"}.mdi-image-album:before{content:"\F2EA"}.mdi-image-area:before{content:"\F2EB"}.mdi-image-area-close:before{content:"\F2EC"}.mdi-image-broken:before{content:"\F2ED"}.mdi-image-broken-variant:before{content:"\F2EE"}.mdi-image-filter:before{content:"\F2EF"}.mdi-image-filter-black-white:before{content:"\F2F0"}.mdi-image-filter-center-focus:before{content:"\F2F1"}.mdi-image-filter-center-focus-weak:before{content:"\F2F2"}.mdi-image-filter-drama:before{content:"\F2F3"}.mdi-image-filter-frames:before{content:"\F2F4"}.mdi-image-filter-hdr:before{content:"\F2F5"}.mdi-image-filter-none:before{content:"\F2F6"}.mdi-image-filter-tilt-shift:before{content:"\F2F7"}.mdi-image-filter-vintage:before{content:"\F2F8"}.mdi-image-move:before{content:"\F9F7"}.mdi-image-multiple:before{content:"\F2F9"}.mdi-image-off:before{content:"\F82A"}.mdi-image-outline:before{content:"\F975"}.mdi-image-plus:before{content:"\F87B"}.mdi-image-search:before{content:"\F976"}.mdi-image-search-outline:before{content:"\F977"}.mdi-image-size-select-actual:before{content:"\FC69"}.mdi-image-size-select-large:before{content:"\FC6A"}.mdi-image-size-select-small:before{content:"\FC6B"}.mdi-import:before{content:"\F2FA"}.mdi-inbox:before{content:"\F686"}.mdi-inbox-arrow-down:before{content:"\F2FB"}.mdi-inbox-arrow-up:before{content:"\F3D1"}.mdi-inbox-multiple:before{content:"\F8AF"}.mdi-inbox-multiple-outline:before{content:"\FB84"}.mdi-incognito:before{content:"\F5F9"}.mdi-infinity:before{content:"\F6E3"}.mdi-information:before{content:"\F2FC"}.mdi-information-outline:before{content:"\F2FD"}.mdi-information-variant:before{content:"\F64E"}.mdi-instagram:before{content:"\F2FE"}.mdi-instapaper:before{content:"\F2FF"}.mdi-internet-explorer:before{content:"\F300"}.mdi-invert-colors:before{content:"\F301"}.mdi-ip:before{content:"\FA5E"}.mdi-ip-network:before{content:"\FA5F"}.mdi-ip-network-outline:before{content:"\FC6C"}.mdi-ipod:before{content:"\FC6D"}.mdi-islam:before{content:"\F978"}.mdi-itunes:before{content:"\F676"}.mdi-jabber:before{content:"\FDB1"}.mdi-jeepney:before{content:"\F302"}.mdi-jira:before{content:"\F303"}.mdi-jquery:before{content:"\F87C"}.mdi-jsfiddle:before{content:"\F304"}.mdi-json:before{content:"\F626"}.mdi-judaism:before{content:"\F979"}.mdi-kabaddi:before{content:"\FD63"}.mdi-karate:before{content:"\F82B"}.mdi-keg:before{content:"\F305"}.mdi-kettle:before{content:"\F5FA"}.mdi-key:before{content:"\F306"}.mdi-key-change:before{content:"\F307"}.mdi-key-minus:before{content:"\F308"}.mdi-key-outline:before{content:"\FDB2"}.mdi-key-plus:before{content:"\F309"}.mdi-key-remove:before{content:"\F30A"}.mdi-key-variant:before{content:"\F30B"}.mdi-keyboard:before{content:"\F30C"}.mdi-keyboard-backspace:before{content:"\F30D"}.mdi-keyboard-caps:before{content:"\F30E"}.mdi-keyboard-close:before{content:"\F30F"}.mdi-keyboard-off:before{content:"\F310"}.mdi-keyboard-outline:before{content:"\F97A"}.mdi-keyboard-return:before{content:"\F311"}.mdi-keyboard-settings:before{content:"\F9F8"}.mdi-keyboard-settings-outline:before{content:"\F9F9"}.mdi-keyboard-tab:before{content:"\F312"}.mdi-keyboard-variant:before{content:"\F313"}.mdi-kickstarter:before{content:"\F744"}.mdi-knife:before{content:"\F9FA"}.mdi-knife-military:before{content:"\F9FB"}.mdi-kodi:before{content:"\F314"}.mdi-label:before{content:"\F315"}.mdi-label-off:before{content:"\FACA"}.mdi-label-off-outline:before{content:"\FACB"}.mdi-label-outline:before{content:"\F316"}.mdi-label-variant:before{content:"\FACC"}.mdi-label-variant-outline:before{content:"\FACD"}.mdi-ladybug:before{content:"\F82C"}.mdi-lambda:before{content:"\F627"}.mdi-lamp:before{content:"\F6B4"}.mdi-lan:before{content:"\F317"}.mdi-lan-connect:before{content:"\F318"}.mdi-lan-disconnect:before{content:"\F319"}.mdi-lan-pending:before{content:"\F31A"}.mdi-language-c:before{content:"\F671"}.mdi-language-cpp:before{content:"\F672"}.mdi-language-csharp:before{content:"\F31B"}.mdi-language-css3:before{content:"\F31C"}.mdi-language-go:before{content:"\F7D2"}.mdi-language-haskell:before{content:"\FC6E"}.mdi-language-html5:before{content:"\F31D"}.mdi-language-java:before{content:"\FB1C"}.mdi-language-javascript:before{content:"\F31E"}.mdi-language-lua:before{content:"\F8B0"}.mdi-language-php:before{content:"\F31F"}.mdi-language-python:before{content:"\F320"}.mdi-language-python-text:before{content:"\F321"}.mdi-language-r:before{content:"\F7D3"}.mdi-language-ruby-on-rails:before{content:"\FACE"}.mdi-language-swift:before{content:"\F6E4"}.mdi-language-typescript:before{content:"\F6E5"}.mdi-laptop:before{content:"\F322"}.mdi-laptop-chromebook:before{content:"\F323"}.mdi-laptop-mac:before{content:"\F324"}.mdi-laptop-off:before{content:"\F6E6"}.mdi-laptop-windows:before{content:"\F325"}.mdi-laravel:before{content:"\FACF"}.mdi-lastfm:before{content:"\F326"}.mdi-lastpass:before{content:"\F446"}.mdi-launch:before{content:"\F327"}.mdi-lava-lamp:before{content:"\F7D4"}.mdi-layers:before{content:"\F328"}.mdi-layers-off:before{content:"\F329"}.mdi-layers-off-outline:before{content:"\F9FC"}.mdi-layers-outline:before{content:"\F9FD"}.mdi-lead-pencil:before{content:"\F64F"}.mdi-leaf:before{content:"\F32A"}.mdi-leaf-maple:before{content:"\FC6F"}.mdi-leak:before{content:"\FDB3"}.mdi-leak-off:before{content:"\FDB4"}.mdi-led-off:before{content:"\F32B"}.mdi-led-on:before{content:"\F32C"}.mdi-led-outline:before{content:"\F32D"}.mdi-led-strip:before{content:"\F7D5"}.mdi-led-variant-off:before{content:"\F32E"}.mdi-led-variant-on:before{content:"\F32F"}.mdi-led-variant-outline:before{content:"\F330"}.mdi-less-than:before{content:"\F97B"}.mdi-less-than-or-equal:before{content:"\F97C"}.mdi-library:before{content:"\F331"}.mdi-library-books:before{content:"\F332"}.mdi-library-movie:before{content:"\FCF4"}.mdi-library-music:before{content:"\F333"}.mdi-library-plus:before{content:"\F334"}.mdi-library-shelves:before{content:"\FB85"}.mdi-library-video:before{content:"\FCF5"}.mdi-lifebuoy:before{content:"\F87D"}.mdi-light-switch:before{content:"\F97D"}.mdi-lightbulb:before{content:"\F335"}.mdi-lightbulb-on:before{content:"\F6E7"}.mdi-lightbulb-on-outline:before{content:"\F6E8"}.mdi-lightbulb-outline:before{content:"\F336"}.mdi-lighthouse:before{content:"\F9FE"}.mdi-lighthouse-on:before{content:"\F9FF"}.mdi-link:before{content:"\F337"}.mdi-link-box:before{content:"\FCF6"}.mdi-link-box-outline:before{content:"\FCF7"}.mdi-link-box-variant:before{content:"\FCF8"}.mdi-link-box-variant-outline:before{content:"\FCF9"}.mdi-link-off:before{content:"\F338"}.mdi-link-plus:before{content:"\FC70"}.mdi-link-variant:before{content:"\F339"}.mdi-link-variant-off:before{content:"\F33A"}.mdi-linkedin:before{content:"\F33B"}.mdi-linkedin-box:before{content:"\F33C"}.mdi-linux:before{content:"\F33D"}.mdi-linux-mint:before{content:"\F8EC"}.mdi-litecoin:before{content:"\FA60"}.mdi-loading:before{content:"\F771"}.mdi-lock:before{content:"\F33E"}.mdi-lock-alert:before{content:"\F8ED"}.mdi-lock-clock:before{content:"\F97E"}.mdi-lock-open:before{content:"\F33F"}.mdi-lock-open-outline:before{content:"\F340"}.mdi-lock-outline:before{content:"\F341"}.mdi-lock-pattern:before{content:"\F6E9"}.mdi-lock-plus:before{content:"\F5FB"}.mdi-lock-question:before{content:"\F8EE"}.mdi-lock-reset:before{content:"\F772"}.mdi-lock-smart:before{content:"\F8B1"}.mdi-locker:before{content:"\F7D6"}.mdi-locker-multiple:before{content:"\F7D7"}.mdi-login:before{content:"\F342"}.mdi-login-variant:before{content:"\F5FC"}.mdi-logout:before{content:"\F343"}.mdi-logout-variant:before{content:"\F5FD"}.mdi-looks:before{content:"\F344"}.mdi-loop:before{content:"\F6EA"}.mdi-loupe:before{content:"\F345"}.mdi-lumx:before{content:"\F346"}.mdi-lyft:before{content:"\FB1D"}.mdi-magnet:before{content:"\F347"}.mdi-magnet-on:before{content:"\F348"}.mdi-magnify:before{content:"\F349"}.mdi-magnify-close:before{content:"\F97F"}.mdi-magnify-minus:before{content:"\F34A"}.mdi-magnify-minus-cursor:before{content:"\FA61"}.mdi-magnify-minus-outline:before{content:"\F6EB"}.mdi-magnify-plus:before{content:"\F34B"}.mdi-magnify-plus-cursor:before{content:"\FA62"}.mdi-magnify-plus-outline:before{content:"\F6EC"}.mdi-mail-ru:before{content:"\F34C"}.mdi-mailbox:before{content:"\F6ED"}.mdi-mailbox-open:before{content:"\FD64"}.mdi-mailbox-open-outline:before{content:"\FD65"}.mdi-mailbox-open-up:before{content:"\FD66"}.mdi-mailbox-open-up-outline:before{content:"\FD67"}.mdi-mailbox-outline:before{content:"\FD68"}.mdi-mailbox-up:before{content:"\FD69"}.mdi-mailbox-up-outline:before{content:"\FD6A"}.mdi-map:before{content:"\F34D"}.mdi-map-clock:before{content:"\FCFA"}.mdi-map-clock-outline:before{content:"\FCFB"}.mdi-map-legend:before{content:"\FA00"}.mdi-map-marker:before{content:"\F34E"}.mdi-map-marker-check:before{content:"\FC71"}.mdi-map-marker-circle:before{content:"\F34F"}.mdi-map-marker-distance:before{content:"\F8EF"}.mdi-map-marker-minus:before{content:"\F650"}.mdi-map-marker-multiple:before{content:"\F350"}.mdi-map-marker-off:before{content:"\F351"}.mdi-map-marker-outline:before{content:"\F7D8"}.mdi-map-marker-path:before{content:"\FCFC"}.mdi-map-marker-plus:before{content:"\F651"}.mdi-map-marker-radius:before{content:"\F352"}.mdi-map-minus:before{content:"\F980"}.mdi-map-outline:before{content:"\F981"}.mdi-map-plus:before{content:"\F982"}.mdi-map-search:before{content:"\F983"}.mdi-map-search-outline:before{content:"\F984"}.mdi-mapbox:before{content:"\FB86"}.mdi-margin:before{content:"\F353"}.mdi-markdown:before{content:"\F354"}.mdi-marker:before{content:"\F652"}.mdi-marker-cancel:before{content:"\FDB5"}.mdi-marker-check:before{content:"\F355"}.mdi-mastodon:before{content:"\FAD0"}.mdi-mastodon-variant:before{content:"\FAD1"}.mdi-material-design:before{content:"\F985"}.mdi-material-ui:before{content:"\F357"}.mdi-math-compass:before{content:"\F358"}.mdi-math-cos:before{content:"\FC72"}.mdi-math-sin:before{content:"\FC73"}.mdi-math-tan:before{content:"\FC74"}.mdi-matrix:before{content:"\F628"}.mdi-maxcdn:before{content:"\F359"}.mdi-medal:before{content:"\F986"}.mdi-medical-bag:before{content:"\F6EE"}.mdi-medium:before{content:"\F35A"}.mdi-meetup:before{content:"\FAD2"}.mdi-memory:before{content:"\F35B"}.mdi-menu:before{content:"\F35C"}.mdi-menu-down:before{content:"\F35D"}.mdi-menu-down-outline:before{content:"\F6B5"}.mdi-menu-left:before{content:"\F35E"}.mdi-menu-left-outline:before{content:"\FA01"}.mdi-menu-open:before{content:"\FB87"}.mdi-menu-right:before{content:"\F35F"}.mdi-menu-right-outline:before{content:"\FA02"}.mdi-menu-swap:before{content:"\FA63"}.mdi-menu-swap-outline:before{content:"\FA64"}.mdi-menu-up:before{content:"\F360"}.mdi-menu-up-outline:before{content:"\F6B6"}.mdi-message:before{content:"\F361"}.mdi-message-alert:before{content:"\F362"}.mdi-message-alert-outline:before{content:"\FA03"}.mdi-message-bulleted:before{content:"\F6A1"}.mdi-message-bulleted-off:before{content:"\F6A2"}.mdi-message-draw:before{content:"\F363"}.mdi-message-image:before{content:"\F364"}.mdi-message-outline:before{content:"\F365"}.mdi-message-plus:before{content:"\F653"}.mdi-message-processing:before{content:"\F366"}.mdi-message-reply:before{content:"\F367"}.mdi-message-reply-text:before{content:"\F368"}.mdi-message-settings:before{content:"\F6EF"}.mdi-message-settings-variant:before{content:"\F6F0"}.mdi-message-text:before{content:"\F369"}.mdi-message-text-outline:before{content:"\F36A"}.mdi-message-video:before{content:"\F36B"}.mdi-meteor:before{content:"\F629"}.mdi-metronome:before{content:"\F7D9"}.mdi-metronome-tick:before{content:"\F7DA"}.mdi-micro-sd:before{content:"\F7DB"}.mdi-microphone:before{content:"\F36C"}.mdi-microphone-minus:before{content:"\F8B2"}.mdi-microphone-off:before{content:"\F36D"}.mdi-microphone-outline:before{content:"\F36E"}.mdi-microphone-plus:before{content:"\F8B3"}.mdi-microphone-settings:before{content:"\F36F"}.mdi-microphone-variant:before{content:"\F370"}.mdi-microphone-variant-off:before{content:"\F371"}.mdi-microscope:before{content:"\F654"}.mdi-microsoft:before{content:"\F372"}.mdi-microsoft-dynamics:before{content:"\F987"}.mdi-microwave:before{content:"\FC75"}.mdi-midi:before{content:"\F8F0"}.mdi-midi-port:before{content:"\F8F1"}.mdi-mine:before{content:"\FDB6"}.mdi-minecraft:before{content:"\F373"}.mdi-mini-sd:before{content:"\FA04"}.mdi-minidisc:before{content:"\FA05"}.mdi-minus:before{content:"\F374"}.mdi-minus-box:before{content:"\F375"}.mdi-minus-box-outline:before{content:"\F6F1"}.mdi-minus-circle:before{content:"\F376"}.mdi-minus-circle-outline:before{content:"\F377"}.mdi-minus-network:before{content:"\F378"}.mdi-minus-network-outline:before{content:"\FC76"}.mdi-mixcloud:before{content:"\F62A"}.mdi-mixed-martial-arts:before{content:"\FD6B"}.mdi-mixed-reality:before{content:"\F87E"}.mdi-mixer:before{content:"\F7DC"}.mdi-molecule:before{content:"\FB88"}.mdi-monitor:before{content:"\F379"}.mdi-monitor-cellphone:before{content:"\F988"}.mdi-monitor-cellphone-star:before{content:"\F989"}.mdi-monitor-dashboard:before{content:"\FA06"}.mdi-monitor-lock:before{content:"\FDB7"}.mdi-monitor-multiple:before{content:"\F37A"}.mdi-monitor-off:before{content:"\FD6C"}.mdi-monitor-star:before{content:"\FDB8"}.mdi-more:before{content:"\F37B"}.mdi-mother-nurse:before{content:"\FCFD"}.mdi-motion-sensor:before{content:"\FD6D"}.mdi-motorbike:before{content:"\F37C"}.mdi-mouse:before{content:"\F37D"}.mdi-mouse-bluetooth:before{content:"\F98A"}.mdi-mouse-off:before{content:"\F37E"}.mdi-mouse-variant:before{content:"\F37F"}.mdi-mouse-variant-off:before{content:"\F380"}.mdi-move-resize:before{content:"\F655"}.mdi-move-resize-variant:before{content:"\F656"}.mdi-movie:before{content:"\F381"}.mdi-movie-outline:before{content:"\FDB9"}.mdi-movie-roll:before{content:"\F7DD"}.mdi-muffin:before{content:"\F98B"}.mdi-multiplication:before{content:"\F382"}.mdi-multiplication-box:before{content:"\F383"}.mdi-mushroom:before{content:"\F7DE"}.mdi-mushroom-outline:before{content:"\F7DF"}.mdi-music:before{content:"\F759"}.mdi-music-box:before{content:"\F384"}.mdi-music-box-outline:before{content:"\F385"}.mdi-music-circle:before{content:"\F386"}.mdi-music-circle-outline:before{content:"\FAD3"}.mdi-music-note:before{content:"\F387"}.mdi-music-note-bluetooth:before{content:"\F5FE"}.mdi-music-note-bluetooth-off:before{content:"\F5FF"}.mdi-music-note-eighth:before{content:"\F388"}.mdi-music-note-half:before{content:"\F389"}.mdi-music-note-off:before{content:"\F38A"}.mdi-music-note-plus:before{content:"\FDBA"}.mdi-music-note-quarter:before{content:"\F38B"}.mdi-music-note-sixteenth:before{content:"\F38C"}.mdi-music-note-whole:before{content:"\F38D"}.mdi-music-off:before{content:"\F75A"}.mdi-nail:before{content:"\FDBB"}.mdi-nas:before{content:"\F8F2"}.mdi-nativescript:before{content:"\F87F"}.mdi-nature:before{content:"\F38E"}.mdi-nature-people:before{content:"\F38F"}.mdi-navigation:before{content:"\F390"}.mdi-near-me:before{content:"\F5CD"}.mdi-needle:before{content:"\F391"}.mdi-netflix:before{content:"\F745"}.mdi-network:before{content:"\F6F2"}.mdi-network-off:before{content:"\FC77"}.mdi-network-off-outline:before{content:"\FC78"}.mdi-network-outline:before{content:"\FC79"}.mdi-network-strength-1:before{content:"\F8F3"}.mdi-network-strength-1-alert:before{content:"\F8F4"}.mdi-network-strength-2:before{content:"\F8F5"}.mdi-network-strength-2-alert:before{content:"\F8F6"}.mdi-network-strength-3:before{content:"\F8F7"}.mdi-network-strength-3-alert:before{content:"\F8F8"}.mdi-network-strength-4:before{content:"\F8F9"}.mdi-network-strength-4-alert:before{content:"\F8FA"}.mdi-network-strength-off:before{content:"\F8FB"}.mdi-network-strength-off-outline:before{content:"\F8FC"}.mdi-network-strength-outline:before{content:"\F8FD"}.mdi-new-box:before{content:"\F394"}.mdi-newspaper:before{content:"\F395"}.mdi-nfc:before{content:"\F396"}.mdi-nfc-tap:before{content:"\F397"}.mdi-nfc-variant:before{content:"\F398"}.mdi-ninja:before{content:"\F773"}.mdi-nintendo-switch:before{content:"\F7E0"}.mdi-nodejs:before{content:"\F399"}.mdi-not-equal:before{content:"\F98C"}.mdi-not-equal-variant:before{content:"\F98D"}.mdi-note:before{content:"\F39A"}.mdi-note-multiple:before{content:"\F6B7"}.mdi-note-multiple-outline:before{content:"\F6B8"}.mdi-note-outline:before{content:"\F39B"}.mdi-note-plus:before{content:"\F39C"}.mdi-note-plus-outline:before{content:"\F39D"}.mdi-note-text:before{content:"\F39E"}.mdi-notebook:before{content:"\F82D"}.mdi-notification-clear-all:before{content:"\F39F"}.mdi-npm:before{content:"\F6F6"}.mdi-npm-variant:before{content:"\F98E"}.mdi-npm-variant-outline:before{content:"\F98F"}.mdi-nuke:before{content:"\F6A3"}.mdi-null:before{content:"\F7E1"}.mdi-numeric:before{content:"\F3A0"}.mdi-numeric-0:before{content:"\30"}.mdi-numeric-0-box:before{content:"\F3A1"}.mdi-numeric-0-box-multiple-outline:before{content:"\F3A2"}.mdi-numeric-0-box-outline:before{content:"\F3A3"}.mdi-numeric-0-circle:before{content:"\FC7A"}.mdi-numeric-0-circle-outline:before{content:"\FC7B"}.mdi-numeric-1:before{content:"\31"}.mdi-numeric-1-box:before{content:"\F3A4"}.mdi-numeric-1-box-multiple-outline:before{content:"\F3A5"}.mdi-numeric-1-box-outline:before{content:"\F3A6"}.mdi-numeric-1-circle:before{content:"\FC7C"}.mdi-numeric-1-circle-outline:before{content:"\FC7D"}.mdi-numeric-2:before{content:"\32"}.mdi-numeric-2-box:before{content:"\F3A7"}.mdi-numeric-2-box-multiple-outline:before{content:"\F3A8"}.mdi-numeric-2-box-outline:before{content:"\F3A9"}.mdi-numeric-2-circle:before{content:"\FC7E"}.mdi-numeric-2-circle-outline:before{content:"\FC7F"}.mdi-numeric-3:before{content:"\33"}.mdi-numeric-3-box:before{content:"\F3AA"}.mdi-numeric-3-box-multiple-outline:before{content:"\F3AB"}.mdi-numeric-3-box-outline:before{content:"\F3AC"}.mdi-numeric-3-circle:before{content:"\FC80"}.mdi-numeric-3-circle-outline:before{content:"\FC81"}.mdi-numeric-4:before{content:"\34"}.mdi-numeric-4-box:before{content:"\F3AD"}.mdi-numeric-4-box-multiple-outline:before{content:"\F3AE"}.mdi-numeric-4-box-outline:before{content:"\F3AF"}.mdi-numeric-4-circle:before{content:"\FC82"}.mdi-numeric-4-circle-outline:before{content:"\FC83"}.mdi-numeric-5:before{content:"\35"}.mdi-numeric-5-box:before{content:"\F3B0"}.mdi-numeric-5-box-multiple-outline:before{content:"\F3B1"}.mdi-numeric-5-box-outline:before{content:"\F3B2"}.mdi-numeric-5-circle:before{content:"\FC84"}.mdi-numeric-5-circle-outline:before{content:"\FC85"}.mdi-numeric-6:before{content:"\36"}.mdi-numeric-6-box:before{content:"\F3B3"}.mdi-numeric-6-box-multiple-outline:before{content:"\F3B4"}.mdi-numeric-6-box-outline:before{content:"\F3B5"}.mdi-numeric-6-circle:before{content:"\FC86"}.mdi-numeric-6-circle-outline:before{content:"\FC87"}.mdi-numeric-7:before{content:"\37"}.mdi-numeric-7-box:before{content:"\F3B6"}.mdi-numeric-7-box-multiple-outline:before{content:"\F3B7"}.mdi-numeric-7-box-outline:before{content:"\F3B8"}.mdi-numeric-7-circle:before{content:"\FC88"}.mdi-numeric-7-circle-outline:before{content:"\FC89"}.mdi-numeric-8:before{content:"\38"}.mdi-numeric-8-box:before{content:"\F3B9"}.mdi-numeric-8-box-multiple-outline:before{content:"\F3BA"}.mdi-numeric-8-box-outline:before{content:"\F3BB"}.mdi-numeric-8-circle:before{content:"\FC8A"}.mdi-numeric-8-circle-outline:before{content:"\FC8B"}.mdi-numeric-9:before{content:"\39"}.mdi-numeric-9-box:before{content:"\F3BC"}.mdi-numeric-9-box-multiple-outline:before{content:"\F3BD"}.mdi-numeric-9-box-outline:before{content:"\F3BE"}.mdi-numeric-9-circle:before{content:"\FC8C"}.mdi-numeric-9-circle-outline:before{content:"\FC8D"}.mdi-numeric-9-plus-box:before{content:"\F3BF"}.mdi-numeric-9-plus-box-multiple-outline:before{content:"\F3C0"}.mdi-numeric-9-plus-box-outline:before{content:"\F3C1"}.mdi-numeric-9-plus-circle:before{content:"\FC8E"}.mdi-numeric-9-plus-circle-outline:before{content:"\FC8F"}.mdi-nut:before{content:"\F6F7"}.mdi-nutrition:before{content:"\F3C2"}.mdi-oar:before{content:"\F67B"}.mdi-ocarina:before{content:"\FDBC"}.mdi-octagon:before{content:"\F3C3"}.mdi-octagon-outline:before{content:"\F3C4"}.mdi-octagram:before{content:"\F6F8"}.mdi-octagram-outline:before{content:"\F774"}.mdi-odnoklassniki:before{content:"\F3C5"}.mdi-office:before{content:"\F3C6"}.mdi-office-building:before{content:"\F990"}.mdi-oil:before{content:"\F3C7"}.mdi-oil-temperature:before{content:"\F3C8"}.mdi-omega:before{content:"\F3C9"}.mdi-one-up:before{content:"\FB89"}.mdi-onedrive:before{content:"\F3CA"}.mdi-onenote:before{content:"\F746"}.mdi-onepassword:before{content:"\F880"}.mdi-opacity:before{content:"\F5CC"}.mdi-open-in-app:before{content:"\F3CB"}.mdi-open-in-new:before{content:"\F3CC"}.mdi-open-source-initiative:before{content:"\FB8A"}.mdi-openid:before{content:"\F3CD"}.mdi-opera:before{content:"\F3CE"}.mdi-orbit:before{content:"\F018"}.mdi-origin:before{content:"\FB2B"}.mdi-ornament:before{content:"\F3CF"}.mdi-ornament-variant:before{content:"\F3D0"}.mdi-outlook:before{content:"\FCFE"}.mdi-owl:before{content:"\F3D2"}.mdi-pac-man:before{content:"\FB8B"}.mdi-package:before{content:"\F3D3"}.mdi-package-down:before{content:"\F3D4"}.mdi-package-up:before{content:"\F3D5"}.mdi-package-variant:before{content:"\F3D6"}.mdi-package-variant-closed:before{content:"\F3D7"}.mdi-page-first:before{content:"\F600"}.mdi-page-last:before{content:"\F601"}.mdi-page-layout-body:before{content:"\F6F9"}.mdi-page-layout-footer:before{content:"\F6FA"}.mdi-page-layout-header:before{content:"\F6FB"}.mdi-page-layout-sidebar-left:before{content:"\F6FC"}.mdi-page-layout-sidebar-right:before{content:"\F6FD"}.mdi-page-next:before{content:"\FB8C"}.mdi-page-next-outline:before{content:"\FB8D"}.mdi-page-previous:before{content:"\FB8E"}.mdi-page-previous-outline:before{content:"\FB8F"}.mdi-palette:before{content:"\F3D8"}.mdi-palette-advanced:before{content:"\F3D9"}.mdi-palette-outline:before{content:"\FDE8"}.mdi-palette-swatch:before{content:"\F8B4"}.mdi-pan:before{content:"\FB90"}.mdi-pan-bottom-left:before{content:"\FB91"}.mdi-pan-bottom-right:before{content:"\FB92"}.mdi-pan-down:before{content:"\FB93"}.mdi-pan-horizontal:before{content:"\FB94"}.mdi-pan-left:before{content:"\FB95"}.mdi-pan-right:before{content:"\FB96"}.mdi-pan-top-left:before{content:"\FB97"}.mdi-pan-top-right:before{content:"\FB98"}.mdi-pan-up:before{content:"\FB99"}.mdi-pan-vertical:before{content:"\FB9A"}.mdi-panda:before{content:"\F3DA"}.mdi-pandora:before{content:"\F3DB"}.mdi-panorama:before{content:"\F3DC"}.mdi-panorama-fisheye:before{content:"\F3DD"}.mdi-panorama-horizontal:before{content:"\F3DE"}.mdi-panorama-vertical:before{content:"\F3DF"}.mdi-panorama-wide-angle:before{content:"\F3E0"}.mdi-paper-cut-vertical:before{content:"\F3E1"}.mdi-paperclip:before{content:"\F3E2"}.mdi-parachute:before{content:"\FC90"}.mdi-parachute-outline:before{content:"\FC91"}.mdi-parking:before{content:"\F3E3"}.mdi-passport:before{content:"\F7E2"}.mdi-passport-biometric:before{content:"\FDBD"}.mdi-patreon:before{content:"\F881"}.mdi-pause:before{content:"\F3E4"}.mdi-pause-circle:before{content:"\F3E5"}.mdi-pause-circle-outline:before{content:"\F3E6"}.mdi-pause-octagon:before{content:"\F3E7"}.mdi-pause-octagon-outline:before{content:"\F3E8"}.mdi-paw:before{content:"\F3E9"}.mdi-paw-off:before{content:"\F657"}.mdi-paypal:before{content:"\F882"}.mdi-peace:before{content:"\F883"}.mdi-pen:before{content:"\F3EA"}.mdi-pen-lock:before{content:"\FDBE"}.mdi-pen-minus:before{content:"\FDBF"}.mdi-pen-off:before{content:"\FDC0"}.mdi-pen-plus:before{content:"\FDC1"}.mdi-pen-remove:before{content:"\FDC2"}.mdi-pencil:before{content:"\F3EB"}.mdi-pencil-box:before{content:"\F3EC"}.mdi-pencil-box-outline:before{content:"\F3ED"}.mdi-pencil-circle:before{content:"\F6FE"}.mdi-pencil-circle-outline:before{content:"\F775"}.mdi-pencil-lock:before{content:"\F3EE"}.mdi-pencil-lock-outline:before{content:"\FDC3"}.mdi-pencil-minus:before{content:"\FDC4"}.mdi-pencil-minus-outline:before{content:"\FDC5"}.mdi-pencil-off:before{content:"\F3EF"}.mdi-pencil-off-outline:before{content:"\FDC6"}.mdi-pencil-outline:before{content:"\FC92"}.mdi-pencil-plus:before{content:"\FDC7"}.mdi-pencil-plus-outline:before{content:"\FDC8"}.mdi-pencil-remove:before{content:"\FDC9"}.mdi-pencil-remove-outline:before{content:"\FDCA"}.mdi-pentagon:before{content:"\F6FF"}.mdi-pentagon-outline:before{content:"\F700"}.mdi-percent:before{content:"\F3F0"}.mdi-periodic-table:before{content:"\F8B5"}.mdi-periodic-table-co2:before{content:"\F7E3"}.mdi-periscope:before{content:"\F747"}.mdi-perspective-less:before{content:"\FCFF"}.mdi-perspective-more:before{content:"\FD00"}.mdi-pharmacy:before{content:"\F3F1"}.mdi-phone:before{content:"\F3F2"}.mdi-phone-bluetooth:before{content:"\F3F3"}.mdi-phone-classic:before{content:"\F602"}.mdi-phone-forward:before{content:"\F3F4"}.mdi-phone-hangup:before{content:"\F3F5"}.mdi-phone-in-talk:before{content:"\F3F6"}.mdi-phone-incoming:before{content:"\F3F7"}.mdi-phone-lock:before{content:"\F3F8"}.mdi-phone-log:before{content:"\F3F9"}.mdi-phone-minus:before{content:"\F658"}.mdi-phone-missed:before{content:"\F3FA"}.mdi-phone-off:before{content:"\FDCB"}.mdi-phone-outgoing:before{content:"\F3FB"}.mdi-phone-outline:before{content:"\FDCC"}.mdi-phone-paused:before{content:"\F3FC"}.mdi-phone-plus:before{content:"\F659"}.mdi-phone-return:before{content:"\F82E"}.mdi-phone-rotate-landscape:before{content:"\F884"}.mdi-phone-rotate-portrait:before{content:"\F885"}.mdi-phone-settings:before{content:"\F3FD"}.mdi-phone-voip:before{content:"\F3FE"}.mdi-pi:before{content:"\F3FF"}.mdi-pi-box:before{content:"\F400"}.mdi-pi-hole:before{content:"\FDCD"}.mdi-piano:before{content:"\F67C"}.mdi-pickaxe:before{content:"\F8B6"}.mdi-pier:before{content:"\F886"}.mdi-pier-crane:before{content:"\F887"}.mdi-pig:before{content:"\F401"}.mdi-pill:before{content:"\F402"}.mdi-pillar:before{content:"\F701"}.mdi-pin:before{content:"\F403"}.mdi-pin-off:before{content:"\F404"}.mdi-pin-off-outline:before{content:"\F92F"}.mdi-pin-outline:before{content:"\F930"}.mdi-pine-tree:before{content:"\F405"}.mdi-pine-tree-box:before{content:"\F406"}.mdi-pinterest:before{content:"\F407"}.mdi-pinterest-box:before{content:"\F408"}.mdi-pinwheel:before{content:"\FAD4"}.mdi-pinwheel-outline:before{content:"\FAD5"}.mdi-pipe:before{content:"\F7E4"}.mdi-pipe-disconnected:before{content:"\F7E5"}.mdi-pipe-leak:before{content:"\F888"}.mdi-pirate:before{content:"\FA07"}.mdi-pistol:before{content:"\F702"}.mdi-piston:before{content:"\F889"}.mdi-pizza:before{content:"\F409"}.mdi-play:before{content:"\F40A"}.mdi-play-box-outline:before{content:"\F40B"}.mdi-play-circle:before{content:"\F40C"}.mdi-play-circle-outline:before{content:"\F40D"}.mdi-play-network:before{content:"\F88A"}.mdi-play-network-outline:before{content:"\FC93"}.mdi-play-pause:before{content:"\F40E"}.mdi-play-protected-content:before{content:"\F40F"}.mdi-play-speed:before{content:"\F8FE"}.mdi-playlist-check:before{content:"\F5C7"}.mdi-playlist-edit:before{content:"\F8FF"}.mdi-playlist-minus:before{content:"\F410"}.mdi-playlist-music:before{content:"\FC94"}.mdi-playlist-music-outline:before{content:"\FC95"}.mdi-playlist-play:before{content:"\F411"}.mdi-playlist-plus:before{content:"\F412"}.mdi-playlist-remove:before{content:"\F413"}.mdi-playlist-star:before{content:"\FDCE"}.mdi-playstation:before{content:"\F414"}.mdi-plex:before{content:"\F6B9"}.mdi-plus:before{content:"\F415"}.mdi-plus-box:before{content:"\F416"}.mdi-plus-box-outline:before{content:"\F703"}.mdi-plus-circle:before{content:"\F417"}.mdi-plus-circle-multiple-outline:before{content:"\F418"}.mdi-plus-circle-outline:before{content:"\F419"}.mdi-plus-minus:before{content:"\F991"}.mdi-plus-minus-box:before{content:"\F992"}.mdi-plus-network:before{content:"\F41A"}.mdi-plus-network-outline:before{content:"\FC96"}.mdi-plus-one:before{content:"\F41B"}.mdi-plus-outline:before{content:"\F704"}.mdi-pocket:before{content:"\F41C"}.mdi-podcast:before{content:"\F993"}.mdi-podium:before{content:"\FD01"}.mdi-podium-bronze:before{content:"\FD02"}.mdi-podium-gold:before{content:"\FD03"}.mdi-podium-silver:before{content:"\FD04"}.mdi-point-of-sale:before{content:"\FD6E"}.mdi-pokeball:before{content:"\F41D"}.mdi-pokemon-go:before{content:"\FA08"}.mdi-poker-chip:before{content:"\F82F"}.mdi-polaroid:before{content:"\F41E"}.mdi-poll:before{content:"\F41F"}.mdi-poll-box:before{content:"\F420"}.mdi-polymer:before{content:"\F421"}.mdi-pool:before{content:"\F606"}.mdi-popcorn:before{content:"\F422"}.mdi-postage-stamp:before{content:"\FC97"}.mdi-pot:before{content:"\F65A"}.mdi-pot-mix:before{content:"\F65B"}.mdi-pound:before{content:"\F423"}.mdi-pound-box:before{content:"\F424"}.mdi-power:before{content:"\F425"}.mdi-power-cycle:before{content:"\F900"}.mdi-power-off:before{content:"\F901"}.mdi-power-on:before{content:"\F902"}.mdi-power-plug:before{content:"\F6A4"}.mdi-power-plug-off:before{content:"\F6A5"}.mdi-power-settings:before{content:"\F426"}.mdi-power-sleep:before{content:"\F903"}.mdi-power-socket:before{content:"\F427"}.mdi-power-socket-au:before{content:"\F904"}.mdi-power-socket-eu:before{content:"\F7E6"}.mdi-power-socket-uk:before{content:"\F7E7"}.mdi-power-socket-us:before{content:"\F7E8"}.mdi-power-standby:before{content:"\F905"}.mdi-powershell:before{content:"\FA09"}.mdi-prescription:before{content:"\F705"}.mdi-presentation:before{content:"\F428"}.mdi-presentation-play:before{content:"\F429"}.mdi-printer:before{content:"\F42A"}.mdi-printer-3d:before{content:"\F42B"}.mdi-printer-alert:before{content:"\F42C"}.mdi-printer-settings:before{content:"\F706"}.mdi-printer-wireless:before{content:"\FA0A"}.mdi-priority-high:before{content:"\F603"}.mdi-priority-low:before{content:"\F604"}.mdi-professional-hexagon:before{content:"\F42D"}.mdi-progress-alert:before{content:"\FC98"}.mdi-progress-check:before{content:"\F994"}.mdi-progress-clock:before{content:"\F995"}.mdi-progress-download:before{content:"\F996"}.mdi-progress-upload:before{content:"\F997"}.mdi-progress-wrench:before{content:"\FC99"}.mdi-projector:before{content:"\F42E"}.mdi-projector-screen:before{content:"\F42F"}.mdi-publish:before{content:"\F6A6"}.mdi-pulse:before{content:"\F430"}.mdi-pumpkin:before{content:"\FB9B"}.mdi-puzzle:before{content:"\F431"}.mdi-puzzle-outline:before{content:"\FA65"}.mdi-qi:before{content:"\F998"}.mdi-qqchat:before{content:"\F605"}.mdi-qrcode:before{content:"\F432"}.mdi-qrcode-edit:before{content:"\F8B7"}.mdi-qrcode-scan:before{content:"\F433"}.mdi-quadcopter:before{content:"\F434"}.mdi-quality-high:before{content:"\F435"}.mdi-quality-low:before{content:"\FA0B"}.mdi-quality-medium:before{content:"\FA0C"}.mdi-quicktime:before{content:"\F436"}.mdi-quora:before{content:"\FD05"}.mdi-rabbit:before{content:"\F906"}.mdi-racing-helmet:before{content:"\FD6F"}.mdi-racquetball:before{content:"\FD70"}.mdi-radar:before{content:"\F437"}.mdi-radiator:before{content:"\F438"}.mdi-radiator-disabled:before{content:"\FAD6"}.mdi-radiator-off:before{content:"\FAD7"}.mdi-radio:before{content:"\F439"}.mdi-radio-am:before{content:"\FC9A"}.mdi-radio-fm:before{content:"\FC9B"}.mdi-radio-handheld:before{content:"\F43A"}.mdi-radio-tower:before{content:"\F43B"}.mdi-radioactive:before{content:"\F43C"}.mdi-radiobox-blank:before{content:"\F43D"}.mdi-radiobox-marked:before{content:"\F43E"}.mdi-radius:before{content:"\FC9C"}.mdi-radius-outline:before{content:"\FC9D"}.mdi-raspberry-pi:before{content:"\F43F"}.mdi-ray-end:before{content:"\F440"}.mdi-ray-end-arrow:before{content:"\F441"}.mdi-ray-start:before{content:"\F442"}.mdi-ray-start-arrow:before{content:"\F443"}.mdi-ray-start-end:before{content:"\F444"}.mdi-ray-vertex:before{content:"\F445"}.mdi-react:before{content:"\F707"}.mdi-read:before{content:"\F447"}.mdi-receipt:before{content:"\F449"}.mdi-record:before{content:"\F44A"}.mdi-record-player:before{content:"\F999"}.mdi-record-rec:before{content:"\F44B"}.mdi-recycle:before{content:"\F44C"}.mdi-reddit:before{content:"\F44D"}.mdi-redo:before{content:"\F44E"}.mdi-redo-variant:before{content:"\F44F"}.mdi-reflect-horizontal:before{content:"\FA0D"}.mdi-reflect-vertical:before{content:"\FA0E"}.mdi-refresh:before{content:"\F450"}.mdi-regex:before{content:"\F451"}.mdi-registered-trademark:before{content:"\FA66"}.mdi-relative-scale:before{content:"\F452"}.mdi-reload:before{content:"\F453"}.mdi-reminder:before{content:"\F88B"}.mdi-remote:before{content:"\F454"}.mdi-remote-desktop:before{content:"\F8B8"}.mdi-rename-box:before{content:"\F455"}.mdi-reorder-horizontal:before{content:"\F687"}.mdi-reorder-vertical:before{content:"\F688"}.mdi-repeat:before{content:"\F456"}.mdi-repeat-off:before{content:"\F457"}.mdi-repeat-once:before{content:"\F458"}.mdi-replay:before{content:"\F459"}.mdi-reply:before{content:"\F45A"}.mdi-reply-all:before{content:"\F45B"}.mdi-reproduction:before{content:"\F45C"}.mdi-resistor:before{content:"\FB1F"}.mdi-resistor-nodes:before{content:"\FB20"}.mdi-resize:before{content:"\FA67"}.mdi-resize-bottom-right:before{content:"\F45D"}.mdi-responsive:before{content:"\F45E"}.mdi-restart:before{content:"\F708"}.mdi-restart-off:before{content:"\FD71"}.mdi-restore:before{content:"\F99A"}.mdi-restore-clock:before{content:"\F6A7"}.mdi-rewind:before{content:"\F45F"}.mdi-rewind-10:before{content:"\FD06"}.mdi-rewind-30:before{content:"\FD72"}.mdi-rewind-outline:before{content:"\F709"}.mdi-rhombus:before{content:"\F70A"}.mdi-rhombus-medium:before{content:"\FA0F"}.mdi-rhombus-outline:before{content:"\F70B"}.mdi-rhombus-split:before{content:"\FA10"}.mdi-ribbon:before{content:"\F460"}.mdi-rice:before{content:"\F7E9"}.mdi-ring:before{content:"\F7EA"}.mdi-road:before{content:"\F461"}.mdi-road-variant:before{content:"\F462"}.mdi-robot:before{content:"\F6A8"}.mdi-robot-industrial:before{content:"\FB21"}.mdi-robot-vacuum:before{content:"\F70C"}.mdi-robot-vacuum-variant:before{content:"\F907"}.mdi-rocket:before{content:"\F463"}.mdi-roller-skate:before{content:"\FD07"}.mdi-rollerblade:before{content:"\FD08"}.mdi-rollupjs:before{content:"\FB9C"}.mdi-room-service:before{content:"\F88C"}.mdi-room-service-outline:before{content:"\FD73"}.mdi-rotate-3d:before{content:"\F464"}.mdi-rotate-left:before{content:"\F465"}.mdi-rotate-left-variant:before{content:"\F466"}.mdi-rotate-orbit:before{content:"\FD74"}.mdi-rotate-right:before{content:"\F467"}.mdi-rotate-right-variant:before{content:"\F468"}.mdi-rounded-corner:before{content:"\F607"}.mdi-router-wireless:before{content:"\F469"}.mdi-router-wireless-settings:before{content:"\FA68"}.mdi-routes:before{content:"\F46A"}.mdi-rowing:before{content:"\F608"}.mdi-rss:before{content:"\F46B"}.mdi-rss-box:before{content:"\F46C"}.mdi-ruby:before{content:"\FD09"}.mdi-rugby:before{content:"\FD75"}.mdi-ruler:before{content:"\F46D"}.mdi-ruler-square:before{content:"\FC9E"}.mdi-run:before{content:"\F70D"}.mdi-run-fast:before{content:"\F46E"}.mdi-sack:before{content:"\FD0A"}.mdi-sack-percent:before{content:"\FD0B"}.mdi-safe:before{content:"\FA69"}.mdi-safety-goggles:before{content:"\FD0C"}.mdi-sale:before{content:"\F46F"}.mdi-salesforce:before{content:"\F88D"}.mdi-sass:before{content:"\F7EB"}.mdi-satellite:before{content:"\F470"}.mdi-satellite-uplink:before{content:"\F908"}.mdi-satellite-variant:before{content:"\F471"}.mdi-sausage:before{content:"\F8B9"}.mdi-saxophone:before{content:"\F609"}.mdi-scale:before{content:"\F472"}.mdi-scale-balance:before{content:"\F5D1"}.mdi-scale-bathroom:before{content:"\F473"}.mdi-scanner:before{content:"\F6AA"}.mdi-scanner-off:before{content:"\F909"}.mdi-school:before{content:"\F474"}.mdi-scissors-cutting:before{content:"\FA6A"}.mdi-screen-rotation:before{content:"\F475"}.mdi-screen-rotation-lock:before{content:"\F476"}.mdi-screw-flat-top:before{content:"\FDCF"}.mdi-screw-lag:before{content:"\FDD0"}.mdi-screw-machine-flat-top:before{content:"\FDD1"}.mdi-screw-machine-round-top:before{content:"\FDD2"}.mdi-screw-round-top:before{content:"\FDD3"}.mdi-screwdriver:before{content:"\F477"}.mdi-script:before{content:"\FB9D"}.mdi-script-outline:before{content:"\F478"}.mdi-script-text:before{content:"\FB9E"}.mdi-script-text-outline:before{content:"\FB9F"}.mdi-sd:before{content:"\F479"}.mdi-seal:before{content:"\F47A"}.mdi-search-web:before{content:"\F70E"}.mdi-seat:before{content:"\FC9F"}.mdi-seat-flat:before{content:"\F47B"}.mdi-seat-flat-angled:before{content:"\F47C"}.mdi-seat-individual-suite:before{content:"\F47D"}.mdi-seat-legroom-extra:before{content:"\F47E"}.mdi-seat-legroom-normal:before{content:"\F47F"}.mdi-seat-legroom-reduced:before{content:"\F480"}.mdi-seat-outline:before{content:"\FCA0"}.mdi-seat-recline-extra:before{content:"\F481"}.mdi-seat-recline-normal:before{content:"\F482"}.mdi-seatbelt:before{content:"\FCA1"}.mdi-security:before{content:"\F483"}.mdi-security-network:before{content:"\F484"}.mdi-select:before{content:"\F485"}.mdi-select-all:before{content:"\F486"}.mdi-select-color:before{content:"\FD0D"}.mdi-select-compare:before{content:"\FAD8"}.mdi-select-drag:before{content:"\FA6B"}.mdi-select-inverse:before{content:"\F487"}.mdi-select-off:before{content:"\F488"}.mdi-selection:before{content:"\F489"}.mdi-selection-drag:before{content:"\FA6C"}.mdi-selection-ellipse:before{content:"\FD0E"}.mdi-selection-off:before{content:"\F776"}.mdi-send:before{content:"\F48A"}.mdi-send-circle:before{content:"\FDD4"}.mdi-send-circle-outline:before{content:"\FDD5"}.mdi-send-lock:before{content:"\F7EC"}.mdi-serial-port:before{content:"\F65C"}.mdi-server:before{content:"\F48B"}.mdi-server-minus:before{content:"\F48C"}.mdi-server-network:before{content:"\F48D"}.mdi-server-network-off:before{content:"\F48E"}.mdi-server-off:before{content:"\F48F"}.mdi-server-plus:before{content:"\F490"}.mdi-server-remove:before{content:"\F491"}.mdi-server-security:before{content:"\F492"}.mdi-set-all:before{content:"\F777"}.mdi-set-center:before{content:"\F778"}.mdi-set-center-right:before{content:"\F779"}.mdi-set-left:before{content:"\F77A"}.mdi-set-left-center:before{content:"\F77B"}.mdi-set-left-right:before{content:"\F77C"}.mdi-set-none:before{content:"\F77D"}.mdi-set-right:before{content:"\F77E"}.mdi-set-top-box:before{content:"\F99E"}.mdi-settings:before{content:"\F493"}.mdi-settings-box:before{content:"\F494"}.mdi-settings-helper:before{content:"\FA6D"}.mdi-settings-outline:before{content:"\F8BA"}.mdi-shape:before{content:"\F830"}.mdi-shape-circle-plus:before{content:"\F65D"}.mdi-shape-outline:before{content:"\F831"}.mdi-shape-plus:before{content:"\F495"}.mdi-shape-polygon-plus:before{content:"\F65E"}.mdi-shape-rectangle-plus:before{content:"\F65F"}.mdi-shape-square-plus:before{content:"\F660"}.mdi-share:before{content:"\F496"}.mdi-share-outline:before{content:"\F931"}.mdi-share-variant:before{content:"\F497"}.mdi-sheep:before{content:"\FCA2"}.mdi-shield:before{content:"\F498"}.mdi-shield-account:before{content:"\F88E"}.mdi-shield-account-outline:before{content:"\FA11"}.mdi-shield-airplane:before{content:"\F6BA"}.mdi-shield-airplane-outline:before{content:"\FCA3"}.mdi-shield-check:before{content:"\F565"}.mdi-shield-check-outline:before{content:"\FCA4"}.mdi-shield-cross:before{content:"\FCA5"}.mdi-shield-cross-outline:before{content:"\FCA6"}.mdi-shield-half-full:before{content:"\F77F"}.mdi-shield-home:before{content:"\F689"}.mdi-shield-home-outline:before{content:"\FCA7"}.mdi-shield-key:before{content:"\FBA0"}.mdi-shield-key-outline:before{content:"\FBA1"}.mdi-shield-link-variant:before{content:"\FD0F"}.mdi-shield-link-variant-outline:before{content:"\FD10"}.mdi-shield-lock:before{content:"\F99C"}.mdi-shield-lock-outline:before{content:"\FCA8"}.mdi-shield-off:before{content:"\F99D"}.mdi-shield-off-outline:before{content:"\F99B"}.mdi-shield-outline:before{content:"\F499"}.mdi-shield-plus:before{content:"\FAD9"}.mdi-shield-plus-outline:before{content:"\FADA"}.mdi-shield-remove:before{content:"\FADB"}.mdi-shield-remove-outline:before{content:"\FADC"}.mdi-shield-search:before{content:"\FD76"}.mdi-ship-wheel:before{content:"\F832"}.mdi-shoe-formal:before{content:"\FB22"}.mdi-shoe-heel:before{content:"\FB23"}.mdi-shoe-print:before{content:"\FDD6"}.mdi-shopify:before{content:"\FADD"}.mdi-shopping:before{content:"\F49A"}.mdi-shopping-music:before{content:"\F49B"}.mdi-shovel:before{content:"\F70F"}.mdi-shovel-off:before{content:"\F710"}.mdi-shower:before{content:"\F99F"}.mdi-shower-head:before{content:"\F9A0"}.mdi-shredder:before{content:"\F49C"}.mdi-shuffle:before{content:"\F49D"}.mdi-shuffle-disabled:before{content:"\F49E"}.mdi-shuffle-variant:before{content:"\F49F"}.mdi-sigma:before{content:"\F4A0"}.mdi-sigma-lower:before{content:"\F62B"}.mdi-sign-caution:before{content:"\F4A1"}.mdi-sign-direction:before{content:"\F780"}.mdi-sign-text:before{content:"\F781"}.mdi-signal:before{content:"\F4A2"}.mdi-signal-2g:before{content:"\F711"}.mdi-signal-3g:before{content:"\F712"}.mdi-signal-4g:before{content:"\F713"}.mdi-signal-5g:before{content:"\FA6E"}.mdi-signal-cellular-1:before{content:"\F8BB"}.mdi-signal-cellular-2:before{content:"\F8BC"}.mdi-signal-cellular-3:before{content:"\F8BD"}.mdi-signal-cellular-outline:before{content:"\F8BE"}.mdi-signal-hspa:before{content:"\F714"}.mdi-signal-hspa-plus:before{content:"\F715"}.mdi-signal-off:before{content:"\F782"}.mdi-signal-variant:before{content:"\F60A"}.mdi-signature:before{content:"\FDD7"}.mdi-signature-freehand:before{content:"\FDD8"}.mdi-signature-image:before{content:"\FDD9"}.mdi-signature-text:before{content:"\FDDA"}.mdi-silo:before{content:"\FB24"}.mdi-silverware:before{content:"\F4A3"}.mdi-silverware-fork:before{content:"\F4A4"}.mdi-silverware-fork-knife:before{content:"\FA6F"}.mdi-silverware-spoon:before{content:"\F4A5"}.mdi-silverware-variant:before{content:"\F4A6"}.mdi-sim:before{content:"\F4A7"}.mdi-sim-alert:before{content:"\F4A8"}.mdi-sim-off:before{content:"\F4A9"}.mdi-sina-weibo:before{content:"\FADE"}.mdi-sitemap:before{content:"\F4AA"}.mdi-skate:before{content:"\FD11"}.mdi-skew-less:before{content:"\FD12"}.mdi-skew-more:before{content:"\FD13"}.mdi-skip-backward:before{content:"\F4AB"}.mdi-skip-forward:before{content:"\F4AC"}.mdi-skip-next:before{content:"\F4AD"}.mdi-skip-next-circle:before{content:"\F661"}.mdi-skip-next-circle-outline:before{content:"\F662"}.mdi-skip-previous:before{content:"\F4AE"}.mdi-skip-previous-circle:before{content:"\F663"}.mdi-skip-previous-circle-outline:before{content:"\F664"}.mdi-skull:before{content:"\F68B"}.mdi-skull-crossbones:before{content:"\FBA2"}.mdi-skull-crossbones-outline:before{content:"\FBA3"}.mdi-skull-outline:before{content:"\FBA4"}.mdi-skype:before{content:"\F4AF"}.mdi-skype-business:before{content:"\F4B0"}.mdi-slack:before{content:"\F4B1"}.mdi-slackware:before{content:"\F90A"}.mdi-sleep:before{content:"\F4B2"}.mdi-sleep-off:before{content:"\F4B3"}.mdi-slope-downhill:before{content:"\FDDB"}.mdi-slope-uphill:before{content:"\FDDC"}.mdi-smog:before{content:"\FA70"}.mdi-smoke-detector:before{content:"\F392"}.mdi-smoking:before{content:"\F4B4"}.mdi-smoking-off:before{content:"\F4B5"}.mdi-snapchat:before{content:"\F4B6"}.mdi-snowflake:before{content:"\F716"}.mdi-snowman:before{content:"\F4B7"}.mdi-soccer:before{content:"\F4B8"}.mdi-soccer-field:before{content:"\F833"}.mdi-sofa:before{content:"\F4B9"}.mdi-solar-panel:before{content:"\FD77"}.mdi-solar-panel-large:before{content:"\FD78"}.mdi-solar-power:before{content:"\FA71"}.mdi-solid:before{content:"\F68C"}.mdi-sort:before{content:"\F4BA"}.mdi-sort-alphabetical:before{content:"\F4BB"}.mdi-sort-ascending:before{content:"\F4BC"}.mdi-sort-descending:before{content:"\F4BD"}.mdi-sort-numeric:before{content:"\F4BE"}.mdi-sort-variant:before{content:"\F4BF"}.mdi-sort-variant-lock:before{content:"\FCA9"}.mdi-sort-variant-lock-open:before{content:"\FCAA"}.mdi-soundcloud:before{content:"\F4C0"}.mdi-source-branch:before{content:"\F62C"}.mdi-source-commit:before{content:"\F717"}.mdi-source-commit-end:before{content:"\F718"}.mdi-source-commit-end-local:before{content:"\F719"}.mdi-source-commit-local:before{content:"\F71A"}.mdi-source-commit-next-local:before{content:"\F71B"}.mdi-source-commit-start:before{content:"\F71C"}.mdi-source-commit-start-next-local:before{content:"\F71D"}.mdi-source-fork:before{content:"\F4C1"}.mdi-source-merge:before{content:"\F62D"}.mdi-source-pull:before{content:"\F4C2"}.mdi-source-repository:before{content:"\FCAB"}.mdi-source-repository-multiple:before{content:"\FCAC"}.mdi-soy-sauce:before{content:"\F7ED"}.mdi-spa:before{content:"\FCAD"}.mdi-spa-outline:before{content:"\FCAE"}.mdi-space-invaders:before{content:"\FBA5"}.mdi-speaker:before{content:"\F4C3"}.mdi-speaker-bluetooth:before{content:"\F9A1"}.mdi-speaker-multiple:before{content:"\FD14"}.mdi-speaker-off:before{content:"\F4C4"}.mdi-speaker-wireless:before{content:"\F71E"}.mdi-speedometer:before{content:"\F4C5"}.mdi-spellcheck:before{content:"\F4C6"}.mdi-spider-web:before{content:"\FBA6"}.mdi-spotify:before{content:"\F4C7"}.mdi-spotlight:before{content:"\F4C8"}.mdi-spotlight-beam:before{content:"\F4C9"}.mdi-spray:before{content:"\F665"}.mdi-spray-bottle:before{content:"\FADF"}.mdi-square:before{content:"\F763"}.mdi-square-edit-outline:before{content:"\F90B"}.mdi-square-inc:before{content:"\F4CA"}.mdi-square-inc-cash:before{content:"\F4CB"}.mdi-square-medium:before{content:"\FA12"}.mdi-square-medium-outline:before{content:"\FA13"}.mdi-square-outline:before{content:"\F762"}.mdi-square-root:before{content:"\F783"}.mdi-square-root-box:before{content:"\F9A2"}.mdi-square-small:before{content:"\FA14"}.mdi-squeegee:before{content:"\FAE0"}.mdi-ssh:before{content:"\F8BF"}.mdi-stack-exchange:before{content:"\F60B"}.mdi-stack-overflow:before{content:"\F4CC"}.mdi-stadium:before{content:"\F71F"}.mdi-stairs:before{content:"\F4CD"}.mdi-stamper:before{content:"\FD15"}.mdi-standard-definition:before{content:"\F7EE"}.mdi-star:before{content:"\F4CE"}.mdi-star-box:before{content:"\FA72"}.mdi-star-box-outline:before{content:"\FA73"}.mdi-star-circle:before{content:"\F4CF"}.mdi-star-circle-outline:before{content:"\F9A3"}.mdi-star-face:before{content:"\F9A4"}.mdi-star-four-points:before{content:"\FAE1"}.mdi-star-four-points-outline:before{content:"\FAE2"}.mdi-star-half:before{content:"\F4D0"}.mdi-star-off:before{content:"\F4D1"}.mdi-star-outline:before{content:"\F4D2"}.mdi-star-three-points:before{content:"\FAE3"}.mdi-star-three-points-outline:before{content:"\FAE4"}.mdi-steam:before{content:"\F4D3"}.mdi-steam-box:before{content:"\F90C"}.mdi-steering:before{content:"\F4D4"}.mdi-steering-off:before{content:"\F90D"}.mdi-step-backward:before{content:"\F4D5"}.mdi-step-backward-2:before{content:"\F4D6"}.mdi-step-forward:before{content:"\F4D7"}.mdi-step-forward-2:before{content:"\F4D8"}.mdi-stethoscope:before{content:"\F4D9"}.mdi-sticker:before{content:"\F5D0"}.mdi-sticker-emoji:before{content:"\F784"}.mdi-stocking:before{content:"\F4DA"}.mdi-stop:before{content:"\F4DB"}.mdi-stop-circle:before{content:"\F666"}.mdi-stop-circle-outline:before{content:"\F667"}.mdi-store:before{content:"\F4DC"}.mdi-store-24-hour:before{content:"\F4DD"}.mdi-stove:before{content:"\F4DE"}.mdi-strava:before{content:"\FB25"}.mdi-subdirectory-arrow-left:before{content:"\F60C"}.mdi-subdirectory-arrow-right:before{content:"\F60D"}.mdi-subtitles:before{content:"\FA15"}.mdi-subtitles-outline:before{content:"\FA16"}.mdi-subway:before{content:"\F6AB"}.mdi-subway-alert-variant:before{content:"\FD79"}.mdi-subway-variant:before{content:"\F4DF"}.mdi-summit:before{content:"\F785"}.mdi-sunglasses:before{content:"\F4E0"}.mdi-surround-sound:before{content:"\F5C5"}.mdi-surround-sound-2-0:before{content:"\F7EF"}.mdi-surround-sound-3-1:before{content:"\F7F0"}.mdi-surround-sound-5-1:before{content:"\F7F1"}.mdi-surround-sound-7-1:before{content:"\F7F2"}.mdi-svg:before{content:"\F720"}.mdi-swap-horizontal:before{content:"\F4E1"}.mdi-swap-horizontal-bold:before{content:"\FBA9"}.mdi-swap-horizontal-variant:before{content:"\F8C0"}.mdi-swap-vertical:before{content:"\F4E2"}.mdi-swap-vertical-bold:before{content:"\FBAA"}.mdi-swap-vertical-variant:before{content:"\F8C1"}.mdi-swim:before{content:"\F4E3"}.mdi-switch:before{content:"\F4E4"}.mdi-sword:before{content:"\F4E5"}.mdi-sword-cross:before{content:"\F786"}.mdi-symfony:before{content:"\FAE5"}.mdi-sync:before{content:"\F4E6"}.mdi-sync-alert:before{content:"\F4E7"}.mdi-sync-off:before{content:"\F4E8"}.mdi-tab:before{content:"\F4E9"}.mdi-tab-minus:before{content:"\FB26"}.mdi-tab-plus:before{content:"\F75B"}.mdi-tab-remove:before{content:"\FB27"}.mdi-tab-unselected:before{content:"\F4EA"}.mdi-table:before{content:"\F4EB"}.mdi-table-border:before{content:"\FA17"}.mdi-table-column:before{content:"\F834"}.mdi-table-column-plus-after:before{content:"\F4EC"}.mdi-table-column-plus-before:before{content:"\F4ED"}.mdi-table-column-remove:before{content:"\F4EE"}.mdi-table-column-width:before{content:"\F4EF"}.mdi-table-edit:before{content:"\F4F0"}.mdi-table-large:before{content:"\F4F1"}.mdi-table-merge-cells:before{content:"\F9A5"}.mdi-table-of-contents:before{content:"\F835"}.mdi-table-plus:before{content:"\FA74"}.mdi-table-remove:before{content:"\FA75"}.mdi-table-row:before{content:"\F836"}.mdi-table-row-height:before{content:"\F4F2"}.mdi-table-row-plus-after:before{content:"\F4F3"}.mdi-table-row-plus-before:before{content:"\F4F4"}.mdi-table-row-remove:before{content:"\F4F5"}.mdi-table-search:before{content:"\F90E"}.mdi-table-settings:before{content:"\F837"}.mdi-tablet:before{content:"\F4F6"}.mdi-tablet-android:before{content:"\F4F7"}.mdi-tablet-cellphone:before{content:"\F9A6"}.mdi-tablet-ipad:before{content:"\F4F8"}.mdi-taco:before{content:"\F761"}.mdi-tag:before{content:"\F4F9"}.mdi-tag-faces:before{content:"\F4FA"}.mdi-tag-heart:before{content:"\F68A"}.mdi-tag-heart-outline:before{content:"\FBAB"}.mdi-tag-minus:before{content:"\F90F"}.mdi-tag-multiple:before{content:"\F4FB"}.mdi-tag-outline:before{content:"\F4FC"}.mdi-tag-plus:before{content:"\F721"}.mdi-tag-remove:before{content:"\F722"}.mdi-tag-text-outline:before{content:"\F4FD"}.mdi-tank:before{content:"\FD16"}.mdi-tape-measure:before{content:"\FB28"}.mdi-target:before{content:"\F4FE"}.mdi-target-account:before{content:"\FBAC"}.mdi-target-variant:before{content:"\FA76"}.mdi-taxi:before{content:"\F4FF"}.mdi-tea:before{content:"\FD7A"}.mdi-tea-outline:before{content:"\FD7B"}.mdi-teach:before{content:"\F88F"}.mdi-teamviewer:before{content:"\F500"}.mdi-telegram:before{content:"\F501"}.mdi-telescope:before{content:"\FB29"}.mdi-television:before{content:"\F502"}.mdi-television-box:before{content:"\F838"}.mdi-television-classic:before{content:"\F7F3"}.mdi-television-classic-off:before{content:"\F839"}.mdi-television-guide:before{content:"\F503"}.mdi-television-off:before{content:"\F83A"}.mdi-temperature-celsius:before{content:"\F504"}.mdi-temperature-fahrenheit:before{content:"\F505"}.mdi-temperature-kelvin:before{content:"\F506"}.mdi-tennis:before{content:"\FD7C"}.mdi-tennis-ball:before{content:"\F507"}.mdi-tent:before{content:"\F508"}.mdi-terrain:before{content:"\F509"}.mdi-test-tube:before{content:"\F668"}.mdi-test-tube-empty:before{content:"\F910"}.mdi-test-tube-off:before{content:"\F911"}.mdi-text:before{content:"\F9A7"}.mdi-text-shadow:before{content:"\F669"}.mdi-text-short:before{content:"\F9A8"}.mdi-text-subject:before{content:"\F9A9"}.mdi-text-to-speech:before{content:"\F50A"}.mdi-text-to-speech-off:before{content:"\F50B"}.mdi-textbox:before{content:"\F60E"}.mdi-textbox-password:before{content:"\F7F4"}.mdi-texture:before{content:"\F50C"}.mdi-theater:before{content:"\F50D"}.mdi-theme-light-dark:before{content:"\F50E"}.mdi-thermometer:before{content:"\F50F"}.mdi-thermometer-alert:before{content:"\FDDD"}.mdi-thermometer-chevron-down:before{content:"\FDDE"}.mdi-thermometer-chevron-up:before{content:"\FDDF"}.mdi-thermometer-lines:before{content:"\F510"}.mdi-thermometer-minus:before{content:"\FDE0"}.mdi-thermometer-plus:before{content:"\FDE1"}.mdi-thermostat:before{content:"\F393"}.mdi-thermostat-box:before{content:"\F890"}.mdi-thought-bubble:before{content:"\F7F5"}.mdi-thought-bubble-outline:before{content:"\F7F6"}.mdi-thumb-down:before{content:"\F511"}.mdi-thumb-down-outline:before{content:"\F512"}.mdi-thumb-up:before{content:"\F513"}.mdi-thumb-up-outline:before{content:"\F514"}.mdi-thumbs-up-down:before{content:"\F515"}.mdi-ticket:before{content:"\F516"}.mdi-ticket-account:before{content:"\F517"}.mdi-ticket-confirmation:before{content:"\F518"}.mdi-ticket-outline:before{content:"\F912"}.mdi-ticket-percent:before{content:"\F723"}.mdi-tie:before{content:"\F519"}.mdi-tilde:before{content:"\F724"}.mdi-timelapse:before{content:"\F51A"}.mdi-timeline:before{content:"\FBAD"}.mdi-timeline-outline:before{content:"\FBAE"}.mdi-timeline-text:before{content:"\FBAF"}.mdi-timeline-text-outline:before{content:"\FBB0"}.mdi-timer:before{content:"\F51B"}.mdi-timer-10:before{content:"\F51C"}.mdi-timer-3:before{content:"\F51D"}.mdi-timer-off:before{content:"\F51E"}.mdi-timer-sand:before{content:"\F51F"}.mdi-timer-sand-empty:before{content:"\F6AC"}.mdi-timer-sand-full:before{content:"\F78B"}.mdi-timetable:before{content:"\F520"}.mdi-toaster-oven:before{content:"\FCAF"}.mdi-toggle-switch:before{content:"\F521"}.mdi-toggle-switch-off:before{content:"\F522"}.mdi-toggle-switch-off-outline:before{content:"\FA18"}.mdi-toggle-switch-outline:before{content:"\FA19"}.mdi-toilet:before{content:"\F9AA"}.mdi-toolbox:before{content:"\F9AB"}.mdi-toolbox-outline:before{content:"\F9AC"}.mdi-tooltip:before{content:"\F523"}.mdi-tooltip-account:before{content:"\F00C"}.mdi-tooltip-edit:before{content:"\F524"}.mdi-tooltip-image:before{content:"\F525"}.mdi-tooltip-image-outline:before{content:"\FBB1"}.mdi-tooltip-outline:before{content:"\F526"}.mdi-tooltip-plus:before{content:"\FBB2"}.mdi-tooltip-plus-outline:before{content:"\F527"}.mdi-tooltip-text:before{content:"\F528"}.mdi-tooltip-text-outline:before{content:"\FBB3"}.mdi-tooth:before{content:"\F8C2"}.mdi-tooth-outline:before{content:"\F529"}.mdi-tor:before{content:"\F52A"}.mdi-tortoise:before{content:"\FD17"}.mdi-tournament:before{content:"\F9AD"}.mdi-tower-beach:before{content:"\F680"}.mdi-tower-fire:before{content:"\F681"}.mdi-towing:before{content:"\F83B"}.mdi-track-light:before{content:"\F913"}.mdi-trackpad:before{content:"\F7F7"}.mdi-trackpad-lock:before{content:"\F932"}.mdi-tractor:before{content:"\F891"}.mdi-trademark:before{content:"\FA77"}.mdi-traffic-light:before{content:"\F52B"}.mdi-train:before{content:"\F52C"}.mdi-train-car:before{content:"\FBB4"}.mdi-train-variant:before{content:"\F8C3"}.mdi-tram:before{content:"\F52D"}.mdi-transcribe:before{content:"\F52E"}.mdi-transcribe-close:before{content:"\F52F"}.mdi-transfer-down:before{content:"\FD7D"}.mdi-transfer-left:before{content:"\FD7E"}.mdi-transfer-right:before{content:"\F530"}.mdi-transfer-up:before{content:"\FD7F"}.mdi-transit-connection:before{content:"\FD18"}.mdi-transit-connection-variant:before{content:"\FD19"}.mdi-transit-transfer:before{content:"\F6AD"}.mdi-transition:before{content:"\F914"}.mdi-transition-masked:before{content:"\F915"}.mdi-translate:before{content:"\F5CA"}.mdi-translate-off:before{content:"\FDE2"}.mdi-transmission-tower:before{content:"\FD1A"}.mdi-trash-can:before{content:"\FA78"}.mdi-trash-can-outline:before{content:"\FA79"}.mdi-treasure-chest:before{content:"\F725"}.mdi-tree:before{content:"\F531"}.mdi-trello:before{content:"\F532"}.mdi-trending-down:before{content:"\F533"}.mdi-trending-neutral:before{content:"\F534"}.mdi-trending-up:before{content:"\F535"}.mdi-triangle:before{content:"\F536"}.mdi-triangle-outline:before{content:"\F537"}.mdi-triforce:before{content:"\FBB5"}.mdi-trophy:before{content:"\F538"}.mdi-trophy-award:before{content:"\F539"}.mdi-trophy-broken:before{content:"\FD80"}.mdi-trophy-outline:before{content:"\F53A"}.mdi-trophy-variant:before{content:"\F53B"}.mdi-trophy-variant-outline:before{content:"\F53C"}.mdi-truck:before{content:"\F53D"}.mdi-truck-check:before{content:"\FCB0"}.mdi-truck-delivery:before{content:"\F53E"}.mdi-truck-fast:before{content:"\F787"}.mdi-truck-trailer:before{content:"\F726"}.mdi-tshirt-crew:before{content:"\FA7A"}.mdi-tshirt-crew-outline:before{content:"\F53F"}.mdi-tshirt-v:before{content:"\FA7B"}.mdi-tshirt-v-outline:before{content:"\F540"}.mdi-tumble-dryer:before{content:"\F916"}.mdi-tumblr:before{content:"\F541"}.mdi-tumblr-box:before{content:"\F917"}.mdi-tumblr-reblog:before{content:"\F542"}.mdi-tune:before{content:"\F62E"}.mdi-tune-vertical:before{content:"\F66A"}.mdi-turnstile:before{content:"\FCB1"}.mdi-turnstile-outline:before{content:"\FCB2"}.mdi-turtle:before{content:"\FCB3"}.mdi-twitch:before{content:"\F543"}.mdi-twitter:before{content:"\F544"}.mdi-twitter-box:before{content:"\F545"}.mdi-twitter-circle:before{content:"\F546"}.mdi-twitter-retweet:before{content:"\F547"}.mdi-two-factor-authentication:before{content:"\F9AE"}.mdi-uber:before{content:"\F748"}.mdi-ubisoft:before{content:"\FBB6"}.mdi-ubuntu:before{content:"\F548"}.mdi-ultra-high-definition:before{content:"\F7F8"}.mdi-umbraco:before{content:"\F549"}.mdi-umbrella:before{content:"\F54A"}.mdi-umbrella-closed:before{content:"\F9AF"}.mdi-umbrella-outline:before{content:"\F54B"}.mdi-undo:before{content:"\F54C"}.mdi-undo-variant:before{content:"\F54D"}.mdi-unfold-less-horizontal:before{content:"\F54E"}.mdi-unfold-less-vertical:before{content:"\F75F"}.mdi-unfold-more-horizontal:before{content:"\F54F"}.mdi-unfold-more-vertical:before{content:"\F760"}.mdi-ungroup:before{content:"\F550"}.mdi-unity:before{content:"\F6AE"}.mdi-unreal:before{content:"\F9B0"}.mdi-untappd:before{content:"\F551"}.mdi-update:before{content:"\F6AF"}.mdi-upload:before{content:"\F552"}.mdi-upload-multiple:before{content:"\F83C"}.mdi-upload-network:before{content:"\F6F5"}.mdi-upload-network-outline:before{content:"\FCB4"}.mdi-upload-outline:before{content:"\FDE3"}.mdi-usb:before{content:"\F553"}.mdi-van-passenger:before{content:"\F7F9"}.mdi-van-utility:before{content:"\F7FA"}.mdi-vanish:before{content:"\F7FB"}.mdi-variable:before{content:"\FAE6"}.mdi-vector-arrange-above:before{content:"\F554"}.mdi-vector-arrange-below:before{content:"\F555"}.mdi-vector-bezier:before{content:"\FAE7"}.mdi-vector-circle:before{content:"\F556"}.mdi-vector-circle-variant:before{content:"\F557"}.mdi-vector-combine:before{content:"\F558"}.mdi-vector-curve:before{content:"\F559"}.mdi-vector-difference:before{content:"\F55A"}.mdi-vector-difference-ab:before{content:"\F55B"}.mdi-vector-difference-ba:before{content:"\F55C"}.mdi-vector-ellipse:before{content:"\F892"}.mdi-vector-intersection:before{content:"\F55D"}.mdi-vector-line:before{content:"\F55E"}.mdi-vector-point:before{content:"\F55F"}.mdi-vector-polygon:before{content:"\F560"}.mdi-vector-polyline:before{content:"\F561"}.mdi-vector-radius:before{content:"\F749"}.mdi-vector-rectangle:before{content:"\F5C6"}.mdi-vector-selection:before{content:"\F562"}.mdi-vector-square:before{content:"\F001"}.mdi-vector-triangle:before{content:"\F563"}.mdi-vector-union:before{content:"\F564"}.mdi-venmo:before{content:"\F578"}.mdi-vhs:before{content:"\FA1A"}.mdi-vibrate:before{content:"\F566"}.mdi-vibrate-off:before{content:"\FCB5"}.mdi-video:before{content:"\F567"}.mdi-video-3d:before{content:"\F7FC"}.mdi-video-4k-box:before{content:"\F83D"}.mdi-video-account:before{content:"\F918"}.mdi-video-image:before{content:"\F919"}.mdi-video-input-antenna:before{content:"\F83E"}.mdi-video-input-component:before{content:"\F83F"}.mdi-video-input-hdmi:before{content:"\F840"}.mdi-video-input-svideo:before{content:"\F841"}.mdi-video-minus:before{content:"\F9B1"}.mdi-video-off:before{content:"\F568"}.mdi-video-off-outline:before{content:"\FBB7"}.mdi-video-outline:before{content:"\FBB8"}.mdi-video-plus:before{content:"\F9B2"}.mdi-video-stabilization:before{content:"\F91A"}.mdi-video-switch:before{content:"\F569"}.mdi-video-vintage:before{content:"\FA1B"}.mdi-view-agenda:before{content:"\F56A"}.mdi-view-array:before{content:"\F56B"}.mdi-view-carousel:before{content:"\F56C"}.mdi-view-column:before{content:"\F56D"}.mdi-view-dashboard:before{content:"\F56E"}.mdi-view-dashboard-outline:before{content:"\FA1C"}.mdi-view-dashboard-variant:before{content:"\F842"}.mdi-view-day:before{content:"\F56F"}.mdi-view-grid:before{content:"\F570"}.mdi-view-headline:before{content:"\F571"}.mdi-view-list:before{content:"\F572"}.mdi-view-module:before{content:"\F573"}.mdi-view-parallel:before{content:"\F727"}.mdi-view-quilt:before{content:"\F574"}.mdi-view-sequential:before{content:"\F728"}.mdi-view-split-horizontal:before{content:"\FBA7"}.mdi-view-split-vertical:before{content:"\FBA8"}.mdi-view-stream:before{content:"\F575"}.mdi-view-week:before{content:"\F576"}.mdi-vimeo:before{content:"\F577"}.mdi-violin:before{content:"\F60F"}.mdi-virtual-reality:before{content:"\F893"}.mdi-visual-studio:before{content:"\F610"}.mdi-visual-studio-code:before{content:"\FA1D"}.mdi-vk:before{content:"\F579"}.mdi-vk-box:before{content:"\F57A"}.mdi-vk-circle:before{content:"\F57B"}.mdi-vlc:before{content:"\F57C"}.mdi-voice:before{content:"\F5CB"}.mdi-voicemail:before{content:"\F57D"}.mdi-volleyball:before{content:"\F9B3"}.mdi-volume-high:before{content:"\F57E"}.mdi-volume-low:before{content:"\F57F"}.mdi-volume-medium:before{content:"\F580"}.mdi-volume-minus:before{content:"\F75D"}.mdi-volume-mute:before{content:"\F75E"}.mdi-volume-off:before{content:"\F581"}.mdi-volume-plus:before{content:"\F75C"}.mdi-volume-variant-off:before{content:"\FDE4"}.mdi-vote:before{content:"\FA1E"}.mdi-vote-outline:before{content:"\FA1F"}.mdi-vpn:before{content:"\F582"}.mdi-vuejs:before{content:"\F843"}.mdi-walk:before{content:"\F583"}.mdi-wall:before{content:"\F7FD"}.mdi-wall-sconce:before{content:"\F91B"}.mdi-wall-sconce-flat:before{content:"\F91C"}.mdi-wall-sconce-variant:before{content:"\F91D"}.mdi-wallet:before{content:"\F584"}.mdi-wallet-giftcard:before{content:"\F585"}.mdi-wallet-membership:before{content:"\F586"}.mdi-wallet-outline:before{content:"\FBB9"}.mdi-wallet-travel:before{content:"\F587"}.mdi-wallpaper:before{content:"\FDE5"}.mdi-wan:before{content:"\F588"}.mdi-washing-machine:before{content:"\F729"}.mdi-watch:before{content:"\F589"}.mdi-watch-export:before{content:"\F58A"}.mdi-watch-export-variant:before{content:"\F894"}.mdi-watch-import:before{content:"\F58B"}.mdi-watch-import-variant:before{content:"\F895"}.mdi-watch-variant:before{content:"\F896"}.mdi-watch-vibrate:before{content:"\F6B0"}.mdi-watch-vibrate-off:before{content:"\FCB6"}.mdi-water:before{content:"\F58C"}.mdi-water-off:before{content:"\F58D"}.mdi-water-outline:before{content:"\FDE6"}.mdi-water-percent:before{content:"\F58E"}.mdi-water-pump:before{content:"\F58F"}.mdi-watermark:before{content:"\F612"}.mdi-waves:before{content:"\F78C"}.mdi-waze:before{content:"\FBBA"}.mdi-weather-cloudy:before{content:"\F590"}.mdi-weather-fog:before{content:"\F591"}.mdi-weather-hail:before{content:"\F592"}.mdi-weather-hurricane:before{content:"\F897"}.mdi-weather-lightning:before{content:"\F593"}.mdi-weather-lightning-rainy:before{content:"\F67D"}.mdi-weather-night:before{content:"\F594"}.mdi-weather-partlycloudy:before{content:"\F595"}.mdi-weather-pouring:before{content:"\F596"}.mdi-weather-rainy:before{content:"\F597"}.mdi-weather-snowy:before{content:"\F598"}.mdi-weather-snowy-rainy:before{content:"\F67E"}.mdi-weather-sunny:before{content:"\F599"}.mdi-weather-sunset:before{content:"\F59A"}.mdi-weather-sunset-down:before{content:"\F59B"}.mdi-weather-sunset-up:before{content:"\F59C"}.mdi-weather-windy:before{content:"\F59D"}.mdi-weather-windy-variant:before{content:"\F59E"}.mdi-web:before{content:"\F59F"}.mdi-webcam:before{content:"\F5A0"}.mdi-webhook:before{content:"\F62F"}.mdi-webpack:before{content:"\F72A"}.mdi-wechat:before{content:"\F611"}.mdi-weight:before{content:"\F5A1"}.mdi-weight-gram:before{content:"\FD1B"}.mdi-weight-kilogram:before{content:"\F5A2"}.mdi-weight-pound:before{content:"\F9B4"}.mdi-whatsapp:before{content:"\F5A3"}.mdi-wheelchair-accessibility:before{content:"\F5A4"}.mdi-whistle:before{content:"\F9B5"}.mdi-white-balance-auto:before{content:"\F5A5"}.mdi-white-balance-incandescent:before{content:"\F5A6"}.mdi-white-balance-iridescent:before{content:"\F5A7"}.mdi-white-balance-sunny:before{content:"\F5A8"}.mdi-widgets:before{content:"\F72B"}.mdi-wifi:before{content:"\F5A9"}.mdi-wifi-off:before{content:"\F5AA"}.mdi-wifi-star:before{content:"\FDE7"}.mdi-wifi-strength-1:before{content:"\F91E"}.mdi-wifi-strength-1-alert:before{content:"\F91F"}.mdi-wifi-strength-1-lock:before{content:"\F920"}.mdi-wifi-strength-2:before{content:"\F921"}.mdi-wifi-strength-2-alert:before{content:"\F922"}.mdi-wifi-strength-2-lock:before{content:"\F923"}.mdi-wifi-strength-3:before{content:"\F924"}.mdi-wifi-strength-3-alert:before{content:"\F925"}.mdi-wifi-strength-3-lock:before{content:"\F926"}.mdi-wifi-strength-4:before{content:"\F927"}.mdi-wifi-strength-4-alert:before{content:"\F928"}.mdi-wifi-strength-4-lock:before{content:"\F929"}.mdi-wifi-strength-alert-outline:before{content:"\F92A"}.mdi-wifi-strength-lock-outline:before{content:"\F92B"}.mdi-wifi-strength-off:before{content:"\F92C"}.mdi-wifi-strength-off-outline:before{content:"\F92D"}.mdi-wifi-strength-outline:before{content:"\F92E"}.mdi-wii:before{content:"\F5AB"}.mdi-wiiu:before{content:"\F72C"}.mdi-wikipedia:before{content:"\F5AC"}.mdi-wind-turbine:before{content:"\FD81"}.mdi-window-close:before{content:"\F5AD"}.mdi-window-closed:before{content:"\F5AE"}.mdi-window-maximize:before{content:"\F5AF"}.mdi-window-minimize:before{content:"\F5B0"}.mdi-window-open:before{content:"\F5B1"}.mdi-window-restore:before{content:"\F5B2"}.mdi-windows:before{content:"\F5B3"}.mdi-windows-classic:before{content:"\FA20"}.mdi-wiper:before{content:"\FAE8"}.mdi-wiper-wash:before{content:"\FD82"}.mdi-wordpress:before{content:"\F5B4"}.mdi-worker:before{content:"\F5B5"}.mdi-wrap:before{content:"\F5B6"}.mdi-wrap-disabled:before{content:"\FBBB"}.mdi-wrench:before{content:"\F5B7"}.mdi-wrench-outline:before{content:"\FBBC"}.mdi-wunderlist:before{content:"\F5B8"}.mdi-xamarin:before{content:"\F844"}.mdi-xamarin-outline:before{content:"\F845"}.mdi-xaml:before{content:"\F673"}.mdi-xbox:before{content:"\F5B9"}.mdi-xbox-controller:before{content:"\F5BA"}.mdi-xbox-controller-battery-alert:before{content:"\F74A"}.mdi-xbox-controller-battery-charging:before{content:"\FA21"}.mdi-xbox-controller-battery-empty:before{content:"\F74B"}.mdi-xbox-controller-battery-full:before{content:"\F74C"}.mdi-xbox-controller-battery-low:before{content:"\F74D"}.mdi-xbox-controller-battery-medium:before{content:"\F74E"}.mdi-xbox-controller-battery-unknown:before{content:"\F74F"}.mdi-xbox-controller-off:before{content:"\F5BB"}.mdi-xda:before{content:"\F5BC"}.mdi-xing:before{content:"\F5BD"}.mdi-xing-box:before{content:"\F5BE"}.mdi-xing-circle:before{content:"\F5BF"}.mdi-xml:before{content:"\F5C0"}.mdi-xmpp:before{content:"\F7FE"}.mdi-yahoo:before{content:"\FB2A"}.mdi-yammer:before{content:"\F788"}.mdi-yeast:before{content:"\F5C1"}.mdi-yelp:before{content:"\F5C2"}.mdi-yin-yang:before{content:"\F67F"}.mdi-youtube:before{content:"\F5C3"}.mdi-youtube-creator-studio:before{content:"\F846"}.mdi-youtube-gaming:before{content:"\F847"}.mdi-youtube-subscription:before{content:"\FD1C"}.mdi-youtube-tv:before{content:"\F448"}.mdi-z-wave:before{content:"\FAE9"}.mdi-zend:before{content:"\FAEA"}.mdi-zigbee:before{content:"\FD1D"}.mdi-zip-box:before{content:"\F5C4"}.mdi-zip-disk:before{content:"\FA22"}.mdi-zodiac-aquarius:before{content:"\FA7C"}.mdi-zodiac-aries:before{content:"\FA7D"}.mdi-zodiac-cancer:before{content:"\FA7E"}.mdi-zodiac-capricorn:before{content:"\FA7F"}.mdi-zodiac-gemini:before{content:"\FA80"}.mdi-zodiac-leo:before{content:"\FA81"}.mdi-zodiac-libra:before{content:"\FA82"}.mdi-zodiac-pisces:before{content:"\FA83"}.mdi-zodiac-sagittarius:before{content:"\FA84"}.mdi-zodiac-scorpio:before{content:"\FA85"}.mdi-zodiac-taurus:before{content:"\FA86"}.mdi-zodiac-virgo:before{content:"\FA87"}.mdi-blank:before{content:"\F68C";visibility:hidden}.mdi-18px.mdi-set,.mdi-18px.mdi:before{font-size:18px}.mdi-24px.mdi-set,.mdi-24px.mdi:before{font-size:24px}.mdi-36px.mdi-set,.mdi-36px.mdi:before{font-size:36px}.mdi-48px.mdi-set,.mdi-48px.mdi:before{font-size:48px}.mdi-dark:before{color:rgba(0,0,0,0.54)}.mdi-dark.mdi-inactive:before{color:rgba(0,0,0,0.26)}.mdi-light:before{color:#fff}.mdi-light.mdi-inactive:before{color:rgba(255,255,255,0.3)}.mdi-rotate-45:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.mdi-rotate-90:before{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.mdi-rotate-135:before{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.mdi-rotate-180:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.mdi-rotate-225:before{-webkit-transform:rotate(225deg);-ms-transform:rotate(225deg);transform:rotate(225deg)}.mdi-rotate-270:before{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.mdi-rotate-315:before{-webkit-transform:rotate(315deg);-ms-transform:rotate(315deg);transform:rotate(315deg)}.mdi-flip-h:before{-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mdi-flip-v:before{-webkit-transform:scaleY(-1);transform:scaleY(-1);filter:FlipV;-ms-filter:"FlipV"}.mdi-spin:before{-webkit-animation:mdi-spin 2s infinite linear;animation:mdi-spin 2s infinite linear}@-webkit-keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} -/*# sourceMappingURL=materialdesignicons.min.css.map */ diff --git a/community_server/webroot/css/normalize.css b/community_server/webroot/css/normalize.css deleted file mode 100644 index b0c1902dc..000000000 --- a/community_server/webroot/css/normalize.css +++ /dev/null @@ -1,349 +0,0 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ - -/* Document - ========================================================================== */ - -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in iOS. - */ - -html { - line-height: 1.15; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/* Sections - ========================================================================== */ - -/** - * Remove the margin in all browsers. - */ - -body { - margin: 0; -} - -/** - * Render the `main` element consistently in IE. - */ - -main { - display: block; -} - -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/* Grouping content - ========================================================================== */ - -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ - -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ - -pre { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Remove the gray background on active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * 1. Remove the bottom border in Chrome 57- - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ - -abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ -} - -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ - -b, -strong { - font-weight: bolder; -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ - -code, -kbd, -samp { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/** - * Add the correct font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove the border on images inside links in IE 10. - */ - -img { - border-style: none; -} - -/* Forms - ========================================================================== */ - -/** - * 1. Change the font styles in all browsers. - * 2. Remove the margin in Firefox and Safari. - */ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 */ - font-size: 100%; /* 1 */ - line-height: 1.15; /* 1 */ - margin: 0; /* 2 */ -} - -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ - -button, -input { /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ - -button, -select { /* 1 */ - text-transform: none; -} - -/** - * Correct the inability to style clickable types in iOS and Safari. - */ - -button, -[type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; -} - -/** - * Remove the inner border and padding in Firefox. - */ - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -/** - * Restore the focus styles unset by the previous rule. - */ - -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -/** - * Correct the padding in Firefox. - */ - -fieldset { - padding: 0.35em 0.75em 0.625em; -} - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ - -legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ -} - -/** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ - -progress { - vertical-align: baseline; -} - -/** - * Remove the default vertical scrollbar in IE 10+. - */ - -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10. - * 2. Remove the padding in IE 10. - */ - -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ - -[type="search"] { - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/** - * Remove the inner padding in Chrome and Safari on macOS. - */ - -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ - -::-webkit-file-upload-button { - -webkit-appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* Interactive - ========================================================================== */ - -/* - * Add the correct display in Edge, IE 10+, and Firefox. - */ - -details { - display: block; -} - -/* - * Add the correct display in all browsers. - */ - -summary { - display: list-item; -} - -/* Misc - ========================================================================== */ - -/** - * Add the correct display in IE 10+. - */ - -template { - display: none; -} - -/** - * Add the correct display in IE 10. - */ - -[hidden] { - display: none; -} \ No newline at end of file diff --git a/community_server/webroot/css/rippleUI/style.css b/community_server/webroot/css/rippleUI/style.css deleted file mode 100644 index 8ba93da24..000000000 --- a/community_server/webroot/css/rippleUI/style.css +++ /dev/null @@ -1,14705 +0,0 @@ -.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 -} - -@-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 fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0) - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) - } - -} - -@keyframes fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0) - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) - } - -} - -.fadeInUp { - -webkit-animation-name: fadeInUp; - animation-name: fadeInUp -} - -@-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 -} - -@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.4, 1.4, 1.4); - transform: scale3d(1.4, 1.4, 1.4) - } - - 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) - } - -} - -@-webkit-keyframes rotate360 { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - -webkit-transform-origin: center; - transform-origin: center - } - -} - -@keyframes rotate360 { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - -webkit-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.4, 1.4, 1.4); - transform: scale3d(1.4, 1.4, 1.4) - } - - 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) - } - -} - -@-webkit-keyframes ripple { - 0%, - 35% { - -webkit-transform: scale(0); - transform: scale(0); - opacity: 1 - } - - 50% { - -webkit-transform: scale(.6); - transform: scale(.6); - opacity: .8 - } - - 100% { - opacity: 0; - -webkit-transform: scale(1.2); - transform: scale(1.2) - } - -} - -@keyframes ripple { - 0%, - 35% { - -webkit-transform: scale(0); - transform: scale(0); - opacity: 1 - } - - 50% { - -webkit-transform: scale(.6); - transform: scale(.6); - opacity: .8 - } - - 100% { - opacity: 0; - -webkit-transform: scale(1.2); - transform: scale(1.2) - } - -} - -@font-face { - font-family: Roboto; - src: url(../../fonts/Roboto/Roboto-Thin.ttf); - font-weight: 100 -} - -@font-face { - font-family: Roboto; - src: url(../../fonts/Roboto/Roboto-Light.ttf); - font-weight: 300 -} - -@font-face { - font-family: Roboto; - src: url(../../fonts/Roboto/Roboto-Regular.ttf); - font-weight: 400 -} - -@font-face { - font-family: Roboto; - src: url(../../fonts/Roboto/Roboto-Medium.ttf); - font-weight: 500 -} - -@font-face { - font-family: Roboto; - src: url(../../fonts/Roboto/Roboto-Bold.ttf); - font-weight: 700 -} - -.bg-inverse-primary { - background: rgba(4, 112, 6, .2) -} - -.bg-inverse-secondary { - background: rgba(128, 128, 128, .2) -} - -.bg-inverse-success { - background: rgba(0, 224, 147, .2) -} - -.bg-inverse-info { - background: rgba(108, 97, 246, .2) -} - -.bg-inverse-warning { - background: rgba(240, 130, 95, .2) -} - -.bg-inverse-danger { - background: rgba(255, 95, 102, .2) -} - -.bg-inverse-light { - background: rgba(223, 223, 223, .2) -} - -.bg-inverse-dark { - background: rgba(116, 118, 123, .2) -} - -.bg-inverse-white { - background: rgba(255, 255, 255, .2) -} - -/*! - * Bootstrap v4.3.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -:root { - --blue: #007bff; - --indigo: #6610f2; - --purple: #6f42c1; - --pink: #e83e8c; - --red: #dc3545; - --orange: #fd7e14; - --yellow: #ffc107; - --green: #28a745; - --teal: #20c997; - --cyan: #17a2b8; - --white: #fff; - --gray: #6c757d; - --gray-dark: #343a40; - --primary: #047006; - --secondary: grey; - --success: #047006; - --info: #6c61f6; - --warning: #f0825f; - --danger: #ff5f66; - --light: #dfdfdf; - --dark: #74767b; - --white: #fff; - --breakpoint-xs: 0; - --breakpoint-sm: 576px; - --breakpoint-md: 768px; - --breakpoint-lg: 992px; - --breakpoint-xl: 1200px; - --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace -} - -*, -::after, -::before { - box-sizing: border-box -} - -html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0) -} - -article, -aside, -figcaption, -figure, -footer, -header, -hgroup, -main, -nav, -section { - display: block -} - -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-size: 1rem; - font-weight: 400; - line-height: 1.7; - color: #212529; - text-align: left; - background-color: #fff -} - -[tabindex="-1"]:focus { - outline: 0 !important -} - -hr { - box-sizing: content-box; - height: 0; - overflow: visible -} - -h1, -h2, -h3, -h4, -h5, -h6 { - margin-top: 0; - margin-bottom: .5rem -} - -p { - margin-top: 0; - margin-bottom: 1rem -} - -abbr[data-original-title], -abbr[title] { - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; - text-decoration-skip-ink: none -} - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit -} - -dl, -ol, -ul { - margin-top: 0; - margin-bottom: 1rem -} - -ol ol, -ol ul, -ul ol, -ul ul { - margin-bottom: 0 -} - -dt { - font-weight: 700 -} - -dd { - margin-bottom: .5rem; - margin-left: 0 -} - -blockquote { - margin: 0 0 1rem -} - -b, -strong { - font-weight: bolder -} - -small { - font-size: 80% -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline -} - -sub { - bottom: -.25em -} - -sup { - top: -.5em -} - -a { - color: #047006; - text-decoration: none; - background-color: transparent -} - -a:hover { - color: #012602; - text-decoration: underline -} - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none -} - -a:not([href]):not([tabindex]):focus, -a:not([href]):not([tabindex]):hover { - color: inherit; - text-decoration: none -} - -a:not([href]):not([tabindex]):focus { - outline: 0 -} - -code, -kbd, -pre, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 1em -} - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto -} - -figure { - margin: 0 0 1rem -} - -img { - vertical-align: middle; - border-style: none -} - -svg { - overflow: hidden; - vertical-align: middle -} - -table { - border-collapse: collapse -} - -caption { - padding-top: 10px 15px; - padding-bottom: 10px 15px; - color: #6c757d; - text-align: left; - caption-side: bottom -} - -th { - text-align: inherit -} - -label { - display: inline-block; - margin-bottom: .5rem -} - -button { - border-radius: 0 -} - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color -} - -button, -input, -optgroup, -select, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit -} - -button, -input { - overflow: visible -} - -button, -select { - text-transform: none -} - -select { - word-wrap: normal -} - -[type=button], -[type=reset], -[type=submit], -button { - -webkit-appearance: button -} - -[type=button]:not(:disabled), -[type=reset]:not(:disabled), -[type=submit]:not(:disabled), -button:not(:disabled) { - cursor: pointer -} - -[type=button]::-moz-focus-inner, -[type=reset]::-moz-focus-inner, -[type=submit]::-moz-focus-inner, -button::-moz-focus-inner { - padding: 0; - border-style: none -} - -input[type=checkbox], -input[type=radio] { - box-sizing: border-box; - padding: 0 -} - -input[type=date], -input[type=datetime-local], -input[type=month], -input[type=time] { - -webkit-appearance: listbox -} - -textarea { - overflow: auto; - resize: vertical -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0 -} - -legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; - color: inherit; - white-space: normal -} - -progress { - vertical-align: baseline -} - -[type=number]::-webkit-inner-spin-button, -[type=number]::-webkit-outer-spin-button { - height: auto -} - -[type=search] { - outline-offset: -2px; - -webkit-appearance: none -} - -[type=search]::-webkit-search-decoration { - -webkit-appearance: none -} - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button -} - -output { - display: inline-block -} - -summary { - display: list-item; - cursor: pointer -} - -template { - display: none -} - -[hidden] { - display: none !important -} - -.h1, -.h2, -.h3, -.h4, -.h5, -.h6, -h1, -h2, -h3, -h4, -h5, -h6 { - margin-bottom: .5rem; - font-weight: 500; - line-height: 1.2 -} - -.h1, -h1 { - font-size: 2.5rem -} - -.h2, -h2 { - font-size: 2rem -} - -.h3, -h3 { - font-size: 1.75rem -} - -.h4, -h4 { - font-size: 1.5rem -} - -.h5, -h5 { - font-size: 1.25rem -} - -.h6, -h6 { - font-size: 1rem -} - -.lead { - font-size: 1.25rem; - font-weight: 300 -} - -.display-1 { - font-size: 6rem; - font-weight: 300; - line-height: 1.2 -} - -.display-2 { - font-size: 5.5rem; - font-weight: 300; - line-height: 1.2 -} - -.display-3 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.2 -} - -.display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.2 -} - -hr { - margin-top: 1rem; - margin-bottom: 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-unstyled { - padding-left: 0; - list-style: none -} - -.list-inline { - padding-left: 0; - list-style: none -} - -.list-inline-item { - display: inline-block -} - -.list-inline-item:not(:last-child) { - margin-right: .5rem -} - -.initialism { - font-size: 90%; - text-transform: uppercase -} - -.blockquote { - margin-bottom: 1rem; - font-size: 1.25rem -} - -.blockquote-footer { - display: block; - font-size: 80%; - color: #6c757d -} - -.blockquote-footer::before { - content: "\2014\00A0" -} - -.img-fluid { - max-width: 100%; - height: auto -} - -.img-thumbnail { - padding: .25rem; - background-color: #fff; - border: 1px solid #dee2e6; - border-radius: .25rem; - max-width: 100%; - height: auto -} - -.figure { - display: inline-block -} - -.figure-img { - margin-bottom: .5rem; - line-height: 1 -} - -.figure-caption { - font-size: 90%; - color: #6c757d -} - -code { - font-size: 90%; - color: #bd4147; - word-break: break-word -} - -a>code { - color: inherit -} - -kbd { - padding: .2rem .4rem; - font-size: 87.5%; - color: #fff; - background-color: #212529; - border-radius: .2rem -} - -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 700 -} - -pre { - display: block; - font-size: 90%; - color: #212529 -} - -pre code { - font-size: inherit; - color: inherit; - word-break: normal -} - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll -} - -.container { - width: 100%; - padding-right: 10px; - padding-left: 10px; - margin-right: auto; - margin-left: auto -} - -@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 - } - -} - -.container-fluid { - width: 100%; - padding-right: 10px; - padding-left: 10px; - margin-right: auto; - margin-left: auto -} - -.row { - display: -webkit-box; - display: flex; - flex-wrap: wrap; - margin-right: -10px; - margin-left: -10px -} - -.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%; - padding-right: 10px; - padding-left: 10px -} - -.col { - flex-basis: 0; - -webkit-box-flex: 1; - flex-grow: 1; - max-width: 100% -} - -.col-auto { - -webkit-box-flex: 0; - flex: 0 0 auto; - width: auto; - max-width: 100% -} - -.col-1 { - -webkit-box-flex: 0; - flex: 0 0 8.33333%; - max-width: 8.33333% -} - -.col-2 { - -webkit-box-flex: 0; - flex: 0 0 16.66667%; - max-width: 16.66667% -} - -.col-3 { - -webkit-box-flex: 0; - flex: 0 0 25%; - max-width: 25% -} - -.col-4 { - -webkit-box-flex: 0; - flex: 0 0 33.33333%; - max-width: 33.33333% -} - -.col-5 { - -webkit-box-flex: 0; - flex: 0 0 41.66667%; - max-width: 41.66667% -} - -.col-6 { - -webkit-box-flex: 0; - flex: 0 0 50%; - max-width: 50% -} - -.col-7 { - -webkit-box-flex: 0; - flex: 0 0 58.33333%; - max-width: 58.33333% -} - -.col-8 { - -webkit-box-flex: 0; - flex: 0 0 66.66667%; - max-width: 66.66667% -} - -.col-9 { - -webkit-box-flex: 0; - flex: 0 0 75%; - max-width: 75% -} - -.col-10 { - -webkit-box-flex: 0; - flex: 0 0 83.33333%; - max-width: 83.33333% -} - -.col-11 { - -webkit-box-flex: 0; - flex: 0 0 91.66667%; - max-width: 91.66667% -} - -.col-12 { - -webkit-box-flex: 0; - flex: 0 0 100%; - max-width: 100% -} - -.order-first { - -webkit-box-ordinal-group: 0; - order: -1 -} - -.order-last { - -webkit-box-ordinal-group: 14; - order: 13 -} - -.order-0 { - -webkit-box-ordinal-group: 1; - order: 0 -} - -.order-1 { - -webkit-box-ordinal-group: 2; - order: 1 -} - -.order-2 { - -webkit-box-ordinal-group: 3; - order: 2 -} - -.order-3 { - -webkit-box-ordinal-group: 4; - order: 3 -} - -.order-4 { - -webkit-box-ordinal-group: 5; - order: 4 -} - -.order-5 { - -webkit-box-ordinal-group: 6; - order: 5 -} - -.order-6 { - -webkit-box-ordinal-group: 7; - order: 6 -} - -.order-7 { - -webkit-box-ordinal-group: 8; - order: 7 -} - -.order-8 { - -webkit-box-ordinal-group: 9; - order: 8 -} - -.order-9 { - -webkit-box-ordinal-group: 10; - order: 9 -} - -.order-10 { - -webkit-box-ordinal-group: 11; - order: 10 -} - -.order-11 { - -webkit-box-ordinal-group: 12; - order: 11 -} - -.order-12 { - -webkit-box-ordinal-group: 13; - order: 12 -} - -.offset-1 { - margin-left: 8.33333% -} - -.offset-2 { - margin-left: 16.66667% -} - -.offset-3 { - margin-left: 25% -} - -.offset-4 { - margin-left: 33.33333% -} - -.offset-5 { - margin-left: 41.66667% -} - -.offset-6 { - margin-left: 50% -} - -.offset-7 { - margin-left: 58.33333% -} - -.offset-8 { - margin-left: 66.66667% -} - -.offset-9 { - margin-left: 75% -} - -.offset-10 { - margin-left: 83.33333% -} - -.offset-11 { - margin-left: 91.66667% -} - -@media (min-width:576px) { - .col-sm { - flex-basis: 0; - -webkit-box-flex: 1; - flex-grow: 1; - max-width: 100% - } - - .col-sm-auto { - -webkit-box-flex: 0; - flex: 0 0 auto; - width: auto; - max-width: 100% - } - - .col-sm-1 { - -webkit-box-flex: 0; - flex: 0 0 8.33333%; - max-width: 8.33333% - } - - .col-sm-2 { - -webkit-box-flex: 0; - flex: 0 0 16.66667%; - max-width: 16.66667% - } - - .col-sm-3 { - -webkit-box-flex: 0; - flex: 0 0 25%; - max-width: 25% - } - - .col-sm-4 { - -webkit-box-flex: 0; - flex: 0 0 33.33333%; - max-width: 33.33333% - } - - .col-sm-5 { - -webkit-box-flex: 0; - flex: 0 0 41.66667%; - max-width: 41.66667% - } - - .col-sm-6 { - -webkit-box-flex: 0; - flex: 0 0 50%; - max-width: 50% - } - - .col-sm-7 { - -webkit-box-flex: 0; - flex: 0 0 58.33333%; - max-width: 58.33333% - } - - .col-sm-8 { - -webkit-box-flex: 0; - flex: 0 0 66.66667%; - max-width: 66.66667% - } - - .col-sm-9 { - -webkit-box-flex: 0; - flex: 0 0 75%; - max-width: 75% - } - - .col-sm-10 { - -webkit-box-flex: 0; - flex: 0 0 83.33333%; - max-width: 83.33333% - } - - .col-sm-11 { - -webkit-box-flex: 0; - flex: 0 0 91.66667%; - max-width: 91.66667% - } - - .col-sm-12 { - -webkit-box-flex: 0; - flex: 0 0 100%; - max-width: 100% - } - - .order-sm-first { - -webkit-box-ordinal-group: 0; - order: -1 - } - - .order-sm-last { - -webkit-box-ordinal-group: 14; - order: 13 - } - - .order-sm-0 { - -webkit-box-ordinal-group: 1; - order: 0 - } - - .order-sm-1 { - -webkit-box-ordinal-group: 2; - order: 1 - } - - .order-sm-2 { - -webkit-box-ordinal-group: 3; - order: 2 - } - - .order-sm-3 { - -webkit-box-ordinal-group: 4; - order: 3 - } - - .order-sm-4 { - -webkit-box-ordinal-group: 5; - order: 4 - } - - .order-sm-5 { - -webkit-box-ordinal-group: 6; - order: 5 - } - - .order-sm-6 { - -webkit-box-ordinal-group: 7; - order: 6 - } - - .order-sm-7 { - -webkit-box-ordinal-group: 8; - order: 7 - } - - .order-sm-8 { - -webkit-box-ordinal-group: 9; - order: 8 - } - - .order-sm-9 { - -webkit-box-ordinal-group: 10; - order: 9 - } - - .order-sm-10 { - -webkit-box-ordinal-group: 11; - order: 10 - } - - .order-sm-11 { - -webkit-box-ordinal-group: 12; - order: 11 - } - - .order-sm-12 { - -webkit-box-ordinal-group: 13; - order: 12 - } - - .offset-sm-0 { - margin-left: 0 - } - - .offset-sm-1 { - margin-left: 8.33333% - } - - .offset-sm-2 { - margin-left: 16.66667% - } - - .offset-sm-3 { - margin-left: 25% - } - - .offset-sm-4 { - margin-left: 33.33333% - } - - .offset-sm-5 { - margin-left: 41.66667% - } - - .offset-sm-6 { - margin-left: 50% - } - - .offset-sm-7 { - margin-left: 58.33333% - } - - .offset-sm-8 { - margin-left: 66.66667% - } - - .offset-sm-9 { - margin-left: 75% - } - - .offset-sm-10 { - margin-left: 83.33333% - } - - .offset-sm-11 { - margin-left: 91.66667% - } - -} - -@media (min-width:768px) { - .col-md { - flex-basis: 0; - -webkit-box-flex: 1; - flex-grow: 1; - max-width: 100% - } - - .col-md-auto { - -webkit-box-flex: 0; - flex: 0 0 auto; - width: auto; - max-width: 100% - } - - .col-md-1 { - -webkit-box-flex: 0; - flex: 0 0 8.33333%; - max-width: 8.33333% - } - - .col-md-2 { - -webkit-box-flex: 0; - flex: 0 0 16.66667%; - max-width: 16.66667% - } - - .col-md-3 { - -webkit-box-flex: 0; - flex: 0 0 25%; - max-width: 25% - } - - .col-md-4 { - -webkit-box-flex: 0; - flex: 0 0 33.33333%; - max-width: 33.33333% - } - - .col-md-5 { - -webkit-box-flex: 0; - flex: 0 0 41.66667%; - max-width: 41.66667% - } - - .col-md-6 { - -webkit-box-flex: 0; - flex: 0 0 50%; - max-width: 50% - } - - .col-md-7 { - -webkit-box-flex: 0; - flex: 0 0 58.33333%; - max-width: 58.33333% - } - - .col-md-8 { - -webkit-box-flex: 0; - flex: 0 0 66.66667%; - max-width: 66.66667% - } - - .col-md-9 { - -webkit-box-flex: 0; - flex: 0 0 75%; - max-width: 75% - } - - .col-md-10 { - -webkit-box-flex: 0; - flex: 0 0 83.33333%; - max-width: 83.33333% - } - - .col-md-11 { - -webkit-box-flex: 0; - flex: 0 0 91.66667%; - max-width: 91.66667% - } - - .col-md-12 { - -webkit-box-flex: 0; - flex: 0 0 100%; - max-width: 100% - } - - .order-md-first { - -webkit-box-ordinal-group: 0; - order: -1 - } - - .order-md-last { - -webkit-box-ordinal-group: 14; - order: 13 - } - - .order-md-0 { - -webkit-box-ordinal-group: 1; - order: 0 - } - - .order-md-1 { - -webkit-box-ordinal-group: 2; - order: 1 - } - - .order-md-2 { - -webkit-box-ordinal-group: 3; - order: 2 - } - - .order-md-3 { - -webkit-box-ordinal-group: 4; - order: 3 - } - - .order-md-4 { - -webkit-box-ordinal-group: 5; - order: 4 - } - - .order-md-5 { - -webkit-box-ordinal-group: 6; - order: 5 - } - - .order-md-6 { - -webkit-box-ordinal-group: 7; - order: 6 - } - - .order-md-7 { - -webkit-box-ordinal-group: 8; - order: 7 - } - - .order-md-8 { - -webkit-box-ordinal-group: 9; - order: 8 - } - - .order-md-9 { - -webkit-box-ordinal-group: 10; - order: 9 - } - - .order-md-10 { - -webkit-box-ordinal-group: 11; - order: 10 - } - - .order-md-11 { - -webkit-box-ordinal-group: 12; - order: 11 - } - - .order-md-12 { - -webkit-box-ordinal-group: 13; - order: 12 - } - - .offset-md-0 { - margin-left: 0 - } - - .offset-md-1 { - margin-left: 8.33333% - } - - .offset-md-2 { - margin-left: 16.66667% - } - - .offset-md-3 { - margin-left: 25% - } - - .offset-md-4 { - margin-left: 33.33333% - } - - .offset-md-5 { - margin-left: 41.66667% - } - - .offset-md-6 { - margin-left: 50% - } - - .offset-md-7 { - margin-left: 58.33333% - } - - .offset-md-8 { - margin-left: 66.66667% - } - - .offset-md-9 { - margin-left: 75% - } - - .offset-md-10 { - margin-left: 83.33333% - } - - .offset-md-11 { - margin-left: 91.66667% - } - -} - -@media (min-width:992px) { - .col-lg { - flex-basis: 0; - -webkit-box-flex: 1; - flex-grow: 1; - max-width: 100% - } - - .col-lg-auto { - -webkit-box-flex: 0; - flex: 0 0 auto; - width: auto; - max-width: 100% - } - - .col-lg-1 { - -webkit-box-flex: 0; - flex: 0 0 8.33333%; - max-width: 8.33333% - } - - .col-lg-2 { - -webkit-box-flex: 0; - flex: 0 0 16.66667%; - max-width: 16.66667% - } - - .col-lg-3 { - -webkit-box-flex: 0; - flex: 0 0 25%; - max-width: 25% - } - - .col-lg-4 { - -webkit-box-flex: 0; - flex: 0 0 33.33333%; - max-width: 33.33333% - } - - .col-lg-5 { - -webkit-box-flex: 0; - flex: 0 0 41.66667%; - max-width: 41.66667% - } - - .col-lg-6 { - -webkit-box-flex: 0; - flex: 0 0 50%; - max-width: 50% - } - - .col-lg-7 { - -webkit-box-flex: 0; - flex: 0 0 58.33333%; - max-width: 58.33333% - } - - .col-lg-8 { - -webkit-box-flex: 0; - flex: 0 0 66.66667%; - max-width: 66.66667% - } - - .col-lg-9 { - -webkit-box-flex: 0; - flex: 0 0 75%; - max-width: 75% - } - - .col-lg-10 { - -webkit-box-flex: 0; - flex: 0 0 83.33333%; - max-width: 83.33333% - } - - .col-lg-11 { - -webkit-box-flex: 0; - flex: 0 0 91.66667%; - max-width: 91.66667% - } - - .col-lg-12 { - -webkit-box-flex: 0; - flex: 0 0 100%; - max-width: 100% - } - - .order-lg-first { - -webkit-box-ordinal-group: 0; - order: -1 - } - - .order-lg-last { - -webkit-box-ordinal-group: 14; - order: 13 - } - - .order-lg-0 { - -webkit-box-ordinal-group: 1; - order: 0 - } - - .order-lg-1 { - -webkit-box-ordinal-group: 2; - order: 1 - } - - .order-lg-2 { - -webkit-box-ordinal-group: 3; - order: 2 - } - - .order-lg-3 { - -webkit-box-ordinal-group: 4; - order: 3 - } - - .order-lg-4 { - -webkit-box-ordinal-group: 5; - order: 4 - } - - .order-lg-5 { - -webkit-box-ordinal-group: 6; - order: 5 - } - - .order-lg-6 { - -webkit-box-ordinal-group: 7; - order: 6 - } - - .order-lg-7 { - -webkit-box-ordinal-group: 8; - order: 7 - } - - .order-lg-8 { - -webkit-box-ordinal-group: 9; - order: 8 - } - - .order-lg-9 { - -webkit-box-ordinal-group: 10; - order: 9 - } - - .order-lg-10 { - -webkit-box-ordinal-group: 11; - order: 10 - } - - .order-lg-11 { - -webkit-box-ordinal-group: 12; - order: 11 - } - - .order-lg-12 { - -webkit-box-ordinal-group: 13; - order: 12 - } - - .offset-lg-0 { - margin-left: 0 - } - - .offset-lg-1 { - margin-left: 8.33333% - } - - .offset-lg-2 { - margin-left: 16.66667% - } - - .offset-lg-3 { - margin-left: 25% - } - - .offset-lg-4 { - margin-left: 33.33333% - } - - .offset-lg-5 { - margin-left: 41.66667% - } - - .offset-lg-6 { - margin-left: 50% - } - - .offset-lg-7 { - margin-left: 58.33333% - } - - .offset-lg-8 { - margin-left: 66.66667% - } - - .offset-lg-9 { - margin-left: 75% - } - - .offset-lg-10 { - margin-left: 83.33333% - } - - .offset-lg-11 { - margin-left: 91.66667% - } - -} - -@media (min-width:1200px) { - .col-xl { - flex-basis: 0; - -webkit-box-flex: 1; - flex-grow: 1; - max-width: 100% - } - - .col-xl-auto { - -webkit-box-flex: 0; - flex: 0 0 auto; - width: auto; - max-width: 100% - } - - .col-xl-1 { - -webkit-box-flex: 0; - flex: 0 0 8.33333%; - max-width: 8.33333% - } - - .col-xl-2 { - -webkit-box-flex: 0; - flex: 0 0 16.66667%; - max-width: 16.66667% - } - - .col-xl-3 { - -webkit-box-flex: 0; - flex: 0 0 25%; - max-width: 25% - } - - .col-xl-4 { - -webkit-box-flex: 0; - flex: 0 0 33.33333%; - max-width: 33.33333% - } - - .col-xl-5 { - -webkit-box-flex: 0; - flex: 0 0 41.66667%; - max-width: 41.66667% - } - - .col-xl-6 { - -webkit-box-flex: 0; - flex: 0 0 50%; - max-width: 50% - } - - .col-xl-7 { - -webkit-box-flex: 0; - flex: 0 0 58.33333%; - max-width: 58.33333% - } - - .col-xl-8 { - -webkit-box-flex: 0; - flex: 0 0 66.66667%; - max-width: 66.66667% - } - - .col-xl-9 { - -webkit-box-flex: 0; - flex: 0 0 75%; - max-width: 75% - } - - .col-xl-10 { - -webkit-box-flex: 0; - flex: 0 0 83.33333%; - max-width: 83.33333% - } - - .col-xl-11 { - -webkit-box-flex: 0; - flex: 0 0 91.66667%; - max-width: 91.66667% - } - - .col-xl-12 { - -webkit-box-flex: 0; - flex: 0 0 100%; - max-width: 100% - } - - .order-xl-first { - -webkit-box-ordinal-group: 0; - order: -1 - } - - .order-xl-last { - -webkit-box-ordinal-group: 14; - order: 13 - } - - .order-xl-0 { - -webkit-box-ordinal-group: 1; - order: 0 - } - - .order-xl-1 { - -webkit-box-ordinal-group: 2; - order: 1 - } - - .order-xl-2 { - -webkit-box-ordinal-group: 3; - order: 2 - } - - .order-xl-3 { - -webkit-box-ordinal-group: 4; - order: 3 - } - - .order-xl-4 { - -webkit-box-ordinal-group: 5; - order: 4 - } - - .order-xl-5 { - -webkit-box-ordinal-group: 6; - order: 5 - } - - .order-xl-6 { - -webkit-box-ordinal-group: 7; - order: 6 - } - - .order-xl-7 { - -webkit-box-ordinal-group: 8; - order: 7 - } - - .order-xl-8 { - -webkit-box-ordinal-group: 9; - order: 8 - } - - .order-xl-9 { - -webkit-box-ordinal-group: 10; - order: 9 - } - - .order-xl-10 { - -webkit-box-ordinal-group: 11; - order: 10 - } - - .order-xl-11 { - -webkit-box-ordinal-group: 12; - order: 11 - } - - .order-xl-12 { - -webkit-box-ordinal-group: 13; - order: 12 - } - - .offset-xl-0 { - margin-left: 0 - } - - .offset-xl-1 { - margin-left: 8.33333% - } - - .offset-xl-2 { - margin-left: 16.66667% - } - - .offset-xl-3 { - margin-left: 25% - } - - .offset-xl-4 { - margin-left: 33.33333% - } - - .offset-xl-5 { - margin-left: 41.66667% - } - - .offset-xl-6 { - margin-left: 50% - } - - .offset-xl-7 { - margin-left: 58.33333% - } - - .offset-xl-8 { - margin-left: 66.66667% - } - - .offset-xl-9 { - margin-left: 75% - } - - .offset-xl-10 { - margin-left: 83.33333% - } - - .offset-xl-11 { - margin-left: 91.66667% - } - -} - -.table { - width: 100%; - margin-bottom: 1rem; - color: #212529 -} - -.table td, -.table th { - padding: 10px 15px; - vertical-align: top; - border-top: 1px solid #f2f4f9 -} - -.table thead th { - vertical-align: bottom; - border-bottom: 2px solid #f2f4f9 -} - -.table tbody+tbody { - border-top: 2px solid #f2f4f9 -} - -.table-sm td, -.table-sm th { - padding: 10px 15px -} - -.table-bordered { - border: 1px solid #f2f4f9 -} - -.table-bordered td, -.table-bordered th { - border: 1px solid #f2f4f9 -} - -.table-bordered thead td, -.table-bordered thead th { - border-bottom-width: 2px -} - -.table-borderless tbody+tbody, -.table-borderless td, -.table-borderless th, -.table-borderless thead th { - border: 0 -} - -.table-striped tbody tr:nth-of-type(odd) { - background-color: #f6f7f9 -} - -.table-hover tbody tr:hover { - color: #212529; - background-color: #f6f7f9 -} - -.table-primary, -.table-primary>td, -.table-primary>th { - background-color: #b9d7b9 -} - -.table-primary tbody+tbody, -.table-primary td, -.table-primary th, -.table-primary thead th { - border-color: #7cb57e -} - -.table-hover .table-primary:hover { - background-color: #a9cea9 -} - -.table-hover .table-primary:hover>td, -.table-hover .table-primary:hover>th { - background-color: #a9cea9 -} - -.table-secondary, -.table-secondary>td, -.table-secondary>th { - background-color: #dbdbdb -} - -.table-secondary tbody+tbody, -.table-secondary td, -.table-secondary th, -.table-secondary thead th { - border-color: #bdbdbd -} - -.table-hover .table-secondary:hover { - background-color: #cecece -} - -.table-hover .table-secondary:hover>td, -.table-hover .table-secondary:hover>th { - background-color: #cecece -} - -.table-success, -.table-success>td, -.table-success>th { - background-color: #b8f6e1 -} - -.table-success tbody+tbody, -.table-success td, -.table-success th, -.table-success thead th { - border-color: #7aefc7 -} - -.table-hover .table-success:hover { - background-color: #a1f3d7 -} - -.table-hover .table-success:hover>td, -.table-hover .table-success:hover>th { - background-color: #a1f3d7 -} - -.table-info, -.table-info>td, -.table-info>th { - background-color: #d6d3fc -} - -.table-info tbody+tbody, -.table-info td, -.table-info th, -.table-info thead th { - border-color: #b3adfa -} - -.table-hover .table-info:hover { - background-color: #c0bbfa -} - -.table-hover .table-info:hover>td, -.table-hover .table-info:hover>th { - background-color: #c0bbfa -} - -.table-warning, -.table-warning>td, -.table-warning>th { - background-color: #fbdcd2 -} - -.table-warning tbody+tbody, -.table-warning td, -.table-warning th, -.table-warning thead th { - border-color: #f7beac -} - -.table-hover .table-warning:hover { - background-color: #f9cabb -} - -.table-hover .table-warning:hover>td, -.table-hover .table-warning:hover>th { - background-color: #f9cabb -} - -.table-danger, -.table-danger>td, -.table-danger>th { - background-color: #ffd2d4 -} - -.table-danger tbody+tbody, -.table-danger td, -.table-danger th, -.table-danger thead th { - border-color: #ffacaf -} - -.table-hover .table-danger:hover { - background-color: #ffb9bc -} - -.table-hover .table-danger:hover>td, -.table-hover .table-danger:hover>th { - background-color: #ffb9bc -} - -.table-light, -.table-light>td, -.table-light>th { - background-color: #f6f6f6 -} - -.table-light tbody+tbody, -.table-light td, -.table-light th, -.table-light thead th { - border-color: #eee -} - -.table-hover .table-light:hover { - background-color: #e9e9e9 -} - -.table-hover .table-light:hover>td, -.table-hover .table-light:hover>th { - background-color: #e9e9e9 -} - -.table-dark, -.table-dark>td, -.table-dark>th { - background-color: #d8d9da -} - -.table-dark tbody+tbody, -.table-dark td, -.table-dark th, -.table-dark thead th { - border-color: #b7b8ba -} - -.table-hover .table-dark:hover { - background-color: #cbccce -} - -.table-hover .table-dark:hover>td, -.table-hover .table-dark:hover>th { - background-color: #cbccce -} - -.table-white, -.table-white>td, -.table-white>th { - background-color: #fff -} - -.table-white tbody+tbody, -.table-white td, -.table-white th, -.table-white thead th { - border-color: #fff -} - -.table-hover .table-white:hover { - background-color: #f2f2f2 -} - -.table-hover .table-white:hover>td, -.table-hover .table-white:hover>th { - background-color: #f2f2f2 -} - -.table-active, -.table-active>td, -.table-active>th { - background-color: rgba(0, 0, 0, .075) -} - -.table-hover .table-active:hover { - background-color: rgba(0, 0, 0, .075) -} - -.table-hover .table-active:hover>td, -.table-hover .table-active:hover>th { - background-color: rgba(0, 0, 0, .075) -} - -.table .thead-dark th { - color: #fff; - background-color: #343a40; - border-color: #454d55 -} - -.table .thead-light th { - color: #495057; - background-color: #e1e4e6; - border-color: #f2f4f9 -} - -.table-dark { - color: #fff; - background-color: #343a40 -} - -.table-dark td, -.table-dark th, -.table-dark thead th { - border-color: #454d55 -} - -.table-dark.table-bordered { - border: 0 -} - -.table-dark.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(255, 255, 255, .05) -} - -.table-dark.table-hover tbody tr:hover { - color: #fff; - background-color: rgba(255, 255, 255, .075) -} - -@media (max-width:575.98px) { - .table-responsive-sm { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch - } - - .table-responsive-sm>.table-bordered { - border: 0 - } - -} - -@media (max-width:767.98px) { - .table-responsive-md { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch - } - - .table-responsive-md>.table-bordered { - border: 0 - } - -} - -@media (max-width:991.98px) { - .table-responsive-lg { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch - } - - .table-responsive-lg>.table-bordered { - border: 0 - } - -} - -@media (max-width:1199.98px) { - .table-responsive-xl { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch - } - - .table-responsive-xl>.table-bordered { - border: 0 - } - -} - -.table-responsive { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch -} - -.table-responsive>.table-bordered { - border: 0 -} - -.form-control { - display: block; - width: 100%; - height: calc(1.5em + .75rem + 2px); - padding: .375rem .75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #6c757d; - background-color: #f6f7f9; - background-clip: padding-box; - border: 1px solid #f0f2f5; - border-radius: .25rem; - -webkit-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out -} - -@media (prefers-reduced-motion:reduce) { - .form-control { - -webkit-transition: none; - transition: none - } - -} - -.form-control::-ms-expand { - background-color: transparent; - border: 0 -} - -.form-control:focus { - color: #495057; - background-color: #f6f7f9; - border-color: #d7dee5; - outline: 0; - box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.form-control::-webkit-input-placeholder { - color: #6c757d; - opacity: 1 -} - -.form-control::-moz-placeholder { - color: #6c757d; - opacity: 1 -} - -.form-control::-ms-input-placeholder { - color: #6c757d; - opacity: 1 -} - -.form-control::placeholder { - color: #6c757d; - opacity: 1 -} - -.form-control:disabled, -.form-control[readonly] { - background-color: #f8f9fa; - opacity: 1 -} - -select.form-control:focus::-ms-value { - color: #6c757d; - background-color: #f6f7f9 -} - -.form-control-file, -.form-control-range { - display: block; - width: 100% -} - -.col-form-label { - padding-top: calc(.375rem + 1px); - padding-bottom: calc(.375rem + 1px); - margin-bottom: 0; - font-size: inherit; - line-height: 1.5 -} - -.col-form-label-lg { - padding-top: calc(.5rem + 1px); - padding-bottom: calc(.5rem + 1px); - font-size: 1.25rem; - line-height: 1.5 -} - -.col-form-label-sm { - padding-top: calc(.25rem + 1px); - padding-bottom: calc(.25rem + 1px); - font-size: .875rem; - line-height: 1.5 -} - -.form-control-plaintext { - display: block; - width: 100%; - padding-top: .375rem; - padding-bottom: .375rem; - margin-bottom: 0; - line-height: 1.5; - color: #212529; - background-color: transparent; - border: solid transparent; - border-width: 1px 0 -} - -.form-control-plaintext.form-control-lg, -.form-control-plaintext.form-control-sm { - padding-right: 0; - padding-left: 0 -} - -.form-control-sm { - height: calc(1.5em + .5rem + 2px); - padding: .25rem .5rem; - font-size: .875rem; - line-height: 1.5; - border-radius: .2rem -} - -.form-control-lg { - height: calc(1.5em + 1rem + 2px); - padding: .5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: .3rem -} - -select.form-control[multiple], -select.form-control[size] { - height: auto -} - -textarea.form-control { - height: auto -} - -.form-group { - margin-bottom: 1rem -} - -.form-text { - display: block; - margin-top: .25rem -} - -.form-row { - display: -webkit-box; - display: flex; - flex-wrap: wrap; - margin-right: -5px; - margin-left: -5px -} - -.form-row>.col, -.form-row>[class*=col-] { - padding-right: 5px; - padding-left: 5px -} - -.form-check { - position: relative; - display: block; - padding-left: 1.25rem -} - -.form-check-input { - position: absolute; - margin-top: .3rem; - margin-left: -1.25rem -} - -.form-check-input:disabled~.form-check-label { - color: #adb5bd -} - -.form-check-label { - margin-bottom: 0 -} - -.form-check-inline { - display: -webkit-inline-box; - display: inline-flex; - -webkit-box-align: center; - align-items: center; - padding-left: 0; - margin-right: .75rem -} - -.form-check-inline .form-check-input { - position: static; - margin-top: 0; - margin-right: .3125rem; - margin-left: 0 -} - -.valid-feedback { - display: none; - width: 100%; - margin-top: .25rem; - font-size: 80%; - color: #28a745 -} - -.valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: .25rem .5rem; - margin-top: .1rem; - font-size: .875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(40, 167, 69, .9); - border-radius: .25rem -} - -.form-control.is-valid, -.was-validated .form-control:valid { - border-color: #28a745; - padding-right: calc(1.5em + .75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath fill=!string!d=!string!/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: center right calc(.375em + .1875rem); - background-size: calc(.75em + .375rem) calc(.75em + .375rem) -} - -.form-control.is-valid:focus, -.was-validated .form-control:valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25) -} - -.form-control.is-valid~.valid-feedback, -.form-control.is-valid~.valid-tooltip, -.was-validated .form-control:valid~.valid-feedback, -.was-validated .form-control:valid~.valid-tooltip { - display: block -} - -.was-validated textarea.form-control:valid, -textarea.form-control.is-valid { - padding-right: calc(1.5em + .75rem); - background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem) -} - -.custom-select.is-valid, -.was-validated .custom-select:valid { - border-color: #28a745; - padding-right: calc((1em + .75rem) * 3 / 4 + 1.75rem); - background: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath fill=!string!d=!string!/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath fill=!string!d=!string!/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) -} - -.custom-select.is-valid:focus, -.was-validated .custom-select:valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25) -} - -.custom-select.is-valid~.valid-feedback, -.custom-select.is-valid~.valid-tooltip, -.was-validated .custom-select:valid~.valid-feedback, -.was-validated .custom-select:valid~.valid-tooltip { - display: block -} - -.form-control-file.is-valid~.valid-feedback, -.form-control-file.is-valid~.valid-tooltip, -.was-validated .form-control-file:valid~.valid-feedback, -.was-validated .form-control-file:valid~.valid-tooltip { - display: block -} - -.form-check-input.is-valid~.form-check-label, -.was-validated .form-check-input:valid~.form-check-label { - color: #28a745 -} - -.form-check-input.is-valid~.valid-feedback, -.form-check-input.is-valid~.valid-tooltip, -.was-validated .form-check-input:valid~.valid-feedback, -.was-validated .form-check-input:valid~.valid-tooltip { - display: block -} - -.custom-control-input.is-valid~.custom-control-label, -.was-validated .custom-control-input:valid~.custom-control-label { - color: #28a745 -} - -.custom-control-input.is-valid~.custom-control-label::before, -.was-validated .custom-control-input:valid~.custom-control-label::before { - border-color: #28a745 -} - -.custom-control-input.is-valid~.valid-feedback, -.custom-control-input.is-valid~.valid-tooltip, -.was-validated .custom-control-input:valid~.valid-feedback, -.was-validated .custom-control-input:valid~.valid-tooltip { - display: block -} - -.custom-control-input.is-valid:checked~.custom-control-label::before, -.was-validated .custom-control-input:valid:checked~.custom-control-label::before { - border-color: #34ce57; - background-color: #34ce57 -} - -.custom-control-input.is-valid:focus~.custom-control-label::before, -.was-validated .custom-control-input:valid:focus~.custom-control-label::before { - box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25) -} - -.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before, -.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before { - border-color: #28a745 -} - -.custom-file-input.is-valid~.custom-file-label, -.was-validated .custom-file-input:valid~.custom-file-label { - border-color: #28a745 -} - -.custom-file-input.is-valid~.valid-feedback, -.custom-file-input.is-valid~.valid-tooltip, -.was-validated .custom-file-input:valid~.valid-feedback, -.was-validated .custom-file-input:valid~.valid-tooltip { - display: block -} - -.custom-file-input.is-valid:focus~.custom-file-label, -.was-validated .custom-file-input:valid:focus~.custom-file-label { - border-color: #28a745; - box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25) -} - -.invalid-feedback { - display: none; - width: 100%; - margin-top: .25rem; - font-size: 80%; - color: #dc3545 -} - -.invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: .25rem .5rem; - margin-top: .1rem; - font-size: .875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(220, 53, 69, .9); - border-radius: .25rem -} - -.form-control.is-invalid, -.was-validated .form-control:invalid { - border-color: #dc3545; - padding-right: calc(1.5em + .75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!fill=!string!viewBox=!string!%3e%3cpath stroke=!string!d=!string!/%3e%3ccircle r=!string!/%3e%3ccircle cx=!string!r=!string!/%3e%3ccircle cy=!string!r=!string!/%3e%3ccircle cx=!string!cy=!string!r=!string!/%3e%3c/svg%3E"); - background-repeat: no-repeat; - background-position: center right calc(.375em + .1875rem); - background-size: calc(.75em + .375rem) calc(.75em + .375rem) -} - -.form-control.is-invalid:focus, -.was-validated .form-control:invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25) -} - -.form-control.is-invalid~.invalid-feedback, -.form-control.is-invalid~.invalid-tooltip, -.was-validated .form-control:invalid~.invalid-feedback, -.was-validated .form-control:invalid~.invalid-tooltip { - display: block -} - -.was-validated textarea.form-control:invalid, -textarea.form-control.is-invalid { - padding-right: calc(1.5em + .75rem); - background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem) -} - -.custom-select.is-invalid, -.was-validated .custom-select:invalid { - border-color: #dc3545; - padding-right: calc((1em + .75rem) * 3 / 4 + 1.75rem); - background: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath fill=!string!d=!string!/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns=!string!fill=!string!viewBox=!string!%3e%3cpath stroke=!string!d=!string!/%3e%3ccircle r=!string!/%3e%3ccircle cx=!string!r=!string!/%3e%3ccircle cy=!string!r=!string!/%3e%3ccircle cx=!string!cy=!string!r=!string!/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) -} - -.custom-select.is-invalid:focus, -.was-validated .custom-select:invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25) -} - -.custom-select.is-invalid~.invalid-feedback, -.custom-select.is-invalid~.invalid-tooltip, -.was-validated .custom-select:invalid~.invalid-feedback, -.was-validated .custom-select:invalid~.invalid-tooltip { - display: block -} - -.form-control-file.is-invalid~.invalid-feedback, -.form-control-file.is-invalid~.invalid-tooltip, -.was-validated .form-control-file:invalid~.invalid-feedback, -.was-validated .form-control-file:invalid~.invalid-tooltip { - display: block -} - -.form-check-input.is-invalid~.form-check-label, -.was-validated .form-check-input:invalid~.form-check-label { - color: #dc3545 -} - -.form-check-input.is-invalid~.invalid-feedback, -.form-check-input.is-invalid~.invalid-tooltip, -.was-validated .form-check-input:invalid~.invalid-feedback, -.was-validated .form-check-input:invalid~.invalid-tooltip { - display: block -} - -.custom-control-input.is-invalid~.custom-control-label, -.was-validated .custom-control-input:invalid~.custom-control-label { - color: #dc3545 -} - -.custom-control-input.is-invalid~.custom-control-label::before, -.was-validated .custom-control-input:invalid~.custom-control-label::before { - border-color: #dc3545 -} - -.custom-control-input.is-invalid~.invalid-feedback, -.custom-control-input.is-invalid~.invalid-tooltip, -.was-validated .custom-control-input:invalid~.invalid-feedback, -.was-validated .custom-control-input:invalid~.invalid-tooltip { - display: block -} - -.custom-control-input.is-invalid:checked~.custom-control-label::before, -.was-validated .custom-control-input:invalid:checked~.custom-control-label::before { - border-color: #e4606d; - background-color: #e4606d -} - -.custom-control-input.is-invalid:focus~.custom-control-label::before, -.was-validated .custom-control-input:invalid:focus~.custom-control-label::before { - box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25) -} - -.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before, -.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before { - border-color: #dc3545 -} - -.custom-file-input.is-invalid~.custom-file-label, -.was-validated .custom-file-input:invalid~.custom-file-label { - border-color: #dc3545 -} - -.custom-file-input.is-invalid~.invalid-feedback, -.custom-file-input.is-invalid~.invalid-tooltip, -.was-validated .custom-file-input:invalid~.invalid-feedback, -.was-validated .custom-file-input:invalid~.invalid-tooltip { - display: block -} - -.custom-file-input.is-invalid:focus~.custom-file-label, -.was-validated .custom-file-input:invalid:focus~.custom-file-label { - border-color: #dc3545; - box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25) -} - -.form-inline { - display: -webkit-box; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row wrap; - -webkit-box-align: center; - align-items: center -} - -.form-inline .form-check { - width: 100% -} - -@media (min-width:576px) { - .form-inline label { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center; - margin-bottom: 0 - } - - .form-inline .form-group { - display: -webkit-box; - display: flex; - -webkit-box-flex: 0; - flex: 0 0 auto; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row wrap; - -webkit-box-align: center; - align-items: center; - margin-bottom: 0 - } - - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle - } - - .form-inline .form-control-plaintext { - display: inline-block - } - - .form-inline .custom-select, - .form-inline .input-group { - width: auto - } - - .form-inline .form-check { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center; - width: auto; - padding-left: 0 - } - - .form-inline .form-check-input { - position: relative; - flex-shrink: 0; - margin-top: 0; - margin-right: .25rem; - margin-left: 0 - } - - .form-inline .custom-control { - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center - } - - .form-inline .custom-control-label { - margin-bottom: 0 - } - -} - -.btn { - display: inline-block; - font-weight: 400; - color: #212529; - text-align: center; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: transparent; - border: 1px solid transparent; - padding: .375rem .75rem; - font-size: 1rem; - line-height: 1.5; - border-radius: .25rem; - -webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out -} - -@media (prefers-reduced-motion:reduce) { - .btn { - -webkit-transition: none; - transition: none - } - -} - -.btn:hover { - color: #212529; - text-decoration: none -} - -.btn.focus, -.btn:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.btn.disabled, -.btn:disabled { - opacity: .65 -} - -a.btn.disabled, -fieldset:disabled a.btn { - pointer-events: none -} - -.btn-primary { - color: #fff; - background-color: #047006; - border-color: #047006 -} - -.btn-primary:hover { - color: #fff; - background-color: #034b04; - border-color: #023f03 -} - -.btn-primary.focus, -.btn-primary:focus { - box-shadow: 0 0 0 .2rem rgba(42, 133, 43, .5) -} - -.btn-primary.disabled, -.btn-primary:disabled { - color: #fff; - background-color: #047006; - border-color: #047006 -} - -.btn-primary:not(:disabled):not(.disabled).active, -.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle { - color: #fff; - background-color: #023f03; - border-color: #023203 -} - -.btn-primary:not(:disabled):not(.disabled).active:focus, -.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(42, 133, 43, .5) -} - -.btn-secondary { - color: #fff; - background-color: grey; - border-color: grey -} - -.btn-secondary:hover { - color: #fff; - background-color: #6d6d6d; - border-color: #676767 -} - -.btn-secondary.focus, -.btn-secondary:focus { - box-shadow: 0 0 0 .2rem rgba(147, 147, 147, .5) -} - -.btn-secondary.disabled, -.btn-secondary:disabled { - color: #fff; - background-color: grey; - border-color: grey -} - -.btn-secondary:not(:disabled):not(.disabled).active, -.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle { - color: #fff; - background-color: #676767; - border-color: #606060 -} - -.btn-secondary:not(:disabled):not(.disabled).active:focus, -.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(147, 147, 147, .5) -} - -.btn-success { - color: #fff; - background-color: #047006; - border-color: #047006 -} - -.btn-success:hover { - color: #fff; - background-color: #00ba7a; - border-color: #00ad72 -} - -.btn-success.focus, -.btn-success:focus { - box-shadow: 0 0 0 .2rem rgba(38, 229, 163, .5) -} - -.btn-success.disabled, -.btn-success:disabled { - color: #fff; - background-color: #047006; - border-color: #047006 -} - -.btn-success:not(:disabled):not(.disabled).active, -.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle { - color: #fff; - background-color: #00ad72; - border-color: #00a069 -} - -.btn-success:not(:disabled):not(.disabled).active:focus, -.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(38, 229, 163, .5) -} - -.btn-info { - color: #fff; - background-color: #6c61f6; - border-color: #6c61f6 -} - -.btn-info:hover { - color: #fff; - background-color: #4a3df4; - border-color: #3f31f3 -} - -.btn-info.focus, -.btn-info:focus { - box-shadow: 0 0 0 .2rem rgba(130, 121, 247, .5) -} - -.btn-info.disabled, -.btn-info:disabled { - color: #fff; - background-color: #6c61f6; - border-color: #6c61f6 -} - -.btn-info:not(:disabled):not(.disabled).active, -.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle { - color: #fff; - background-color: #3f31f3; - border-color: #3425f3 -} - -.btn-info:not(:disabled):not(.disabled).active:focus, -.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(130, 121, 247, .5) -} - -.btn-warning { - color: #212529; - background-color: #f0825f; - border-color: #f0825f -} - -.btn-warning:hover { - color: #fff; - background-color: #ed673c; - border-color: #ec5e30 -} - -.btn-warning.focus, -.btn-warning:focus { - box-shadow: 0 0 0 .2rem rgba(209, 116, 87, .5) -} - -.btn-warning.disabled, -.btn-warning:disabled { - color: #212529; - background-color: #f0825f; - border-color: #f0825f -} - -.btn-warning:not(:disabled):not(.disabled).active, -.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle { - color: #fff; - background-color: #ec5e30; - border-color: #eb5425 -} - -.btn-warning:not(:disabled):not(.disabled).active:focus, -.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(209, 116, 87, .5) -} - -.btn-danger { - color: #fff; - background-color: #ff5f66; - border-color: #ff5f66 -} - -.btn-danger:hover { - color: #fff; - background-color: #ff3941; - border-color: #ff2c35 -} - -.btn-danger.focus, -.btn-danger:focus { - box-shadow: 0 0 0 .2rem rgba(255, 119, 125, .5) -} - -.btn-danger.disabled, -.btn-danger:disabled { - color: #fff; - background-color: #ff5f66; - border-color: #ff5f66 -} - -.btn-danger:not(:disabled):not(.disabled).active, -.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle { - color: #fff; - background-color: #ff2c35; - border-color: #ff1f29 -} - -.btn-danger:not(:disabled):not(.disabled).active:focus, -.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(255, 119, 125, .5) -} - -.btn-light { - color: #212529; - background-color: #dfdfdf; - border-color: #dfdfdf -} - -.btn-light:hover { - color: #212529; - background-color: #ccc; - border-color: #c6c6c6 -} - -.btn-light.focus, -.btn-light:focus { - box-shadow: 0 0 0 .2rem rgba(195, 195, 196, .5) -} - -.btn-light.disabled, -.btn-light:disabled { - color: #212529; - background-color: #dfdfdf; - border-color: #dfdfdf -} - -.btn-light:not(:disabled):not(.disabled).active, -.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle { - color: #212529; - background-color: #c6c6c6; - border-color: #bfbfbf -} - -.btn-light:not(:disabled):not(.disabled).active:focus, -.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(195, 195, 196, .5) -} - -.btn-dark { - color: #fff; - background-color: #74767b; - border-color: #74767b -} - -.btn-dark:hover { - color: #fff; - background-color: #616367; - border-color: #5b5d61 -} - -.btn-dark.focus, -.btn-dark:focus { - box-shadow: 0 0 0 .2rem rgba(137, 139, 143, .5) -} - -.btn-dark.disabled, -.btn-dark:disabled { - color: #fff; - background-color: #74767b; - border-color: #74767b -} - -.btn-dark:not(:disabled):not(.disabled).active, -.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle { - color: #fff; - background-color: #5b5d61; - border-color: #55575a -} - -.btn-dark:not(:disabled):not(.disabled).active:focus, -.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(137, 139, 143, .5) -} - -.btn-white { - color: #212529; - background-color: #fff; - border-color: #fff -} - -.btn-white:hover { - color: #212529; - background-color: #ececec; - border-color: #e6e6e6 -} - -.btn-white.focus, -.btn-white:focus { - box-shadow: 0 0 0 .2rem rgba(222, 222, 223, .5) -} - -.btn-white.disabled, -.btn-white:disabled { - color: #212529; - background-color: #fff; - border-color: #fff -} - -.btn-white:not(:disabled):not(.disabled).active, -.btn-white:not(:disabled):not(.disabled):active,.show>.btn-white.dropdown-toggle { - color: #212529; - background-color: #e6e6e6; - border-color: #dfdfdf -} - -.btn-white:not(:disabled):not(.disabled).active:focus, -.btn-white:not(:disabled):not(.disabled):active:focus,.show>.btn-white.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(222, 222, 223, .5) -} - -.btn-outline-primary { - color: #047006; - border-color: #047006 -} - -.btn-outline-primary:hover { - color: #fff; - background-color: #047006; - border-color: #047006 -} - -.btn-outline-primary.focus, -.btn-outline-primary:focus { - box-shadow: 0 0 0 .2rem rgba(4, 112, 6, .5) -} - -.btn-outline-primary.disabled, -.btn-outline-primary:disabled { - color: #047006; - background-color: transparent -} - -.btn-outline-primary:not(:disabled):not(.disabled).active, -.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle { - color: #fff; - background-color: #047006; - border-color: #047006 -} - -.btn-outline-primary:not(:disabled):not(.disabled).active:focus, -.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(4, 112, 6, .5) -} - -.btn-outline-secondary { - color: grey; - border-color: grey -} - -.btn-outline-secondary:hover { - color: #fff; - background-color: grey; - border-color: grey -} - -.btn-outline-secondary.focus, -.btn-outline-secondary:focus { - box-shadow: 0 0 0 .2rem rgba(128, 128, 128, .5) -} - -.btn-outline-secondary.disabled, -.btn-outline-secondary:disabled { - color: grey; - background-color: transparent -} - -.btn-outline-secondary:not(:disabled):not(.disabled).active, -.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle { - color: #fff; - background-color: grey; - border-color: grey -} - -.btn-outline-secondary:not(:disabled):not(.disabled).active:focus, -.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(128, 128, 128, .5) -} - -.btn-outline-success { - color: #047006; - border-color: #047006 -} - -.btn-outline-success:hover { - color: #fff; - background-color: #047006; - border-color: #047006 -} - -.btn-outline-success.focus, -.btn-outline-success:focus { - box-shadow: 0 0 0 .2rem rgba(0, 224, 147, .5) -} - -.btn-outline-success.disabled, -.btn-outline-success:disabled { - color: #047006; - background-color: transparent -} - -.btn-outline-success:not(:disabled):not(.disabled).active, -.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle { - color: #fff; - background-color: #047006; - border-color: #047006 -} - -.btn-outline-success:not(:disabled):not(.disabled).active:focus, -.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(0, 224, 147, .5) -} - -.btn-outline-info { - color: #6c61f6; - border-color: #6c61f6 -} - -.btn-outline-info:hover { - color: #fff; - background-color: #6c61f6; - border-color: #6c61f6 -} - -.btn-outline-info.focus, -.btn-outline-info:focus { - box-shadow: 0 0 0 .2rem rgba(108, 97, 246, .5) -} - -.btn-outline-info.disabled, -.btn-outline-info:disabled { - color: #6c61f6; - background-color: transparent -} - -.btn-outline-info:not(:disabled):not(.disabled).active, -.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle { - color: #fff; - background-color: #6c61f6; - border-color: #6c61f6 -} - -.btn-outline-info:not(:disabled):not(.disabled).active:focus, -.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(108, 97, 246, .5) -} - -.btn-outline-warning { - color: #f0825f; - border-color: #f0825f -} - -.btn-outline-warning:hover { - color: #212529; - background-color: #f0825f; - border-color: #f0825f -} - -.btn-outline-warning.focus, -.btn-outline-warning:focus { - box-shadow: 0 0 0 .2rem rgba(240, 130, 95, .5) -} - -.btn-outline-warning.disabled, -.btn-outline-warning:disabled { - color: #f0825f; - background-color: transparent -} - -.btn-outline-warning:not(:disabled):not(.disabled).active, -.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle { - color: #212529; - background-color: #f0825f; - border-color: #f0825f -} - -.btn-outline-warning:not(:disabled):not(.disabled).active:focus, -.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(240, 130, 95, .5) -} - -.btn-outline-danger { - color: #ff5f66; - border-color: #ff5f66 -} - -.btn-outline-danger:hover { - color: #fff; - background-color: #ff5f66; - border-color: #ff5f66 -} - -.btn-outline-danger.focus, -.btn-outline-danger:focus { - box-shadow: 0 0 0 .2rem rgba(255, 95, 102, .5) -} - -.btn-outline-danger.disabled, -.btn-outline-danger:disabled { - color: #ff5f66; - background-color: transparent -} - -.btn-outline-danger:not(:disabled):not(.disabled).active, -.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle { - color: #fff; - background-color: #ff5f66; - border-color: #ff5f66 -} - -.btn-outline-danger:not(:disabled):not(.disabled).active:focus, -.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(255, 95, 102, .5) -} - -.btn-outline-light { - color: #dfdfdf; - border-color: #dfdfdf -} - -.btn-outline-light:hover { - color: #212529; - background-color: #dfdfdf; - border-color: #dfdfdf -} - -.btn-outline-light.focus, -.btn-outline-light:focus { - box-shadow: 0 0 0 .2rem rgba(223, 223, 223, .5) -} - -.btn-outline-light.disabled, -.btn-outline-light:disabled { - color: #dfdfdf; - background-color: transparent -} - -.btn-outline-light:not(:disabled):not(.disabled).active, -.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle { - color: #212529; - background-color: #dfdfdf; - border-color: #dfdfdf -} - -.btn-outline-light:not(:disabled):not(.disabled).active:focus, -.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(223, 223, 223, .5) -} - -.btn-outline-dark { - color: #74767b; - border-color: #74767b -} - -.btn-outline-dark:hover { - color: #fff; - background-color: #74767b; - border-color: #74767b -} - -.btn-outline-dark.focus, -.btn-outline-dark:focus { - box-shadow: 0 0 0 .2rem rgba(116, 118, 123, .5) -} - -.btn-outline-dark.disabled, -.btn-outline-dark:disabled { - color: #74767b; - background-color: transparent -} - -.btn-outline-dark:not(:disabled):not(.disabled).active, -.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle { - color: #fff; - background-color: #74767b; - border-color: #74767b -} - -.btn-outline-dark:not(:disabled):not(.disabled).active:focus, -.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(116, 118, 123, .5) -} - -.btn-outline-white { - color: #fff; - border-color: #fff -} - -.btn-outline-white:hover { - color: #212529; - background-color: #fff; - border-color: #fff -} - -.btn-outline-white.focus, -.btn-outline-white:focus { - box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .5) -} - -.btn-outline-white.disabled, -.btn-outline-white:disabled { - color: #fff; - background-color: transparent -} - -.btn-outline-white:not(:disabled):not(.disabled).active, -.btn-outline-white:not(:disabled):not(.disabled):active,.show>.btn-outline-white.dropdown-toggle { - color: #212529; - background-color: #fff; - border-color: #fff -} - -.btn-outline-white:not(:disabled):not(.disabled).active:focus, -.btn-outline-white:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-white.dropdown-toggle:focus { - box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .5) -} - -.btn-link { - font-weight: 400; - color: #047006; - text-decoration: none -} - -.btn-link:hover { - color: #012602; - text-decoration: underline -} - -.btn-link.focus, -.btn-link:focus { - text-decoration: underline; - box-shadow: none -} - -.btn-link.disabled, -.btn-link:disabled { - color: #6c757d; - pointer-events: none -} - -.btn-group-lg>.btn, -.btn-lg { - padding: .5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: .3rem -} - -.btn-group-sm>.btn, -.btn-sm { - padding: .25rem .5rem; - font-size: .875rem; - line-height: 1.5; - border-radius: .2rem -} - -.btn-block { - display: block; - width: 100% -} - -.btn-block+.btn-block { - margin-top: .5rem -} - -input[type=button].btn-block, -input[type=reset].btn-block, -input[type=submit].btn-block { - width: 100% -} - -.fade { - -webkit-transition: opacity .15s linear; - transition: opacity .15s linear -} - -@media (prefers-reduced-motion:reduce) { - .fade { - -webkit-transition: none; - transition: none - } - -} - -.fade:not(.show) { - opacity: 0 -} - -.collapse:not(.show) { - display: none -} - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition: height .35s ease; - transition: height .35s ease -} - -@media (prefers-reduced-motion:reduce) { - .collapsing { - -webkit-transition: none; - transition: none - } - -} - -.dropdown, -.dropleft, -.dropright, -.dropup { - position: relative -} - -.dropdown-toggle { - white-space: nowrap -} - -.dropdown-toggle::after { - display: inline-block; - margin-left: .255em; - vertical-align: .255em; - content: 'http://www.w3.org/2000/svg'; - border-top: .3em solid; - border-right: .3em solid transparent; - border-bottom: 0; - border-left: .3em solid transparent -} - -.dropdown-toggle:empty::after { - margin-left: 0 -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 10rem; - padding: .5rem 0; - margin: .125rem 0 0; - font-size: 1rem; - color: #212529; - text-align: left; - list-style: none; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .15); - border-radius: .25rem -} - -.dropdown-menu-left { - right: auto; - left: 0 -} - -.dropdown-menu-right { - right: 0; - left: auto -} - -@media (min-width:576px) { - .dropdown-menu-sm-left { - right: auto; - left: 0 - } - - .dropdown-menu-sm-right { - right: 0; - left: auto - } - -} - -@media (min-width:768px) { - .dropdown-menu-md-left { - right: auto; - left: 0 - } - - .dropdown-menu-md-right { - right: 0; - left: auto - } - -} - -@media (min-width:992px) { - .dropdown-menu-lg-left { - right: auto; - left: 0 - } - - .dropdown-menu-lg-right { - right: 0; - left: auto - } - -} - -@media (min-width:1200px) { - .dropdown-menu-xl-left { - right: auto; - left: 0 - } - - .dropdown-menu-xl-right { - right: 0; - left: auto - } - -} - -.dropup .dropdown-menu { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: .125rem -} - -.dropup .dropdown-toggle::after { - display: inline-block; - margin-left: .255em; - vertical-align: .255em; - content: '0 0 8 8'; - border-top: 0; - border-right: .3em solid transparent; - border-bottom: .3em solid; - border-left: .3em solid transparent -} - -.dropup .dropdown-toggle:empty::after { - margin-left: 0 -} - -.dropright .dropdown-menu { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: .125rem -} - -.dropright .dropdown-toggle::after { - display: inline-block; - margin-left: .255em; - vertical-align: .255em; - content: '%2328a745'; - border-top: .3em solid transparent; - border-right: 0; - border-bottom: .3em solid transparent; - border-left: .3em solid -} - -.dropright .dropdown-toggle:empty::after { - margin-left: 0 -} - -.dropright .dropdown-toggle::after { - vertical-align: 0 -} - -.dropleft .dropdown-menu { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: .125rem -} - -.dropleft .dropdown-toggle::after { - display: inline-block; - margin-left: .255em; - vertical-align: .255em; - content: 'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z' -} - -.dropleft .dropdown-toggle::after { - display: none -} - -.dropleft .dropdown-toggle::before { - display: inline-block; - margin-right: .255em; - vertical-align: .255em; - content: 'http://www.w3.org/2000/svg'; - border-top: .3em solid transparent; - border-right: .3em solid; - border-bottom: .3em solid transparent -} - -.dropleft .dropdown-toggle:empty::after { - margin-left: 0 -} - -.dropleft .dropdown-toggle::before { - vertical-align: 0 -} - -.dropdown-menu[x-placement^=bottom], -.dropdown-menu[x-placement^=left], -.dropdown-menu[x-placement^=right], -.dropdown-menu[x-placement^=top] { - right: auto; - bottom: auto -} - -.dropdown-divider { - height: 0; - margin: .5rem 0; - overflow: hidden; - border-top: 1px solid #e9ecef -} - -.dropdown-item { - display: block; - width: 100%; - padding: .25rem 1.5rem; - clear: both; - font-weight: 400; - color: #212529; - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0 -} - -.dropdown-item:focus, -.dropdown-item:hover { - color: #16181b; - text-decoration: none; - background-color: #f8f9fa -} - -.dropdown-item.active, -.dropdown-item:active { - color: #fff; - text-decoration: none; - background-color: #007bff -} - -.dropdown-item.disabled, -.dropdown-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: transparent -} - -.dropdown-menu.show { - display: block -} - -.dropdown-header { - display: block; - padding: .5rem 1.5rem; - margin-bottom: 0; - font-size: .875rem; - color: #6c757d; - white-space: nowrap -} - -.dropdown-item-text { - display: block; - padding: .25rem 1.5rem; - color: #212529 -} - -.btn-group, -.btn-group-vertical { - position: relative; - display: -webkit-inline-box; - display: inline-flex; - vertical-align: middle -} - -.btn-group-vertical>.btn, -.btn-group>.btn { - position: relative; - -webkit-box-flex: 1; - flex: 1 1 auto -} - -.btn-group-vertical>.btn:hover, -.btn-group>.btn:hover { - z-index: 1 -} - -.btn-group-vertical>.btn.active, -.btn-group-vertical>.btn:active, -.btn-group-vertical>.btn:focus, -.btn-group>.btn.active, -.btn-group>.btn:active, -.btn-group>.btn:focus { - z-index: 1 -} - -.btn-toolbar { - display: -webkit-box; - display: flex; - flex-wrap: wrap; - -webkit-box-pack: start; - justify-content: flex-start -} - -.btn-toolbar .input-group { - width: auto -} - -.btn-group>.btn-group:not(:first-child), -.btn-group>.btn:not(:first-child) { - margin-left: -1px -} - -.btn-group>.btn-group:not(:last-child)>.btn, -.btn-group>.btn:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.btn-group>.btn-group:not(:first-child)>.btn, -.btn-group>.btn:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.dropdown-toggle-split { - padding-right: .5625rem; - padding-left: .5625rem -} - -.dropdown-toggle-split::after, -.dropright .dropdown-toggle-split::after, -.dropup .dropdown-toggle-split::after { - margin-left: 0 -} - -.dropleft .dropdown-toggle-split::before { - margin-right: 0 -} - -.btn-group-sm>.btn+.dropdown-toggle-split, -.btn-sm+.dropdown-toggle-split { - padding-right: .375rem; - padding-left: .375rem -} - -.btn-group-lg>.btn+.dropdown-toggle-split, -.btn-lg+.dropdown-toggle-split { - padding-right: .75rem; - padding-left: .75rem -} - -.btn-group-vertical { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - -webkit-box-align: start; - align-items: flex-start; - -webkit-box-pack: center; - justify-content: center -} - -.btn-group-vertical>.btn, -.btn-group-vertical>.btn-group { - width: 100% -} - -.btn-group-vertical>.btn-group:not(:first-child), -.btn-group-vertical>.btn:not(:first-child) { - margin-top: -1px -} - -.btn-group-vertical>.btn-group:not(:last-child)>.btn, -.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle) { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0 -} - -.btn-group-vertical>.btn-group:not(:first-child)>.btn, -.btn-group-vertical>.btn:not(:first-child) { - border-top-left-radius: 0; - border-top-right-radius: 0 -} - -.btn-group-toggle>.btn, -.btn-group-toggle>.btn-group>.btn { - margin-bottom: 0 -} - -.btn-group-toggle>.btn input[type=checkbox], -.btn-group-toggle>.btn input[type=radio], -.btn-group-toggle>.btn-group>.btn input[type=checkbox], -.btn-group-toggle>.btn-group>.btn input[type=radio] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none -} - -.input-group { - position: relative; - display: -webkit-box; - display: flex; - flex-wrap: wrap; - -webkit-box-align: stretch; - align-items: stretch; - width: 100% -} - -.input-group>.custom-file, -.input-group>.custom-select, -.input-group>.form-control, -.input-group>.form-control-plaintext { - position: relative; - -webkit-box-flex: 1; - flex: 1 1 auto; - width: 1%; - margin-bottom: 0 -} - -.input-group>.custom-file+.custom-file, -.input-group>.custom-file+.custom-select, -.input-group>.custom-file+.form-control, -.input-group>.custom-select+.custom-file, -.input-group>.custom-select+.custom-select, -.input-group>.custom-select+.form-control, -.input-group>.form-control+.custom-file, -.input-group>.form-control+.custom-select, -.input-group>.form-control+.form-control, -.input-group>.form-control-plaintext+.custom-file, -.input-group>.form-control-plaintext+.custom-select, -.input-group>.form-control-plaintext+.form-control { - margin-left: -1px -} - -.input-group>.custom-file .custom-file-input:focus~.custom-file-label, -.input-group>.custom-select:focus, -.input-group>.form-control:focus { - z-index: 3 -} - -.input-group>.custom-file .custom-file-input:focus { - z-index: 4 -} - -.input-group>.custom-select:not(:last-child), -.input-group>.form-control:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.input-group>.custom-select:not(:first-child), -.input-group>.form-control:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.input-group>.custom-file { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center -} - -.input-group>.custom-file:not(:last-child) .custom-file-label, -.input-group>.custom-file:not(:last-child) .custom-file-label::after { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.input-group>.custom-file:not(:first-child) .custom-file-label { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.input-group-append, -.input-group-prepend { - display: -webkit-box; - display: flex -} - -.input-group-append .btn, -.input-group-prepend .btn { - position: relative; - z-index: 2 -} - -.input-group-append .btn:focus, -.input-group-prepend .btn:focus { - z-index: 3 -} - -.input-group-append .btn+.btn, -.input-group-append .btn+.input-group-text, -.input-group-append .input-group-text+.btn, -.input-group-append .input-group-text+.input-group-text, -.input-group-prepend .btn+.btn, -.input-group-prepend .btn+.input-group-text, -.input-group-prepend .input-group-text+.btn, -.input-group-prepend .input-group-text+.input-group-text { - margin-left: -1px -} - -.input-group-prepend { - margin-right: -1px -} - -.input-group-append { - margin-left: -1px -} - -.input-group-text { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - padding: .375rem .75rem; - margin-bottom: 0; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #6c757d; - text-align: center; - white-space: nowrap; - background-color: #e9ecef; - border: 1px solid #f0f2f5; - border-radius: .25rem -} - -.input-group-text input[type=checkbox], -.input-group-text input[type=radio] { - margin-top: 0 -} - -.input-group-lg>.custom-select, -.input-group-lg>.form-control:not(textarea) { - height: calc(1.5em + 1rem + 2px) -} - -.input-group-lg>.custom-select, -.input-group-lg>.form-control, -.input-group-lg>.input-group-append>.btn, -.input-group-lg>.input-group-append>.input-group-text, -.input-group-lg>.input-group-prepend>.btn, -.input-group-lg>.input-group-prepend>.input-group-text { - padding: .5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: .3rem -} - -.input-group-sm>.custom-select, -.input-group-sm>.form-control:not(textarea) { - height: calc(1.5em + .5rem + 2px) -} - -.input-group-sm>.custom-select, -.input-group-sm>.form-control, -.input-group-sm>.input-group-append>.btn, -.input-group-sm>.input-group-append>.input-group-text, -.input-group-sm>.input-group-prepend>.btn, -.input-group-sm>.input-group-prepend>.input-group-text { - padding: .25rem .5rem; - font-size: .875rem; - line-height: 1.5; - border-radius: .2rem -} - -.input-group-lg>.custom-select, -.input-group-sm>.custom-select { - padding-right: 1.75rem -} - -.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle), -.input-group>.input-group-append:last-child>.input-group-text:not(:last-child), -.input-group>.input-group-append:not(:last-child)>.btn, -.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.input-group>.input-group-append>.btn, -.input-group>.input-group-append>.input-group-text, -.input-group>.input-group-prepend:first-child>.btn:not(:first-child), -.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child), -.input-group>.input-group-prepend:not(:first-child)>.btn, -.input-group>.input-group-prepend:not(:first-child)>.input-group-text { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.custom-control { - position: relative; - display: block; - min-height: 1.7rem; - padding-left: 1.9rem -} - -.custom-control-inline { - display: -webkit-inline-box; - display: inline-flex; - margin-right: 1rem -} - -.custom-control-input { - position: absolute; - z-index: -1; - opacity: 0 -} - -.custom-control-input:checked~.custom-control-label::before { - color: #fff; - border-color: #047006; - background-color: #047006 -} - -.custom-control-input:focus~.custom-control-label::before { - box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.custom-control-input:focus:not(:checked)~.custom-control-label::before { - border-color: #80bdff -} - -.custom-control-input:not(:disabled):active~.custom-control-label::before { - color: #fff; - background-color: #b3d7ff; - border-color: #b3d7ff -} - -.custom-control-input:disabled~.custom-control-label { - color: #6c757d -} - -.custom-control-input:disabled~.custom-control-label::before { - background-color: #e9ecef -} - -.custom-control-label { - position: relative; - margin-bottom: 0; - vertical-align: top -} - -.custom-control-label::before { - position: absolute; - top: .15rem; - left: -1.9rem; - display: block; - width: 1.4rem; - height: 1.4rem; - pointer-events: none; - content: '0 0 4 5'; - background-color: #fff; - border: #e1e5f1 solid 1px -} - -.custom-control-label::after { - position: absolute; - top: .15rem; - left: -1.9rem; - display: block; - width: 1.4rem; - height: 1.4rem; - content: '%23343a40'; - background: no-repeat 50%/50% 50% -} - -.custom-checkbox .custom-control-label::before { - border-radius: .25rem -} - -.custom-checkbox .custom-control-input:checked~.custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath fill=!string!d=!string!/%3e%3c/svg%3e") -} - -.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before { - border-color: #007bff; - background-color: #007bff -} - -.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath stroke=!string!d=!string!/%3e%3c/svg%3e") -} - -.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before { - background-color: rgba(0, 123, 255, .5) -} - -.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before { - background-color: rgba(0, 123, 255, .5) -} - -.custom-radio .custom-control-label::before { - border-radius: 50% -} - -.custom-radio .custom-control-input:checked~.custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3ccircle r=!string!fill=!string!/%3e%3c/svg%3e") -} - -.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before { - background-color: rgba(0, 123, 255, .5) -} - -.custom-switch { - padding-left: 2.8rem -} - -.custom-switch .custom-control-label::before { - left: -2.8rem; - width: 2.3rem; - pointer-events: all; - border-radius: 25px -} - -.custom-switch .custom-control-label::after { - top: calc(.15rem + 2px); - left: calc(-2.8rem + 2px); - width: 1.1rem; - height: 1.1rem; - background-color: #e1e5f1; - border-radius: 25px; - -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-transform .15s ease-in-out; - transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-transform .15s ease-in-out; - transition: transform .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: transform .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-transform .15s ease-in-out -} - -@media (prefers-reduced-motion:reduce) { - .custom-switch .custom-control-label::after { - -webkit-transition: none; - transition: none - } - -} - -.custom-switch .custom-control-input:checked~.custom-control-label::after { - background-color: #fff; - -webkit-transform: translateX(.9rem); - transform: translateX(.9rem) -} - -.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before { - background-color: rgba(0, 123, 255, .5) -} - -.custom-select { - display: inline-block; - width: 100%; - height: calc(1.5em + .75rem + 2px); - padding: .375rem 1.75rem .375rem .75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - vertical-align: middle; - background: url("data:image/svg+xml,%3csvg xmlns=!string!viewBox=!string!%3e%3cpath fill=!string!d=!string!/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px; - background-color: #fff; - border: 1px solid #ced4da; - border-radius: .25rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none -} - -.custom-select:focus { - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.custom-select:focus::-ms-value { - color: #6c757d; - background-color: #f6f7f9 -} - -.custom-select[multiple], -.custom-select[size]:not([size='M2 0L0 2h4zm0 5L0 3h4z']) { - height: auto; - padding-right: .75rem; - background-image: none -} - -.custom-select:disabled { - color: #6c757d; - background-color: #e9ecef -} - -.custom-select::-ms-expand { - display: none -} - -.custom-select-sm { - height: calc(1.5em + .5rem + 2px); - padding-top: .25rem; - padding-bottom: .25rem; - padding-left: .5rem; - font-size: .875rem -} - -.custom-select-lg { - height: calc(1.5em + 1rem + 2px); - padding-top: .5rem; - padding-bottom: .5rem; - padding-left: 1rem; - font-size: 1.25rem -} - -.custom-file { - position: relative; - display: inline-block; - width: 100%; - height: calc(1.5em + .75rem + 2px); - margin-bottom: 0 -} - -.custom-file-input { - position: relative; - z-index: 2; - width: 100%; - height: calc(1.5em + .75rem + 2px); - margin: 0; - opacity: 0 -} - -.custom-file-input:focus~.custom-file-label { - border-color: #80bdff; - box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.custom-file-input:disabled~.custom-file-label { - background-color: #e9ecef -} - -.custom-file-input:lang(en)~.custom-file-label::after { - content: 'http://www.w3.org/2000/svg' -} - -.custom-file-input~.custom-file-label[data-browse]::after { - content: attr(data-browse) -} - -.custom-file-label { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 1; - height: calc(1.5em + .75rem + 2px); - padding: .375rem .75rem; - font-weight: 400; - line-height: 1.5; - color: #6c757d; - background-color: #f6f7f9; - border: 1px solid #f0f2f5; - border-radius: .25rem -} - -.custom-file-label::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - z-index: 3; - display: block; - height: calc(1.5em + .75rem); - padding: .375rem .75rem; - line-height: 1.5; - color: #495057; - content: '0 0 8 8'; - background-color: #e9ecef; - border-left: inherit; - border-radius: 0 .25rem .25rem 0 -} - -.custom-range { - width: 100%; - height: calc(1rem + .4rem); - padding: 0; - background-color: transparent; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none -} - -.custom-range:focus { - outline: 0 -} - -.custom-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.custom-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.custom-range:focus::-ms-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.custom-range::-moz-focus-outer { - border: 0 -} - -.custom-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -.25rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - -webkit-appearance: none; - appearance: none -} - -@media (prefers-reduced-motion:reduce) { - .custom-range::-webkit-slider-thumb { - -webkit-transition: none; - transition: none - } - -} - -.custom-range::-webkit-slider-thumb:active { - background-color: #b3d7ff -} - -.custom-range::-webkit-slider-runnable-track { - width: 100%; - height: .5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem -} - -.custom-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - -moz-appearance: none; - appearance: none -} - -@media (prefers-reduced-motion:reduce) { - .custom-range::-moz-range-thumb { - -webkit-transition: none; - transition: none - } - -} - -.custom-range::-moz-range-thumb:active { - background-color: #b3d7ff -} - -.custom-range::-moz-range-track { - width: 100%; - height: .5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem -} - -.custom-range::-ms-thumb { - width: 1rem; - height: 1rem; - margin-top: 0; - margin-right: .2rem; - margin-left: .2rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - appearance: none -} - -@media (prefers-reduced-motion:reduce) { - .custom-range::-ms-thumb { - -webkit-transition: none; - transition: none - } - -} - -.custom-range::-ms-thumb:active { - background-color: #b3d7ff -} - -.custom-range::-ms-track { - width: 100%; - height: .5rem; - color: transparent; - cursor: pointer; - background-color: transparent; - border-color: transparent; - border-width: .5rem -} - -.custom-range::-ms-fill-lower { - background-color: #dee2e6; - border-radius: 1rem -} - -.custom-range::-ms-fill-upper { - margin-right: 15px; - background-color: #dee2e6; - border-radius: 1rem -} - -.custom-range:disabled::-webkit-slider-thumb { - background-color: #adb5bd -} - -.custom-range:disabled::-webkit-slider-runnable-track { - cursor: default -} - -.custom-range:disabled::-moz-range-thumb { - background-color: #adb5bd -} - -.custom-range:disabled::-moz-range-track { - cursor: default -} - -.custom-range:disabled::-ms-thumb { - background-color: #adb5bd -} - -.custom-control-label::before, -.custom-file-label, -.custom-select { - -webkit-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out -} - -@media (prefers-reduced-motion:reduce) { - .custom-control-label::before, - .custom-file-label, - .custom-select { - -webkit-transition: none; - transition: none - } - -} - -.nav { - display: -webkit-box; - display: flex; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none -} - -.nav-link { - display: block; - padding: .5rem 1rem -} - -.nav-link:focus, -.nav-link:hover { - text-decoration: none -} - -.nav-link.disabled { - color: #6c757d; - pointer-events: none; - cursor: default -} - -.nav-tabs { - border-bottom: 1px solid #dee2e6 -} - -.nav-tabs .nav-item { - margin-bottom: -1px -} - -.nav-tabs .nav-link { - border: 1px solid transparent; - border-top-left-radius: 2px; - border-top-right-radius: 2px -} - -.nav-tabs .nav-link:focus, -.nav-tabs .nav-link:hover { - border-color: #e9ecef #e9ecef #dee2e6 -} - -.nav-tabs .nav-link.disabled { - color: #6c757d; - background-color: transparent; - border-color: transparent -} - -.nav-tabs .nav-item.show .nav-link, -.nav-tabs .nav-link.active { - color: #495057; - background-color: #fff; - border-color: #dee2e6 #dee2e6 #fff -} - -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0 -} - -.nav-pills .nav-link { - border-radius: 2px -} - -.nav-pills .nav-link.active, -.nav-pills .show>.nav-link { - color: #fff; - background-color: #007bff -} - -.nav-fill .nav-item { - -webkit-box-flex: 1; - flex: 1 1 auto; - text-align: center -} - -.nav-justified .nav-item { - flex-basis: 0; - -webkit-box-flex: 1; - flex-grow: 1; - text-align: center -} - -.tab-content>.tab-pane { - display: none -} - -.tab-content>.active { - display: block -} - -.navbar { - position: relative; - display: -webkit-box; - display: flex; - flex-wrap: wrap; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: justify; - justify-content: space-between; - padding: .5rem 1rem -} - -.navbar>.container, -.navbar>.container-fluid { - display: -webkit-box; - display: flex; - flex-wrap: wrap; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: justify; - justify-content: space-between -} - -.navbar-brand { - display: inline-block; - padding-top: .3125rem; - padding-bottom: .3125rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: inherit; - white-space: nowrap -} - -.navbar-brand:focus, -.navbar-brand:hover { - text-decoration: none -} - -.navbar-nav { - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none -} - -.navbar-nav .nav-link { - padding-right: 0; - padding-left: 0 -} - -.navbar-nav .dropdown-menu { - position: static; - float: none -} - -.navbar-text { - display: inline-block; - padding-top: .5rem; - padding-bottom: .5rem -} - -.navbar-collapse { - flex-basis: 100%; - -webkit-box-flex: 1; - flex-grow: 1; - -webkit-box-align: center; - align-items: center -} - -.navbar-toggler { - padding: .25rem .75rem; - font-size: 1.25rem; - line-height: 1; - background-color: transparent; - border: 1px solid transparent; - border-radius: .25rem -} - -.navbar-toggler:focus, -.navbar-toggler:hover { - text-decoration: none -} - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: '%2328a745'; - background: no-repeat center center; - background-size: 100% 100% -} - -@media (max-width:575.98px) { - .navbar-expand-sm>.container, - .navbar-expand-sm>.container-fluid { - padding-right: 0; - padding-left: 0 - } - -} - -@media (min-width:576px) { - .navbar-expand-sm { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row nowrap; - -webkit-box-pack: start; - justify-content: flex-start - } - - .navbar-expand-sm .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute - } - - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem - } - - .navbar-expand-sm>.container, - .navbar-expand-sm>.container-fluid { - flex-wrap: nowrap - } - - .navbar-expand-sm .navbar-collapse { - display: -webkit-box !important; - display: flex !important; - flex-basis: auto - } - - .navbar-expand-sm .navbar-toggler { - display: none - } - -} - -@media (max-width:767.98px) { - .navbar-expand-md>.container, - .navbar-expand-md>.container-fluid { - padding-right: 0; - padding-left: 0 - } - -} - -@media (min-width:768px) { - .navbar-expand-md { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row nowrap; - -webkit-box-pack: start; - justify-content: flex-start - } - - .navbar-expand-md .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute - } - - .navbar-expand-md .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem - } - - .navbar-expand-md>.container, - .navbar-expand-md>.container-fluid { - flex-wrap: nowrap - } - - .navbar-expand-md .navbar-collapse { - display: -webkit-box !important; - display: flex !important; - flex-basis: auto - } - - .navbar-expand-md .navbar-toggler { - display: none - } - -} - -@media (max-width:991.98px) { - .navbar-expand-lg>.container, - .navbar-expand-lg>.container-fluid { - padding-right: 0; - padding-left: 0 - } - -} - -@media (min-width:992px) { - .navbar-expand-lg { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row nowrap; - -webkit-box-pack: start; - justify-content: flex-start - } - - .navbar-expand-lg .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute - } - - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem - } - - .navbar-expand-lg>.container, - .navbar-expand-lg>.container-fluid { - flex-wrap: nowrap - } - - .navbar-expand-lg .navbar-collapse { - display: -webkit-box !important; - display: flex !important; - flex-basis: auto - } - - .navbar-expand-lg .navbar-toggler { - display: none - } - -} - -@media (max-width:1199.98px) { - .navbar-expand-xl>.container, - .navbar-expand-xl>.container-fluid { - padding-right: 0; - padding-left: 0 - } - -} - -@media (min-width:1200px) { - .navbar-expand-xl { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row nowrap; - -webkit-box-pack: start; - justify-content: flex-start - } - - .navbar-expand-xl .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute - } - - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem - } - - .navbar-expand-xl>.container, - .navbar-expand-xl>.container-fluid { - flex-wrap: nowrap - } - - .navbar-expand-xl .navbar-collapse { - display: -webkit-box !important; - display: flex !important; - flex-basis: auto - } - - .navbar-expand-xl .navbar-toggler { - display: none - } - -} - -.navbar-expand { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row nowrap; - -webkit-box-pack: start; - justify-content: flex-start -} - -.navbar-expand>.container, -.navbar-expand>.container-fluid { - padding-right: 0; - padding-left: 0 -} - -.navbar-expand .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row -} - -.navbar-expand .navbar-nav .dropdown-menu { - position: absolute -} - -.navbar-expand .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem -} - -.navbar-expand>.container, -.navbar-expand>.container-fluid { - flex-wrap: nowrap -} - -.navbar-expand .navbar-collapse { - display: -webkit-box !important; - display: flex !important; - flex-basis: auto -} - -.navbar-expand .navbar-toggler { - display: none -} - -.navbar-light .navbar-brand { - color: rgba(0, 0, 0, .9) -} - -.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,%3csvg viewBox=!string!xmlns=!string!%3e%3cpath stroke=!string!stroke-width=!string!stroke-linecap=!string!stroke-miterlimit=!string!d=!string!/%3e%3c/svg%3e") -} - -.navbar-light .navbar-text { - color: rgba(0, 0, 0, .5) -} - -.navbar-light .navbar-text a { - color: rgba(0, 0, 0, .9) -} - -.navbar-light .navbar-text a:focus, -.navbar-light .navbar-text a:hover { - color: rgba(0, 0, 0, .9) -} - -.navbar-dark .navbar-brand { - color: #fff -} - -.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,%3csvg viewBox=!string!xmlns=!string!%3e%3cpath stroke=!string!stroke-width=!string!stroke-linecap=!string!stroke-miterlimit=!string!d=!string!/%3e%3c/svg%3e") -} - -.navbar-dark .navbar-text { - color: rgba(255, 255, 255, .5) -} - -.navbar-dark .navbar-text a { - color: #fff -} - -.navbar-dark .navbar-text a:focus, -.navbar-dark .navbar-text a:hover { - color: #fff -} - -.card { - position: relative; - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(238, 238, 238, .75); - border-radius: .25rem -} - -.card>hr { - margin-right: 0; - margin-left: 0 -} - -.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-body { - -webkit-box-flex: 1; - flex: 1 1 auto; - padding: 1.25rem -} - -.card-title { - margin-bottom: .75rem -} - -.card-subtitle { - margin-top: -.375rem; - margin-bottom: 0 -} - -.card-text:last-child { - margin-bottom: 0 -} - -.card-link:hover { - text-decoration: none -} - -.card-link+.card-link { - margin-left: 1.25rem -} - -.card-header { - padding: .75rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0, 0, 0, .03); - border-bottom: 1px solid rgba(238, 238, 238, .75) -} - -.card-header:first-child { - border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0 -} - -.card-header+.list-group .list-group-item:first-child { - border-top: 0 -} - -.card-footer { - padding: .75rem 1.25rem; - background-color: rgba(0, 0, 0, .03); - border-top: 1px solid rgba(238, 238, 238, .75) -} - -.card-footer:last-child { - border-radius: 0 0 calc(.25rem - 1px) calc(.25rem - 1px) -} - -.card-header-tabs { - margin-right: -.625rem; - margin-bottom: -.75rem; - margin-left: -.625rem; - border-bottom: 0 -} - -.card-header-pills { - margin-right: -.625rem; - margin-left: -.625rem -} - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1.25rem -} - -.card-img { - width: 100%; - border-radius: calc(.25rem - 1px) -} - -.card-img-top { - width: 100%; - border-top-left-radius: calc(.25rem - 1px); - border-top-right-radius: calc(.25rem - 1px) -} - -.card-img-bottom { - width: 100%; - border-bottom-right-radius: calc(.25rem - 1px); - border-bottom-left-radius: calc(.25rem - 1px) -} - -.card-deck { - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column -} - -.card-deck .card { - margin-bottom: 15px -} - -@media (min-width:576px) { - .card-deck { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row wrap; - margin-right: -15px; - margin-left: -15px - } - - .card-deck .card { - display: -webkit-box; - display: flex; - -webkit-box-flex: 1; - flex: 1 0 0%; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - margin-right: 15px; - margin-bottom: 0; - margin-left: 15px - } - -} - -.card-group { - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column -} - -.card-group>.card { - margin-bottom: 15px -} - -@media (min-width:576px) { - .card-group { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row wrap - } - - .card-group>.card { - -webkit-box-flex: 1; - flex: 1 0 0%; - margin-bottom: 0 - } - - .card-group>.card+.card { - margin-left: 0; - border-left: 0 - } - - .card-group>.card:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0 - } - - .card-group>.card:not(:last-child) .card-header, - .card-group>.card:not(:last-child) .card-img-top { - border-top-right-radius: 0 - } - - .card-group>.card:not(:last-child) .card-footer, - .card-group>.card:not(:last-child) .card-img-bottom { - border-bottom-right-radius: 0 - } - - .card-group>.card:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0 - } - - .card-group>.card:not(:first-child) .card-header, - .card-group>.card:not(:first-child) .card-img-top { - border-top-left-radius: 0 - } - - .card-group>.card:not(:first-child) .card-footer, - .card-group>.card:not(:first-child) .card-img-bottom { - border-bottom-left-radius: 0 - } - -} - -.card-columns .card { - margin-bottom: .75rem -} - -@media (min-width:576px) { - .card-columns { - -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; - orphans: 1; - widows: 1 - } - - .card-columns .card { - display: inline-block; - width: 100% - } - -} - -.accordion>.card { - overflow: hidden -} - -.accordion>.card:not(:first-of-type) .card-header:first-child { - border-radius: 0 -} - -.accordion>.card:not(:first-of-type):not(:last-of-type) { - border-bottom: 0; - border-radius: 0 -} - -.accordion>.card:first-of-type { - border-bottom: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0 -} - -.accordion>.card:last-of-type { - border-top-left-radius: 0; - border-top-right-radius: 0 -} - -.accordion>.card .card-header { - margin-bottom: -1px -} - -.breadcrumb { - display: -webkit-box; - display: flex; - flex-wrap: wrap; - padding: .75rem 1rem; - margin-bottom: 1rem; - list-style: none; - background-color: #f7f9fa; - border-radius: .25rem -} - -.breadcrumb-item+.breadcrumb-item { - padding-left: .5rem -} - -.breadcrumb-item+.breadcrumb-item::before { - display: inline-block; - padding-right: .5rem; - color: #a8a9ad; - content: 'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z' -} - -.breadcrumb-item+.breadcrumb-item:hover::before { - text-decoration: underline -} - -.breadcrumb-item+.breadcrumb-item:hover::before { - text-decoration: none -} - -.breadcrumb-item.active { - color: #6c757d -} - -.pagination { - display: -webkit-box; - display: flex; - padding-left: 0; - list-style: none; - border-radius: 2px -} - -.page-link { - position: relative; - display: block; - padding: .5rem .75rem; - margin-left: -1px; - line-height: 1.25; - color: #007bff; - background-color: #fff; - border: 1px solid #dee2e6 -} - -.page-link:hover { - z-index: 2; - color: #0056b3; - text-decoration: none; - background-color: #e9ecef; - border-color: #dee2e6 -} - -.page-link:focus { - z-index: 2; - outline: 0; - box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) -} - -.page-item:first-child .page-link { - margin-left: 0; - border-top-left-radius: 2px; - border-bottom-left-radius: 2px -} - -.page-item:last-child .page-link { - border-top-right-radius: 2px; - border-bottom-right-radius: 2px -} - -.page-item.active .page-link { - z-index: 1; - color: #fff; - background-color: #007bff; - border-color: #007bff -} - -.page-item.disabled .page-link { - color: #6c757d; - pointer-events: none; - cursor: auto; - background-color: #fff; - border-color: #dee2e6 -} - -.pagination-lg .page-link { - padding: .75rem 1.5rem; - font-size: 1.25rem; - line-height: 1.5 -} - -.pagination-lg .page-item:first-child .page-link { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px -} - -.pagination-lg .page-item:last-child .page-link { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px -} - -.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: .45rem 1rem; - font-size: 80%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25rem; - -webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out -} - -@media (prefers-reduced-motion:reduce) { - .badge { - -webkit-transition: none; - transition: none - } - -} - -a.badge:focus, -a.badge:hover { - text-decoration: none -} - -.badge:empty { - display: none -} - -.btn .badge { - position: relative; - top: -1px -} - -.badge-pill { - padding-right: .5rem; - padding-left: .5rem; - border-radius: 10rem -} - -.badge-primary { - color: #fff; - background-color: #047006 -} - -a.badge-primary:focus, -a.badge-primary:hover { - color: #fff; - background-color: #023f03 -} - -a.badge-primary.focus, -a.badge-primary:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(4, 112, 6, .5) -} - -.badge-secondary { - color: #fff; - background-color: grey -} - -a.badge-secondary:focus, -a.badge-secondary:hover { - color: #fff; - background-color: #676767 -} - -a.badge-secondary.focus, -a.badge-secondary:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(128, 128, 128, .5) -} - -.badge-success { - color: #fff; - background-color: #047006 -} - -a.badge-success:focus, -a.badge-success:hover { - color: #fff; - background-color: #00ad72 -} - -a.badge-success.focus, -a.badge-success:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(0, 224, 147, .5) -} - -.badge-info { - color: #fff; - background-color: #6c61f6 -} - -a.badge-info:focus, -a.badge-info:hover { - color: #fff; - background-color: #3f31f3 -} - -a.badge-info.focus, -a.badge-info:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(108, 97, 246, .5) -} - -.badge-warning { - color: #212529; - background-color: #f0825f -} - -a.badge-warning:focus, -a.badge-warning:hover { - color: #212529; - background-color: #ec5e30 -} - -a.badge-warning.focus, -a.badge-warning:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(240, 130, 95, .5) -} - -.badge-danger { - color: #fff; - background-color: #ff5f66 -} - -a.badge-danger:focus, -a.badge-danger:hover { - color: #fff; - background-color: #ff2c35 -} - -a.badge-danger.focus, -a.badge-danger:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(255, 95, 102, .5) -} - -.badge-light { - color: #212529; - background-color: #dfdfdf -} - -a.badge-light:focus, -a.badge-light:hover { - color: #212529; - background-color: #c6c6c6 -} - -a.badge-light.focus, -a.badge-light:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(223, 223, 223, .5) -} - -.badge-dark { - color: #fff; - background-color: #74767b -} - -a.badge-dark:focus, -a.badge-dark:hover { - color: #fff; - background-color: #5b5d61 -} - -a.badge-dark.focus, -a.badge-dark:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(116, 118, 123, .5) -} - -.badge-white { - color: #212529; - background-color: #fff -} - -a.badge-white:focus, -a.badge-white:hover { - color: #212529; - background-color: #e6e6e6 -} - -a.badge-white.focus, -a.badge-white:focus { - outline: 0; - box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .5) -} - -.jumbotron { - padding: 2rem 1rem; - margin-bottom: 2rem; - background-color: #e9ecef; - border-radius: 6px -} - -@media (min-width:576px) { - .jumbotron { - padding: 4rem 2rem - } - -} - -.jumbotron-fluid { - padding-right: 0; - padding-left: 0; - border-radius: 0 -} - -.alert { - position: relative; - padding: 1.15rem 1.15rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: 2px -} - -.alert-heading { - color: inherit -} - -.alert-link { - font-weight: 700 -} - -.alert-dismissible { - padding-right: 3.8rem -} - -.alert-dismissible .close { - position: absolute; - top: 0; - right: 0; - padding: 1.15rem 1.15rem; - color: inherit -} - -.alert-primary { - color: #023a03; - background-color: #cde2cd; - border-color: #b9d7b9 -} - -.alert-primary hr { - border-top-color: #a9cea9 -} - -.alert-primary .alert-link { - color: #000900 -} - -.alert-secondary { - color: #434343; - background-color: #e6e6e6; - border-color: #dbdbdb -} - -.alert-secondary hr { - border-top-color: #cecece -} - -.alert-secondary .alert-link { - color: #2a2a2a -} - -.alert-success { - color: #00744c; - background-color: #ccf9e9; - border-color: #b8f6e1 -} - -.alert-success hr { - border-top-color: #a1f3d7 -} - -.alert-success .alert-link { - color: #00412b -} - -.alert-info { - color: #383280; - background-color: #e2dffd; - border-color: #d6d3fc -} - -.alert-info hr { - border-top-color: #c0bbfa -} - -.alert-info .alert-link { - color: #28245b -} - -.alert-warning { - color: #7d4431; - background-color: #fce6df; - border-color: #fbdcd2 -} - -.alert-warning hr { - border-top-color: #f9cabb -} - -.alert-warning .alert-link { - color: #583023 -} - -.alert-danger { - color: #853135; - background-color: #ffdfe0; - border-color: #ffd2d4 -} - -.alert-danger hr { - border-top-color: #ffb9bc -} - -.alert-danger .alert-link { - color: #602326 -} - -.alert-light { - color: #747474; - background-color: #f9f9f9; - border-color: #f6f6f6 -} - -.alert-light hr { - border-top-color: #e9e9e9 -} - -.alert-light .alert-link { - color: #5b5b5b -} - -.alert-dark { - color: #3c3d40; - background-color: #e3e4e5; - border-color: #d8d9da -} - -.alert-dark hr { - border-top-color: #cbccce -} - -.alert-dark .alert-link { - color: #232426 -} - -.alert-white { - color: #858585; - background-color: #fff; - border-color: #fff -} - -.alert-white hr { - border-top-color: #f2f2f2 -} - -.alert-white .alert-link { - color: #6c6c6c -} - -@-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 { - display: -webkit-box; - display: flex; - height: 1rem; - overflow: hidden; - font-size: .75rem; - background-color: #f3f5f7; - border-radius: 2px -} - -.progress-bar { - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - -webkit-box-pack: center; - justify-content: center; - color: #fff; - text-align: center; - white-space: nowrap; - background-color: #007bff; - -webkit-transition: width .6s ease; - transition: width .6s ease -} - -@media (prefers-reduced-motion:reduce) { - .progress-bar { - -webkit-transition: none; - transition: none - } - -} - -.progress-bar-striped { - 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 (prefers-reduced-motion:reduce) { - .progress-bar-animated { - -webkit-animation: none; - animation: none - } - -} - -.media { - display: -webkit-box; - display: flex; - -webkit-box-align: start; - align-items: flex-start -} - -.media-body { - -webkit-box-flex: 1; - flex: 1 -} - -.list-group { - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - 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 { - z-index: 1; - color: #495057; - text-decoration: none; - background-color: #f8f9fa -} - -.list-group-item-action:active { - color: #212529; - background-color: #e9ecef -} - -.list-group-item { - position: relative; - display: block; - padding: .75rem 1.25rem; - 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.disabled, -.list-group-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: #fff -} - -.list-group-item.active { - z-index: 2; - color: #fff; - background-color: #007bff; - border-color: #007bff -} - -.list-group-horizontal { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row -} - -.list-group-horizontal .list-group-item { - margin-right: -1px; - margin-bottom: 0 -} - -.list-group-horizontal .list-group-item:first-child { - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; - border-top-right-radius: 0 -} - -.list-group-horizontal .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; - border-bottom-left-radius: 0 -} - -@media (min-width:576px) { - .list-group-horizontal-sm { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .list-group-horizontal-sm .list-group-item { - margin-right: -1px; - margin-bottom: 0 - } - - .list-group-horizontal-sm .list-group-item:first-child { - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; - border-top-right-radius: 0 - } - - .list-group-horizontal-sm .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; - border-bottom-left-radius: 0 - } - -} - -@media (min-width:768px) { - .list-group-horizontal-md { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .list-group-horizontal-md .list-group-item { - margin-right: -1px; - margin-bottom: 0 - } - - .list-group-horizontal-md .list-group-item:first-child { - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; - border-top-right-radius: 0 - } - - .list-group-horizontal-md .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; - border-bottom-left-radius: 0 - } - -} - -@media (min-width:992px) { - .list-group-horizontal-lg { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .list-group-horizontal-lg .list-group-item { - margin-right: -1px; - margin-bottom: 0 - } - - .list-group-horizontal-lg .list-group-item:first-child { - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; - border-top-right-radius: 0 - } - - .list-group-horizontal-lg .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; - border-bottom-left-radius: 0 - } - -} - -@media (min-width:1200px) { - .list-group-horizontal-xl { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row - } - - .list-group-horizontal-xl .list-group-item { - margin-right: -1px; - margin-bottom: 0 - } - - .list-group-horizontal-xl .list-group-item:first-child { - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; - border-top-right-radius: 0 - } - - .list-group-horizontal-xl .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; - border-bottom-left-radius: 0 - } - -} - -.list-group-flush .list-group-item { - border-right: 0; - border-left: 0; - border-radius: 0 -} - -.list-group-flush .list-group-item:last-child { - margin-bottom: -1px -} - -.list-group-flush:first-child .list-group-item:first-child { - border-top: 0 -} - -.list-group-flush:last-child .list-group-item:last-child { - margin-bottom: 0; - border-bottom: 0 -} - -.list-group-item-primary { - color: #023a03; - background-color: #b9d7b9 -} - -.list-group-item-primary.list-group-item-action:focus, -.list-group-item-primary.list-group-item-action:hover { - color: #023a03; - background-color: #a9cea9 -} - -.list-group-item-primary.list-group-item-action.active { - color: #fff; - background-color: #023a03; - border-color: #023a03 -} - -.list-group-item-secondary { - color: #434343; - background-color: #dbdbdb -} - -.list-group-item-secondary.list-group-item-action:focus, -.list-group-item-secondary.list-group-item-action:hover { - color: #434343; - background-color: #cecece -} - -.list-group-item-secondary.list-group-item-action.active { - color: #fff; - background-color: #434343; - border-color: #434343 -} - -.list-group-item-success { - color: #00744c; - background-color: #b8f6e1 -} - -.list-group-item-success.list-group-item-action:focus, -.list-group-item-success.list-group-item-action:hover { - color: #00744c; - background-color: #a1f3d7 -} - -.list-group-item-success.list-group-item-action.active { - color: #fff; - background-color: #00744c; - border-color: #00744c -} - -.list-group-item-info { - color: #383280; - background-color: #d6d3fc -} - -.list-group-item-info.list-group-item-action:focus, -.list-group-item-info.list-group-item-action:hover { - color: #383280; - background-color: #c0bbfa -} - -.list-group-item-info.list-group-item-action.active { - color: #fff; - background-color: #383280; - border-color: #383280 -} - -.list-group-item-warning { - color: #7d4431; - background-color: #fbdcd2 -} - -.list-group-item-warning.list-group-item-action:focus, -.list-group-item-warning.list-group-item-action:hover { - color: #7d4431; - background-color: #f9cabb -} - -.list-group-item-warning.list-group-item-action.active { - color: #fff; - background-color: #7d4431; - border-color: #7d4431 -} - -.list-group-item-danger { - color: #853135; - background-color: #ffd2d4 -} - -.list-group-item-danger.list-group-item-action:focus, -.list-group-item-danger.list-group-item-action:hover { - color: #853135; - background-color: #ffb9bc -} - -.list-group-item-danger.list-group-item-action.active { - color: #fff; - background-color: #853135; - border-color: #853135 -} - -.list-group-item-light { - color: #747474; - background-color: #f6f6f6 -} - -.list-group-item-light.list-group-item-action:focus, -.list-group-item-light.list-group-item-action:hover { - color: #747474; - background-color: #e9e9e9 -} - -.list-group-item-light.list-group-item-action.active { - color: #fff; - background-color: #747474; - border-color: #747474 -} - -.list-group-item-dark { - color: #3c3d40; - background-color: #d8d9da -} - -.list-group-item-dark.list-group-item-action:focus, -.list-group-item-dark.list-group-item-action:hover { - color: #3c3d40; - background-color: #cbccce -} - -.list-group-item-dark.list-group-item-action.active { - color: #fff; - background-color: #3c3d40; - border-color: #3c3d40 -} - -.list-group-item-white { - color: #858585; - background-color: #fff -} - -.list-group-item-white.list-group-item-action:focus, -.list-group-item-white.list-group-item-action:hover { - color: #858585; - background-color: #f2f2f2 -} - -.list-group-item-white.list-group-item-action.active { - color: #fff; - background-color: #858585; - border-color: #858585 -} - -.close { - float: right; - font-size: 1.5rem; - font-weight: 700; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: .5 -} - -.close:hover { - color: #000; - text-decoration: none -} - -.close:not(:disabled):not(.disabled):focus, -.close:not(:disabled):not(.disabled):hover { - opacity: .75 -} - -button.close { - padding: 0; - background-color: transparent; - border: 0; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none -} - -a.close.disabled { - pointer-events: none -} - -.toast { - max-width: 350px; - overflow: hidden; - font-size: .875rem; - background-color: rgba(255, 255, 255, .85); - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .1); - box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .1); - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); - opacity: 0; - border-radius: .25rem -} - -.toast:not(:last-child) { - margin-bottom: .75rem -} - -.toast.showing { - opacity: 1 -} - -.toast.show { - display: block; - opacity: 1 -} - -.toast.hide { - display: none -} - -.toast-header { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - padding: .25rem .75rem; - color: #6c757d; - background-color: rgba(255, 255, 255, .85); - background-clip: padding-box; - border-bottom: 1px solid rgba(0, 0, 0, .05) -} - -.toast-body { - padding: .75rem -} - -.modal-open { - overflow: hidden -} - -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto -} - -.modal { - position: fixed; - top: 0; - left: 0; - z-index: 1050; - display: none; - width: 100%; - height: 100%; - overflow: hidden; - outline: 0 -} - -.modal-dialog { - position: relative; - width: auto; - margin: .5rem; - pointer-events: none -} - -.modal.fade .modal-dialog { - -webkit-transition: -webkit-transform .3s ease-out; - 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, -50px); - transform: translate(0, -50px) -} - -@media (prefers-reduced-motion:reduce) { - .modal.fade .modal-dialog { - -webkit-transition: none; - transition: none - } - -} - -.modal.show .modal-dialog { - -webkit-transform: none; - transform: none -} - -.modal-dialog-scrollable { - display: -webkit-box; - display: flex; - max-height: calc(100% - 1rem) -} - -.modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 1rem); - overflow: hidden -} - -.modal-dialog-scrollable .modal-footer, -.modal-dialog-scrollable .modal-header { - flex-shrink: 0 -} - -.modal-dialog-scrollable .modal-body { - overflow-y: auto -} - -.modal-dialog-centered { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - min-height: calc(100% - 1rem) -} - -.modal-dialog-centered::before { - display: block; - height: calc(100vh - 1rem); - content: 'http://www.w3.org/2000/svg' -} - -.modal-dialog-centered.modal-dialog-scrollable { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - -webkit-box-pack: center; - justify-content: center; - height: 100% -} - -.modal-dialog-centered.modal-dialog-scrollable .modal-content { - max-height: none -} - -.modal-dialog-centered.modal-dialog-scrollable::before { - content: none -} - -.modal-content { - position: relative; - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - width: 100%; - pointer-events: auto; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: .3rem; - outline: 0 -} - -.modal-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #000 -} - -.modal-backdrop.fade { - opacity: 0 -} - -.modal-backdrop.show { - opacity: .8 -} - -.modal-header { - display: -webkit-box; - display: flex; - -webkit-box-align: start; - align-items: flex-start; - -webkit-box-pack: justify; - justify-content: space-between; - padding: 1rem 1rem; - border-bottom: 1px solid #dee2e6; - border-top-left-radius: .3rem; - border-top-right-radius: .3rem -} - -.modal-header .close { - padding: 1rem 1rem; - margin: -1rem -1rem -1rem auto -} - -.modal-title { - margin-bottom: 0; - line-height: 1.5 -} - -.modal-body { - position: relative; - -webkit-box-flex: 1; - flex: 1 1 auto; - padding: 1rem -} - -.modal-footer { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: end; - justify-content: flex-end; - padding: 1rem; - border-top: 1px solid #dee2e6; - border-bottom-right-radius: .3rem; - border-bottom-left-radius: .3rem -} - -.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 -} - -@media (min-width:576px) { - .modal-dialog { - max-width: 500px; - margin: 1.75rem auto - } - - .modal-dialog-scrollable { - max-height: calc(100% - 3.5rem) - } - - .modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 3.5rem) - } - - .modal-dialog-centered { - min-height: calc(100% - 3.5rem) - } - - .modal-dialog-centered::before { - height: calc(100vh - 3.5rem) - } - - .modal-sm { - max-width: 300px - } - -} - -@media (min-width:992px) { - .modal-lg, - .modal-xl { - max-width: 800px - } - -} - -@media (min-width:1200px) { - .modal-xl { - max-width: 1140px - } - -} - -.tooltip { - position: absolute; - z-index: 1070; - display: block; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.7; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: .875rem; - word-wrap: break-word; - opacity: 0 -} - -.tooltip.show { - opacity: .9 -} - -.tooltip .arrow { - position: absolute; - display: block; - width: .8rem; - height: .4rem -} - -.tooltip .arrow::before { - position: absolute; - content: '%23dc3545'; - border-color: transparent; - border-style: solid -} - -.bs-tooltip-auto[x-placement^=top], -.bs-tooltip-top { - padding: .4rem 0 -} - -.bs-tooltip-auto[x-placement^=top] .arrow, -.bs-tooltip-top .arrow { - bottom: 0 -} - -.bs-tooltip-auto[x-placement^=top] .arrow::before, -.bs-tooltip-top .arrow::before { - top: 0; - border-width: .4rem .4rem 0; - border-top-color: #000 -} - -.bs-tooltip-auto[x-placement^=right], -.bs-tooltip-right { - padding: 0 .4rem -} - -.bs-tooltip-auto[x-placement^=right] .arrow, -.bs-tooltip-right .arrow { - left: 0; - width: .4rem; - height: .8rem -} - -.bs-tooltip-auto[x-placement^=right] .arrow::before, -.bs-tooltip-right .arrow::before { - right: 0; - border-width: .4rem .4rem .4rem 0; - border-right-color: #000 -} - -.bs-tooltip-auto[x-placement^=bottom], -.bs-tooltip-bottom { - padding: .4rem 0 -} - -.bs-tooltip-auto[x-placement^=bottom] .arrow, -.bs-tooltip-bottom .arrow { - top: 0 -} - -.bs-tooltip-auto[x-placement^=bottom] .arrow::before, -.bs-tooltip-bottom .arrow::before { - bottom: 0; - border-width: 0 .4rem .4rem; - border-bottom-color: #000 -} - -.bs-tooltip-auto[x-placement^=left], -.bs-tooltip-left { - padding: 0 .4rem -} - -.bs-tooltip-auto[x-placement^=left] .arrow, -.bs-tooltip-left .arrow { - right: 0; - width: .4rem; - height: .8rem -} - -.bs-tooltip-auto[x-placement^=left] .arrow::before, -.bs-tooltip-left .arrow::before { - left: 0; - border-width: .4rem 0 .4rem .4rem; - border-left-color: #000 -} - -.tooltip-inner { - max-width: 200px; - padding: .25rem .5rem; - color: #fff; - text-align: center; - background-color: #000; - border-radius: .25rem -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: block; - max-width: 276px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.7; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: .875rem; - word-wrap: break-word; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: .3rem -} - -.popover .arrow { - position: absolute; - display: block; - width: 1rem; - height: .5rem; - margin: 0 6px -} - -.popover .arrow::after, -.popover .arrow::before { - position: absolute; - display: block; - content: '-2 -2 7 7'; - border-color: transparent; - border-style: solid -} - -.bs-popover-auto[x-placement^=top], -.bs-popover-top { - margin-bottom: .5rem -} - -.bs-popover-auto[x-placement^=top]>.arrow, -.bs-popover-top>.arrow { - bottom: calc((.5rem + 1px) * -1) -} - -.bs-popover-auto[x-placement^=top]>.arrow::before, -.bs-popover-top>.arrow::before { - bottom: 0; - border-width: .5rem .5rem 0; - border-top-color: rgba(0, 0, 0, .25) -} - -.bs-popover-auto[x-placement^=top]>.arrow::after, -.bs-popover-top>.arrow::after { - bottom: 1px; - border-width: .5rem .5rem 0; - border-top-color: #fff -} - -.bs-popover-auto[x-placement^=right], -.bs-popover-right { - margin-left: .5rem -} - -.bs-popover-auto[x-placement^=right]>.arrow, -.bs-popover-right>.arrow { - left: calc((.5rem + 1px) * -1); - width: .5rem; - height: 1rem; - margin: 6px 0 -} - -.bs-popover-auto[x-placement^=right]>.arrow::before, -.bs-popover-right>.arrow::before { - left: 0; - border-width: .5rem .5rem .5rem 0; - border-right-color: rgba(0, 0, 0, .25) -} - -.bs-popover-auto[x-placement^=right]>.arrow::after, -.bs-popover-right>.arrow::after { - left: 1px; - border-width: .5rem .5rem .5rem 0; - border-right-color: #fff -} - -.bs-popover-auto[x-placement^=bottom], -.bs-popover-bottom { - margin-top: .5rem -} - -.bs-popover-auto[x-placement^=bottom]>.arrow, -.bs-popover-bottom>.arrow { - top: calc((.5rem + 1px) * -1) -} - -.bs-popover-auto[x-placement^=bottom]>.arrow::before, -.bs-popover-bottom>.arrow::before { - top: 0; - border-width: 0 .5rem .5rem .5rem; - border-bottom-color: rgba(0, 0, 0, .25) -} - -.bs-popover-auto[x-placement^=bottom]>.arrow::after, -.bs-popover-bottom>.arrow::after { - top: 1px; - border-width: 0 .5rem .5rem .5rem; - border-bottom-color: #fff -} - -.bs-popover-auto[x-placement^=bottom] .popover-header::before, -.bs-popover-bottom .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: 1rem; - margin-left: -.5rem; - content: '%23dc3545'; - border-bottom: 1px solid #f7f7f7 -} - -.bs-popover-auto[x-placement^=left], -.bs-popover-left { - margin-right: .5rem -} - -.bs-popover-auto[x-placement^=left]>.arrow, -.bs-popover-left>.arrow { - right: calc((.5rem + 1px) * -1); - width: .5rem; - height: 1rem; - margin: 6px 0 -} - -.bs-popover-auto[x-placement^=left]>.arrow::before, -.bs-popover-left>.arrow::before { - right: 0; - border-width: .5rem 0 .5rem .5rem; - border-left-color: rgba(0, 0, 0, .25) -} - -.bs-popover-auto[x-placement^=left]>.arrow::after, -.bs-popover-left>.arrow::after { - right: 1px; - border-width: .5rem 0 .5rem .5rem; - border-left-color: #fff -} - -.popover-header { - padding: .5rem .75rem; - margin-bottom: 0; - font-size: 1rem; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-top-left-radius: calc(6px - 1px); - border-top-right-radius: calc(6px - 1px) -} - -.popover-header:empty { - display: none -} - -.popover-body { - padding: .5rem .75rem; - color: #212529 -} - -.carousel { - position: relative -} - -.carousel.pointer-event { - touch-action: pan-y -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden -} - -.carousel-inner::after { - display: block; - clear: both; - content: 'M0 0l3 3m0-3L0 3' -} - -.carousel-item { - position: relative; - display: none; - float: left; - width: 100%; - margin-right: -100%; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition: -webkit-transform .6s ease-in-out; - transition: -webkit-transform .6s ease-in-out; - transition: transform .6s ease-in-out; - transition: transform .6s ease-in-out, -webkit-transform .6s ease-in-out -} - -@media (prefers-reduced-motion:reduce) { - .carousel-item { - -webkit-transition: none; - transition: none - } - -} - -.carousel-item-next, -.carousel-item-prev, -.carousel-item.active { - display: block -} - -.active.carousel-item-right, -.carousel-item-next:not(.carousel-item-left) { - -webkit-transform: translateX(100%); - transform: translateX(100%) -} - -.active.carousel-item-left, -.carousel-item-prev:not(.carousel-item-right) { - -webkit-transform: translateX(-100%); - transform: translateX(-100%) -} - -.carousel-fade .carousel-item { - opacity: 0; - -webkit-transition-property: opacity; - transition-property: opacity; - -webkit-transform: none; - transform: none -} - -.carousel-fade .carousel-item-next.carousel-item-left, -.carousel-fade .carousel-item-prev.carousel-item-right, -.carousel-fade .carousel-item.active { - z-index: 1; - opacity: 1 -} - -.carousel-fade .active.carousel-item-left, -.carousel-fade .active.carousel-item-right { - z-index: 0; - opacity: 0; - -webkit-transition: 0s .6s opacity; - transition: 0s .6s opacity -} - -@media (prefers-reduced-motion:reduce) { - .carousel-fade .active.carousel-item-left, - .carousel-fade .active.carousel-item-right { - -webkit-transition: none; - transition: none - } - -} - -.carousel-control-next, -.carousel-control-prev { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center; - width: 15%; - color: #fff; - text-align: center; - opacity: .5; - -webkit-transition: opacity .15s ease; - transition: opacity .15s ease -} - -@media (prefers-reduced-motion:reduce) { - .carousel-control-next, - .carousel-control-prev { - -webkit-transition: none; - transition: none - } - -} - -.carousel-control-next:focus, -.carousel-control-next:hover, -.carousel-control-prev:focus, -.carousel-control-prev:hover { - color: #fff; - text-decoration: none; - outline: 0; - opacity: .9 -} - -.carousel-control-prev { - left: 0 -} - -.carousel-control-next { - right: 0 -} - -.carousel-control-next-icon, -.carousel-control-prev-icon { - display: inline-block; - width: 20px; - height: 20px; - background: no-repeat 50%/100% 100% -} - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!fill=!string!viewBox=!string!%3e%3cpath d=!string!/%3e%3c/svg%3e") -} - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!fill=!string!viewBox=!string!%3e%3cpath d=!string!/%3e%3c/svg%3e") -} - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 15; - display: -webkit-box; - display: flex; - -webkit-box-pack: center; - justify-content: center; - padding-left: 0; - margin-right: 15%; - margin-left: 15%; - list-style: none -} - -.carousel-indicators li { - box-sizing: content-box; - -webkit-box-flex: 0; - flex: 0 1 auto; - width: 30px; - height: 3px; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: #fff; - background-clip: padding-box; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: .5; - -webkit-transition: opacity .6s ease; - transition: opacity .6s ease -} - -@media (prefers-reduced-motion:reduce) { - .carousel-indicators li { - -webkit-transition: none; - transition: none - } - -} - -.carousel-indicators .active { - opacity: 1 -} - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center -} - -@-webkit-keyframes spinner-border { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } - -} - -@keyframes spinner-border { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } - -} - -.spinner-border { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: text-bottom; - border: .25em solid currentColor; - border-right-color: transparent; - border-radius: 50%; - -webkit-animation: spinner-border .75s linear infinite; - animation: spinner-border .75s linear infinite -} - -.spinner-border-sm { - width: 1rem; - height: 1rem; - border-width: .2em -} - -@-webkit-keyframes spinner-grow { - 0% { - -webkit-transform: scale(0); - transform: scale(0) - } - - 50% { - opacity: 1 - } - -} - -@keyframes spinner-grow { - 0% { - -webkit-transform: scale(0); - transform: scale(0) - } - - 50% { - opacity: 1 - } - -} - -.spinner-grow { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: text-bottom; - background-color: currentColor; - border-radius: 50%; - opacity: 0; - -webkit-animation: spinner-grow .75s linear infinite; - animation: spinner-grow .75s linear infinite -} - -.spinner-grow-sm { - width: 1rem; - height: 1rem -} - -.align-baseline { - vertical-align: baseline !important -} - -.align-top { - vertical-align: top !important -} - -.align-middle { - vertical-align: middle !important -} - -.align-bottom { - vertical-align: bottom !important -} - -.align-text-bottom { - vertical-align: text-bottom !important -} - -.align-text-top { - vertical-align: text-top !important -} - -.bg-primary { - background-color: #047006 !important -} - -a.bg-primary:focus, -a.bg-primary:hover, -button.bg-primary:focus, -button.bg-primary:hover { - background-color: #023f03 !important -} - -.bg-secondary { - background-color: grey !important -} - -a.bg-secondary:focus, -a.bg-secondary:hover, -button.bg-secondary:focus, -button.bg-secondary:hover { - background-color: #676767 !important -} - -.bg-success { - background-color: #047006 !important -} - -a.bg-success:focus, -a.bg-success:hover, -button.bg-success:focus, -button.bg-success:hover { - background-color: #00ad72 !important -} - -.bg-info { - background-color: #6c61f6 !important -} - -a.bg-info:focus, -a.bg-info:hover, -button.bg-info:focus, -button.bg-info:hover { - background-color: #3f31f3 !important -} - -.bg-warning { - background-color: #f0825f !important -} - -a.bg-warning:focus, -a.bg-warning:hover, -button.bg-warning:focus, -button.bg-warning:hover { - background-color: #ec5e30 !important -} - -.bg-danger { - background-color: #ff5f66 !important -} - -a.bg-danger:focus, -a.bg-danger:hover, -button.bg-danger:focus, -button.bg-danger:hover { - background-color: #ff2c35 !important -} - -.bg-light { - background-color: #dfdfdf !important -} - -a.bg-light:focus, -a.bg-light:hover, -button.bg-light:focus, -button.bg-light:hover { - background-color: #c6c6c6 !important -} - -.bg-dark { - background-color: #74767b !important -} - -a.bg-dark:focus, -a.bg-dark:hover, -button.bg-dark:focus, -button.bg-dark:hover { - background-color: #5b5d61 !important -} - -.bg-white { - background-color: #fff !important -} - -a.bg-white:focus, -a.bg-white:hover, -button.bg-white:focus, -button.bg-white:hover { - background-color: #e6e6e6 !important -} - -.bg-white { - background-color: #fff !important -} - -.bg-transparent { - background-color: transparent !important -} - -.border { - border: 1px solid #f2f4f9 !important -} - -.border-top { - border-top: 1px solid #f2f4f9 !important -} - -.border-right { - border-right: 1px solid #f2f4f9 !important -} - -.border-bottom { - border-bottom: 1px solid #f2f4f9 !important -} - -.border-left { - border-left: 1px solid #f2f4f9 !important -} - -.border-0 { - border: 0 !important -} - -.border-top-0 { - border-top: 0 !important -} - -.border-right-0 { - border-right: 0 !important -} - -.border-bottom-0 { - border-bottom: 0 !important -} - -.border-left-0 { - border-left: 0 !important -} - -.border-primary { - border-color: #047006 !important -} - -.border-secondary { - border-color: grey !important -} - -.border-success { - border-color: #047006 !important -} - -.border-info { - border-color: #6c61f6 !important -} - -.border-warning { - border-color: #f0825f !important -} - -.border-danger { - border-color: #ff5f66 !important -} - -.border-light { - border-color: #dfdfdf !important -} - -.border-dark { - border-color: #74767b !important -} - -.border-white { - border-color: #fff !important -} - -.border-white { - border-color: #fff !important -} - -.rounded-sm { - border-radius: .2rem !important -} - -.rounded { - border-radius: 2px !important -} - -.rounded-top { - border-top-left-radius: 2px !important; - border-top-right-radius: 2px !important -} - -.rounded-right { - border-top-right-radius: 2px !important; - border-bottom-right-radius: 2px !important -} - -.rounded-bottom { - border-bottom-right-radius: 2px !important; - border-bottom-left-radius: 2px !important -} - -.rounded-left { - border-top-left-radius: 2px !important; - border-bottom-left-radius: 2px !important -} - -.rounded-lg { - border-radius: 6px !important -} - -.rounded-circle { - border-radius: 50% !important -} - -.rounded-pill { - border-radius: 50rem !important -} - -.rounded-0 { - border-radius: 0 !important -} - -.clearfix::after { - display: block; - clear: both; - content: '.5' -} - -.d-none { - display: none !important -} - -.d-inline { - display: inline !important -} - -.d-inline-block { - display: inline-block !important -} - -.d-block { - display: block !important -} - -.d-table { - display: table !important -} - -.d-table-row { - display: table-row !important -} - -.d-table-cell { - display: table-cell !important -} - -.d-flex { - display: -webkit-box !important; - display: flex !important -} - -.d-inline-flex { - display: -webkit-inline-box !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-row { - display: table-row !important - } - - .d-sm-table-cell { - display: table-cell !important - } - - .d-sm-flex { - display: -webkit-box !important; - display: flex !important - } - - .d-sm-inline-flex { - display: -webkit-inline-box !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-row { - display: table-row !important - } - - .d-md-table-cell { - display: table-cell !important - } - - .d-md-flex { - display: -webkit-box !important; - display: flex !important - } - - .d-md-inline-flex { - display: -webkit-inline-box !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-row { - display: table-row !important - } - - .d-lg-table-cell { - display: table-cell !important - } - - .d-lg-flex { - display: -webkit-box !important; - display: flex !important - } - - .d-lg-inline-flex { - display: -webkit-inline-box !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-row { - display: table-row !important - } - - .d-xl-table-cell { - display: table-cell !important - } - - .d-xl-flex { - display: -webkit-box !important; - display: flex !important - } - - .d-xl-inline-flex { - display: -webkit-inline-box !important; - display: inline-flex !important - } - -} - -@media print { - .d-print-none { - display: none !important - } - - .d-print-inline { - display: inline !important - } - - .d-print-inline-block { - display: inline-block !important - } - - .d-print-block { - display: block !important - } - - .d-print-table { - display: table !important - } - - .d-print-table-row { - display: table-row !important - } - - .d-print-table-cell { - display: table-cell !important - } - - .d-print-flex { - display: -webkit-box !important; - display: flex !important - } - - .d-print-inline-flex { - display: -webkit-inline-box !important; - display: inline-flex !important - } - -} - -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden -} - -.embed-responsive::before { - display: block; - content: '3' -} - -.embed-responsive .embed-responsive-item, -.embed-responsive embed, -.embed-responsive iframe, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0 -} - -.embed-responsive-21by9::before { - padding-top: 42.85714% -} - -.embed-responsive-16by9::before { - padding-top: 56.25% -} - -.embed-responsive-4by3::before { - padding-top: 75% -} - -.embed-responsive-1by1::before { - padding-top: 100% -} - -.embed-responsive-21by9::before { - padding-top: 42.85714% -} - -.embed-responsive-16by9::before { - padding-top: 56.25% -} - -.embed-responsive-4by3::before { - padding-top: 75% -} - -.embed-responsive-1by1::before { - padding-top: 100% -} - -.flex-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - flex-direction: row !important -} - -.flex-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - flex-direction: column !important -} - -.flex-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - flex-direction: row-reverse !important -} - -.flex-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - flex-direction: column-reverse !important -} - -.flex-wrap { - flex-wrap: wrap !important -} - -.flex-nowrap { - flex-wrap: nowrap !important -} - -.flex-wrap-reverse { - flex-wrap: wrap-reverse !important -} - -.flex-fill { - -webkit-box-flex: 1 !important; - flex: 1 1 auto !important -} - -.flex-grow-0 { - -webkit-box-flex: 0 !important; - flex-grow: 0 !important -} - -.flex-grow-1 { - -webkit-box-flex: 1 !important; - flex-grow: 1 !important -} - -.flex-shrink-0 { - flex-shrink: 0 !important -} - -.flex-shrink-1 { - flex-shrink: 1 !important -} - -.justify-content-start { - -webkit-box-pack: start !important; - justify-content: flex-start !important -} - -.justify-content-end { - -webkit-box-pack: end !important; - justify-content: flex-end !important -} - -.justify-content-center { - -webkit-box-pack: center !important; - justify-content: center !important -} - -.justify-content-between { - -webkit-box-pack: justify !important; - justify-content: space-between !important -} - -.justify-content-around { - justify-content: space-around !important -} - -.align-items-start { - -webkit-box-align: start !important; - align-items: flex-start !important -} - -.align-items-end { - -webkit-box-align: end !important; - align-items: flex-end !important -} - -.align-items-center { - -webkit-box-align: center !important; - align-items: center !important -} - -.align-items-baseline { - -webkit-box-align: baseline !important; - align-items: baseline !important -} - -.align-items-stretch { - -webkit-box-align: stretch !important; - align-items: stretch !important -} - -.align-content-start { - align-content: flex-start !important -} - -.align-content-end { - align-content: flex-end !important -} - -.align-content-center { - align-content: center !important -} - -.align-content-between { - align-content: space-between !important -} - -.align-content-around { - align-content: space-around !important -} - -.align-content-stretch { - align-content: stretch !important -} - -.align-self-auto { - align-self: auto !important -} - -.align-self-start { - align-self: flex-start !important -} - -.align-self-end { - align-self: flex-end !important -} - -.align-self-center { - align-self: center !important -} - -.align-self-baseline { - align-self: baseline !important -} - -.align-self-stretch { - align-self: stretch !important -} - -@media (min-width:576px) { - .flex-sm-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - flex-direction: row !important - } - - .flex-sm-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - flex-direction: column !important - } - - .flex-sm-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - flex-direction: row-reverse !important - } - - .flex-sm-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - flex-direction: column-reverse !important - } - - .flex-sm-wrap { - flex-wrap: wrap !important - } - - .flex-sm-nowrap { - flex-wrap: nowrap !important - } - - .flex-sm-wrap-reverse { - flex-wrap: wrap-reverse !important - } - - .flex-sm-fill { - -webkit-box-flex: 1 !important; - flex: 1 1 auto !important - } - - .flex-sm-grow-0 { - -webkit-box-flex: 0 !important; - flex-grow: 0 !important - } - - .flex-sm-grow-1 { - -webkit-box-flex: 1 !important; - flex-grow: 1 !important - } - - .flex-sm-shrink-0 { - flex-shrink: 0 !important - } - - .flex-sm-shrink-1 { - flex-shrink: 1 !important - } - - .justify-content-sm-start { - -webkit-box-pack: start !important; - justify-content: flex-start !important - } - - .justify-content-sm-end { - -webkit-box-pack: end !important; - justify-content: flex-end !important - } - - .justify-content-sm-center { - -webkit-box-pack: center !important; - justify-content: center !important - } - - .justify-content-sm-between { - -webkit-box-pack: justify !important; - justify-content: space-between !important - } - - .justify-content-sm-around { - justify-content: space-around !important - } - - .align-items-sm-start { - -webkit-box-align: start !important; - align-items: flex-start !important - } - - .align-items-sm-end { - -webkit-box-align: end !important; - align-items: flex-end !important - } - - .align-items-sm-center { - -webkit-box-align: center !important; - align-items: center !important - } - - .align-items-sm-baseline { - -webkit-box-align: baseline !important; - align-items: baseline !important - } - - .align-items-sm-stretch { - -webkit-box-align: stretch !important; - align-items: stretch !important - } - - .align-content-sm-start { - align-content: flex-start !important - } - - .align-content-sm-end { - align-content: flex-end !important - } - - .align-content-sm-center { - align-content: center !important - } - - .align-content-sm-between { - align-content: space-between !important - } - - .align-content-sm-around { - align-content: space-around !important - } - - .align-content-sm-stretch { - align-content: stretch !important - } - - .align-self-sm-auto { - align-self: auto !important - } - - .align-self-sm-start { - align-self: flex-start !important - } - - .align-self-sm-end { - align-self: flex-end !important - } - - .align-self-sm-center { - align-self: center !important - } - - .align-self-sm-baseline { - align-self: baseline !important - } - - .align-self-sm-stretch { - align-self: stretch !important - } - -} - -@media (min-width:768px) { - .flex-md-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - flex-direction: row !important - } - - .flex-md-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - flex-direction: column !important - } - - .flex-md-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - flex-direction: row-reverse !important - } - - .flex-md-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - flex-direction: column-reverse !important - } - - .flex-md-wrap { - flex-wrap: wrap !important - } - - .flex-md-nowrap { - flex-wrap: nowrap !important - } - - .flex-md-wrap-reverse { - flex-wrap: wrap-reverse !important - } - - .flex-md-fill { - -webkit-box-flex: 1 !important; - flex: 1 1 auto !important - } - - .flex-md-grow-0 { - -webkit-box-flex: 0 !important; - flex-grow: 0 !important - } - - .flex-md-grow-1 { - -webkit-box-flex: 1 !important; - flex-grow: 1 !important - } - - .flex-md-shrink-0 { - flex-shrink: 0 !important - } - - .flex-md-shrink-1 { - flex-shrink: 1 !important - } - - .justify-content-md-start { - -webkit-box-pack: start !important; - justify-content: flex-start !important - } - - .justify-content-md-end { - -webkit-box-pack: end !important; - justify-content: flex-end !important - } - - .justify-content-md-center { - -webkit-box-pack: center !important; - justify-content: center !important - } - - .justify-content-md-between { - -webkit-box-pack: justify !important; - justify-content: space-between !important - } - - .justify-content-md-around { - justify-content: space-around !important - } - - .align-items-md-start { - -webkit-box-align: start !important; - align-items: flex-start !important - } - - .align-items-md-end { - -webkit-box-align: end !important; - align-items: flex-end !important - } - - .align-items-md-center { - -webkit-box-align: center !important; - align-items: center !important - } - - .align-items-md-baseline { - -webkit-box-align: baseline !important; - align-items: baseline !important - } - - .align-items-md-stretch { - -webkit-box-align: stretch !important; - align-items: stretch !important - } - - .align-content-md-start { - align-content: flex-start !important - } - - .align-content-md-end { - align-content: flex-end !important - } - - .align-content-md-center { - align-content: center !important - } - - .align-content-md-between { - align-content: space-between !important - } - - .align-content-md-around { - align-content: space-around !important - } - - .align-content-md-stretch { - align-content: stretch !important - } - - .align-self-md-auto { - align-self: auto !important - } - - .align-self-md-start { - align-self: flex-start !important - } - - .align-self-md-end { - align-self: flex-end !important - } - - .align-self-md-center { - align-self: center !important - } - - .align-self-md-baseline { - align-self: baseline !important - } - - .align-self-md-stretch { - align-self: stretch !important - } - -} - -@media (min-width:992px) { - .flex-lg-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - flex-direction: row !important - } - - .flex-lg-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - flex-direction: column !important - } - - .flex-lg-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - flex-direction: row-reverse !important - } - - .flex-lg-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - flex-direction: column-reverse !important - } - - .flex-lg-wrap { - flex-wrap: wrap !important - } - - .flex-lg-nowrap { - flex-wrap: nowrap !important - } - - .flex-lg-wrap-reverse { - flex-wrap: wrap-reverse !important - } - - .flex-lg-fill { - -webkit-box-flex: 1 !important; - flex: 1 1 auto !important - } - - .flex-lg-grow-0 { - -webkit-box-flex: 0 !important; - flex-grow: 0 !important - } - - .flex-lg-grow-1 { - -webkit-box-flex: 1 !important; - flex-grow: 1 !important - } - - .flex-lg-shrink-0 { - flex-shrink: 0 !important - } - - .flex-lg-shrink-1 { - flex-shrink: 1 !important - } - - .justify-content-lg-start { - -webkit-box-pack: start !important; - justify-content: flex-start !important - } - - .justify-content-lg-end { - -webkit-box-pack: end !important; - justify-content: flex-end !important - } - - .justify-content-lg-center { - -webkit-box-pack: center !important; - justify-content: center !important - } - - .justify-content-lg-between { - -webkit-box-pack: justify !important; - justify-content: space-between !important - } - - .justify-content-lg-around { - justify-content: space-around !important - } - - .align-items-lg-start { - -webkit-box-align: start !important; - align-items: flex-start !important - } - - .align-items-lg-end { - -webkit-box-align: end !important; - align-items: flex-end !important - } - - .align-items-lg-center { - -webkit-box-align: center !important; - align-items: center !important - } - - .align-items-lg-baseline { - -webkit-box-align: baseline !important; - align-items: baseline !important - } - - .align-items-lg-stretch { - -webkit-box-align: stretch !important; - align-items: stretch !important - } - - .align-content-lg-start { - align-content: flex-start !important - } - - .align-content-lg-end { - align-content: flex-end !important - } - - .align-content-lg-center { - align-content: center !important - } - - .align-content-lg-between { - align-content: space-between !important - } - - .align-content-lg-around { - align-content: space-around !important - } - - .align-content-lg-stretch { - align-content: stretch !important - } - - .align-self-lg-auto { - align-self: auto !important - } - - .align-self-lg-start { - align-self: flex-start !important - } - - .align-self-lg-end { - align-self: flex-end !important - } - - .align-self-lg-center { - align-self: center !important - } - - .align-self-lg-baseline { - align-self: baseline !important - } - - .align-self-lg-stretch { - align-self: stretch !important - } - -} - -@media (min-width:1200px) { - .flex-xl-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - flex-direction: row !important - } - - .flex-xl-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - flex-direction: column !important - } - - .flex-xl-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - flex-direction: row-reverse !important - } - - .flex-xl-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - flex-direction: column-reverse !important - } - - .flex-xl-wrap { - flex-wrap: wrap !important - } - - .flex-xl-nowrap { - flex-wrap: nowrap !important - } - - .flex-xl-wrap-reverse { - flex-wrap: wrap-reverse !important - } - - .flex-xl-fill { - -webkit-box-flex: 1 !important; - flex: 1 1 auto !important - } - - .flex-xl-grow-0 { - -webkit-box-flex: 0 !important; - flex-grow: 0 !important - } - - .flex-xl-grow-1 { - -webkit-box-flex: 1 !important; - flex-grow: 1 !important - } - - .flex-xl-shrink-0 { - flex-shrink: 0 !important - } - - .flex-xl-shrink-1 { - flex-shrink: 1 !important - } - - .justify-content-xl-start { - -webkit-box-pack: start !important; - justify-content: flex-start !important - } - - .justify-content-xl-end { - -webkit-box-pack: end !important; - justify-content: flex-end !important - } - - .justify-content-xl-center { - -webkit-box-pack: center !important; - justify-content: center !important - } - - .justify-content-xl-between { - -webkit-box-pack: justify !important; - justify-content: space-between !important - } - - .justify-content-xl-around { - justify-content: space-around !important - } - - .align-items-xl-start { - -webkit-box-align: start !important; - align-items: flex-start !important - } - - .align-items-xl-end { - -webkit-box-align: end !important; - align-items: flex-end !important - } - - .align-items-xl-center { - -webkit-box-align: center !important; - align-items: center !important - } - - .align-items-xl-baseline { - -webkit-box-align: baseline !important; - align-items: baseline !important - } - - .align-items-xl-stretch { - -webkit-box-align: stretch !important; - align-items: stretch !important - } - - .align-content-xl-start { - align-content: flex-start !important - } - - .align-content-xl-end { - align-content: flex-end !important - } - - .align-content-xl-center { - align-content: center !important - } - - .align-content-xl-between { - align-content: space-between !important - } - - .align-content-xl-around { - align-content: space-around !important - } - - .align-content-xl-stretch { - align-content: stretch !important - } - - .align-self-xl-auto { - align-self: auto !important - } - - .align-self-xl-start { - align-self: flex-start !important - } - - .align-self-xl-end { - align-self: flex-end !important - } - - .align-self-xl-center { - align-self: center !important - } - - .align-self-xl-baseline { - align-self: baseline !important - } - - .align-self-xl-stretch { - align-self: stretch !important - } - -} - -.float-left { - float: left !important -} - -.float-right { - float: right !important -} - -.float-none { - float: none !important -} - -@media (min-width:576px) { - .float-sm-left { - float: left !important - } - - .float-sm-right { - float: right !important - } - - .float-sm-none { - float: none !important - } - -} - -@media (min-width:768px) { - .float-md-left { - float: left !important - } - - .float-md-right { - float: right !important - } - - .float-md-none { - float: none !important - } - -} - -@media (min-width:992px) { - .float-lg-left { - float: left !important - } - - .float-lg-right { - float: right !important - } - - .float-lg-none { - float: none !important - } - -} - -@media (min-width:1200px) { - .float-xl-left { - float: left !important - } - - .float-xl-right { - float: right !important - } - - .float-xl-none { - float: none !important - } - -} - -.overflow-auto { - overflow: auto !important -} - -.overflow-hidden { - overflow: hidden !important -} - -.position-static { - position: static !important -} - -.position-relative { - position: relative !important -} - -.position-absolute { - position: absolute !important -} - -.position-fixed { - position: fixed !important -} - -.position-sticky { - position: -webkit-sticky !important; - position: sticky !important -} - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030 -} - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030 -} - -@supports ((position:-webkit-sticky) or (position:sticky)) { - .sticky-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020 - } - -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0 -} - -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - overflow: visible; - clip: auto; - white-space: normal -} - -.shadow-sm { - box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important -} - -.shadow { - box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important -} - -.shadow-lg { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important -} - -.shadow-none { - box-shadow: none !important -} - -.w-25 { - width: 25% !important -} - -.w-50 { - width: 50% !important -} - -.w-75 { - width: 75% !important -} - -.w-100 { - width: 100% !important -} - -.w-auto { - width: auto !important -} - -.h-25 { - height: 25% !important -} - -.h-50 { - height: 50% !important -} - -.h-75 { - height: 75% !important -} - -.h-100 { - height: 100% !important -} - -.h-auto { - height: auto !important -} - -.mw-100 { - max-width: 100% !important -} - -.mh-100 { - max-height: 100% !important -} - -.min-vw-100 { - min-width: 100vw !important -} - -.min-vh-100 { - min-height: 100vh !important -} - -.vw-100 { - width: 100vw !important -} - -.vh-100 { - height: 100vh !important -} - -.stretched-link::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - pointer-events: auto; - content: '.5'; - background-color: rgba(0, 0, 0, 0) -} - -.m-0 { - margin: 0 !important -} - -.mt-0, -.my-0 { - margin-top: 0 !important -} - -.mr-0, -.mx-0 { - margin-right: 0 !important -} - -.mb-0, -.my-0 { - margin-bottom: 0 !important -} - -.ml-0, -.mx-0 { - margin-left: 0 !important -} - -.m-1 { - margin: .25rem !important -} - -.mt-1, -.my-1 { - margin-top: .25rem !important -} - -.mr-1, -.mx-1 { - margin-right: .25rem !important -} - -.mb-1, -.my-1 { - margin-bottom: .25rem !important -} - -.ml-1, -.mx-1 { - margin-left: .25rem !important -} - -.m-2 { - margin: .5rem !important -} - -.mt-2, -.my-2 { - margin-top: .5rem !important -} - -.mr-2, -.mx-2 { - margin-right: .5rem !important -} - -.mb-2, -.my-2 { - margin-bottom: .5rem !important -} - -.ml-2, -.mx-2 { - margin-left: .5rem !important -} - -.m-3 { - margin: 1rem !important -} - -.mt-3, -.my-3 { - margin-top: 1rem !important -} - -.mr-3, -.mx-3 { - margin-right: 1rem !important -} - -.mb-3, -.my-3 { - margin-bottom: 1rem !important -} - -.ml-3, -.mx-3 { - margin-left: 1rem !important -} - -.m-4 { - margin: 1.5rem !important -} - -.mt-4, -.my-4 { - margin-top: 1.5rem !important -} - -.mr-4, -.mx-4 { - margin-right: 1.5rem !important -} - -.mb-4, -.my-4 { - margin-bottom: 1.5rem !important -} - -.ml-4, -.mx-4 { - margin-left: 1.5rem !important -} - -.m-5 { - margin: 3rem !important -} - -.mt-5, -.my-5 { - margin-top: 3rem !important -} - -.mr-5, -.mx-5 { - margin-right: 3rem !important -} - -.mb-5, -.my-5 { - margin-bottom: 3rem !important -} - -.ml-5, -.mx-5 { - margin-left: 3rem !important -} - -.p-0 { - padding: 0 !important -} - -.pt-0, -.py-0 { - padding-top: 0 !important -} - -.pr-0, -.px-0 { - padding-right: 0 !important -} - -.pb-0, -.py-0 { - padding-bottom: 0 !important -} - -.pl-0, -.px-0 { - padding-left: 0 !important -} - -.p-1 { - padding: .25rem !important -} - -.pt-1, -.py-1 { - padding-top: .25rem !important -} - -.pr-1, -.px-1 { - padding-right: .25rem !important -} - -.pb-1, -.py-1 { - padding-bottom: .25rem !important -} - -.pl-1, -.px-1 { - padding-left: .25rem !important -} - -.p-2 { - padding: .5rem !important -} - -.pt-2, -.py-2 { - padding-top: .5rem !important -} - -.pr-2, -.px-2 { - padding-right: .5rem !important -} - -.pb-2, -.py-2 { - padding-bottom: .5rem !important -} - -.pl-2, -.px-2 { - padding-left: .5rem !important -} - -.p-3 { - padding: 1rem !important -} - -.pt-3, -.py-3 { - padding-top: 1rem !important -} - -.pr-3, -.px-3 { - padding-right: 1rem !important -} - -.pb-3, -.py-3 { - padding-bottom: 1rem !important -} - -.pl-3, -.px-3 { - padding-left: 1rem !important -} - -.p-4 { - padding: 1.5rem !important -} - -.pt-4, -.py-4 { - padding-top: 1.5rem !important -} - -.pr-4, -.px-4 { - padding-right: 1.5rem !important -} - -.pb-4, -.py-4 { - padding-bottom: 1.5rem !important -} - -.pl-4, -.px-4 { - padding-left: 1.5rem !important -} - -.p-5 { - padding: 3rem !important -} - -.pt-5, -.py-5 { - padding-top: 3rem !important -} - -.pr-5, -.px-5 { - padding-right: 3rem !important -} - -.pb-5, -.py-5 { - padding-bottom: 3rem !important -} - -.pl-5, -.px-5 { - padding-left: 3rem !important -} - -.m-n1 { - margin: -.25rem !important -} - -.mt-n1, -.my-n1 { - margin-top: -.25rem !important -} - -.mr-n1, -.mx-n1 { - margin-right: -.25rem !important -} - -.mb-n1, -.my-n1 { - margin-bottom: -.25rem !important -} - -.ml-n1, -.mx-n1 { - margin-left: -.25rem !important -} - -.m-n2 { - margin: -.5rem !important -} - -.mt-n2, -.my-n2 { - margin-top: -.5rem !important -} - -.mr-n2, -.mx-n2 { - margin-right: -.5rem !important -} - -.mb-n2, -.my-n2 { - margin-bottom: -.5rem !important -} - -.ml-n2, -.mx-n2 { - margin-left: -.5rem !important -} - -.m-n3 { - margin: -1rem !important -} - -.mt-n3, -.my-n3 { - margin-top: -1rem !important -} - -.mr-n3, -.mx-n3 { - margin-right: -1rem !important -} - -.mb-n3, -.my-n3 { - margin-bottom: -1rem !important -} - -.ml-n3, -.mx-n3 { - margin-left: -1rem !important -} - -.m-n4 { - margin: -1.5rem !important -} - -.mt-n4, -.my-n4 { - margin-top: -1.5rem !important -} - -.mr-n4, -.mx-n4 { - margin-right: -1.5rem !important -} - -.mb-n4, -.my-n4 { - margin-bottom: -1.5rem !important -} - -.ml-n4, -.mx-n4 { - margin-left: -1.5rem !important -} - -.m-n5 { - margin: -3rem !important -} - -.mt-n5, -.my-n5 { - margin-top: -3rem !important -} - -.mr-n5, -.mx-n5 { - margin-right: -3rem !important -} - -.mb-n5, -.my-n5 { - margin-bottom: -3rem !important -} - -.ml-n5, -.mx-n5 { - margin-left: -3rem !important -} - -.m-auto { - margin: auto !important -} - -.mt-auto, -.my-auto { - margin-top: auto !important -} - -.mr-auto, -.mx-auto { - margin-right: auto !important -} - -.mb-auto, -.my-auto { - margin-bottom: auto !important -} - -.ml-auto, -.mx-auto { - margin-left: auto !important -} - -@media (min-width:576px) { - .m-sm-0 { - margin: 0 !important - } - - .mt-sm-0, - .my-sm-0 { - margin-top: 0 !important - } - - .mr-sm-0, - .mx-sm-0 { - margin-right: 0 !important - } - - .mb-sm-0, - .my-sm-0 { - margin-bottom: 0 !important - } - - .ml-sm-0, - .mx-sm-0 { - margin-left: 0 !important - } - - .m-sm-1 { - margin: .25rem !important - } - - .mt-sm-1, - .my-sm-1 { - margin-top: .25rem !important - } - - .mr-sm-1, - .mx-sm-1 { - margin-right: .25rem !important - } - - .mb-sm-1, - .my-sm-1 { - margin-bottom: .25rem !important - } - - .ml-sm-1, - .mx-sm-1 { - margin-left: .25rem !important - } - - .m-sm-2 { - margin: .5rem !important - } - - .mt-sm-2, - .my-sm-2 { - margin-top: .5rem !important - } - - .mr-sm-2, - .mx-sm-2 { - margin-right: .5rem !important - } - - .mb-sm-2, - .my-sm-2 { - margin-bottom: .5rem !important - } - - .ml-sm-2, - .mx-sm-2 { - margin-left: .5rem !important - } - - .m-sm-3 { - margin: 1rem !important - } - - .mt-sm-3, - .my-sm-3 { - margin-top: 1rem !important - } - - .mr-sm-3, - .mx-sm-3 { - margin-right: 1rem !important - } - - .mb-sm-3, - .my-sm-3 { - margin-bottom: 1rem !important - } - - .ml-sm-3, - .mx-sm-3 { - margin-left: 1rem !important - } - - .m-sm-4 { - margin: 1.5rem !important - } - - .mt-sm-4, - .my-sm-4 { - margin-top: 1.5rem !important - } - - .mr-sm-4, - .mx-sm-4 { - margin-right: 1.5rem !important - } - - .mb-sm-4, - .my-sm-4 { - margin-bottom: 1.5rem !important - } - - .ml-sm-4, - .mx-sm-4 { - margin-left: 1.5rem !important - } - - .m-sm-5 { - margin: 3rem !important - } - - .mt-sm-5, - .my-sm-5 { - margin-top: 3rem !important - } - - .mr-sm-5, - .mx-sm-5 { - margin-right: 3rem !important - } - - .mb-sm-5, - .my-sm-5 { - margin-bottom: 3rem !important - } - - .ml-sm-5, - .mx-sm-5 { - margin-left: 3rem !important - } - - .p-sm-0 { - padding: 0 !important - } - - .pt-sm-0, - .py-sm-0 { - padding-top: 0 !important - } - - .pr-sm-0, - .px-sm-0 { - padding-right: 0 !important - } - - .pb-sm-0, - .py-sm-0 { - padding-bottom: 0 !important - } - - .pl-sm-0, - .px-sm-0 { - padding-left: 0 !important - } - - .p-sm-1 { - padding: .25rem !important - } - - .pt-sm-1, - .py-sm-1 { - padding-top: .25rem !important - } - - .pr-sm-1, - .px-sm-1 { - padding-right: .25rem !important - } - - .pb-sm-1, - .py-sm-1 { - padding-bottom: .25rem !important - } - - .pl-sm-1, - .px-sm-1 { - padding-left: .25rem !important - } - - .p-sm-2 { - padding: .5rem !important - } - - .pt-sm-2, - .py-sm-2 { - padding-top: .5rem !important - } - - .pr-sm-2, - .px-sm-2 { - padding-right: .5rem !important - } - - .pb-sm-2, - .py-sm-2 { - padding-bottom: .5rem !important - } - - .pl-sm-2, - .px-sm-2 { - padding-left: .5rem !important - } - - .p-sm-3 { - padding: 1rem !important - } - - .pt-sm-3, - .py-sm-3 { - padding-top: 1rem !important - } - - .pr-sm-3, - .px-sm-3 { - padding-right: 1rem !important - } - - .pb-sm-3, - .py-sm-3 { - padding-bottom: 1rem !important - } - - .pl-sm-3, - .px-sm-3 { - padding-left: 1rem !important - } - - .p-sm-4 { - padding: 1.5rem !important - } - - .pt-sm-4, - .py-sm-4 { - padding-top: 1.5rem !important - } - - .pr-sm-4, - .px-sm-4 { - padding-right: 1.5rem !important - } - - .pb-sm-4, - .py-sm-4 { - padding-bottom: 1.5rem !important - } - - .pl-sm-4, - .px-sm-4 { - padding-left: 1.5rem !important - } - - .p-sm-5 { - padding: 3rem !important - } - - .pt-sm-5, - .py-sm-5 { - padding-top: 3rem !important - } - - .pr-sm-5, - .px-sm-5 { - padding-right: 3rem !important - } - - .pb-sm-5, - .py-sm-5 { - padding-bottom: 3rem !important - } - - .pl-sm-5, - .px-sm-5 { - padding-left: 3rem !important - } - - .m-sm-n1 { - margin: -.25rem !important - } - - .mt-sm-n1, - .my-sm-n1 { - margin-top: -.25rem !important - } - - .mr-sm-n1, - .mx-sm-n1 { - margin-right: -.25rem !important - } - - .mb-sm-n1, - .my-sm-n1 { - margin-bottom: -.25rem !important - } - - .ml-sm-n1, - .mx-sm-n1 { - margin-left: -.25rem !important - } - - .m-sm-n2 { - margin: -.5rem !important - } - - .mt-sm-n2, - .my-sm-n2 { - margin-top: -.5rem !important - } - - .mr-sm-n2, - .mx-sm-n2 { - margin-right: -.5rem !important - } - - .mb-sm-n2, - .my-sm-n2 { - margin-bottom: -.5rem !important - } - - .ml-sm-n2, - .mx-sm-n2 { - margin-left: -.5rem !important - } - - .m-sm-n3 { - margin: -1rem !important - } - - .mt-sm-n3, - .my-sm-n3 { - margin-top: -1rem !important - } - - .mr-sm-n3, - .mx-sm-n3 { - margin-right: -1rem !important - } - - .mb-sm-n3, - .my-sm-n3 { - margin-bottom: -1rem !important - } - - .ml-sm-n3, - .mx-sm-n3 { - margin-left: -1rem !important - } - - .m-sm-n4 { - margin: -1.5rem !important - } - - .mt-sm-n4, - .my-sm-n4 { - margin-top: -1.5rem !important - } - - .mr-sm-n4, - .mx-sm-n4 { - margin-right: -1.5rem !important - } - - .mb-sm-n4, - .my-sm-n4 { - margin-bottom: -1.5rem !important - } - - .ml-sm-n4, - .mx-sm-n4 { - margin-left: -1.5rem !important - } - - .m-sm-n5 { - margin: -3rem !important - } - - .mt-sm-n5, - .my-sm-n5 { - margin-top: -3rem !important - } - - .mr-sm-n5, - .mx-sm-n5 { - margin-right: -3rem !important - } - - .mb-sm-n5, - .my-sm-n5 { - margin-bottom: -3rem !important - } - - .ml-sm-n5, - .mx-sm-n5 { - margin-left: -3rem !important - } - - .m-sm-auto { - margin: auto !important - } - - .mt-sm-auto, - .my-sm-auto { - margin-top: auto !important - } - - .mr-sm-auto, - .mx-sm-auto { - margin-right: auto !important - } - - .mb-sm-auto, - .my-sm-auto { - margin-bottom: auto !important - } - - .ml-sm-auto, - .mx-sm-auto { - margin-left: auto !important - } - -} - -@media (min-width:768px) { - .m-md-0 { - margin: 0 !important - } - - .mt-md-0, - .my-md-0 { - margin-top: 0 !important - } - - .mr-md-0, - .mx-md-0 { - margin-right: 0 !important - } - - .mb-md-0, - .my-md-0 { - margin-bottom: 0 !important - } - - .ml-md-0, - .mx-md-0 { - margin-left: 0 !important - } - - .m-md-1 { - margin: .25rem !important - } - - .mt-md-1, - .my-md-1 { - margin-top: .25rem !important - } - - .mr-md-1, - .mx-md-1 { - margin-right: .25rem !important - } - - .mb-md-1, - .my-md-1 { - margin-bottom: .25rem !important - } - - .ml-md-1, - .mx-md-1 { - margin-left: .25rem !important - } - - .m-md-2 { - margin: .5rem !important - } - - .mt-md-2, - .my-md-2 { - margin-top: .5rem !important - } - - .mr-md-2, - .mx-md-2 { - margin-right: .5rem !important - } - - .mb-md-2, - .my-md-2 { - margin-bottom: .5rem !important - } - - .ml-md-2, - .mx-md-2 { - margin-left: .5rem !important - } - - .m-md-3 { - margin: 1rem !important - } - - .mt-md-3, - .my-md-3 { - margin-top: 1rem !important - } - - .mr-md-3, - .mx-md-3 { - margin-right: 1rem !important - } - - .mb-md-3, - .my-md-3 { - margin-bottom: 1rem !important - } - - .ml-md-3, - .mx-md-3 { - margin-left: 1rem !important - } - - .m-md-4 { - margin: 1.5rem !important - } - - .mt-md-4, - .my-md-4 { - margin-top: 1.5rem !important - } - - .mr-md-4, - .mx-md-4 { - margin-right: 1.5rem !important - } - - .mb-md-4, - .my-md-4 { - margin-bottom: 1.5rem !important - } - - .ml-md-4, - .mx-md-4 { - margin-left: 1.5rem !important - } - - .m-md-5 { - margin: 3rem !important - } - - .mt-md-5, - .my-md-5 { - margin-top: 3rem !important - } - - .mr-md-5, - .mx-md-5 { - margin-right: 3rem !important - } - - .mb-md-5, - .my-md-5 { - margin-bottom: 3rem !important - } - - .ml-md-5, - .mx-md-5 { - margin-left: 3rem !important - } - - .p-md-0 { - padding: 0 !important - } - - .pt-md-0, - .py-md-0 { - padding-top: 0 !important - } - - .pr-md-0, - .px-md-0 { - padding-right: 0 !important - } - - .pb-md-0, - .py-md-0 { - padding-bottom: 0 !important - } - - .pl-md-0, - .px-md-0 { - padding-left: 0 !important - } - - .p-md-1 { - padding: .25rem !important - } - - .pt-md-1, - .py-md-1 { - padding-top: .25rem !important - } - - .pr-md-1, - .px-md-1 { - padding-right: .25rem !important - } - - .pb-md-1, - .py-md-1 { - padding-bottom: .25rem !important - } - - .pl-md-1, - .px-md-1 { - padding-left: .25rem !important - } - - .p-md-2 { - padding: .5rem !important - } - - .pt-md-2, - .py-md-2 { - padding-top: .5rem !important - } - - .pr-md-2, - .px-md-2 { - padding-right: .5rem !important - } - - .pb-md-2, - .py-md-2 { - padding-bottom: .5rem !important - } - - .pl-md-2, - .px-md-2 { - padding-left: .5rem !important - } - - .p-md-3 { - padding: 1rem !important - } - - .pt-md-3, - .py-md-3 { - padding-top: 1rem !important - } - - .pr-md-3, - .px-md-3 { - padding-right: 1rem !important - } - - .pb-md-3, - .py-md-3 { - padding-bottom: 1rem !important - } - - .pl-md-3, - .px-md-3 { - padding-left: 1rem !important - } - - .p-md-4 { - padding: 1.5rem !important - } - - .pt-md-4, - .py-md-4 { - padding-top: 1.5rem !important - } - - .pr-md-4, - .px-md-4 { - padding-right: 1.5rem !important - } - - .pb-md-4, - .py-md-4 { - padding-bottom: 1.5rem !important - } - - .pl-md-4, - .px-md-4 { - padding-left: 1.5rem !important - } - - .p-md-5 { - padding: 3rem !important - } - - .pt-md-5, - .py-md-5 { - padding-top: 3rem !important - } - - .pr-md-5, - .px-md-5 { - padding-right: 3rem !important - } - - .pb-md-5, - .py-md-5 { - padding-bottom: 3rem !important - } - - .pl-md-5, - .px-md-5 { - padding-left: 3rem !important - } - - .m-md-n1 { - margin: -.25rem !important - } - - .mt-md-n1, - .my-md-n1 { - margin-top: -.25rem !important - } - - .mr-md-n1, - .mx-md-n1 { - margin-right: -.25rem !important - } - - .mb-md-n1, - .my-md-n1 { - margin-bottom: -.25rem !important - } - - .ml-md-n1, - .mx-md-n1 { - margin-left: -.25rem !important - } - - .m-md-n2 { - margin: -.5rem !important - } - - .mt-md-n2, - .my-md-n2 { - margin-top: -.5rem !important - } - - .mr-md-n2, - .mx-md-n2 { - margin-right: -.5rem !important - } - - .mb-md-n2, - .my-md-n2 { - margin-bottom: -.5rem !important - } - - .ml-md-n2, - .mx-md-n2 { - margin-left: -.5rem !important - } - - .m-md-n3 { - margin: -1rem !important - } - - .mt-md-n3, - .my-md-n3 { - margin-top: -1rem !important - } - - .mr-md-n3, - .mx-md-n3 { - margin-right: -1rem !important - } - - .mb-md-n3, - .my-md-n3 { - margin-bottom: -1rem !important - } - - .ml-md-n3, - .mx-md-n3 { - margin-left: -1rem !important - } - - .m-md-n4 { - margin: -1.5rem !important - } - - .mt-md-n4, - .my-md-n4 { - margin-top: -1.5rem !important - } - - .mr-md-n4, - .mx-md-n4 { - margin-right: -1.5rem !important - } - - .mb-md-n4, - .my-md-n4 { - margin-bottom: -1.5rem !important - } - - .ml-md-n4, - .mx-md-n4 { - margin-left: -1.5rem !important - } - - .m-md-n5 { - margin: -3rem !important - } - - .mt-md-n5, - .my-md-n5 { - margin-top: -3rem !important - } - - .mr-md-n5, - .mx-md-n5 { - margin-right: -3rem !important - } - - .mb-md-n5, - .my-md-n5 { - margin-bottom: -3rem !important - } - - .ml-md-n5, - .mx-md-n5 { - margin-left: -3rem !important - } - - .m-md-auto { - margin: auto !important - } - - .mt-md-auto, - .my-md-auto { - margin-top: auto !important - } - - .mr-md-auto, - .mx-md-auto { - margin-right: auto !important - } - - .mb-md-auto, - .my-md-auto { - margin-bottom: auto !important - } - - .ml-md-auto, - .mx-md-auto { - margin-left: auto !important - } - -} - -@media (min-width:992px) { - .m-lg-0 { - margin: 0 !important - } - - .mt-lg-0, - .my-lg-0 { - margin-top: 0 !important - } - - .mr-lg-0, - .mx-lg-0 { - margin-right: 0 !important - } - - .mb-lg-0, - .my-lg-0 { - margin-bottom: 0 !important - } - - .ml-lg-0, - .mx-lg-0 { - margin-left: 0 !important - } - - .m-lg-1 { - margin: .25rem !important - } - - .mt-lg-1, - .my-lg-1 { - margin-top: .25rem !important - } - - .mr-lg-1, - .mx-lg-1 { - margin-right: .25rem !important - } - - .mb-lg-1, - .my-lg-1 { - margin-bottom: .25rem !important - } - - .ml-lg-1, - .mx-lg-1 { - margin-left: .25rem !important - } - - .m-lg-2 { - margin: .5rem !important - } - - .mt-lg-2, - .my-lg-2 { - margin-top: .5rem !important - } - - .mr-lg-2, - .mx-lg-2 { - margin-right: .5rem !important - } - - .mb-lg-2, - .my-lg-2 { - margin-bottom: .5rem !important - } - - .ml-lg-2, - .mx-lg-2 { - margin-left: .5rem !important - } - - .m-lg-3 { - margin: 1rem !important - } - - .mt-lg-3, - .my-lg-3 { - margin-top: 1rem !important - } - - .mr-lg-3, - .mx-lg-3 { - margin-right: 1rem !important - } - - .mb-lg-3, - .my-lg-3 { - margin-bottom: 1rem !important - } - - .ml-lg-3, - .mx-lg-3 { - margin-left: 1rem !important - } - - .m-lg-4 { - margin: 1.5rem !important - } - - .mt-lg-4, - .my-lg-4 { - margin-top: 1.5rem !important - } - - .mr-lg-4, - .mx-lg-4 { - margin-right: 1.5rem !important - } - - .mb-lg-4, - .my-lg-4 { - margin-bottom: 1.5rem !important - } - - .ml-lg-4, - .mx-lg-4 { - margin-left: 1.5rem !important - } - - .m-lg-5 { - margin: 3rem !important - } - - .mt-lg-5, - .my-lg-5 { - margin-top: 3rem !important - } - - .mr-lg-5, - .mx-lg-5 { - margin-right: 3rem !important - } - - .mb-lg-5, - .my-lg-5 { - margin-bottom: 3rem !important - } - - .ml-lg-5, - .mx-lg-5 { - margin-left: 3rem !important - } - - .p-lg-0 { - padding: 0 !important - } - - .pt-lg-0, - .py-lg-0 { - padding-top: 0 !important - } - - .pr-lg-0, - .px-lg-0 { - padding-right: 0 !important - } - - .pb-lg-0, - .py-lg-0 { - padding-bottom: 0 !important - } - - .pl-lg-0, - .px-lg-0 { - padding-left: 0 !important - } - - .p-lg-1 { - padding: .25rem !important - } - - .pt-lg-1, - .py-lg-1 { - padding-top: .25rem !important - } - - .pr-lg-1, - .px-lg-1 { - padding-right: .25rem !important - } - - .pb-lg-1, - .py-lg-1 { - padding-bottom: .25rem !important - } - - .pl-lg-1, - .px-lg-1 { - padding-left: .25rem !important - } - - .p-lg-2 { - padding: .5rem !important - } - - .pt-lg-2, - .py-lg-2 { - padding-top: .5rem !important - } - - .pr-lg-2, - .px-lg-2 { - padding-right: .5rem !important - } - - .pb-lg-2, - .py-lg-2 { - padding-bottom: .5rem !important - } - - .pl-lg-2, - .px-lg-2 { - padding-left: .5rem !important - } - - .p-lg-3 { - padding: 1rem !important - } - - .pt-lg-3, - .py-lg-3 { - padding-top: 1rem !important - } - - .pr-lg-3, - .px-lg-3 { - padding-right: 1rem !important - } - - .pb-lg-3, - .py-lg-3 { - padding-bottom: 1rem !important - } - - .pl-lg-3, - .px-lg-3 { - padding-left: 1rem !important - } - - .p-lg-4 { - padding: 1.5rem !important - } - - .pt-lg-4, - .py-lg-4 { - padding-top: 1.5rem !important - } - - .pr-lg-4, - .px-lg-4 { - padding-right: 1.5rem !important - } - - .pb-lg-4, - .py-lg-4 { - padding-bottom: 1.5rem !important - } - - .pl-lg-4, - .px-lg-4 { - padding-left: 1.5rem !important - } - - .p-lg-5 { - padding: 3rem !important - } - - .pt-lg-5, - .py-lg-5 { - padding-top: 3rem !important - } - - .pr-lg-5, - .px-lg-5 { - padding-right: 3rem !important - } - - .pb-lg-5, - .py-lg-5 { - padding-bottom: 3rem !important - } - - .pl-lg-5, - .px-lg-5 { - padding-left: 3rem !important - } - - .m-lg-n1 { - margin: -.25rem !important - } - - .mt-lg-n1, - .my-lg-n1 { - margin-top: -.25rem !important - } - - .mr-lg-n1, - .mx-lg-n1 { - margin-right: -.25rem !important - } - - .mb-lg-n1, - .my-lg-n1 { - margin-bottom: -.25rem !important - } - - .ml-lg-n1, - .mx-lg-n1 { - margin-left: -.25rem !important - } - - .m-lg-n2 { - margin: -.5rem !important - } - - .mt-lg-n2, - .my-lg-n2 { - margin-top: -.5rem !important - } - - .mr-lg-n2, - .mx-lg-n2 { - margin-right: -.5rem !important - } - - .mb-lg-n2, - .my-lg-n2 { - margin-bottom: -.5rem !important - } - - .ml-lg-n2, - .mx-lg-n2 { - margin-left: -.5rem !important - } - - .m-lg-n3 { - margin: -1rem !important - } - - .mt-lg-n3, - .my-lg-n3 { - margin-top: -1rem !important - } - - .mr-lg-n3, - .mx-lg-n3 { - margin-right: -1rem !important - } - - .mb-lg-n3, - .my-lg-n3 { - margin-bottom: -1rem !important - } - - .ml-lg-n3, - .mx-lg-n3 { - margin-left: -1rem !important - } - - .m-lg-n4 { - margin: -1.5rem !important - } - - .mt-lg-n4, - .my-lg-n4 { - margin-top: -1.5rem !important - } - - .mr-lg-n4, - .mx-lg-n4 { - margin-right: -1.5rem !important - } - - .mb-lg-n4, - .my-lg-n4 { - margin-bottom: -1.5rem !important - } - - .ml-lg-n4, - .mx-lg-n4 { - margin-left: -1.5rem !important - } - - .m-lg-n5 { - margin: -3rem !important - } - - .mt-lg-n5, - .my-lg-n5 { - margin-top: -3rem !important - } - - .mr-lg-n5, - .mx-lg-n5 { - margin-right: -3rem !important - } - - .mb-lg-n5, - .my-lg-n5 { - margin-bottom: -3rem !important - } - - .ml-lg-n5, - .mx-lg-n5 { - margin-left: -3rem !important - } - - .m-lg-auto { - margin: auto !important - } - - .mt-lg-auto, - .my-lg-auto { - margin-top: auto !important - } - - .mr-lg-auto, - .mx-lg-auto { - margin-right: auto !important - } - - .mb-lg-auto, - .my-lg-auto { - margin-bottom: auto !important - } - - .ml-lg-auto, - .mx-lg-auto { - margin-left: auto !important - } - -} - -@media (min-width:1200px) { - .m-xl-0 { - margin: 0 !important - } - - .mt-xl-0, - .my-xl-0 { - margin-top: 0 !important - } - - .mr-xl-0, - .mx-xl-0 { - margin-right: 0 !important - } - - .mb-xl-0, - .my-xl-0 { - margin-bottom: 0 !important - } - - .ml-xl-0, - .mx-xl-0 { - margin-left: 0 !important - } - - .m-xl-1 { - margin: .25rem !important - } - - .mt-xl-1, - .my-xl-1 { - margin-top: .25rem !important - } - - .mr-xl-1, - .mx-xl-1 { - margin-right: .25rem !important - } - - .mb-xl-1, - .my-xl-1 { - margin-bottom: .25rem !important - } - - .ml-xl-1, - .mx-xl-1 { - margin-left: .25rem !important - } - - .m-xl-2 { - margin: .5rem !important - } - - .mt-xl-2, - .my-xl-2 { - margin-top: .5rem !important - } - - .mr-xl-2, - .mx-xl-2 { - margin-right: .5rem !important - } - - .mb-xl-2, - .my-xl-2 { - margin-bottom: .5rem !important - } - - .ml-xl-2, - .mx-xl-2 { - margin-left: .5rem !important - } - - .m-xl-3 { - margin: 1rem !important - } - - .mt-xl-3, - .my-xl-3 { - margin-top: 1rem !important - } - - .mr-xl-3, - .mx-xl-3 { - margin-right: 1rem !important - } - - .mb-xl-3, - .my-xl-3 { - margin-bottom: 1rem !important - } - - .ml-xl-3, - .mx-xl-3 { - margin-left: 1rem !important - } - - .m-xl-4 { - margin: 1.5rem !important - } - - .mt-xl-4, - .my-xl-4 { - margin-top: 1.5rem !important - } - - .mr-xl-4, - .mx-xl-4 { - margin-right: 1.5rem !important - } - - .mb-xl-4, - .my-xl-4 { - margin-bottom: 1.5rem !important - } - - .ml-xl-4, - .mx-xl-4 { - margin-left: 1.5rem !important - } - - .m-xl-5 { - margin: 3rem !important - } - - .mt-xl-5, - .my-xl-5 { - margin-top: 3rem !important - } - - .mr-xl-5, - .mx-xl-5 { - margin-right: 3rem !important - } - - .mb-xl-5, - .my-xl-5 { - margin-bottom: 3rem !important - } - - .ml-xl-5, - .mx-xl-5 { - margin-left: 3rem !important - } - - .p-xl-0 { - padding: 0 !important - } - - .pt-xl-0, - .py-xl-0 { - padding-top: 0 !important - } - - .pr-xl-0, - .px-xl-0 { - padding-right: 0 !important - } - - .pb-xl-0, - .py-xl-0 { - padding-bottom: 0 !important - } - - .pl-xl-0, - .px-xl-0 { - padding-left: 0 !important - } - - .p-xl-1 { - padding: .25rem !important - } - - .pt-xl-1, - .py-xl-1 { - padding-top: .25rem !important - } - - .pr-xl-1, - .px-xl-1 { - padding-right: .25rem !important - } - - .pb-xl-1, - .py-xl-1 { - padding-bottom: .25rem !important - } - - .pl-xl-1, - .px-xl-1 { - padding-left: .25rem !important - } - - .p-xl-2 { - padding: .5rem !important - } - - .pt-xl-2, - .py-xl-2 { - padding-top: .5rem !important - } - - .pr-xl-2, - .px-xl-2 { - padding-right: .5rem !important - } - - .pb-xl-2, - .py-xl-2 { - padding-bottom: .5rem !important - } - - .pl-xl-2, - .px-xl-2 { - padding-left: .5rem !important - } - - .p-xl-3 { - padding: 1rem !important - } - - .pt-xl-3, - .py-xl-3 { - padding-top: 1rem !important - } - - .pr-xl-3, - .px-xl-3 { - padding-right: 1rem !important - } - - .pb-xl-3, - .py-xl-3 { - padding-bottom: 1rem !important - } - - .pl-xl-3, - .px-xl-3 { - padding-left: 1rem !important - } - - .p-xl-4 { - padding: 1.5rem !important - } - - .pt-xl-4, - .py-xl-4 { - padding-top: 1.5rem !important - } - - .pr-xl-4, - .px-xl-4 { - padding-right: 1.5rem !important - } - - .pb-xl-4, - .py-xl-4 { - padding-bottom: 1.5rem !important - } - - .pl-xl-4, - .px-xl-4 { - padding-left: 1.5rem !important - } - - .p-xl-5 { - padding: 3rem !important - } - - .pt-xl-5, - .py-xl-5 { - padding-top: 3rem !important - } - - .pr-xl-5, - .px-xl-5 { - padding-right: 3rem !important - } - - .pb-xl-5, - .py-xl-5 { - padding-bottom: 3rem !important - } - - .pl-xl-5, - .px-xl-5 { - padding-left: 3rem !important - } - - .m-xl-n1 { - margin: -.25rem !important - } - - .mt-xl-n1, - .my-xl-n1 { - margin-top: -.25rem !important - } - - .mr-xl-n1, - .mx-xl-n1 { - margin-right: -.25rem !important - } - - .mb-xl-n1, - .my-xl-n1 { - margin-bottom: -.25rem !important - } - - .ml-xl-n1, - .mx-xl-n1 { - margin-left: -.25rem !important - } - - .m-xl-n2 { - margin: -.5rem !important - } - - .mt-xl-n2, - .my-xl-n2 { - margin-top: -.5rem !important - } - - .mr-xl-n2, - .mx-xl-n2 { - margin-right: -.5rem !important - } - - .mb-xl-n2, - .my-xl-n2 { - margin-bottom: -.5rem !important - } - - .ml-xl-n2, - .mx-xl-n2 { - margin-left: -.5rem !important - } - - .m-xl-n3 { - margin: -1rem !important - } - - .mt-xl-n3, - .my-xl-n3 { - margin-top: -1rem !important - } - - .mr-xl-n3, - .mx-xl-n3 { - margin-right: -1rem !important - } - - .mb-xl-n3, - .my-xl-n3 { - margin-bottom: -1rem !important - } - - .ml-xl-n3, - .mx-xl-n3 { - margin-left: -1rem !important - } - - .m-xl-n4 { - margin: -1.5rem !important - } - - .mt-xl-n4, - .my-xl-n4 { - margin-top: -1.5rem !important - } - - .mr-xl-n4, - .mx-xl-n4 { - margin-right: -1.5rem !important - } - - .mb-xl-n4, - .my-xl-n4 { - margin-bottom: -1.5rem !important - } - - .ml-xl-n4, - .mx-xl-n4 { - margin-left: -1.5rem !important - } - - .m-xl-n5 { - margin: -3rem !important - } - - .mt-xl-n5, - .my-xl-n5 { - margin-top: -3rem !important - } - - .mr-xl-n5, - .mx-xl-n5 { - margin-right: -3rem !important - } - - .mb-xl-n5, - .my-xl-n5 { - margin-bottom: -3rem !important - } - - .ml-xl-n5, - .mx-xl-n5 { - margin-left: -3rem !important - } - - .m-xl-auto { - margin: auto !important - } - - .mt-xl-auto, - .my-xl-auto { - margin-top: auto !important - } - - .mr-xl-auto, - .mx-xl-auto { - margin-right: auto !important - } - - .mb-xl-auto, - .my-xl-auto { - margin-bottom: auto !important - } - - .ml-xl-auto, - .mx-xl-auto { - margin-left: auto !important - } - -} - -.text-monospace { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important -} - -.text-justify { - text-align: justify !important -} - -.text-wrap { - white-space: normal !important -} - -.text-nowrap { - white-space: nowrap !important -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap -} - -.text-left { - text-align: left !important -} - -.text-right { - text-align: right !important -} - -.text-center { - text-align: center !important -} - -@media (min-width:576px) { - .text-sm-left { - text-align: left !important - } - - .text-sm-right { - text-align: right !important - } - - .text-sm-center { - text-align: center !important - } - -} - -@media (min-width:768px) { - .text-md-left { - text-align: left !important - } - - .text-md-right { - text-align: right !important - } - - .text-md-center { - text-align: center !important - } - -} - -@media (min-width:992px) { - .text-lg-left { - text-align: left !important - } - - .text-lg-right { - text-align: right !important - } - - .text-lg-center { - text-align: center !important - } - -} - -@media (min-width:1200px) { - .text-xl-left { - text-align: left !important - } - - .text-xl-right { - text-align: right !important - } - - .text-xl-center { - text-align: center !important - } - -} - -.text-lowercase { - text-transform: lowercase !important -} - -.text-uppercase { - text-transform: uppercase !important -} - -.text-capitalize { - text-transform: capitalize !important -} - -.font-weight-light { - font-weight: 300 !important -} - -.font-weight-lighter { - font-weight: lighter !important -} - -.font-weight-normal { - font-weight: 400 !important -} - -.font-weight-bold { - font-weight: 700 !important -} - -.font-weight-bolder { - font-weight: bolder !important -} - -.font-italic { - font-style: italic !important -} - -.text-white { - color: #fff !important -} - -.text-primary { - color: #047006 !important -} - -a.text-primary:focus, -a.text-primary:hover { - color: #012602 !important -} - -.text-secondary { - color: grey !important -} - -a.text-secondary:focus, -a.text-secondary:hover { - color: #5a5a5a !important -} - -.text-success { - color: #047006 !important -} - -a.text-success:focus, -a.text-success:hover { - color: #009461 !important -} - -.text-info { - color: #6c61f6 !important -} - -a.text-info:focus, -a.text-info:hover { - color: #2919f2 !important -} - -.text-warning { - color: #f0825f !important -} - -a.text-warning:focus, -a.text-warning:hover { - color: #e94b19 !important -} - -.text-danger { - color: #ff5f66 !important -} - -a.text-danger:focus, -a.text-danger:hover { - color: #ff131d !important -} - -.text-light { - color: #dfdfdf !important -} - -a.text-light:focus, -a.text-light:hover { - color: #b9b9b9 !important -} - -.text-dark { - color: #74767b !important -} - -a.text-dark:focus, -a.text-dark:hover { - color: #4f5054 !important -} - -.text-white { - color: #fff !important -} - -a.text-white:focus, -a.text-white:hover { - color: #d9d9d9 !important -} - -.text-body { - color: #212529 !important -} - -.text-muted { - color: #adb5bd !important -} - -.text-black-50 { - color: rgba(0, 0, 0, .5) !important -} - -.text-white-50 { - color: rgba(255, 255, 255, .5) !important -} - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0 -} - -.text-decoration-none { - text-decoration: none !important -} - -.text-break { - word-break: break-word !important; - overflow-wrap: break-word !important -} - -.text-reset { - color: inherit !important -} - -.visible { - visibility: visible !important -} - -.invisible { - visibility: hidden !important -} - -@media print { - *, - ::after, - ::before { - text-shadow: none !important; - box-shadow: none !important - } - - a:not(.btn) { - text-decoration: underline - } - - abbr[title]::after { - content: '3'attr(title) ")" - } - - pre { - white-space: pre-wrap !important - } - - blockquote, - pre { - border: 1px solid #adb5bd; - page-break-inside: avoid - } - - thead { - display: table-header-group - } - - img, - tr { - page-break-inside: avoid - } - - h2, - h3, - p { - orphans: 3; - widows: 3 - } - - h2, - h3 { - page-break-after: avoid - } - - @page { - size: a3 - } - - body { - min-width: 992px !important - } - - .container { - min-width: 992px !important - } - - .navbar { - display: none - } - - .badge { - border: 1px solid #000 - } - - .table { - border-collapse: collapse !important - } - - .table td, - .table th { - background-color: #fff !important - } - - .table-bordered td, - .table-bordered th { - border: 1px solid #dee2e6 !important - } - - .table-dark { - color: inherit - } - - .table-dark tbody+tbody, - .table-dark td, - .table-dark th, - .table-dark thead th { - border-color: #f2f4f9 - } - - .table .thead-dark th { - color: inherit; - border-color: #f2f4f9 - } - -} - -.dev-info { - position: fixed; - color: grey; - font-size: smaller; - left: 8px; - z-index: 120 -} - -.versionstring { - top: 70px; - right: 8px; - left: auto -} - -.grd-time-used { - bottom: 0 -} - -.t-header { - display: -webkit-box; - display: flex; - height: 70px; - background: #f9fafb; - z-index: 100 -} - -@media (max-width:991.98px) { - .t-header { - padding-left: 5px; - padding-right: 5px - } - -} - -.t-header .t-header-brand-wrapper { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - height: 70px; - width: 17rem; - min-width: 17rem; - max-width: 17rem; - background: #fff; - z-index: 100; - padding-left: 18px -} - -.t-header .t-header-brand-wrapper a { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - color: #dfdfdf; - font-family: Roboto, sans-serif; - font-weight: 500; - font-size: 1.25rem -} - -.t-header .t-header-brand-wrapper a .logo { - max-width: 100%; - width: 110px -} - -.t-header .t-header-brand-wrapper a .logo-mini { - display: none; - max-width: 100%; - width: 35px -} - -.t-header .t-header-brand-wrapper a p { - color: inherit; - font-size: inherit; - font-weight: inherit; - margin-bottom: 0 -} - -@media (max-width:991.98px) { - .t-header .t-header-brand-wrapper { - padding-left: 0; - -webkit-box-pack: center; - justify-content: center - } - - .t-header .t-header-brand-wrapper a .logo-mini { - width: 25px - } - -} - -.t-header .t-header-content-wrapper { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row; - width: 100%; - max-width: 100%; - padding: 0 2.5rem -} - -@media (max-width:991.98px) { - .t-header .t-header-content-wrapper { - padding: 0 1rem - } - -} - -.t-header .t-header-content-wrapper .t-header-search-box { - display: -webkit-box; - display: flex; - width: 40%; - height: 45px; - border: none; - background: #edf0f3; - border-radius: 4px; - -webkit-transition: .3s ease-in-out; - transition: .3s ease-in-out; - -webkit-transition-property: background; - transition-property: background -} - -@media (max-width:580px) { - .t-header .t-header-content-wrapper .t-header-search-box { - display: none - } - -} - -.t-header .t-header-content-wrapper .t-header-search-box .input-group-prepend .input-group-text { - border: none; - background: 0 0; - font-size: 1.5rem; - padding-left: 15px; - line-height: 23px -} - -.t-header .t-header-content-wrapper .t-header-search-box .form-control { - height: inherit; - border: none; - background: 0 0; - font-size: .875rem; - font-family: Roboto, sans-serif; - font-weight: 500; - padding-left: 0 -} - -.t-header .t-header-content-wrapper .t-header-search-box .form-control.placeholder { - font-size: inherit; - font-family: inherit; - font-weight: inherit -} - -.t-header .t-header-content-wrapper .t-header-search-box .form-control:-moz-placeholder { - font-size: inherit; - font-family: inherit; - font-weight: inherit -} - -.t-header .t-header-content-wrapper .t-header-search-box .form-control::-moz-placeholder { - font-size: inherit; - font-family: inherit; - font-weight: inherit -} - -.t-header .t-header-content-wrapper .t-header-search-box .form-control:-ms-input-placeholder { - font-size: inherit; - font-family: inherit; - font-weight: inherit -} - -.t-header .t-header-content-wrapper .t-header-search-box .form-control::-webkit-input-placeholder { - font-size: inherit; - font-family: inherit; - font-weight: inherit -} - -.t-header .t-header-content-wrapper .t-header-search-box:hover { - background: #e4e8ed -} - -.t-header .t-header-content-wrapper .t-header-content { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - width: 100%; - max-width: 100% -} - -.t-header .t-header-content-wrapper .t-header-content .nav .nav-item .nav-link { - position: relative; - font-family: Roboto, sans-serif -} - -.t-header .t-header-content-wrapper .t-header-content .nav .nav-item .nav-link i { - color: #525c5d -} - -.t-header .t-header-content-wrapper .t-header-content .nav .nav-item .nav-link .notification-indicator { - position: absolute; - top: 12px; - right: 12px -} - -.t-header .t-header-content-wrapper .t-header-content .nav .nav-item:last-child .nav-link { - padding-right: 0 -} - -.t-header .t-header-toggler { - background: 0 0; - border: none; - margin-left: auto -} - -.t-header .t-header-toggler svg.logo { - width: 50px; - height: 50px; - cursor: pointer; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -.t-header .t-header-toggler svg.logo path { - fill: none; - -webkit-transition: stroke-dashoffset .35s cubic-bezier(.25, -.25, .75, 1.25), stroke-dasharray .35s cubic-bezier(.25, -.25, .75, 1.25); - transition: stroke-dashoffset .35s cubic-bezier(.25, -.25, .75, 1.25), stroke-dasharray .35s cubic-bezier(.25, -.25, .75, 1.25); - stroke-width: 8px; - stroke-linecap: round; - stroke: #adb5bd; - stroke-dashoffset: -20px -} - -.t-header .t-header-toggler svg.logo .bottom, -.t-header .t-header-toggler svg.logo .middle, -.t-header .t-header-toggler svg.logo .top { - stroke-dasharray: 60px 300px -} - -.t-header .t-header-toggler.arrow path.bottom, -.t-header .t-header-toggler.arrow path.top { - stroke-dasharray: 25px 300px; - stroke-dashoffset: -230px -} - -.t-header .t-header-toggler i { - font-size: 1.375rem -} - -.t-header .t-header-toggler.t-header-mobile-toggler { - margin-left: 0; - margin-right: 15px -} - -.t-header.fixed-top { - position: fixed -} - -.header-fixed .t-header { - position: fixed; - top: 0; - right: 0; - left: 0; - width: 100%; - z-index: 100 -} - -.header-fixed .sidebar { - padding-top: 70px -} - -.header-fixed .sidebar .t-header-brand-wrapper { - position: fixed; - left: 0; - top: 0; - z-index: 100; - width: 17rem; - box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .05) -} - -.header-fixed .sidebar .navigation-menu { - z-index: 1 -} - -.sidebar { - position: relative; - display: block; - height: 100%; - min-height: 100vh; - width: 17rem; - min-width: 17rem; - max-width: 17rem; - background: #fff -} - -.sidebar .sidebar-header { - border-bottom: 1px solid #2c3744 -} - -.sidebar .navigation-menu { - padding-left: 0; - padding-bottom: 80px; - margin-bottom: 0; - margin-top: 18px -} - -.sidebar .navigation-menu li { - display: block; - margin: 0; - -webkit-transition-duration: .25s; - transition-duration: .25s; - -webkit-transition-timing-function: cubic-bezier(.26, .66, .45, .78); - transition-timing-function: cubic-bezier(.26, .66, .45, .78); - -webkit-transition-property: background; - transition-property: background -} - -.sidebar .navigation-menu li.nav-category-divider { - position: -webkit-sticky; - position: sticky; - top: 64px; - display: block; - background: #fff; - margin: 15px 0 0 0; - padding: 20px 30px 10px 30px; - font-size: 10px; - color: #047006; - z-index: 1; - font-family: Roboto, sans-serif; - font-weight: 500 -} - -.sidebar .navigation-menu li.nav-category-divider:first-child { - margin-top: 0 -} - -.sidebar .navigation-menu li a { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - flex-direction: row-reverse; - -webkit-box-pack: end; - justify-content: flex-end; - padding: 12px 30px 12px 30px; - font-size: 13px; - line-height: 1; - color: #525c5d; - letter-spacing: .03rem; - font-weight: 500; - max-width: 100%; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden -} - -.sidebar .navigation-menu li a .link-icon { - margin-right: 15px; - line-height: 1; - color: #525c5d; - font-size: 1.1875rem -} - -.sidebar .navigation-menu li:last-child a { - border-bottom: none -} - -.sidebar .navigation-menu li .navigation-submenu { - background: #fafafa; - padding: 0 0 10px 30px -} - -.sidebar .navigation-menu li .navigation-submenu.collapsing { - -webkit-transition: .2s ease-in; - transition: .2s ease-in -} - -.sidebar .navigation-menu li .navigation-submenu li { - display: inherit -} - -.sidebar .navigation-menu li .navigation-submenu li a { - display: block; - padding: calc(9px) 30px calc(9px) calc(30px + 2px); - opacity: .8; - letter-spacing: .03rem; - font-weight: 400; - font-size: calc(13px - 1px); - -webkit-transition: .3s ease-in-out; - transition: .3s ease-in-out; - -webkit-transition-property: color; - transition-property: color -} - -.sidebar .navigation-menu li .navigation-submenu li a[data-toggle=collapse] { - position: relative -} - -.sidebar .navigation-menu li .navigation-submenu li a[data-toggle=collapse]:after { - content: '.5'; - height: 7px; - width: 7px; - border-radius: 25px; - position: absolute; - right: calc(30px + 4px); - top: 14px -} - -.sidebar .navigation-menu li .navigation-submenu li a.active { - color: #047006 -} - -.sidebar .navigation-menu li .navigation-submenu li a:hover { - color: #047006 -} - -.sidebar .navigation-menu li .navigation-submenu li:first-child a { - padding-top: 10px -} - -.sidebar .navigation-menu li .navigation-submenu li:first-child a:after { - top: 15px -} - -.sidebar .navigation-menu li .navigation-submenu li:nth-child(5n+1) a:after { - background: #047006 -} - -.sidebar .navigation-menu li .navigation-submenu li:nth-child(5n+2) a:after { - background: #047006 -} - -.sidebar .navigation-menu li .navigation-submenu li:nth-child(5n+3) a:after { - background: #ff5f66 -} - -.sidebar .navigation-menu li .navigation-submenu li:nth-child(5n+4) a:after { - background: #f0825f -} - -.sidebar .navigation-menu li .navigation-submenu li:nth-child(5n+5) a:after { - background: #6c61f6 -} - -.sidebar .navigation-menu li .navigation-submenu li .navigation-submenu { - padding-left: 0 -} - -.sidebar .navigation-menu li .navigation-submenu li .navigation-submenu li a { - opacity: .5 -} - -.sidebar .navigation-menu li.active a .link-title { - color: #047006 -} - -.sidebar .navigation-menu li.active a .link-icon { - color: #047006 -} - -.sidebar .navigation-menu>li:not(.nav-category-divider):hover { - background: #fafafa -} - -.sidebar .navigation-menu>li:not(.nav-category-divider)>a[data-toggle=collapse] { - position: relative -} - -.sidebar .navigation-menu>li:not(.nav-category-divider)>a[data-toggle=collapse]:after { - content: '3'; - font-family: "Material Design Icons"; - font-size: 15px; - text-rendering: auto; - line-height: inherit; - font-weight: bolder; - position: absolute; - top: 13px; - right: 30px; - display: block; - -webkit-transition: .3s; - transition: .3s; - -webkit-transition-property: -webkit-transform; - transition-property: -webkit-transform; - transition-property: transform; - transition-property: transform, -webkit-transform; - color: #839092 -} - -.sidebar .navigation-menu>li:not(.nav-category-divider)>a[data-toggle=collapse][aria-expanded=true] { - background: #fafafa -} - -.sidebar .navigation-menu>li:not(.nav-category-divider)>a[data-toggle=collapse][aria-expanded=true]:after { - -webkit-transform: rotate(90deg); - transform: rotate(90deg) -} - -.sidebar .sidebar_footer { - display: block; - position: fixed; - bottom: 0; - left: 0; - margin-top: auto; - width: inherit; - z-index: 2; - background: #fff -} - -.sidebar .sidebar_footer .admin-access-level { - position: absolute; - bottom: 0; - display: -webkit-box; - display: flex; - -webkit-box-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - align-items: center; - z-index: 9999; - height: auto; - width: 100%; - background: #fff; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - padding: 10px 20px; - box-shadow: -7px -2px 25px -5px rgba(0, 0, 0, .12) -} - -.sidebar .sidebar_footer .admin-access-level .user-type-wrapper { - padding: 0 0 0 10px -} - -.sidebar .sidebar_footer .admin-access-level .user-type-wrapper .user_name { - color: #525c5d; - margin-bottom: 8px; - line-height: 1; - max-width: 100%; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - max-width: 95px; - font-family: Roboto, sans-serif; - font-weight: 500; - letter-spacing: .03rem -} - -.sidebar .sidebar_footer .admin-access-level .user-type-wrapper .user_access_level { - color: #74767b; - line-height: 1 -} - -.sidebar .sidebar_footer .admin-access-level .user-type-wrapper .status-indicator { - margin-right: 5px -} - -.sidebar .sidebar_footer .admin-access-level .arrow { - color: #525c5d; - margin-left: auto; - font-size: 20px; - line-height: 1; - -webkit-transition: .3s; - transition: .3s -} - -.sidebar .sidebar_footer .user-account { - display: block; - width: 100%; - border-radius: 0; - border: none; - margin-bottom: -100vh; - opacity: 0; - -webkit-transition: .3s; - transition: .3s; - border-right: 1px solid #f2f4f9; - box-shadow: -7px -2px 25px -5px rgba(0, 0, 0, .12) -} - -.sidebar .sidebar_footer .user-account:before { - display: none -} - -.sidebar .sidebar_footer .user-account .user-profile-item-tittle { - background: 0 0; - padding: 20px 18px 10px 18px; - z-index: 1; - color: #adb5bd; - font-family: Roboto, sans-serif; - font-weight: 500 -} - -.sidebar .sidebar_footer .user-account .user-profile-itemcategory { - background: 0 0; - margin-bottom: 10px; - border-bottom: 1px solid #f2f4f9; - padding-bottom: 10px; - font-family: Roboto, sans-serif; - font-weight: 500; - letter-spacing: .03rem -} - -.sidebar .sidebar_footer .user-account .user-profile-item { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - background: inherit; - padding: 10px 18px; - -webkit-transition: .3s; - transition: .3s; - z-index: 1; - background: 0 0; - color: #525c5d; - font-size: 13px; - font-family: Roboto, sans-serif; - font-weight: 500; - letter-spacing: .03rem -} - -.sidebar .sidebar_footer .user-account .user-profile-item:hover { - background: #f5f5f5 -} - -.sidebar .sidebar_footer .user-account .user-profile-item i { - margin-right: 10px; - font-size: 18px; - line-height: 1; - color: inherit -} - -.sidebar .sidebar_footer .user-account .user-profile-item img { - margin-right: 10px -} - -.sidebar .sidebar_footer .user-account .btn-logout { - width: 91%; - max-width: 91%; - margin: 15px 10px 30px 10px; - border-radius: 4px -} - -.sidebar .sidebar_footer.opened { - background: #fff -} - -.sidebar .sidebar_footer.opened .admin-access-level { - background: #fff -} - -.sidebar .sidebar_footer.opened .admin-access-level .arrow { - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg) -} - -.sidebar .sidebar_footer.opened .user-account { - margin-bottom: 60px; - opacity: 1; - background: #fff -} - -footer { - position: absolute; - bottom: 0; - left: 0; - right: 0; - padding: 2rem 2.5rem; - max-width: 1140px; - margin-left: auto; - margin-right: auto -} - -@media (max-width:991.98px) { - footer { - padding: 20px 0 30px 0 - } - -} - -footer ul { - margin-left: 0; - padding-left: 0 -} - -footer ul li { - display: inline-block; - padding: 0 10px 0 0; - line-height: 1 -} - -footer ul li:not(:last-child) { - margin-right: 10px; - border-right: 1px solid #f2f4f9 -} - -footer ul li a { - font-family: Roboto, sans-serif; - font-weight: 400; - letter-spacing: .03rem; - color: #565656 -} - -pre.cake-error { - z-index: 220; - position: absolute; - background-color: #fff -} - -.alert-notification-wrapper { - position: fixed; - left: 17rem; - right: 0; - z-index: 999 -} - -@media (max-width:991.98px) { - .alert-notification-wrapper { - left: 0 - } - -} - -.alert-notification-wrapper.top { - top: 70px -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-twitter { - border: 2px solid #55acee; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-twitter i { - color: #55acee -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-twitter.btn-link { - background: 0 0; - color: #55acee -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-twitter.btn-link:hover { - color: #2795e9 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-facebook { - border: 2px solid #0084ff; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-facebook i { - color: #0084ff -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-facebook.btn-link { - background: 0 0; - color: #0084ff -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-facebook.btn-link:hover { - color: #006acc -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-google { - border: 2px solid #dd4b39; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-google i { - color: #dd4b39 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-google.btn-link { - background: 0 0; - color: #dd4b39 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-google.btn-link:hover { - color: #c23321 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-linkedin { - border: 2px solid #0077b5; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-linkedin i { - color: #0077b5 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-linkedin.btn-link { - background: 0 0; - color: #0077b5 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-linkedin.btn-link:hover { - color: #005582 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-pinterest { - border: 2px solid #bd081c; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-pinterest i { - color: #bd081c -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-pinterest.btn-link { - background: 0 0; - color: #bd081c -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-pinterest.btn-link:hover { - color: #8c0615 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-youtube { - border: 2px solid #cd201f; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-youtube i { - color: #cd201f -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-youtube.btn-link { - background: 0 0; - color: #cd201f -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-youtube.btn-link:hover { - color: #a11918 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-github { - border: 2px solid #333; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-github i { - color: #333 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-github.btn-link { - background: 0 0; - color: #333 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-github.btn-link:hover { - color: #1a1a1a -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-behance { - border: 2px solid #0454f6; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-behance i { - color: #0454f6 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-behance.btn-link { - background: 0 0; - color: #0454f6 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-behance.btn-link:hover { - color: #0343c4 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-dribbble { - border: 2px solid #ea4c89; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-dribbble i { - color: #ea4c89 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-dribbble.btn-link { - background: 0 0; - color: #ea4c89 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-dribbble.btn-link:hover { - color: #e51e6b -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-reddit { - border: 2px solid #ed4333; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-reddit i { - color: #ed4333 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-reddit.btn-link { - background: 0 0; - color: #ed4333 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-reddit.btn-link:hover { - color: #da2413 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-instagram { - border: 2px solid #ff759b; - color: #101010 -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-instagram i { - color: #ff759b -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-instagram.btn-link { - background: 0 0; - color: #ff759b -} - -.btn:not(.social-icon-btn).social-btn-outlined.btn-instagram.btn-link:hover { - color: #ff4276 -} - -.btn-inverse-primary { - background: rgba(4, 112, 6, .15); - color: #047006 -} - -.btn-inverse-primary i { - color: inherit -} - -.btn-inverse-primary:hover { - background: rgba(4, 112, 6, .8); - color: #fff -} - -.btn-inverse-secondary { - background: rgba(128, 128, 128, .15); - color: grey -} - -.btn-inverse-secondary i { - color: inherit -} - -.btn-inverse-secondary:hover { - background: rgba(128, 128, 128, .8); - color: #fff -} - -.btn-inverse-success { - background: rgba(0, 224, 147, .15); - color: #047006 -} - -.btn-inverse-success i { - color: inherit -} - -.btn-inverse-success:hover { - background: rgba(0, 224, 147, .8); - color: #fff -} - -.btn-inverse-info { - background: rgba(108, 97, 246, .15); - color: #6c61f6 -} - -.btn-inverse-info i { - color: inherit -} - -.btn-inverse-info:hover { - background: rgba(108, 97, 246, .8); - color: #fff -} - -.btn-inverse-warning { - background: rgba(240, 130, 95, .15); - color: #f0825f -} - -.btn-inverse-warning i { - color: inherit -} - -.btn-inverse-warning:hover { - background: rgba(240, 130, 95, .8); - color: #fff -} - -.btn-inverse-danger { - background: rgba(255, 95, 102, .15); - color: #ff5f66 -} - -.btn-inverse-danger i { - color: inherit -} - -.btn-inverse-danger:hover { - background: rgba(255, 95, 102, .8); - color: #fff -} - -.btn-inverse-light { - background: rgba(223, 223, 223, .15); - color: #dfdfdf -} - -.btn-inverse-light i { - color: inherit -} - -.btn-inverse-light:hover { - background: rgba(223, 223, 223, .8); - color: #fff -} - -.btn-inverse-dark { - background: rgba(116, 118, 123, .15); - color: #74767b -} - -.btn-inverse-dark i { - color: inherit -} - -.btn-inverse-dark:hover { - background: rgba(116, 118, 123, .8); - color: #fff -} - -.btn-inverse-white { - background: rgba(255, 255, 255, .15); - color: #fff -} - -.btn-inverse-white i { - color: inherit -} - -.btn-inverse-white:hover { - background: rgba(255, 255, 255, .8); - color: #fff -} - -.btn:not(.social-btn-outlined).btn-twitter { - background: #55acee; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-twitter:hover { - background: #2795e9 -} - -.btn:not(.social-btn-outlined).btn-twitter.btn-link { - background: 0 0; - color: #55acee -} - -.btn:not(.social-btn-outlined).btn-twitter.btn-link:hover { - color: #2795e9 -} - -.btn:not(.social-btn-outlined).btn-facebook { - background: #0084ff; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-facebook:hover { - background: #006acc -} - -.btn:not(.social-btn-outlined).btn-facebook.btn-link { - background: 0 0; - color: #0084ff -} - -.btn:not(.social-btn-outlined).btn-facebook.btn-link:hover { - color: #006acc -} - -.btn:not(.social-btn-outlined).btn-google { - background: #dd4b39; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-google:hover { - background: #c23321 -} - -.btn:not(.social-btn-outlined).btn-google.btn-link { - background: 0 0; - color: #dd4b39 -} - -.btn:not(.social-btn-outlined).btn-google.btn-link:hover { - color: #c23321 -} - -.btn:not(.social-btn-outlined).btn-linkedin { - background: #0077b5; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-linkedin:hover { - background: #005582 -} - -.btn:not(.social-btn-outlined).btn-linkedin.btn-link { - background: 0 0; - color: #0077b5 -} - -.btn:not(.social-btn-outlined).btn-linkedin.btn-link:hover { - color: #005582 -} - -.btn:not(.social-btn-outlined).btn-pinterest { - background: #bd081c; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-pinterest:hover { - background: #8c0615 -} - -.btn:not(.social-btn-outlined).btn-pinterest.btn-link { - background: 0 0; - color: #bd081c -} - -.btn:not(.social-btn-outlined).btn-pinterest.btn-link:hover { - color: #8c0615 -} - -.btn:not(.social-btn-outlined).btn-youtube { - background: #cd201f; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-youtube:hover { - background: #a11918 -} - -.btn:not(.social-btn-outlined).btn-youtube.btn-link { - background: 0 0; - color: #cd201f -} - -.btn:not(.social-btn-outlined).btn-youtube.btn-link:hover { - color: #a11918 -} - -.btn:not(.social-btn-outlined).btn-github { - background: #333; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-github:hover { - background: #1a1a1a -} - -.btn:not(.social-btn-outlined).btn-github.btn-link { - background: 0 0; - color: #333 -} - -.btn:not(.social-btn-outlined).btn-github.btn-link:hover { - color: #1a1a1a -} - -.btn:not(.social-btn-outlined).btn-behance { - background: #0454f6; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-behance:hover { - background: #0343c4 -} - -.btn:not(.social-btn-outlined).btn-behance.btn-link { - background: 0 0; - color: #0454f6 -} - -.btn:not(.social-btn-outlined).btn-behance.btn-link:hover { - color: #0343c4 -} - -.btn:not(.social-btn-outlined).btn-dribbble { - background: #ea4c89; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-dribbble:hover { - background: #e51e6b -} - -.btn:not(.social-btn-outlined).btn-dribbble.btn-link { - background: 0 0; - color: #ea4c89 -} - -.btn:not(.social-btn-outlined).btn-dribbble.btn-link:hover { - color: #e51e6b -} - -.btn:not(.social-btn-outlined).btn-reddit { - background: #ed4333; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-reddit:hover { - background: #da2413 -} - -.btn:not(.social-btn-outlined).btn-reddit.btn-link { - background: 0 0; - color: #ed4333 -} - -.btn:not(.social-btn-outlined).btn-reddit.btn-link:hover { - color: #da2413 -} - -.btn:not(.social-btn-outlined).btn-instagram { - background: #ff759b; - border: none; - color: #fff -} - -.btn:not(.social-btn-outlined).btn-instagram:hover { - background: #ff4276 -} - -.btn:not(.social-btn-outlined).btn-instagram.btn-link { - background: 0 0; - color: #ff759b -} - -.btn:not(.social-btn-outlined).btn-instagram.btn-link:hover { - color: #ff4276 -} - -.btn-group label.btn.btn-primary:not(:disabled):not(.disabled).active { - background: #000e01 -} - -.btn-group label.btn.btn-secondary:not(:disabled):not(.disabled).active { - background: #4d4d4d -} - -.btn-group label.btn.btn-success:not(:disabled):not(.disabled).active { - background: #007a50 -} - -.btn-group label.btn.btn-info:not(:disabled):not(.disabled).active { - background: #1d0de4 -} - -.btn-group label.btn.btn-warning:not(:disabled):not(.disabled).active { - background: #d54314 -} - -.btn-group label.btn.btn-danger:not(:disabled):not(.disabled).active { - background: #f8000b -} - -.btn-group label.btn.btn-light:not(:disabled):not(.disabled).active { - background: #acacac -} - -.btn-group label.btn.btn-dark:not(:disabled):not(.disabled).active { - background: #424447 -} - -.btn-group label.btn.btn-white:not(:disabled):not(.disabled).active { - background: #ccc -} - -.btn-outline-primary { - border: 2px solid #047006 -} - -.btn-outline-secondary { - border: 2px solid grey -} - -.btn-outline-success { - border: 2px solid #047006 -} - -.btn-outline-info { - border: 2px solid #6c61f6 -} - -.btn-outline-warning { - border: 2px solid #f0825f -} - -.btn-outline-danger { - border: 2px solid #ff5f66 -} - -.btn-outline-light { - border: 2px solid #dfdfdf -} - -.btn-outline-dark { - border: 2px solid #74767b -} - -.btn-outline-white { - border: 2px solid #fff -} - -.btn-group label.btn input { - display: none -} - -.btn { - display: -webkit-inline-box; - display: inline-flex; - -webkit-box-pack: center; - justify-content: center; - -webkit-box-align: center; - align-items: center; - -webkit-transition: .3s ease; - transition: .3s ease; - -webkit-transition-property: background, color; - transition-property: background, color; - font-size: .875rem; - font-family: Roboto, sans-serif; - font-weight: 600; - letter-spacing: .03rem -} - -.btn:not([class*=btn-inverse]):not(.component-flat) { - box-shadow: 0 0 2px 0 rgba(0, 0, 0, .2) -} - -.btn i { - font-size: 1.25rem -} - -.btn-group-lg>.btn, -.btn.btn-lg { - height: 55px; - max-height: 55px; - padding: 15px 30px; - font-size: 1.125rem -} - -.btn-group-sm>.btn, -.btn.btn-sm { - height: 35px; - max-height: 35px; - padding: 4px 15px; - font-size: .875rem -} - -.btn.btn-xs { - height: 25px; - max-height: 25px; - padding: 0 10px; - line-height: 1; - font-size: .75rem -} - -.btn.btn-xs.has-icon i, -.btn.btn-xs.has-icon span { - font-size: .8125rem; - margin-right: 5px -} - -.btn { - height: 40px; - max-height: 40px; - padding: 5px 20px -} - -.btn.active { - box-shadow: none -} - -.btn.social-icon-btn { - height: 40px; - width: 40px -} - -.btn.social-btn i { - margin-right: 10px -} - -.btn.social-btn-outlined i { - margin-right: 10px -} - -.btn.has-icon i, -.btn.has-icon span { - font-size: 1.25rem; - margin-right: 10px; - line-height: 1 -} - -.btn.btn-outline-secondary { - color: #1a1a1a; - border-color: #676767 -} - -.btn.btn-info, -.btn.btn-warning { - color: #fff -} - -.btn.btn-light { - background: #fff; - color: #000 -} - -.btn.dropdown-dotted-list { - background: #fff -} - -.btn.dropdown-toggle-split { - padding: 0 8px -} - -.btn.action-btn { - display: -webkit-inline-box; - display: inline-flex; - -webkit-box-pack: center; - justify-content: center; - -webkit-box-align: center; - align-items: center; - padding: 0; - height: 40px; - width: 40px -} - -.btn.action-btn i { - font-size: 1.25rem; - width: 26px; - display: -webkit-box; - display: flex; - -webkit-box-pack: center; - justify-content: center; - -webkit-box-align: center; - align-items: center; - line-height: 23px; - vertical-align: middle; - font-size: 1.25rem -} - -.btn.action-btn i:before { - width: inherit; - height: inherit; - line-height: inherit; - font-size: inherit -} - -.btn.action-btn.btn-xs { - height: 30px; - width: 30px -} - -.btn-group-sm>.btn.action-btn, -.btn.action-btn.btn-sm { - height: 35px; - width: 35px -} - -.btn-group-lg>.btn.action-btn, -.btn.action-btn.btn-lg { - height: 50px; - width: 50px -} - -.btn-group-lg>.btn.action-btn i, -.btn.action-btn.btn-lg i { - font-size: 1.875rem; - line-height: 24px -} - -.btn.action-btn.btn-refresh.clicked i { - color: #047006; - -webkit-animation: rotate360 .8s linear infinite; - animation: rotate360 .8s linear infinite -} - -.btn.action-btn.btn-like.clicked i { - color: #ff5f66; - -webkit-animation: bounceIn .8s linear 1; - animation: bounceIn .8s linear 1 -} - -.btn.action-btn.btn-like.clicked:hover i { - color: #fff -} - -.btn.btn-rounded { - border-radius: 50px -} - -.flag-germany { - width: 40px; - height: 28px; - background: red; - border-top: 9px solid #000; - border-bottom: 9px solid #fc0; - display: block -} - -.flag-england { - background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJmbGFnLWljb24tY3NzLWdiIiB2aWV3Qm94PSIwIDAgNjQwIDQ4MCI+CiAgPHBhdGggZmlsbD0iIzAxMjE2OSIgZD0iTTAgMGg2NDB2NDgwSDB6Ii8+CiAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTc1IDBsMjQ0IDE4MUw1NjIgMGg3OHY2Mkw0MDAgMjQxbDI0MCAxNzh2NjFoLTgwTDMyMCAzMDEgODEgNDgwSDB2LTYwbDIzOS0xNzhMMCA2NFYwaDc1eiIvPgogIDxwYXRoIGZpbGw9IiNDODEwMkUiIGQ9Ik00MjQgMjgxbDIxNiAxNTl2NDBMMzY5IDI4MWg1NXptLTE4NCAyMGw2IDM1TDU0IDQ4MEgwbDI0MC0xNzl6TTY0MCAwdjNMMzkxIDE5MWwyLTQ0TDU5MCAwaDUwek0wIDBsMjM5IDE3NmgtNjBMMCA0MlYweiIvPgogIDxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0yNDEgMHY0ODBoMTYwVjBIMjQxek0wIDE2MHYxNjBoNjQwVjE2MEgweiIvPgogIDxwYXRoIGZpbGw9IiNDODEwMkUiIGQ9Ik0wIDE5M3Y5Nmg2NDB2LTk2SDB6TTI3MyAwdjQ4MGg5NlYwaC05NnoiLz4KPC9zdmc+Cg==); - background-size: cover; - width: 40px; - height: 28px; - display: block -} - -.language-active { - background-color: #f9fafb; - padding: 2px -} - -.language-inactive { - padding: 2px; - background-color: transparent -} - -.is-invalid .form-control { - background-color: rgba(240, 130, 95, .2); - border: none -} - -.is-invalid .invalid-feedback { - display: block -} - -.is-valid .form-control { - background-color: rgba(4, 112, 6, .2); - border: none -} - -.form-control { - padding-left: 20px; - padding-right: 20px; - color: rgba(16, 16, 16, .8) -} - -.form-control.placeholder { - font-weight: inherit; - color: inherit; - font-size: inherit -} - -.form-control:-moz-placeholder { - font-weight: inherit; - color: inherit; - font-size: inherit -} - -.form-control::-moz-placeholder { - font-weight: inherit; - color: inherit; - font-size: inherit -} - -.form-control:-ms-input-placeholder { - font-weight: inherit; - color: inherit; - font-size: inherit -} - -.form-control::-webkit-input-placeholder { - font-weight: inherit; - color: inherit; - font-size: inherit -} - -.form-control.is-invalid { - background-color: rgba(240, 130, 95, .2); - border: none -} - -.form-control.is-valid { - background-color: rgba(4, 112, 6, .2); - border: none -} - -.input-group-text { - background-color: #f6f7f9; - color: #101010; - border-color: #f2f4f9; - padding: 0 10px; - font-size: 17px -} - -.is-valid .input-group-text { - background-color: rgba(4, 112, 6, .2); - color: #047006 -} - -.is-invalid .input-group-text { - background-color: rgba(240, 130, 95, .2); - color: #f0825f -} - -.form-group { - margin-bottom: 20px -} - -.form-group.input-rounded .form-control { - border-radius: 25px -} - -.custom-file .custom-file-label { - padding: 8px .75rem; - height: 41px -} - -.custom-file .custom-file-label:after { - padding: 1.45rem .8rem; - line-height: 0 -} - -.custom-select, -.custom-select[multiple] { - background: #f6f7f9; - border-color: #f0f2f5; - color: rgba(16, 16, 16, .8) -} - -.custom-select option, -.custom-select[multiple] option { - background: #f6f7f9; - color: rgba(16, 16, 16, .8); - display: block; - border-bottom: 1px solid #f2f4f9; - padding: 5px 10px -} - -.custom-select option:checked, -.custom-select[multiple] option:checked { - background: #f6f7f9 -} - -.custom-select option[selected], -.custom-select[multiple] option[selected] { - background: #f6f7f9; - display: block -} - -.custom-select[multiple] { - padding: 0; - border-radius: 2px -} - -.custom-control-input:focus~.custom-control-label::before { - box-shadow: none -} - -.custom-switch .custom-control-label::after { - box-shadow: 0 0 2px 0 rgba(0, 0, 0, .2); - background: #047006 -} - -.tab-container.tab-bg-primary .nav-pills .nav-item .nav-link, -.tab-container.tab-bg-primary .nav-tabs .nav-item .nav-link { - color: #047006 -} - -.tab-container.tab-bg-primary .nav-pills .nav-item .nav-link i, -.tab-container.tab-bg-primary .nav-tabs .nav-item .nav-link i { - color: inherit -} - -.tab-container.tab-bg-primary .nav-pills .nav-item .nav-link.active, -.tab-container.tab-bg-primary .nav-tabs .nav-item .nav-link.active { - background: #047006; - color: #fff -} - -.tab-container.tab-bg-primary .tab-content { - background: #047006; - color: #fff -} - -.tab-container.tab-bg-secondary .nav-pills .nav-item .nav-link, -.tab-container.tab-bg-secondary .nav-tabs .nav-item .nav-link { - color: grey -} - -.tab-container.tab-bg-secondary .nav-pills .nav-item .nav-link i, -.tab-container.tab-bg-secondary .nav-tabs .nav-item .nav-link i { - color: inherit -} - -.tab-container.tab-bg-secondary .nav-pills .nav-item .nav-link.active, -.tab-container.tab-bg-secondary .nav-tabs .nav-item .nav-link.active { - background: grey; - color: #fff -} - -.tab-container.tab-bg-secondary .tab-content { - background: grey; - color: #fff -} - -.tab-container.tab-bg-success .nav-pills .nav-item .nav-link, -.tab-container.tab-bg-success .nav-tabs .nav-item .nav-link { - color: #047006 -} - -.tab-container.tab-bg-success .nav-pills .nav-item .nav-link i, -.tab-container.tab-bg-success .nav-tabs .nav-item .nav-link i { - color: inherit -} - -.tab-container.tab-bg-success .nav-pills .nav-item .nav-link.active, -.tab-container.tab-bg-success .nav-tabs .nav-item .nav-link.active { - background: #047006; - color: #fff -} - -.tab-container.tab-bg-success .tab-content { - background: #047006; - color: #fff -} - -.tab-container.tab-bg-info .nav-pills .nav-item .nav-link, -.tab-container.tab-bg-info .nav-tabs .nav-item .nav-link { - color: #6c61f6 -} - -.tab-container.tab-bg-info .nav-pills .nav-item .nav-link i, -.tab-container.tab-bg-info .nav-tabs .nav-item .nav-link i { - color: inherit -} - -.tab-container.tab-bg-info .nav-pills .nav-item .nav-link.active, -.tab-container.tab-bg-info .nav-tabs .nav-item .nav-link.active { - background: #6c61f6; - color: #fff -} - -.tab-container.tab-bg-info .tab-content { - background: #6c61f6; - color: #fff -} - -.tab-container.tab-bg-warning .nav-pills .nav-item .nav-link, -.tab-container.tab-bg-warning .nav-tabs .nav-item .nav-link { - color: #f0825f -} - -.tab-container.tab-bg-warning .nav-pills .nav-item .nav-link i, -.tab-container.tab-bg-warning .nav-tabs .nav-item .nav-link i { - color: inherit -} - -.tab-container.tab-bg-warning .nav-pills .nav-item .nav-link.active, -.tab-container.tab-bg-warning .nav-tabs .nav-item .nav-link.active { - background: #f0825f; - color: #fff -} - -.tab-container.tab-bg-warning .tab-content { - background: #f0825f; - color: #fff -} - -.tab-container.tab-bg-danger .nav-pills .nav-item .nav-link, -.tab-container.tab-bg-danger .nav-tabs .nav-item .nav-link { - color: #ff5f66 -} - -.tab-container.tab-bg-danger .nav-pills .nav-item .nav-link i, -.tab-container.tab-bg-danger .nav-tabs .nav-item .nav-link i { - color: inherit -} - -.tab-container.tab-bg-danger .nav-pills .nav-item .nav-link.active, -.tab-container.tab-bg-danger .nav-tabs .nav-item .nav-link.active { - background: #ff5f66; - color: #fff -} - -.tab-container.tab-bg-danger .tab-content { - background: #ff5f66; - color: #fff -} - -.tab-container.tab-bg-light .nav-pills .nav-item .nav-link, -.tab-container.tab-bg-light .nav-tabs .nav-item .nav-link { - color: #dfdfdf -} - -.tab-container.tab-bg-light .nav-pills .nav-item .nav-link i, -.tab-container.tab-bg-light .nav-tabs .nav-item .nav-link i { - color: inherit -} - -.tab-container.tab-bg-light .nav-pills .nav-item .nav-link.active, -.tab-container.tab-bg-light .nav-tabs .nav-item .nav-link.active { - background: #dfdfdf; - color: #fff -} - -.tab-container.tab-bg-light .tab-content { - background: #dfdfdf; - color: #fff -} - -.tab-container.tab-bg-dark .nav-pills .nav-item .nav-link, -.tab-container.tab-bg-dark .nav-tabs .nav-item .nav-link { - color: #74767b -} - -.tab-container.tab-bg-dark .nav-pills .nav-item .nav-link i, -.tab-container.tab-bg-dark .nav-tabs .nav-item .nav-link i { - color: inherit -} - -.tab-container.tab-bg-dark .nav-pills .nav-item .nav-link.active, -.tab-container.tab-bg-dark .nav-tabs .nav-item .nav-link.active { - background: #74767b; - color: #fff -} - -.tab-container.tab-bg-dark .tab-content { - background: #74767b; - color: #fff -} - -.tab-container.tab-bg-white .nav-pills .nav-item .nav-link, -.tab-container.tab-bg-white .nav-tabs .nav-item .nav-link { - color: #fff -} - -.tab-container.tab-bg-white .nav-pills .nav-item .nav-link i, -.tab-container.tab-bg-white .nav-tabs .nav-item .nav-link i { - color: inherit -} - -.tab-container.tab-bg-white .nav-pills .nav-item .nav-link.active, -.tab-container.tab-bg-white .nav-tabs .nav-item .nav-link.active { - background: #fff; - color: #fff -} - -.tab-container.tab-bg-white .tab-content { - background: #fff; - color: #fff -} - -.nav-tabs { - border-bottom: 1px solid #f2f4f9 -} - -.tab-container .nav-pills, -.tab-container .nav-tabs { - border-bottom: none -} - -.tab-container .nav-pills .nav-item .nav-link, -.tab-container .nav-tabs .nav-item .nav-link { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: start; - justify-content: start; - font-family: Roboto, sans-serif; - font-weight: 500; - letter-spacing: 1; - padding: 7px 13px; - border: none; - -webkit-transition-duration: .3s; - transition-duration: .3s; - -webkit-transition-property: background, color; - transition-property: background, color -} - -.tab-container .nav-pills .nav-item .nav-link i, -.tab-container .nav-tabs .nav-item .nav-link i { - font-size: 20px; - line-height: 1 -} - -.tab-container .nav-pills .nav-item .nav-link .tab-tittle, -.tab-container .nav-tabs .nav-item .nav-link .tab-tittle { - display: inline-block -} - -.tab-container .nav-pills .nav-item .nav-link .tab-tittle.prepend, -.tab-container .nav-tabs .nav-item .nav-link .tab-tittle.prepend { - margin-left: 10px -} - -.tab-container .nav-pills .nav-item .nav-link .tab-tittle.append, -.tab-container .nav-tabs .nav-item .nav-link .tab-tittle.append { - margin-right: 10px -} - -.tab-container .tab-content { - padding: 30px 20px 20px 20px; - width: 100%; - background: #f0f2f5 -} - -.tab-container .nav-tabs .nav-link { - color: #101010 -} - -.tab-container .nav-tabs .nav-link i { - color: #101010 -} - -.tab-container .nav-tabs .nav-link.active { - background: #f7f7f7; - color: #047006 -} - -.tab-container .nav-tabs .nav-link.active i { - color: inherit -} - -.tab-container .nav-pills { - margin: 10px -} - -.tab-container .nav-pills .nav-link.active { - box-shadow: 0 0 2px 0 rgba(0, 0, 0, .2); - color: #fff -} - -.tab-container.vertical-tabs { - display: -webkit-box; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row; - -webkit-box-flex: 1; - flex-grow: 1 -} - -.tab-container.vertical-tabs .nav-pills, -.tab-container.vertical-tabs .nav-tabs { - float: left; - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column -} - -.table, -table { - margin-bottom: 0 -} - -.table tfoot tr th, -.table thead tr th, -table tfoot tr th, -table thead tr th { - border-bottom-width: 1px; - font-family: Roboto, sans-serif; - font-weight: 500 -} - -.table tbody tr, -table tbody tr { - -webkit-transition-duration: .5s; - transition-duration: .5s -} - -.table tbody tr td, -table tbody tr td { - font-family: Roboto, sans-serif; - font-weight: 400; - vertical-align: middle -} - -.table tbody tr td .input-frame:after, -table tbody tr td .input-frame:after { - top: 5px -} - -.table tbody tr td span, -table tbody tr td span { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center -} - -.table tbody tr td span .status-indicator, -table tbody tr td span .status-indicator { - margin-right: 5px -} - -.table tbody tr td .image, -table tbody tr td .image { - max-width: 75px; - width: 100% -} - -.table tbody tr.text-align-edge td:first-child, -table tbody tr.text-align-edge td:first-child { - padding-left: 0; - text-align: left -} - -.table tbody tr.text-align-edge td:last-child, -table tbody tr.text-align-edge td:last-child { - padding-right: 0; - text-align: right -} - -.table td, -.table th, -table td, -table th { - white-space: nowrap -} - -.table:not(.table-dark) thead tr.solid-header th, -table:not(.table-dark) thead tr.solid-header th { - background: #fafafa; - border-top: 1px solid #f2f4f9 -} - -.table:not(.table-dark) tfoot, -.table:not(.table-dark) thead, -table:not(.table-dark) tfoot, -table:not(.table-dark) thead { - background: #e1e4e6 -} - -.table:not(.table-dark) tfoot tr th, -.table:not(.table-dark) thead tr th, -table:not(.table-dark) tfoot tr th, -table:not(.table-dark) thead tr th { - background: #fff; - color: #101010 -} - -.table:not(.table-dark) tbody tr[class*=bg], -table:not(.table-dark) tbody tr[class*=bg] { - box-shadow: 0 0 2px 0 rgba(0, 0, 0, .2) -} - -.table:not(.table-dark) tbody tr[class*=bg] td, -table:not(.table-dark) tbody tr[class*=bg] td { - color: #fff; - border: none -} - -.table:not(.table-dark) tbody tr td, -table:not(.table-dark) tbody tr td { - color: #101010 -} - -.table:not(.table-bordered) tfoot tr th, -.table:not(.table-bordered) thead tr th, -table:not(.table-bordered) tfoot tr th, -table:not(.table-bordered) thead tr th { - border-top: none -} - -.table.info-table tr td, -.table.info-table tr th, -table.info-table tr td, -table.info-table tr th { - text-align: right -} - -.table.info-table tr td:first-child, -.table.info-table tr th:first-child, -table.info-table tr td:first-child, -table.info-table tr th:first-child { - text-align: left -} - -.table.info-table tr td.actions, -.table.info-table tr th.actions, -table.info-table tr td.actions, -table.info-table tr th.actions { - padding-left: 0 -} - -.tippy-tooltip[data-animation=fade][data-state=hidden] { - opacity: 0 -} - -.tippy-iOS { - cursor: pointer !important; - -webkit-tap-highlight-color: transparent -} - -.tippy-popper { - pointer-events: none; - max-width: calc(100vw - 10px); - -webkit-transition-timing-function: cubic-bezier(.165, .84, .44, 1); - transition-timing-function: cubic-bezier(.165, .84, .44, 1); - -webkit-transition-property: -webkit-transform; - transition-property: -webkit-transform; - transition-property: transform; - transition-property: transform, -webkit-transform -} - -.tippy-tooltip { - position: relative; - color: #fff; - border-radius: 4px; - font-size: 14px; - line-height: 1.4; - background-color: #333; - -webkit-transition-property: visibility, opacity, -webkit-transform; - transition-property: visibility, opacity, -webkit-transform; - transition-property: visibility, opacity, transform; - transition-property: visibility, opacity, transform, -webkit-transform; - outline: 0 -} - -.tippy-tooltip[data-placement^=top]>.tippy-arrow { - border-width: 8px 8px 0; - border-top-color: #333; - margin: 0 3px; - -webkit-transform-origin: 50% 0; - transform-origin: 50% 0; - bottom: -7px -} - -.tippy-tooltip[data-placement^=bottom]>.tippy-arrow { - border-width: 0 8px 8px; - border-bottom-color: #333; - margin: 0 3px; - -webkit-transform-origin: 50% 7px; - transform-origin: 50% 7px; - top: -7px -} - -.tippy-tooltip[data-placement^=left]>.tippy-arrow { - border-width: 8px 0 8px 8px; - border-left-color: #333; - margin: 3px 0; - -webkit-transform-origin: 0 50%; - transform-origin: 0 50%; - right: -7px -} - -.tippy-tooltip[data-placement^=right]>.tippy-arrow { - border-width: 8px 8px 8px 0; - border-right-color: #333; - margin: 3px 0; - -webkit-transform-origin: 7px 50%; - transform-origin: 7px 50%; - left: -7px -} - -.tippy-tooltip[data-interactive][data-state=visible] { - pointer-events: auto -} - -.tippy-tooltip[data-inertia][data-state=visible] { - -webkit-transition-timing-function: cubic-bezier(.54, 1.5, .38, 1.11); - transition-timing-function: cubic-bezier(.54, 1.5, .38, 1.11) -} - -.tippy-arrow { - position: absolute; - border-color: transparent; - border-style: solid -} - -.tippy-content { - padding: 5px 9px -} - -.tippy-tooltip { - color: #101010; - background-color: #f9fafb; - border-radius: 0; - font-size: 12px -} - -.tippy-tooltip .tippy-content b { - color: #047006 -} - -.tippy-tooltip .tippy-content ul { - list-style-type: none; - padding-left: 4px -} - -.tippy-tooltip .tippy-content .mdi { - font-size: 16px -} - -.tippy-tooltip .tippy-content .grid-header { - padding: 5px 10px; - margin-bottom: 5px -} - -.page-body { - background: #fff -} - -.page-content-wrapper { - background: #f9fafb; - border-left: 1px solid #f2f4f9 -} - -@media (min-width:992px) { - .t-header .t-header-content-wrapper { - border-left: 1px solid #f2f4f9 - } - -} - -@media (min-width:768px) { - .page-body { - position: relative; - display: grid; - max-width: 100%; - grid-template-columns: 17rem calc(100vw - 17rem); - -webkit-transition: .3s; - transition: .3s - } - - .page-body .page-content-wrapper { - position: relative; - width: 100%; - min-height: 100vh; - padding: 1.5rem 2.5rem calc(90px + 1.5rem); - margin-top: 70px - } - - .page-body .page-content-wrapper .page-content-wrapper-inner { - max-width: 1140px; - margin-left: auto; - margin-right: auto - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header { - position: -webkit-sticky; - position: sticky; - top: 70px; - background: #f9fafb; - z-index: 99 - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header .breadcrumb { - padding: 1rem 1rem 1rem 21px; - margin-left: -20px; - margin-right: -20px; - background: #f9fafb - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header .breadcrumb .breadcrumb-item { - color: #565656; - letter-spacing: .03rem; - font-family: Roboto, sans-serif; - font-weight: 500 - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header .breadcrumb .breadcrumb-item a { - color: inherit - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header .breadcrumb .breadcrumb-item.active { - color: #047006 - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header .page-title-heading { - color: #565656; - font-size: 1.5rem; - font-family: Roboto, sans-serif; - font-weight: 500; - margin-bottom: 0 - } - - .page-body .page-content-wrapper .page-content-wrapper-inner .viewport-header .page-description { - opacity: .7; - margin-top: 15px - } - - body.sidebar-minimized .t-header .t-header-brand-wrapper { - background: #f9fafb - } - - body.sidebar-minimized .t-header .t-header-content-wrapper { - border-left: #f9fafb - } - - body.sidebar-minimized .page-body { - grid-template-columns: 0 100% - } - - body.sidebar-minimized .page-body .sidebar .sidebar_footer { - left: -17rem - } - - body.sidebar-minimized .page-body .sidebar .nav-category-divider { - position: initial - } - -} - -@media (max-width:991.98px) { - .t-header { - width: 100vw - } - - .t-header .t-header-brand-wrapper { - background: #f9fafb; - width: 4rem; - min-width: 4rem; - max-width: 4rem - } - - .t-header .t-header-brand-wrapper a .logo { - -webkit-animation-name: menuItemFadeIn; - animation-name: menuItemFadeIn; - -webkit-animation-duration: .25s; - animation-duration: .25s; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; - display: none - } - - @-webkit-keyframes menuItemFadeIn { - from { - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - display: none; - opacity: 0 - } - - to { - display: block; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1 - } - - } - - @keyframes menuItemFadeIn { - from { - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - display: none; - opacity: 0 - } - - to { - display: block; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1 - } - - } - - .t-header .t-header-brand-wrapper a .logo-mini { - display: block - } - - .page-body { - display: -webkit-box; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-direction: row; - overflow: hidden; - max-width: 100% - } - - .page-body .sidebar { - position: relative; - left: 0; - z-index: 99; - width: 15rem; - min-width: 15rem; - max-width: 15rem; - margin-left: -15rem; - -webkit-transition-duration: .2s; - transition-duration: .2s; - -webkit-transition-timing-function: ease-in-out; - transition-timing-function: ease-in-out; - -webkit-transition-property: margin-left, width; - transition-property: margin-left, width - } - - .page-body .sidebar .sidebar_footer { - -webkit-transition-duration: .2s; - transition-duration: .2s; - -webkit-transition-timing-function: ease-in-out; - transition-timing-function: ease-in-out; - -webkit-transition-property: left; - transition-property: left; - left: -15rem - } - - .page-body .page-content-wrapper { - padding: 20px 20px; - min-width: 100vw; - margin-left: 0; - -webkit-transition-duration: .2s; - transition-duration: .2s; - -webkit-transition-timing-function: ease-in-out; - transition-timing-function: ease-in-out; - -webkit-transition-property: margin-left; - transition-property: margin-left - } - - .page-body .page-content-wrapper .viewport-header .breadcrumb { - background: 0 0; - padding-left: 0 - } - - .page-body .page-content-wrapper footer { - position: relative - } - - .page-body.sidebar-collpased .sidebar { - margin-left: 0; - min-width: 15rem - } - - .page-body.sidebar-collpased .sidebar .sidebar_footer { - left: 0 - } - -} - -@media (max-width:767.98px) { - .page-body .page-content-wrapper { - padding: 80px 20px 0 20px - } - -} - -.profile-img.bg-inverse-primary { - color: #047006 -} - -.profile-img.bg-inverse-secondary { - color: grey -} - -.profile-img.bg-inverse-success { - color: #047006 -} - -.profile-img.bg-inverse-info { - color: #6c61f6 -} - -.profile-img.bg-inverse-warning { - color: #f0825f -} - -.profile-img.bg-inverse-danger { - color: #ff5f66 -} - -.profile-img.bg-inverse-light { - color: #dfdfdf -} - -.profile-img.bg-inverse-dark { - color: #74767b -} - -.profile-img.bg-inverse-white { - color: #fff -} - -.notification-indicator-primary { - background: #047006 -} - -.notification-indicator-primary:before { - content: '3'; - background: rgba(4, 112, 6, .5) -} - -.notification-indicator-secondary { - background: grey -} - -.notification-indicator-secondary:before { - content: '.5'; - background: rgba(128, 128, 128, .5) -} - -.notification-indicator-success { - background: #047006 -} - -.notification-indicator-success:before { - content: 'http://www.w3.org/2000/svg'; - background: rgba(0, 224, 147, .5) -} - -.notification-indicator-info { - background: #6c61f6 -} - -.notification-indicator-info:before { - content: '0 0 4 5'; - background: rgba(108, 97, 246, .5) -} - -.notification-indicator-warning { - background: #f0825f -} - -.notification-indicator-warning:before { - content: '%23343a40'; - background: rgba(240, 130, 95, .5) -} - -.notification-indicator-danger { - background: #ff5f66 -} - -.notification-indicator-danger:before { - content: 'M2 0L0 2h4zm0 5L0 3h4z'; - background: rgba(255, 95, 102, .5) -} - -.notification-indicator-light { - background: #dfdfdf -} - -.notification-indicator-light:before { - content: 'http://www.w3.org/2000/svg'; - background: rgba(223, 223, 223, .5) -} - -.notification-indicator-dark { - background: #74767b -} - -.notification-indicator-dark:before { - content: '%23dc3545'; - background: rgba(116, 118, 123, .5) -} - -.notification-indicator-white { - background: #fff -} - -.notification-indicator-white:before { - content: '-2 -2 7 7'; - background: rgba(255, 255, 255, .5) -} - -.border-top { - border-top-style: solid; - border-top-color: #f2f4f9; - border-top-width: 1px -} - -.border-right { - border-right-style: solid; - border-right-color: #f2f4f9; - border-right-width: 1px -} - -.border-bottom { - border-bottom-style: solid; - border-bottom-color: #f2f4f9; - border-bottom-width: 1px -} - -.border-left { - border-left-style: solid; - border-left-color: #f2f4f9; - border-left-width: 1px -} - -.ellipsor { - max-width: 100%; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden -} - -.text-gray { - color: #565656 -} - -.overflow-hidden { - overflow: hidden -} - -.pos-relative { - position: relative -} - -.profile-img { - width: 40px; - height: 40px; - overflow: hidden -} - -.profile-img:not(.component-flat) { - box-shadow: 0 0 2px 0 rgba(0, 0, 0, .2) -} - -.profile-img:not(.img-sm):not(.img-lg):not(.img-xl) img { - width: 40px; - height: 40px -} - -.profile-img:not(.img-rounded) { - border-radius: 6px -} - -.profile-img.no-avatar { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center; - text-align: center; - text-transform: uppercase; - font-family: Roboto, sans-serif; - font-weight: 600 -} - -.profile-img.img-rounded { - border-radius: 100% -} - -.grouped-images { - display: -webkit-box; - display: flex -} - -.grouped-images .plus-text, -.grouped-images img { - display: -webkit-box; - display: flex; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: center; - justify-content: center; - text-align: center; - border-radius: 100%; - overflow: hidden; - margin-right: -10px; - margin-right: -10px; - border: 3px solid #fff; - background: #f0f2f5; - color: #565656; - font-family: Roboto, sans-serif; - font-weight: 700; - letter-spacing: .03rem -} - -.grouped-images .plus-text:not(.img-sm):not(.img-lg):not(.img-xl), -.grouped-images img:not(.img-sm):not(.img-lg):not(.img-xl) { - width: 40px; - height: 40px -} - -.img-sm { - width: 30px; - height: 30px -} - -.img-lg { - width: 80px; - height: 80px -} - -.img-xl { - width: 100px; - height: 100px -} - -.mdi.mdi-1x:before { - font-size: 1.25rem -} - -.mdi.mdi-2x:before { - font-size: 1.5625rem -} - -.mdi.mdi-3x:before { - font-size: 1.875rem -} - -.mdi.mdi-4x:before { - font-size: 2.1875rem -} - -.mdi.mdi-5x:before { - font-size: 2.5rem -} - -.mdi.mdi-6x:before { - font-size: 3.125rem -} - -.mdi.mdi-7x:before { - font-size: 3.75rem -} - -.status-indicator { - display: inline-block; - width: 12px; - min-width: 12px; - height: 12px; - border-radius: 4px -} - -.status-indicator.rounded-indicator { - border-radius: 50px -} - -.status-indicator.small { - width: 7px; - min-width: 7px; - height: 7px -} - -.text-black { - color: #101010 -} - -.notification-indicator { - display: block; - width: 7px; - height: 7px; - border-radius: 100%; - z-index: 0 -} - -.notification-indicator.notification-indicator-ripple:before { - content: '%23dc3545'; - display: block; - width: 26px; - height: 26px; - z-index: -1; - position: absolute; - top: -9px; - left: -9px; - border-radius: 100%; - opacity: 0; - -webkit-transform-origin: 50% 50%; - transform-origin: 50% 50%; - mix-blend-mode: screen; - -webkit-animation: ripple 1.2s ease-out; - animation: ripple 1.2s ease-out; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite -} - -.logo { - display: block; - margin: 0 auto; - width: 280px -} - -.logo img { - width: 100% -} - -.grid { - background: #fff; - border-radius: 6px; - box-shadow: 0 0 10px 0 rgba(183, 192, 206, .2); - margin-bottom: 1.5rem; - border: 1px solid rgba(238, 238, 238, .75) -} - -.grid-header { - padding: 15px 20px; - margin-bottom: 15px; - font-family: Roboto, sans-serif; - font-weight: 500; - letter-spacing: .03rem; - background: #f9fafb; - border-left: 3px solid #047006; - border-radius: 0 6px 0 0 -} - -.grid-title { - opacity: .9; - margin-bottom: 25px -} - -.close { - color: #101010 -} - -.split-header { - display: -webkit-box; - display: flex; - -webkit-box-pack: justify; - justify-content: space-between; - -webkit-box-align: center; - align-items: center -} - -.split-header .content-wrapper { - display: -webkit-box; - display: flex -} - -.split-header .content-wrapper a i, -.split-header .content-wrapper span i { - font-size: 20px; - color: #adb5bd; - -webkit-transition: .3s ease color; - transition: .3s ease color -} - -.split-header .content-wrapper a i:hover, -.split-header .content-wrapper span i:hover { - color: #047006 -} - -.split-header .content-wrapper.v-centered { - -webkit-box-align: center; - align-items: center -} - -.split-header .content-wrapper.h-centered { - -webkit-box-pack: center; - justify-content: center -} - -.grid-body { - padding: 20px 25px 20px -} - -.card-title { - font-family: Roboto, sans-serif; - font-weight: 500; - color: #313131; - margin-bottom: 0 -} - -.equel-grid { - display: -webkit-box; - display: flex; - -webkit-box-align: stretch; - align-items: stretch -} - -.equel-grid .grid { - width: 100%; - min-width: 100% -} - -.showcase_row_area { - margin-bottom: 20px -} - -.showcase_row_area .showcase_text_area { - text-align: right -} - -@media (max-width:767.98px) { - .showcase_row_area .showcase_text_area { - text-align: left - } - -} - -.showcase_row_area .showcase_content_area { - margin-bottom: -10px -} - -.showcase_row_area .showcase_content_area .btn { - margin-right: 5px; - margin-bottom: 10px -} - -.showcase_row_area:last-child { - margin-bottom: 0 -} - -.content-preview { - width: 45px; - height: 45px -} - -.content-preview.rounded { - border-radius: 100% -} - -.btn:not(.disabled),.cursor_pointer,a { - cursor: pointer -} - -.grd-positive-currency { - color: #047006 -} - -.grd-negative-currency { - color: red -} - -.color-success { - color: var(--success) -} - -.color-danger { - color: var(--danger) -} - -.color-warning { - color: var(--warning) -} - -.color-primary { - color: var(--primary) -} - -.btn-gradido-orange { - color: #fff; - background-color: #ffa600; - border-color: #ffa600 -} - -.visible-modal { - display: block -} - -.margin-top-10 { - margin-top: 10px -} - -.pull-right { - float: right -} - -.pull-right-row { - display: block; - margin-right: 10px -} - -.display-block { - display: block -} - -p.grd_small { - margin-top: 2px; - margin-bottom: 2px -} - -ul.grd-no-style { - list-style-type: none -} - -.center-ul-container ul { - padding-left: 0; - margin-bottom: 0; - text-align: center -} - -.center-ul-container ul .grd-error { - margin-top: 5px; - color: #8b0000 -} - -.grd-alert-color { - color: #ff5f66 !important -} - -.grd-success-color { - color: #047006 !important -} - -.grd-orange-color { - color: #ffa600 -} - -.hidden { - display: none -} - -.alert { - cursor: pointer -} - -.table.table-auto-break td, -.table.table-auto-break th { - white-space: pre-line -} diff --git a/community_server/webroot/css/styles.css b/community_server/webroot/css/styles.css deleted file mode 100644 index 143cbdc08..000000000 --- a/community_server/webroot/css/styles.css +++ /dev/null @@ -1,347 +0,0 @@ -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ -/* - Created on : 30.10.2019, 09:26:42 - Author : einhornimmond -*/ -.dev-info { - position: fixed; - color: grey; - font-size: smaller; - left: 8px; -} -.grd-time-used { - bottom: 0; -} -.versionstring { - top: 0; -} -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ -/* - Created on : 12.07.2019, 07:59:32 - Author : einhornimmond -*/ -div[role='grd_dialog'] { - position: fixed; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.5); - top: 0; - left: 0; -} -div.grd_modal-dialog { - margin-top: 100px; - min-height: 200px; - max-width: 1000px; - margin-left: auto; - margin-right: auto; - background-color: white; - color: black; - border: 1px solid grey; -} -div.grd_modal-dialog.grd_dialog-large { - margin-top: 5px; - width: 90%; -} -div.grd_modal-body { - padding: 25px; -} -div.grd_modal-header { - background-color: rgba(0, 0, 0, 0.1); - padding: 5px; - padding-left: 15px; - border: 1px solid grey; - color: black; -} -div.grd_modal-footer { - background-color: rgba(0, 0, 0, 0.1); - height: 40px; -} -.grd_modal-footer a, -.grd_modal-footer button { - float: right; - padding: 9px; - margin-right: 10px; - border: 1px solid grey; -} -.grd_modal-footer a:hover, -.grd_modal-footer button:hover { - background-color: rgba(255, 255, 255, 0.5); -} -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ -/* - Created on : 30.10.2019, 14:41:57 - Author : einhornimmond -*/ -/* Button */ -/*a.grd_bn,a.grd_bn:visited { - color:black; - text-decoration: none; -} -*/ -.grd-form-bn:hover, -.grd-active { - background-color: lightgray; - border-color: black; -} -.grd-form-bn { - padding: 5px; - border: 1px solid grey; - display: table-cell; - text-align: center; - vertical-align: middle; - color: #444; -} -a.grd-form-bn, -a.grd-form-bn:visited { - color: black; - text-decoration: none; -} -.grd-form-bn-succeed { - background-color: lightcyan; - color: green; - margin-top: 3px; - margin-bottom: 3px; -} -.grd-form-bn-succeed:not([disabled]):hover { - background-color: lightgreen; -} -.grd-form-bn-discard { - margin-left: 5px; - border: 1px solid red; - color: red; - cursor: pointer; -} -/* -.grd_large-bn { - width:100vw; - height:25vh; - font-size: 8vh; -} - -.grd_bg-bn { - width:50vw; - height:25vh; - font-size: 7vh; -} - -.gr_md-bn { - width:50vw; - height:25vh; - font-size: 6vh; -} -*/ -/* form elements */ -.grd_textarea { - border: 1px solid grey; - background-color: rgba(0, 0, 0, 0.05); - padding: 5px; - font-style: italic; -} -.grd-input label { - display: block; -} -input.grd-privkey { - width: 465px; -} -input.grd-pubkey { - width: 465px; -} -input.grd-non-der-keys { - width: 900px; -} -input:not([type='radio']) { - width: 200px; -} -label:not(.grd_radio_label) { - width: 80px; - display: inline-block; -} -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ -/* - Created on : 13.10.2019, 15:43:58 - Author : einhornimmond -*/ -.grd-time-used { - position: fixed; - bottom: 0; - left: 0; - color: grey; - font-size: smaller; -} -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ -/* - Created on : 30.10.2019, 16:04:16 - Author : einhornimmond -*/ -/* messages, update flash */ -.grd-error { - color: red; - border: 1px solid rgba(255, 0, 0, 0.5); - padding: 5px; -} -.grd-info { - border: 1px dotted gray; - padding: 5px; -} -.grd-success { - padding: 5px; - color: green; -} -.flash-messages .message { - padding: 5px; -} -.flash-messages .success { - color: green; -} -.flash-messages .error { - color: red; -} -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ -/* - Created on : 30.10.2019, 14:16:16 - Author : einhornimmond -*/ -/* navbar */ -nav.grd-left-bar { - position: fixed; - top: 80.5px; -} -nav .grd-nav-bn { - width: 120px; -} -nav ul { - margin-top: 0; - padding-left: 0; -} -/* buttons */ -.grd-nav-bn:hover, -.grd-active { - background-color: lightgray; - border-color: black; -} -.grd-nav-bn { - padding: 10px; - border: 1px solid grey; - display: table-cell; - text-align: center; - vertical-align: middle; - color: grey; -} -.grd-nav-without-border { - border: none; -} -.grd-nav-bn-large { - width: 40vw; - height: 18vh; - font-size: 35px; -} -a.grd-nav-bn, -a.grd-nav-bn:visited { - color: black; - text-decoration: none; -} -.grd-nav-bn-discard { - color: darkred !important; -} -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ -/* - Created on : 07.07.2019, 16:20:15 - Author : einhornimmond -*/ -/* content container */ -.grd_container { - max-width: 820px; - margin-left: auto; - margin-right: auto; -} -.grd_container_small { - max-width: 500px; -} -.grd_text { - max-width: 550px; - margin-bottom: 5px; -} -.grd_text-max-width { - max-width: 550px; -} -/* layout helper */ -.grd_margin_5 { - margin: 5px; -} -.grd-margin-top-10 { - margin-top: 10px; -} -.grd-width-200 { - width: 200px; -} -.grd-padding-top-bottom-5 { - padding-top: 5px; - padding-bottom: 5px; -} -.grd-padding-top-bottom-10 { - padding-top: 10px; - padding-bottom: 10px; -} -.grd_margin-bottom { - margin-bottom: 5px; -} -.grd_right { - float: right; -} -a.grd_invisible_link { - color: black; - text-decoration: none; -} -a.grd_invisible_link:hover { - color: grey; -} -.grd_clickable { - cursor: pointer; -} -ul.grd-no-style { - list-style: none; -} -p.grd_small { - margin-top: 2px; - margin-bottom: 2px; -} -.grd-default-currency { - color: grey; -} -.grd-positive-currency { - color: green; -} -.grd-negative-currency { - color: red; -} -.admin-border { - border-color: #ffa600; -} diff --git a/community_server/webroot/favicon.ico b/community_server/webroot/favicon.ico deleted file mode 100644 index 5b44f2027..000000000 Binary files a/community_server/webroot/favicon.ico and /dev/null differ diff --git a/community_server/webroot/favicon.png b/community_server/webroot/favicon.png deleted file mode 100644 index 5c437973e..000000000 Binary files a/community_server/webroot/favicon.png and /dev/null differ diff --git a/community_server/webroot/font/cakedingbats-webfont.eot b/community_server/webroot/font/cakedingbats-webfont.eot deleted file mode 100644 index e8605d926..000000000 Binary files a/community_server/webroot/font/cakedingbats-webfont.eot and /dev/null differ diff --git a/community_server/webroot/font/cakedingbats-webfont.svg b/community_server/webroot/font/cakedingbats-webfont.svg deleted file mode 100644 index d1e0c98f7..000000000 --- a/community_server/webroot/font/cakedingbats-webfont.svg +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/community_server/webroot/font/cakedingbats-webfont.ttf b/community_server/webroot/font/cakedingbats-webfont.ttf deleted file mode 100644 index 13d54454e..000000000 Binary files a/community_server/webroot/font/cakedingbats-webfont.ttf and /dev/null differ diff --git a/community_server/webroot/font/cakedingbats-webfont.woff b/community_server/webroot/font/cakedingbats-webfont.woff deleted file mode 100644 index 073baab11..000000000 Binary files a/community_server/webroot/font/cakedingbats-webfont.woff and /dev/null differ diff --git a/community_server/webroot/font/cakedingbats-webfont.woff2 b/community_server/webroot/font/cakedingbats-webfont.woff2 deleted file mode 100644 index 6e71eaf53..000000000 Binary files a/community_server/webroot/font/cakedingbats-webfont.woff2 and /dev/null differ diff --git a/community_server/webroot/fonts/MaterialIconsOutlined/Material-Icons-Outline.eot b/community_server/webroot/fonts/MaterialIconsOutlined/Material-Icons-Outline.eot deleted file mode 100644 index 3e035411c..000000000 Binary files a/community_server/webroot/fonts/MaterialIconsOutlined/Material-Icons-Outline.eot and /dev/null differ diff --git a/community_server/webroot/fonts/MaterialIconsOutlined/Material-Icons-Outline.ttf b/community_server/webroot/fonts/MaterialIconsOutlined/Material-Icons-Outline.ttf deleted file mode 100644 index db76e5796..000000000 Binary files a/community_server/webroot/fonts/MaterialIconsOutlined/Material-Icons-Outline.ttf and /dev/null differ diff --git a/community_server/webroot/fonts/MaterialIconsOutlined/Material-Icons-Outline.woff b/community_server/webroot/fonts/MaterialIconsOutlined/Material-Icons-Outline.woff deleted file mode 100644 index 5f10918f0..000000000 Binary files a/community_server/webroot/fonts/MaterialIconsOutlined/Material-Icons-Outline.woff and /dev/null differ diff --git a/community_server/webroot/fonts/MaterialIconsOutlined/Material-Icons-Outline.woff2 b/community_server/webroot/fonts/MaterialIconsOutlined/Material-Icons-Outline.woff2 deleted file mode 100644 index 34df5fe02..000000000 Binary files a/community_server/webroot/fonts/MaterialIconsOutlined/Material-Icons-Outline.woff2 and /dev/null differ diff --git a/community_server/webroot/fonts/Roboto/Roboto-Black.ttf b/community_server/webroot/fonts/Roboto/Roboto-Black.ttf deleted file mode 100644 index 689fe5cb3..000000000 Binary files a/community_server/webroot/fonts/Roboto/Roboto-Black.ttf and /dev/null differ diff --git a/community_server/webroot/fonts/Roboto/Roboto-Bold.ttf b/community_server/webroot/fonts/Roboto/Roboto-Bold.ttf deleted file mode 100644 index d3f01ad24..000000000 Binary files a/community_server/webroot/fonts/Roboto/Roboto-Bold.ttf and /dev/null differ diff --git a/community_server/webroot/fonts/Roboto/Roboto-Light.ttf b/community_server/webroot/fonts/Roboto/Roboto-Light.ttf deleted file mode 100644 index 219063a57..000000000 Binary files a/community_server/webroot/fonts/Roboto/Roboto-Light.ttf and /dev/null differ diff --git a/community_server/webroot/fonts/Roboto/Roboto-Medium.ttf b/community_server/webroot/fonts/Roboto/Roboto-Medium.ttf deleted file mode 100644 index 1a7f3b0bb..000000000 Binary files a/community_server/webroot/fonts/Roboto/Roboto-Medium.ttf and /dev/null differ diff --git a/community_server/webroot/fonts/Roboto/Roboto-Regular.ttf b/community_server/webroot/fonts/Roboto/Roboto-Regular.ttf deleted file mode 100644 index 2c97eeadf..000000000 Binary files a/community_server/webroot/fonts/Roboto/Roboto-Regular.ttf and /dev/null differ diff --git a/community_server/webroot/fonts/Roboto/Roboto-Thin.ttf b/community_server/webroot/fonts/Roboto/Roboto-Thin.ttf deleted file mode 100644 index b74a4fd1a..000000000 Binary files a/community_server/webroot/fonts/Roboto/Roboto-Thin.ttf and /dev/null differ diff --git a/community_server/webroot/fonts/materialdesignicons-webfont.eot b/community_server/webroot/fonts/materialdesignicons-webfont.eot deleted file mode 100644 index fe283ac48..000000000 Binary files a/community_server/webroot/fonts/materialdesignicons-webfont.eot and /dev/null differ diff --git a/community_server/webroot/fonts/materialdesignicons-webfont.svg b/community_server/webroot/fonts/materialdesignicons-webfont.svg deleted file mode 100644 index b356c2977..000000000 --- a/community_server/webroot/fonts/materialdesignicons-webfont.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/community_server/webroot/fonts/materialdesignicons-webfont.ttf b/community_server/webroot/fonts/materialdesignicons-webfont.ttf deleted file mode 100644 index 3219fca04..000000000 Binary files a/community_server/webroot/fonts/materialdesignicons-webfont.ttf and /dev/null differ diff --git a/community_server/webroot/fonts/materialdesignicons-webfont.woff b/community_server/webroot/fonts/materialdesignicons-webfont.woff deleted file mode 100644 index abe1e47ef..000000000 Binary files a/community_server/webroot/fonts/materialdesignicons-webfont.woff and /dev/null differ diff --git a/community_server/webroot/fonts/materialdesignicons-webfont.woff2 b/community_server/webroot/fonts/materialdesignicons-webfont.woff2 deleted file mode 100644 index 47e8a2c3e..000000000 Binary files a/community_server/webroot/fonts/materialdesignicons-webfont.woff2 and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-300.eot b/community_server/webroot/fonts/open-sans-v18-latin-300.eot deleted file mode 100644 index 1c0f100ba..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-300.eot and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-300.svg b/community_server/webroot/fonts/open-sans-v18-latin-300.svg deleted file mode 100644 index c0a1c8cd7..000000000 --- a/community_server/webroot/fonts/open-sans-v18-latin-300.svg +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/community_server/webroot/fonts/open-sans-v18-latin-300.ttf b/community_server/webroot/fonts/open-sans-v18-latin-300.ttf deleted file mode 100644 index dcce1bb7d..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-300.ttf and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-300.woff b/community_server/webroot/fonts/open-sans-v18-latin-300.woff deleted file mode 100644 index 26567ff25..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-300.woff and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-300.woff2 b/community_server/webroot/fonts/open-sans-v18-latin-300.woff2 deleted file mode 100644 index 7bf901c28..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-300.woff2 and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-600.eot b/community_server/webroot/fonts/open-sans-v18-latin-600.eot deleted file mode 100644 index b0d46a4ce..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-600.eot and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-600.svg b/community_server/webroot/fonts/open-sans-v18-latin-600.svg deleted file mode 100644 index 410561e78..000000000 --- a/community_server/webroot/fonts/open-sans-v18-latin-600.svg +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/community_server/webroot/fonts/open-sans-v18-latin-600.ttf b/community_server/webroot/fonts/open-sans-v18-latin-600.ttf deleted file mode 100644 index 25fdf1eb3..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-600.ttf and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-600.woff b/community_server/webroot/fonts/open-sans-v18-latin-600.woff deleted file mode 100644 index 9d0eb42db..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-600.woff and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-600.woff2 b/community_server/webroot/fonts/open-sans-v18-latin-600.woff2 deleted file mode 100644 index 5c5d54e2f..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-600.woff2 and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-700.eot b/community_server/webroot/fonts/open-sans-v18-latin-700.eot deleted file mode 100644 index 5b9ddb4eb..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-700.eot and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-700.svg b/community_server/webroot/fonts/open-sans-v18-latin-700.svg deleted file mode 100644 index 8e6b61ade..000000000 --- a/community_server/webroot/fonts/open-sans-v18-latin-700.svg +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/community_server/webroot/fonts/open-sans-v18-latin-700.ttf b/community_server/webroot/fonts/open-sans-v18-latin-700.ttf deleted file mode 100644 index c9a3c7a48..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-700.ttf and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-700.woff b/community_server/webroot/fonts/open-sans-v18-latin-700.woff deleted file mode 100644 index b8b46d0b4..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-700.woff and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-700.woff2 b/community_server/webroot/fonts/open-sans-v18-latin-700.woff2 deleted file mode 100644 index 3a38286c6..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-700.woff2 and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-800.eot b/community_server/webroot/fonts/open-sans-v18-latin-800.eot deleted file mode 100644 index b9d7b260c..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-800.eot and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-800.svg b/community_server/webroot/fonts/open-sans-v18-latin-800.svg deleted file mode 100644 index f2a2d9f6e..000000000 --- a/community_server/webroot/fonts/open-sans-v18-latin-800.svg +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/community_server/webroot/fonts/open-sans-v18-latin-800.ttf b/community_server/webroot/fonts/open-sans-v18-latin-800.ttf deleted file mode 100644 index a62af861f..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-800.ttf and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-800.woff b/community_server/webroot/fonts/open-sans-v18-latin-800.woff deleted file mode 100644 index bdac80d5c..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-800.woff and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-800.woff2 b/community_server/webroot/fonts/open-sans-v18-latin-800.woff2 deleted file mode 100644 index 86a8a8757..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-800.woff2 and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-regular.eot b/community_server/webroot/fonts/open-sans-v18-latin-regular.eot deleted file mode 100644 index 8f3becf66..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-regular.eot and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-regular.svg b/community_server/webroot/fonts/open-sans-v18-latin-regular.svg deleted file mode 100644 index 78eb653a7..000000000 --- a/community_server/webroot/fonts/open-sans-v18-latin-regular.svg +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/community_server/webroot/fonts/open-sans-v18-latin-regular.ttf b/community_server/webroot/fonts/open-sans-v18-latin-regular.ttf deleted file mode 100644 index fb23764c1..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-regular.ttf and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-regular.woff b/community_server/webroot/fonts/open-sans-v18-latin-regular.woff deleted file mode 100644 index 39e88ed92..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-regular.woff and /dev/null differ diff --git a/community_server/webroot/fonts/open-sans-v18-latin-regular.woff2 b/community_server/webroot/fonts/open-sans-v18-latin-regular.woff2 deleted file mode 100644 index e9f58b775..000000000 Binary files a/community_server/webroot/fonts/open-sans-v18-latin-regular.woff2 and /dev/null differ diff --git a/community_server/webroot/img/50x50.png b/community_server/webroot/img/50x50.png deleted file mode 100644 index 7eb2b9ad8..000000000 Binary files a/community_server/webroot/img/50x50.png and /dev/null differ diff --git a/community_server/webroot/img/cake-logo.png b/community_server/webroot/img/cake-logo.png deleted file mode 100644 index 41939ef5a..000000000 Binary files a/community_server/webroot/img/cake-logo.png and /dev/null differ diff --git a/community_server/webroot/img/cake.icon.png b/community_server/webroot/img/cake.icon.png deleted file mode 100644 index 394fa42d5..000000000 Binary files a/community_server/webroot/img/cake.icon.png and /dev/null differ diff --git a/community_server/webroot/img/cake.logo.svg b/community_server/webroot/img/cake.logo.svg deleted file mode 100644 index e73abb54b..000000000 --- a/community_server/webroot/img/cake.logo.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/community_server/webroot/img/cake.power.gif b/community_server/webroot/img/cake.power.gif deleted file mode 100644 index 8f8d570a2..000000000 Binary files a/community_server/webroot/img/cake.power.gif and /dev/null differ diff --git a/community_server/webroot/img/gradido_logo_web.png b/community_server/webroot/img/gradido_logo_web.png deleted file mode 100644 index 062997764..000000000 Binary files a/community_server/webroot/img/gradido_logo_web.png and /dev/null differ diff --git a/community_server/webroot/img/gradido_logo_web.webp b/community_server/webroot/img/gradido_logo_web.webp deleted file mode 100644 index bff8a245d..000000000 Binary files a/community_server/webroot/img/gradido_logo_web.webp and /dev/null differ diff --git a/community_server/webroot/img/logo_half.png b/community_server/webroot/img/logo_half.png deleted file mode 100644 index d6852eab8..000000000 Binary files a/community_server/webroot/img/logo_half.png and /dev/null differ diff --git a/community_server/webroot/img/logo_half.webp b/community_server/webroot/img/logo_half.webp deleted file mode 100644 index d0e6c245b..000000000 Binary files a/community_server/webroot/img/logo_half.webp and /dev/null differ diff --git a/community_server/webroot/img/logo_schrift.png b/community_server/webroot/img/logo_schrift.png deleted file mode 100644 index 062997764..000000000 Binary files a/community_server/webroot/img/logo_schrift.png and /dev/null differ diff --git a/community_server/webroot/img/logo_schrift.webp b/community_server/webroot/img/logo_schrift.webp deleted file mode 100644 index bff8a245d..000000000 Binary files a/community_server/webroot/img/logo_schrift.webp and /dev/null differ diff --git a/community_server/webroot/index.php b/community_server/webroot/index.php deleted file mode 100644 index 2e697aedc..000000000 --- a/community_server/webroot/index.php +++ /dev/null @@ -1,41 +0,0 @@ -emit($server->run()); - diff --git a/community_server/webroot/js/basic.js b/community_server/webroot/js/basic.js deleted file mode 100644 index df53065fe..000000000 --- a/community_server/webroot/js/basic.js +++ /dev/null @@ -1,116 +0,0 @@ -// cross browser dom is ready module from: -// https://www.competa.com/blog/cross-browser-document-ready-with-vanilla-javascript/ -var domIsReady = (function(domIsReady) { - var isBrowserIeOrNot = function() { - return (!document.attachEvent || typeof document.attachEvent === "undefined" ? 'not-ie' : 'ie'); - } - - domIsReady = function(callback) { - if (callback && typeof callback === 'function') { - if (isBrowserIeOrNot() !== 'ie') { - document.addEventListener("DOMContentLoaded", function() { - return callback(); - }); - } else { - document.attachEvent("onreadystatechange", function() { - if (document.readyState === "complete") { - return callback(); - } - }); - } - } else { - console.error('The callback is not a function!'); - } - } - - return domIsReady; -})(domIsReady || {}); - - -// vanilla ajax request, json get -function getJson(basisUrl, method, successFunction, errorFunction, timeoutFunction) { - var xhr = new XMLHttpRequest(); - - xhr.onload = function(e) { - var xhr = e.target; - //console.log(xhr); - var jsonReturn = []; - if (xhr.responseType === 'json') { - jsonReturn = xhr.response; - } else { - jsonReturn = JSON.parse(xhr.responseText); - } - successFunction(jsonReturn); - } - xhr.onerror = function(e) { - errorFunction(e); - } - xhr.ontimeout = function(e) { - timeoutFunction(e); - } - - var bustCache = '&' + new Date().getTime(); - //oReq.open('GET', e.target.dataset.url + bustCache, true); - xhr.open('GET', basisUrl + '?method=' + method + bustCache, true); - xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); - xhr.responseType = 'json'; - xhr.send(); -} - -// cross browser dom is ready -(function(document, window, domIsReady, undefined) { - domIsReady(function() { - var DesktopToggler = document.querySelector('#nav-action'); - var MobileToggler = document.querySelector('#nav-action-mobile'); - var HeaderToggle = document.querySelector('.t-header-toggler'); - - // SIDEBAR TOGGLE FUNCTION FOR LARGE SCREENS (SCREEN "LG" AND UP) - if (DesktopToggler) { - DesktopToggler.addEventListener('click', function() { - console.log('toggler clicked / Desktop'); - if (document.querySelector('.nav-menu').classList.contains('initial')) { - document.querySelector('.nav-menu').classList.remove('initial'); - document.querySelector('.nav-menu').classList.add('nav-menu-minimized'); - } else { - document.querySelector('.nav-menu').classList.toggle('nav-menu-minimized'); - document.querySelector('.nav-menu').classList.toggle('nav-menu-maximized'); - } - let big = document.querySelectorAll('.logo.big'); - big.forEach(function(el) { - el.classList.toggle('visible'); - }); - let small = document.querySelectorAll('.logo.small'); - small.forEach(function(el) { - el.classList.toggle('visible'); - }); - }); - } - - // SIDEBAR TOGGLE FUNCTION FOR MOBILE (SCREEN "MD" AND DOWN) - if (MobileToggler) { - MobileToggler.addEventListener('click', function() { - console.log('toggler clicked / Desktop'); - if (document.querySelector('.nav-menu').classList.contains('initial')) { - document.querySelector('.nav-menu').classList.remove('initial'); - document.querySelector('.nav-menu').classList.toggle('nav-menu-maximized'); - } else { - document.querySelector('.nav-menu').classList.toggle('nav-menu-minimized'); - document.querySelector('.nav-menu').classList.toggle('nav-menu-maximized'); - } - let big = document.querySelectorAll('.logo.big'); - big.forEach(function(el) { - el.classList.toggle('visible'); - }); - let small = document.querySelectorAll('.logo.small'); - small.forEach(function(el) { - el.classList.toggle('visible'); - }); - }); - } - if (HeaderToggle) { - HeaderToggle.addEventListener('click', function() { - HeaderToggle.classList.toggle('arrow'); - }); - } - }); -})(document, window, domIsReady); \ No newline at end of file diff --git a/community_server/webroot/js/core.js b/community_server/webroot/js/core.js deleted file mode 100644 index 9678001c2..000000000 --- a/community_server/webroot/js/core.js +++ /dev/null @@ -1 +0,0 @@ -!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(T,e){"use strict";var t=[],x=T.document,i=Object.getPrototypeOf,a=t.slice,g=t.concat,l=t.push,r=t.indexOf,n={},o=n.toString,m=n.hasOwnProperty,s=m.toString,u=s.call(Object),v={},y=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},_=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,noModule:!0};function b(e,t,n){var i,r=(t=t||x).createElement("script");if(r.text=e,n)for(i in c)n[i]&&(r[i]=n[i]);t.head.appendChild(r).parentNode.removeChild(r)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var C=function(e,t){return new C.fn.init(e,t)},f=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function h(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!y(e)&&!_(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+P+")"+P+"*"),K=new RegExp("="+P+"*([^\\]'\"]*?)"+P+"*\\]","g"),$=new RegExp(F),Q=new RegExp("^"+q+"$"),V={ID:new RegExp("^#("+q+")"),CLASS:new RegExp("^\\.("+q+")"),TAG:new RegExp("^("+q+"|[*])"),ATTR:new RegExp("^"+R),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:new RegExp("^(?:"+H+")$","i"),needsContext:new RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},z=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,X=/^[^{]+\{\s*\[native \w/,G=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,J=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),ee=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)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ie=function(){E()},re=ye(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{O.apply(t=j.call(y.childNodes),y.childNodes),t[y.childNodes.length].nodeType}catch(n){O={apply:t.length?function(e,t){k.apply(e,j.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}function oe(e,t,n,i){var r,o,s,a,l,u,c,f=t&&t.ownerDocument,h=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==h&&9!==h&&11!==h)return n;if(!i&&((t?t.ownerDocument||t:y)!==T&&E(t),t=t||T,x)){if(11!==h&&(l=G.exec(e)))if(r=l[1]){if(9===h){if(!(s=t.getElementById(r)))return n;if(s.id===r)return n.push(s),n}else if(f&&(s=f.getElementById(r))&&v(t,s)&&s.id===r)return n.push(s),n}else{if(l[2])return O.apply(n,t.getElementsByTagName(e)),n;if((r=l[3])&&d.getElementsByClassName&&t.getElementsByClassName)return O.apply(n,t.getElementsByClassName(r)),n}if(d.qsa&&!D[e+" "]&&(!m||!m.test(e))){if(1!==h)f=t,c=e;else if("object"!==t.nodeName.toLowerCase()){for((a=t.getAttribute("id"))?a=a.replace(te,ne):t.setAttribute("id",a=C),o=(u=p(e)).length;o--;)u[o]="#"+a+" "+ve(u[o]);c=u.join(","),f=J.test(e)&&ge(t.parentNode)||t}if(c)try{return O.apply(n,f.querySelectorAll(c)),n}catch(e){}finally{a===C&&t.removeAttribute("id")}}}return g(e.replace(W,"$1"),t,n,i)}function se(){var i=[];return function e(t,n){return i.push(t+" ")>b.cacheLength&&delete e[i.shift()],e[t+" "]=n}}function ae(e){return e[C]=!0,e}function le(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ue(e,t){for(var n=e.split("|"),i=n.length;i--;)b.attrHandle[n[i]]=t}function ce(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 fe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function de(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&re(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function pe(s){return ae(function(o){return o=+o,ae(function(e,t){for(var n,i=s([],e.length,o),r=i.length;r--;)e[n=i[r]]&&(e[n]=!(t[n]=e[n]))})})}function ge(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=oe.support={},r=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},E=oe.setDocument=function(e){var t,n,i=e?e.ownerDocument||e:y;return i!==T&&9===i.nodeType&&i.documentElement&&(s=(T=i).documentElement,x=!r(T),y!==T&&(n=T.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",ie,!1):n.attachEvent&&n.attachEvent("onunload",ie)),d.attributes=le(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=le(function(e){return e.appendChild(T.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=X.test(T.getElementsByClassName),d.getById=le(function(e){return s.appendChild(e).id=C,!T.getElementsByName||!T.getElementsByName(C).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&x){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(Z,ee);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&x){var n,i,r,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(r=t.getElementsByName(e),i=0;o=r[i++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],r=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[r++];)1===n.nodeType&&i.push(n);return i},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&x)return t.getElementsByClassName(e)},a=[],m=[],(d.qsa=X.test(T.querySelectorAll))&&(le(function(e){s.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\["+P+"*(?:value|"+H+")"),e.querySelectorAll("[id~="+C+"-]").length||m.push("~="),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+C+"+*").length||m.push(".#.+[+~]")}),le(function(e){e.innerHTML="";var t=T.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name"+P+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),s.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")})),(d.matchesSelector=X.test(c=s.matches||s.webkitMatchesSelector||s.mozMatchesSelector||s.oMatchesSelector||s.msMatchesSelector))&&le(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),a.push("!=",F)}),m=m.length&&new RegExp(m.join("|")),a=a.length&&new RegExp(a.join("|")),t=X.test(s.compareDocumentPosition),v=t||X.test(s.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},A=t?function(e,t){if(e===t)return u=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument===y&&v(y,e)?-1:t===T||t.ownerDocument===y&&v(y,t)?1:l?L(l,e)-L(l,t):0:4&n?-1:1)}:function(e,t){if(e===t)return u=!0,0;var n,i=0,r=e.parentNode,o=t.parentNode,s=[e],a=[t];if(!r||!o)return e===T?-1:t===T?1:r?-1:o?1:l?L(l,e)-L(l,t):0;if(r===o)return ce(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)a.unshift(n);for(;s[i]===a[i];)i++;return i?ce(s[i],a[i]):s[i]===y?-1:a[i]===y?1:0}),T},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==T&&E(e),t=t.replace(K,"='$1']"),d.matchesSelector&&x&&!D[t+" "]&&(!a||!a.test(t))&&(!m||!m.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===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]||oe.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]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&$.test(n)&&(t=p(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(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=h[e+" "];return t||(t=new RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&h(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,i,r){return function(e){var t=oe.attr(e,n);return null==t?"!="===i:!i||(t+="","="===i?t===r:"!="===i?t!==r:"^="===i?r&&0===t.indexOf(r):"*="===i?r&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function N(e,n,i){return y(n)?C.grep(e,function(e,t){return!!n.call(e,t,e)!==i}):n.nodeType?C.grep(e,function(e){return e===n!==i}):"string"!=typeof n?C.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(C.fn.init=function(e,t,n){var i,r;if(!e)return this;if(n=n||I,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(C):C.makeArray(e,this);if(!(i="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:k.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 C?t[0]:t,C.merge(this,C.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:x,!0)),A.test(i[1])&&C.isPlainObject(t))for(i in t)y(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(r=x.getElementById(i[2]))&&(this[0]=r,this.length=1),this}).prototype=C.fn,I=C(x);var O=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function L(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}C.fn.extend({has:function(e){var t=C(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]+)/i,ce=/^$|^module$|\/(?:java|ecma)script/i,fe={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function he(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&D(e,t)?C.merge([e],n):n}function de(e,t){for(var n=0,i=e.length;nx",v.noCloneChecked=!!pe.cloneNode(!0).lastChild.defaultValue;var ye=x.documentElement,_e=/^key/,be=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,we=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function Te(){return!1}function xe(){try{return x.activeElement}catch(e){}}function Ce(e,t,n,i,r,o){var s,a;if("object"==typeof t){for(a in"string"!=typeof n&&(i=i||n,n=void 0),t)Ce(e,a,n,i,t[a],o);return e}if(null==i&&null==r?(r=n,i=n=void 0):null==r&&("string"==typeof n?(r=i,i=void 0):(r=i,i=n,n=void 0)),!1===r)r=Te;else if(!r)return e;return 1===o&&(s=r,(r=function(e){return C().off(e),s.apply(this,arguments)}).guid=s.guid||(s.guid=C.guid++)),e.each(function(){C.event.add(this,t,r,i,n)})}C.event={global:{},add:function(t,e,n,i,r){var o,s,a,l,u,c,f,h,d,p,g,m=Y.get(t);if(m)for(n.handler&&(n=(o=n).handler,r=o.selector),r&&C.find.matchesSelector(ye,r),n.guid||(n.guid=C.guid++),(l=m.events)||(l=m.events={}),(s=m.handle)||(s=m.handle=function(e){return void 0!==C&&C.event.triggered!==e.type?C.event.dispatch.apply(t,arguments):void 0}),u=(e=(e||"").match(H)||[""]).length;u--;)d=g=(a=we.exec(e[u])||[])[1],p=(a[2]||"").split(".").sort(),d&&(f=C.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,f=C.event.special[d]||{},c=C.extend({type:d,origType:g,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&C.expr.match.needsContext.test(r),namespace:p.join(".")},o),(h=l[d])||((h=l[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,i,p,s)||t.addEventListener&&t.addEventListener(d,s)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),r?h.splice(h.delegateCount++,0,c):h.push(c),C.event.global[d]=!0)},remove:function(e,t,n,i,r){var o,s,a,l,u,c,f,h,d,p,g,m=Y.hasData(e)&&Y.get(e);if(m&&(l=m.events)){for(u=(t=(t||"").match(H)||[""]).length;u--;)if(d=g=(a=we.exec(t[u])||[])[1],p=(a[2]||"").split(".").sort(),d){for(f=C.event.special[d]||{},h=l[d=(i?f.delegateType:f.bindType)||d]||[],a=a[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=h.length;o--;)c=h[o],!r&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||i&&i!==c.selector&&("**"!==i||!c.selector)||(h.splice(o,1),c.selector&&h.delegateCount--,f.remove&&f.remove.call(e,c));s&&!h.length&&(f.teardown&&!1!==f.teardown.call(e,p,m.handle)||C.removeEvent(e,d,m.handle),delete l[d])}else for(d in l)C.event.remove(e,d+t[u],n,i,!0);C.isEmptyObject(l)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,i,r,o,s,a=C.event.fix(e),l=new Array(arguments.length),u=(Y.get(this,"events")||{})[a.type]||[],c=C.event.special[a.type]||{};for(l[0]=a,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,De=/\s*$/g;function Ie(e,t){return D(e,"table")&&D(11!==t.nodeType?t:t.firstChild,"tr")&&C(e).children("tbody")[0]||e}function ke(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function je(e,t){var n,i,r,o,s,a,l,u;if(1===t.nodeType){if(Y.hasData(e)&&(o=Y.access(e),s=Y.set(t,o),u=o.events))for(r in delete s.handle,s.events={},u)for(n=0,i=u[r].length;n")},clone:function(e,t,n){var i,r,o,s,a,l,u,c=e.cloneNode(!0),f=C.contains(e.ownerDocument,e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||C.isXMLDoc(e)))for(s=he(c),i=0,r=(o=he(e)).length;i").prop({charset:n.scriptCharset,src:n.url}).on("load error",r=function(e){i.remove(),r=null,e&&t("error"===e.type?404:200,e.type)}),x.head.appendChild(i[0])},abort:function(){r&&r()}}});var Bt,Ut=[],Kt=/(=)\?(?=&|$)|\?\?/;C.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Ut.pop()||C.expando+"_"+bt++;return this[e]=!0,e}}),C.ajaxPrefilter("json jsonp",function(e,t,n){var i,r,o,s=!1!==e.jsonp&&(Kt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Kt.test(e.data)&&"data");if(s||"jsonp"===e.dataTypes[0])return i=e.jsonpCallback=y(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,s?e[s]=e[s].replace(Kt,"$1"+i):!1!==e.jsonp&&(e.url+=(wt.test(e.url)?"&":"?")+e.jsonp+"="+i),e.converters["script json"]=function(){return o||C.error(i+" was not called"),o[0]},e.dataTypes[0]="json",r=T[i],T[i]=function(){o=arguments},n.always(function(){void 0===r?C(T).removeProp(i):T[i]=r,e[i]&&(e.jsonpCallback=t.jsonpCallback,Ut.push(i)),o&&y(r)&&r(o[0]),o=r=void 0}),"script"}),v.createHTMLDocument=((Bt=x.implementation.createHTMLDocument("").body).innerHTML="
",2===Bt.childNodes.length),C.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((i=(t=x.implementation.createHTMLDocument("")).createElement("base")).href=x.location.href,t.head.appendChild(i)):t=x),o=!n&&[],(r=A.exec(e))?[t.createElement(r[1])]:(r=ve([e],t,o),o&&o.length&&C(o).remove(),C.merge([],r.childNodes)));var i,r,o},C.fn.load=function(e,t,n){var i,r,o,s=this,a=e.indexOf(" ");return-1").append(C.parseHTML(e)).find(i):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},C.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){C.fn[t]=function(e){return this.on(t,e)}}),C.expr.pseudos.animated=function(t){return C.grep(C.timers,function(e){return t===e.elem}).length},C.offset={setOffset:function(e,t,n){var i,r,o,s,a,l,u=C.css(e,"position"),c=C(e),f={};"static"===u&&(e.style.position="relative"),a=c.offset(),o=C.css(e,"top"),l=C.css(e,"left"),r=("absolute"===u||"fixed"===u)&&-1<(o+l).indexOf("auto")?(s=(i=c.position()).top,i.left):(s=parseFloat(o)||0,parseFloat(l)||0),y(t)&&(t=t.call(e,n,C.extend({},a))),null!=t.top&&(f.top=t.top-a.top+s),null!=t.left&&(f.left=t.left-a.left+r),"using"in t?t.using.call(e,f):c.css(f)}},C.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){C.offset.setOffset(this,t,e)});var e,n,i=this[0];return i?i.getClientRects().length?(e=i.getBoundingClientRect(),n=i.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,i=this[0],r={top:0,left:0};if("fixed"===C.css(i,"position"))t=i.getBoundingClientRect();else{for(t=this.offset(),n=i.ownerDocument,e=i.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===C.css(e,"position");)e=e.parentNode;e&&e!==i&&1===e.nodeType&&((r=C(e).offset()).top+=C.css(e,"borderTopWidth",!0),r.left+=C.css(e,"borderLeftWidth",!0))}return{top:t.top-r.top-C.css(i,"marginTop",!0),left:t.left-r.left-C.css(i,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===C.css(e,"position");)e=e.offsetParent;return e||ye})}}),C.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,r){var o="pageYOffset"===r;C.fn[t]=function(e){return B(this,function(e,t,n){var i;if(_(e)?i=e:9===e.nodeType&&(i=e.defaultView),void 0===n)return i?i[r]:e[t];i?i.scrollTo(o?i.pageXOffset:n,o?n:i.pageYOffset):e[t]=n},t,e,arguments.length)}}),C.each(["top","left"],function(e,n){C.cssHooks[n]=Me(v.pixelPosition,function(e,t){if(t)return t=Fe(e,n),Pe.test(t)?C(e).position()[n]+"px":t})}),C.each({Height:"height",Width:"width"},function(s,a){C.each({padding:"inner"+s,content:a,"":"outer"+s},function(i,o){C.fn[o]=function(e,t){var n=arguments.length&&(i||"boolean"!=typeof e),r=i||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var i;return _(e)?0===o.indexOf("outer")?e["inner"+s]:e.document.documentElement["client"+s]:9===e.nodeType?(i=e.documentElement,Math.max(e.body["scroll"+s],i["scroll"+s],e.body["offset"+s],i["offset"+s],i["client"+s])):void 0===n?C.css(e,t,r):C.style(e,t,n,r)},a,n?e:void 0,n)}})}),C.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,n){C.fn[n]=function(e,t){return 0=i.clientWidth&&n>=i.clientHeight}),c=0l[e]&&!i.escapeWithReference&&(n=I(c[t],l[e]-("right"===e?c.width:c.height))),Q({},t,n)}};return u.forEach(function(e){var t=-1===["left","top"].indexOf(e)?"secondary":"primary";c=V({},c,f[t](e))}),e.offsets.popper=c,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,i=t.reference,r=e.placement.split("-")[0],o=P,s=-1!==["top","bottom"].indexOf(r),a=s?"right":"bottom",l=s?"left":"top",u=s?"width":"height";return n[a]o(i[a])&&(e.offsets.popper[l]=o(i[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!A(e.instance.modifiers,"arrow","keepTogether"))return e;var i=t.element;if("string"==typeof i){if(!(i=e.instance.popper.querySelector(i)))return e}else if(!e.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var r=e.placement.split("-")[0],o=e.offsets,s=o.popper,a=o.reference,l=-1!==["left","right"].indexOf(r),u=l?"height":"width",c=l?"Top":"Left",f=c.toLowerCase(),h=l?"left":"top",d=l?"bottom":"right",p=T(i)[u];a[d]-ps[d]&&(e.offsets.popper[f]+=a[f]+p-s[d]),e.offsets.popper=w(e.offsets.popper);var g=a[f]+a[u]/2-p/2,m=b(e.instance.popper),v=parseFloat(m["margin"+c],10),y=parseFloat(m["border"+c+"Width"],10),_=g-e.offsets.popper[f]-v-y;return _=k(I(s[u]-p,_),0),e.arrowElement=i,e.offsets.arrow=(Q(n={},f,q(_)),Q(n,h,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(p,g){if(e(p.instance.modifiers,"inner"))return p;if(p.flipped&&p.placement===p.originalPlacement)return p;var m=h(p.instance.popper,p.instance.reference,g.padding,g.boundariesElement,p.positionFixed),v=p.placement.split("-")[0],y=x(v),_=p.placement.split("-")[1]||"",b=[];switch(g.behavior){case G:b=[v,y];break;case J:b=i(v);break;case Z:b=i(v,!0);break;default:b=g.behavior}return b.forEach(function(e,t){if(v!==e||b.length===t+1)return p;v=p.placement.split("-")[0],y=x(v);var n,i=p.offsets.popper,r=p.offsets.reference,o=P,s="left"===v&&o(i.right)>o(r.left)||"right"===v&&o(i.left)o(r.top)||"bottom"===v&&o(i.top)o(m.right),u=o(i.top)o(m.bottom),f="left"===v&&a||"right"===v&&l||"top"===v&&u||"bottom"===v&&c,h=-1!==["top","bottom"].indexOf(v),d=!!g.flipVariations&&(h&&"start"===_&&a||h&&"end"===_&&l||!h&&"start"===_&&u||!h&&"end"===_&&c);(s||f||d)&&(p.flipped=!0,(s||f)&&(v=b[t+1]),d&&(_="end"===(n=_)?"start":"start"===n?"end":n),p.placement=v+(_?"-"+_:""),p.offsets.popper=V({},p.offsets.popper,C(p.instance.popper,p.offsets.reference,p.placement)),p=S(p.instance.modifiers,p,"flip"))}),p},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],i=e.offsets,r=i.popper,o=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return r[s?"left":"top"]=o[n]-(a?r[s?"width":"height"]:0),e.placement=x(t),e.offsets.popper=w(r),e}},hide:{order:800,enabled:!0,fn:function(e){if(!A(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=L(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottomn.right||t.top>n.bottom||t.rightthis._items.length-1||e<0))if(this._isSliding)p(this._element).one(O.SLID,function(){return t.to(e)});else{if(n===e)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=e.left+e.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]}},Re="show",Fe={HIDE:"hide"+Ie,HIDDEN:"hidden"+Ie,SHOW:"show"+Ie,SHOWN:"shown"+Ie,INSERTED:"inserted"+Ie,CLICK:"click"+Ie,FOCUSIN:"focusin"+Ie,FOCUSOUT:"focusout"+Ie,MOUSEENTER:"mouseenter"+Ie,MOUSELEAVE:"mouseleave"+Ie},Me="fade",We="show",Be="hover",Ue="focus",Ke=function(){function i(e,t){if(void 0===f)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners()}var e=i.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=p(e.currentTarget).data(t);n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(p(this.getTipElement()).hasClass(We))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),p.removeData(this.element,this.constructor.DATA_KEY),p(this.element).off(this.constructor.EVENT_KEY),p(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&p(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===p(this.element).css("display"))throw new Error("Please use show on visible elements");var e=p.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){p(this.element).trigger(e);var n=g.findShadowRoot(this.element),i=p.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var r=this.getTipElement(),o=g.getUID(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&p(r).addClass(Me);var s="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();p(r).data(this.constructor.DATA_KEY,this),p.contains(this.element.ownerDocument.documentElement,this.tip)||p(r).appendTo(l),p(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new f(this.element,r,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}}),p(r).addClass(We),"ontouchstart"in document.documentElement&&p(document.body).children().on("mouseover",null,p.noop);var u=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,p(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(p(this.tip).hasClass(Me)){var c=g.getTransitionDurationFromElement(this.tip);p(this.tip).one(g.TRANSITION_END,u).emulateTransitionEnd(c)}else u()}},e.hide=function(e){var t=this,n=this.getTipElement(),i=p.Event(this.constructor.Event.HIDE),r=function(){t._hoverState!==Re&&n.parentNode&&n.parentNode.removeChild(n),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),p(t.element).trigger(t.constructor.Event.HIDDEN),null!==t._popper&&t._popper.destroy(),e&&e()};if(p(this.element).trigger(i),!i.isDefaultPrevented()){if(p(n).removeClass(We),"ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),this._activeTrigger.click=!1,this._activeTrigger[Ue]=!1,this._activeTrigger[Be]=!1,p(this.tip).hasClass(Me)){var o=g.getTransitionDurationFromElement(n);p(n).one(g.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(e){p(this.getTipElement()).addClass(Oe+"-"+e)},e.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},e.setContent=function(){var e=this.getTipElement();this.setElementContent(p(e.querySelectorAll(".tooltip-inner")),this.getTitle()),p(e).removeClass(Me+" "+We)},e.setElementContent=function(e,t){"object"!=typeof t||!t.nodeType&&!t.jquery?this.config.html?(this.config.sanitize&&(t=De(t,this.config.whiteList,this.config.sanitizeFn)),e.html(t)):e.text(t):this.config.html?p(t).parent().is(e)||e.empty().append(t):e.text(p(t).text())},e.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=l({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:g.isElement(this.config.container)?p(this.config.container):p(document).find(this.config.container)},e._getAttachment=function(e){return Pe[e.toUpperCase()]},e._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)p(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(e){return i.toggle(e)});else if("manual"!==e){var t=e===Be?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=e===Be?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;p(i.element).on(t,i.config.selector,function(e){return i._enter(e)}).on(n,i.config.selector,function(e){return i._leave(e)})}}),p(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||p(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusin"===e.type?Ue:Be]=!0),p(t.getTipElement()).hasClass(We)||t._hoverState===Re?t._hoverState=Re:(clearTimeout(t._timeout),t._hoverState=Re,t.config.delay&&t.config.delay.show?t._timeout=setTimeout(function(){t._hoverState===Re&&t.show()},t.config.delay.show):t.show())},e._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||p(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusout"===e.type?Ue:Be]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState="out",t.config.delay&&t.config.delay.hide?t._timeout=setTimeout(function(){"out"===t._hoverState&&t.hide()},t.config.delay.hide):t.hide())},e._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},e._getConfig=function(e){var t=p(this.element).data();return Object.keys(t).forEach(function(e){-1!==Le.indexOf(e)&&delete t[e]}),"number"==typeof(e=l({},this.constructor.Default,t,"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),g.typeCheckConfig(Ae,e,this.constructor.DefaultType),e.sanitize&&(e.template=De(e.template,e.whiteList,e.sanitizeFn)),e},e._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},e._cleanTipClass=function(){var e=p(this.getTipElement()),t=e.attr("class").match(je);null!==t&&t.length&&e.removeClass(t.join(""))},e._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(e.placement))},e._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(p(e).removeClass(Me),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},i._jQueryInterface=function(n){return this.each(function(){var e=p(this).data(Ne),t="object"==typeof n&&n;if((e||!/dispose|hide/.test(n))&&(e||(e=new i(this,t),p(this).data(Ne,e)),"string"==typeof n)){if(void 0===e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return qe}},{key:"NAME",get:function(){return Ae}},{key:"DATA_KEY",get:function(){return Ne}},{key:"Event",get:function(){return Fe}},{key:"EVENT_KEY",get:function(){return Ie}},{key:"DefaultType",get:function(){return He}}]),i}();p.fn[Ae]=Ke._jQueryInterface,p.fn[Ae].Constructor=Ke,p.fn[Ae].noConflict=function(){return p.fn[Ae]=ke,Ke._jQueryInterface};var $e="popover",Qe="bs.popover",Ve="."+Qe,ze=p.fn[$e],Ye="bs-popover",Xe=new RegExp("(^|\\s)"+Ye+"\\S+","g"),Ge=l({},Ke.Default,{placement:"right",trigger:"click",content:"",template:''}),Je=l({},Ke.DefaultType,{content:"(string|element|function)"}),Ze={HIDE:"hide"+Ve,HIDDEN:"hidden"+Ve,SHOW:"show"+Ve,SHOWN:"shown"+Ve,INSERTED:"inserted"+Ve,CLICK:"click"+Ve,FOCUSIN:"focusin"+Ve,FOCUSOUT:"focusout"+Ve,MOUSEENTER:"mouseenter"+Ve,MOUSELEAVE:"mouseleave"+Ve},et=function(e){var t,n;function i(){return e.apply(this,arguments)||this}n=e,(t=i).prototype=Object.create(n.prototype),(t.prototype.constructor=t).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(e){p(this.getTipElement()).addClass(Ye+"-"+e)},r.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},r.setContent=function(){var e=p(this.getTipElement());this.setElementContent(e.find(".popover-header"),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(e.find(".popover-body"),t),e.removeClass("fade show")},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var e=p(this.getTipElement()),t=e.attr("class").match(Xe);null!==t&&0=this._offsets[r]&&(void 0===this._offsets[r+1]||e li > .active",wt=function(){function i(e){this._element=e}var e=i.prototype;return e.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&p(this._element).hasClass(yt)||p(this._element).hasClass("disabled"))){var e,i,t=p(this._element).closest(".nav, .list-group")[0],r=g.getSelectorFromElement(this._element);if(t){var o="UL"===t.nodeName||"OL"===t.nodeName?bt:_t;i=(i=p.makeArray(p(t).find(o)))[i.length-1]}var s=p.Event(vt.HIDE,{relatedTarget:this._element}),a=p.Event(vt.SHOW,{relatedTarget:i});if(i&&p(i).trigger(s),p(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(e=document.querySelector(r)),this._activate(this._element,t);var l=function(){var e=p.Event(vt.HIDDEN,{relatedTarget:n._element}),t=p.Event(vt.SHOWN,{relatedTarget:i});p(i).trigger(e),p(n._element).trigger(t)};e?this._activate(e,e.parentNode,l):l()}}},e.dispose=function(){p.removeData(this._element,pt),this._element=null},e._activate=function(e,t,n){var i=this,r=(!t||"UL"!==t.nodeName&&"OL"!==t.nodeName?p(t).children(_t):p(t).find(bt))[0],o=n&&r&&p(r).hasClass("fade"),s=function(){return i._transitionComplete(e,r,n)};if(r&&o){var a=g.getTransitionDurationFromElement(r);p(r).removeClass("show").one(g.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},e._transitionComplete=function(e,t,n){if(t){p(t).removeClass(yt);var i=p(t.parentNode).find("> .dropdown-menu .active")[0];i&&p(i).removeClass(yt),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!1)}if(p(e).addClass(yt),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),g.reflow(e),e.classList.contains("fade")&&e.classList.add("show"),e.parentNode&&p(e.parentNode).hasClass("dropdown-menu")){var r=p(e).closest(".dropdown")[0];if(r){var o=[].slice.call(r.querySelectorAll(".dropdown-toggle"));p(o).addClass(yt)}e.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var e=p(this),t=e.data(pt);if(t||(t=new i(this),e.data(pt,t)),"string"==typeof n){if(void 0===t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();p(document).on(vt.CLICK_DATA_API,'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',function(e){e.preventDefault(),wt._jQueryInterface.call(p(this),"show")}),p.fn.tab=wt._jQueryInterface,p.fn.tab.Constructor=wt,p.fn.tab.noConflict=function(){return p.fn.tab=mt,wt._jQueryInterface};var Et="toast",Tt="bs.toast",xt="."+Tt,Ct=p.fn[Et],St={CLICK_DISMISS:"click.dismiss"+xt,HIDE:"hide"+xt,HIDDEN:"hidden"+xt,SHOW:"show"+xt,SHOWN:"shown"+xt},Dt="show",At="showing",Nt={animation:"boolean",autohide:"boolean",delay:"number"},It={animation:!0,autohide:!0,delay:500},kt=function(){function i(e,t){this._element=e,this._config=this._getConfig(t),this._timeout=null,this._setListeners()}var e=i.prototype;return e.show=function(){var e=this;p(this._element).trigger(St.SHOW),this._config.animation&&this._element.classList.add("fade");var t=function(){e._element.classList.remove(At),e._element.classList.add(Dt),p(e._element).trigger(St.SHOWN),e._config.autohide&&e.hide()};if(this._element.classList.remove("hide"),this._element.classList.add(At),this._config.animation){var n=g.getTransitionDurationFromElement(this._element);p(this._element).one(g.TRANSITION_END,t).emulateTransitionEnd(n)}else t()},e.hide=function(e){var t=this;this._element.classList.contains(Dt)&&(p(this._element).trigger(St.HIDE),e?this._close():this._timeout=setTimeout(function(){t._close()},this._config.delay))},e.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Dt)&&this._element.classList.remove(Dt),p(this._element).off(St.CLICK_DISMISS),p.removeData(this._element,Tt),this._element=null,this._config=null},e._getConfig=function(e){return e=l({},It,p(this._element).data(),"object"==typeof e&&e?e:{}),g.typeCheckConfig(Et,e,this.constructor.DefaultType),e},e._setListeners=function(){var e=this;p(this._element).on(St.CLICK_DISMISS,'[data-dismiss="toast"]',function(){return e.hide(!0)})},e._close=function(){var e=this,t=function(){e._element.classList.add("hide"),p(e._element).trigger(St.HIDDEN)};if(this._element.classList.remove(Dt),this._config.animation){var n=g.getTransitionDurationFromElement(this._element);p(this._element).one(g.TRANSITION_END,t).emulateTransitionEnd(n)}else t()},i._jQueryInterface=function(n){return this.each(function(){var e=p(this),t=e.data(Tt);if(t||(t=new i(this,"object"==typeof n&&n),e.data(Tt,t)),"string"==typeof n){if(void 0===t[n])throw new TypeError('No method named "'+n+'"');t[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Nt}},{key:"Default",get:function(){return It}}]),i}();p.fn[Et]=kt._jQueryInterface,p.fn[Et].Constructor=kt,p.fn[Et].noConflict=function(){return p.fn[Et]=Ct,kt._jQueryInterface},function(){if(void 0===p)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=p.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||4<=e[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),e.Util=g,e.Alert=c,e.Button=E,e.Carousel=P,e.Collapse=Y,e.Dropdown=ce,e.Modal=Te,e.Popover=et,e.Scrollspy=dt,e.Tab=wt,e.Toast=kt,e.Tooltip=Ke,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file diff --git a/community_server/webroot/js/ensurePassphrase.js b/community_server/webroot/js/ensurePassphrase.js deleted file mode 100644 index e2f7a98bb..000000000 --- a/community_server/webroot/js/ensurePassphrase.js +++ /dev/null @@ -1,1927 +0,0 @@ -(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } -}; - -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); -}; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; -process.prependListener = noop; -process.prependOnceListener = noop; - -process.listeners = function (name) { return [] } - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function() { return 0; }; - -},{}],2:[function(require,module,exports){ -(function (setImmediate,clearImmediate){ -var nextTick = require('process/browser.js').nextTick; -var apply = Function.prototype.apply; -var slice = Array.prototype.slice; -var immediateIds = {}; -var nextImmediateId = 0; - -// DOM APIs, for completeness - -exports.setTimeout = function() { - return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout); -}; -exports.setInterval = function() { - return new Timeout(apply.call(setInterval, window, arguments), clearInterval); -}; -exports.clearTimeout = -exports.clearInterval = function(timeout) { timeout.close(); }; - -function Timeout(id, clearFn) { - this._id = id; - this._clearFn = clearFn; -} -Timeout.prototype.unref = Timeout.prototype.ref = function() {}; -Timeout.prototype.close = function() { - this._clearFn.call(window, this._id); -}; - -// Does not start the time, just sets up the members needed. -exports.enroll = function(item, msecs) { - clearTimeout(item._idleTimeoutId); - item._idleTimeout = msecs; -}; - -exports.unenroll = function(item) { - clearTimeout(item._idleTimeoutId); - item._idleTimeout = -1; -}; - -exports._unrefActive = exports.active = function(item) { - clearTimeout(item._idleTimeoutId); - - var msecs = item._idleTimeout; - if (msecs >= 0) { - item._idleTimeoutId = setTimeout(function onTimeout() { - if (item._onTimeout) - item._onTimeout(); - }, msecs); - } -}; - -// That's not how node.js implements it but the exposed api is the same. -exports.setImmediate = typeof setImmediate === "function" ? setImmediate : function(fn) { - var id = nextImmediateId++; - var args = arguments.length < 2 ? false : slice.call(arguments, 1); - - immediateIds[id] = true; - - nextTick(function onNextTick() { - if (immediateIds[id]) { - // fn.call() is faster so we optimize for the common use-case - // @see http://jsperf.com/call-apply-segu - if (args) { - fn.apply(null, args); - } else { - fn.call(null); - } - // Prevent ids from leaking - exports.clearImmediate(id); - } - }); - - return id; -}; - -exports.clearImmediate = typeof clearImmediate === "function" ? clearImmediate : function(id) { - delete immediateIds[id]; -}; -}).call(this,require("timers").setImmediate,require("timers").clearImmediate) -},{"process/browser.js":1,"timers":2}],3:[function(require,module,exports){ -(function (global,setImmediate){ -new function() { - -function Vnode(tag, key, attrs0, children, text, dom) { - return {tag: tag, key: key, attrs: attrs0, children: children, text: text, dom: dom, domSize: undefined, state: {}, events: undefined, instance: undefined, skip: false} -} -Vnode.normalize = function(node) { - if (Array.isArray(node)) return Vnode("[", undefined, undefined, Vnode.normalizeChildren(node), undefined, undefined) - if (node != null && typeof node !== "object") return Vnode("#", undefined, undefined, node === false ? "" : node, undefined, undefined) - return node -} -Vnode.normalizeChildren = function normalizeChildren(children) { - for (var i = 0; i < children.length; i++) { - children[i] = Vnode.normalize(children[i]) - } - return children -} -var selectorParser = /(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g -var selectorCache = {} -function hyperscript(selector) { - if (selector == null || typeof selector !== "string" && typeof selector.view !== "function") { - throw Error("The selector must be either a string or a component."); - } - if (typeof selector === "string" && selectorCache[selector] === undefined) { - var match, tag, classes = [], attributes = {} - while (match = selectorParser.exec(selector)) { - var type = match[1], value = match[2] - if (type === "" && value !== "") tag = value - else if (type === "#") attributes.id = value - else if (type === ".") classes.push(value) - else if (match[3][0] === "[") { - var attrValue = match[6] - if (attrValue) attrValue = attrValue.replace(/\\(["'])/g, "$1").replace(/\\\\/g, "\\") - if (match[4] === "class") classes.push(attrValue) - else attributes[match[4]] = attrValue || true - } - } - if (classes.length > 0) attributes.className = classes.join(" ") - selectorCache[selector] = function(attrs, children) { - var hasAttrs = false, childList, text - var className = attrs.className || attrs.class - for (var key in attributes) attrs[key] = attributes[key] - if (className !== undefined) { - if (attrs.class !== undefined) { - attrs.class = undefined - attrs.className = className - } - if (attributes.className !== undefined) attrs.className = attributes.className + " " + className - } - for (var key in attrs) { - if (key !== "key") { - hasAttrs = true - break - } - } - if (Array.isArray(children) && children.length == 1 && children[0] != null && children[0].tag === "#") text = children[0].children - else childList = children - return Vnode(tag || "div", attrs.key, hasAttrs ? attrs : undefined, childList, text, undefined) - } - } - var attrs, children, childrenIndex - if (arguments[1] == null || typeof arguments[1] === "object" && arguments[1].tag === undefined && !Array.isArray(arguments[1])) { - attrs = arguments[1] - childrenIndex = 2 - } - else childrenIndex = 1 - if (arguments.length === childrenIndex + 1) { - children = Array.isArray(arguments[childrenIndex]) ? arguments[childrenIndex] : [arguments[childrenIndex]] - } - else { - children = [] - for (var i = childrenIndex; i < arguments.length; i++) children.push(arguments[i]) - } - if (typeof selector === "string") return selectorCache[selector](attrs || {}, Vnode.normalizeChildren(children)) - return Vnode(selector, attrs && attrs.key, attrs || {}, Vnode.normalizeChildren(children), undefined, undefined) -} -hyperscript.trust = function(html) { - if (html == null) html = "" - return Vnode("<", undefined, undefined, html, undefined, undefined) -} -hyperscript.fragment = function(attrs1, children) { - return Vnode("[", attrs1.key, attrs1, Vnode.normalizeChildren(children), undefined, undefined) -} -var m = hyperscript -/** @constructor */ -var PromisePolyfill = function(executor) { - if (!(this instanceof PromisePolyfill)) throw new Error("Promise must be called with `new`") - if (typeof executor !== "function") throw new TypeError("executor must be a function") - var self = this, resolvers = [], rejectors = [], resolveCurrent = handler(resolvers, true), rejectCurrent = handler(rejectors, false) - var instance = self._instance = {resolvers: resolvers, rejectors: rejectors} - var callAsync = typeof setImmediate === "function" ? setImmediate : setTimeout - function handler(list, shouldAbsorb) { - return function execute(value) { - var then - try { - if (shouldAbsorb && value != null && (typeof value === "object" || typeof value === "function") && typeof (then = value.then) === "function") { - if (value === self) throw new TypeError("Promise can't be resolved w/ itself") - executeOnce(then.bind(value)) - } - else { - callAsync(function() { - if (!shouldAbsorb && list.length === 0) console.error("Possible unhandled promise rejection:", value) - for (var i = 0; i < list.length; i++) list[i](value) - resolvers.length = 0, rejectors.length = 0 - instance.state = shouldAbsorb - instance.retry = function() {execute(value)} - }) - } - } - catch (e) { - rejectCurrent(e) - } - } - } - function executeOnce(then) { - var runs = 0 - function run(fn) { - return function(value) { - if (runs++ > 0) return - fn(value) - } - } - var onerror = run(rejectCurrent) - try {then(run(resolveCurrent), onerror)} catch (e) {onerror(e)} - } - executeOnce(executor) -} -PromisePolyfill.prototype.then = function(onFulfilled, onRejection) { - var self = this, instance = self._instance - function handle(callback, list, next, state) { - list.push(function(value) { - if (typeof callback !== "function") next(value) - else try {resolveNext(callback(value))} catch (e) {if (rejectNext) rejectNext(e)} - }) - if (typeof instance.retry === "function" && state === instance.state) instance.retry() - } - var resolveNext, rejectNext - var promise = new PromisePolyfill(function(resolve, reject) {resolveNext = resolve, rejectNext = reject}) - handle(onFulfilled, instance.resolvers, resolveNext, true), handle(onRejection, instance.rejectors, rejectNext, false) - return promise -} -PromisePolyfill.prototype.catch = function(onRejection) { - return this.then(null, onRejection) -} -PromisePolyfill.resolve = function(value) { - if (value instanceof PromisePolyfill) return value - return new PromisePolyfill(function(resolve) {resolve(value)}) -} -PromisePolyfill.reject = function(value) { - return new PromisePolyfill(function(resolve, reject) {reject(value)}) -} -PromisePolyfill.all = function(list) { - return new PromisePolyfill(function(resolve, reject) { - var total = list.length, count = 0, values = [] - if (list.length === 0) resolve([]) - else for (var i = 0; i < list.length; i++) { - (function(i) { - function consume(value) { - count++ - values[i] = value - if (count === total) resolve(values) - } - if (list[i] != null && (typeof list[i] === "object" || typeof list[i] === "function") && typeof list[i].then === "function") { - list[i].then(consume, reject) - } - else consume(list[i]) - })(i) - } - }) -} -PromisePolyfill.race = function(list) { - return new PromisePolyfill(function(resolve, reject) { - for (var i = 0; i < list.length; i++) { - list[i].then(resolve, reject) - } - }) -} -if (typeof window !== "undefined") { - if (typeof window.Promise === "undefined") window.Promise = PromisePolyfill - var PromisePolyfill = window.Promise -} else if (typeof global !== "undefined") { - if (typeof global.Promise === "undefined") global.Promise = PromisePolyfill - var PromisePolyfill = global.Promise -} else { -} -var buildQueryString = function(object) { - if (Object.prototype.toString.call(object) !== "[object Object]") return "" - var args = [] - for (var key0 in object) { - destructure(key0, object[key0]) - } - return args.join("&") - function destructure(key0, value) { - if (Array.isArray(value)) { - for (var i = 0; i < value.length; i++) { - destructure(key0 + "[" + i + "]", value[i]) - } - } - else if (Object.prototype.toString.call(value) === "[object Object]") { - for (var i in value) { - destructure(key0 + "[" + i + "]", value[i]) - } - } - else args.push(encodeURIComponent(key0) + (value != null && value !== "" ? "=" + encodeURIComponent(value) : "")) - } -} -var _8 = function($window, Promise) { - var callbackCount = 0 - var oncompletion - function setCompletionCallback(callback) {oncompletion = callback} - function finalizer() { - var count = 0 - function complete() {if (--count === 0 && typeof oncompletion === "function") oncompletion()} - return function finalize(promise0) { - var then0 = promise0.then - promise0.then = function() { - count++ - var next = then0.apply(promise0, arguments) - next.then(complete, function(e) { - complete() - if (count === 0) throw e - }) - return finalize(next) - } - return promise0 - } - } - function normalize(args, extra) { - if (typeof args === "string") { - var url = args - args = extra || {} - if (args.url == null) args.url = url - } - return args - } - function request(args, extra) { - var finalize = finalizer() - args = normalize(args, extra) - var promise0 = new Promise(function(resolve, reject) { - if (args.method == null) args.method = "GET" - args.method = args.method.toUpperCase() - var useBody = typeof args.useBody === "boolean" ? args.useBody : args.method !== "GET" && args.method !== "TRACE" - if (typeof args.serialize !== "function") args.serialize = typeof FormData !== "undefined" && args.data instanceof FormData ? function(value) {return value} : JSON.stringify - if (typeof args.deserialize !== "function") args.deserialize = deserialize - if (typeof args.extract !== "function") args.extract = extract - args.url = interpolate(args.url, args.data) - if (useBody) args.data = args.serialize(args.data) - else args.url = assemble(args.url, args.data) - var xhr = new $window.XMLHttpRequest() - xhr.open(args.method, args.url, typeof args.async === "boolean" ? args.async : true, typeof args.user === "string" ? args.user : undefined, typeof args.password === "string" ? args.password : undefined) - if (args.serialize === JSON.stringify && useBody) { - xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8") - } - if (args.deserialize === deserialize) { - xhr.setRequestHeader("Accept", "application/json, text/*") - } - if (args.withCredentials) xhr.withCredentials = args.withCredentials - for (var key in args.headers) if ({}.hasOwnProperty.call(args.headers, key)) { - xhr.setRequestHeader(key, args.headers[key]) - } - if (typeof args.config === "function") xhr = args.config(xhr, args) || xhr - xhr.onreadystatechange = function() { - // Don't throw errors on xhr.abort(). XMLHttpRequests ends up in a state of - // xhr.status == 0 and xhr.readyState == 4 if aborted after open, but before completion. - if (xhr.status && xhr.readyState === 4) { - try { - var response = (args.extract !== extract) ? args.extract(xhr, args) : args.deserialize(args.extract(xhr, args)) - if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) { - resolve(cast(args.type, response)) - } - else { - var error = new Error(xhr.responseText) - for (var key in response) error[key] = response[key] - reject(error) - } - } - catch (e) { - reject(e) - } - } - } - if (useBody && (args.data != null)) xhr.send(args.data) - else xhr.send() - }) - return args.background === true ? promise0 : finalize(promise0) - } - function jsonp(args, extra) { - var finalize = finalizer() - args = normalize(args, extra) - var promise0 = new Promise(function(resolve, reject) { - var callbackName = args.callbackName || "_mithril_" + Math.round(Math.random() * 1e16) + "_" + callbackCount++ - var script = $window.document.createElement("script") - $window[callbackName] = function(data) { - script.parentNode.removeChild(script) - resolve(cast(args.type, data)) - delete $window[callbackName] - } - script.onerror = function() { - script.parentNode.removeChild(script) - reject(new Error("JSONP request failed")) - delete $window[callbackName] - } - if (args.data == null) args.data = {} - args.url = interpolate(args.url, args.data) - args.data[args.callbackKey || "callback"] = callbackName - script.src = assemble(args.url, args.data) - $window.document.documentElement.appendChild(script) - }) - return args.background === true? promise0 : finalize(promise0) - } - function interpolate(url, data) { - if (data == null) return url - var tokens = url.match(/:[^\/]+/gi) || [] - for (var i = 0; i < tokens.length; i++) { - var key = tokens[i].slice(1) - if (data[key] != null) { - url = url.replace(tokens[i], data[key]) - } - } - return url - } - function assemble(url, data) { - var querystring = buildQueryString(data) - if (querystring !== "") { - var prefix = url.indexOf("?") < 0 ? "?" : "&" - url += prefix + querystring - } - return url - } - function deserialize(data) { - try {return data !== "" ? JSON.parse(data) : null} - catch (e) {throw new Error(data)} - } - function extract(xhr) {return xhr.responseText} - function cast(type0, data) { - if (typeof type0 === "function") { - if (Array.isArray(data)) { - for (var i = 0; i < data.length; i++) { - data[i] = new type0(data[i]) - } - } - else return new type0(data) - } - return data - } - return {request: request, jsonp: jsonp, setCompletionCallback: setCompletionCallback} -} -var requestService = _8(window, PromisePolyfill) -var coreRenderer = function($window) { - var $doc = $window.document - var $emptyFragment = $doc.createDocumentFragment() - var onevent - function setEventCallback(callback) {return onevent = callback} - //create - function createNodes(parent, vnodes, start, end, hooks, nextSibling, ns) { - for (var i = start; i < end; i++) { - var vnode = vnodes[i] - if (vnode != null) { - insertNode(parent, createNode(vnode, hooks, ns), nextSibling) - } - } - } - function createNode(vnode, hooks, ns) { - var tag = vnode.tag - if (vnode.attrs != null) initLifecycle(vnode.attrs, vnode, hooks) - if (typeof tag === "string") { - switch (tag) { - case "#": return createText(vnode) - case "<": return createHTML(vnode) - case "[": return createFragment(vnode, hooks, ns) - default: return createElement(vnode, hooks, ns) - } - } - else return createComponent(vnode, hooks, ns) - } - function createText(vnode) { - return vnode.dom = $doc.createTextNode(vnode.children) - } - function createHTML(vnode) { - var match1 = vnode.children.match(/^\s*?<(\w+)/im) || [] - var parent = {caption: "table", thead: "table", tbody: "table", tfoot: "table", tr: "tbody", th: "tr", td: "tr", colgroup: "table", col: "colgroup"}[match1[1]] || "div" - var temp = $doc.createElement(parent) - temp.innerHTML = vnode.children - vnode.dom = temp.firstChild - vnode.domSize = temp.childNodes.length - var fragment = $doc.createDocumentFragment() - var child - while (child = temp.firstChild) { - fragment.appendChild(child) - } - return fragment - } - function createFragment(vnode, hooks, ns) { - var fragment = $doc.createDocumentFragment() - if (vnode.children != null) { - var children = vnode.children - createNodes(fragment, children, 0, children.length, hooks, null, ns) - } - vnode.dom = fragment.firstChild - vnode.domSize = fragment.childNodes.length - return fragment - } - function createElement(vnode, hooks, ns) { - var tag = vnode.tag - switch (vnode.tag) { - case "svg": ns = "http://www.w3.org/2000/svg"; break - case "math": ns = "http://www.w3.org/1998/Math/MathML"; break - } - var attrs2 = vnode.attrs - var is = attrs2 && attrs2.is - var element = ns ? - is ? $doc.createElementNS(ns, tag, {is: is}) : $doc.createElementNS(ns, tag) : - is ? $doc.createElement(tag, {is: is}) : $doc.createElement(tag) - vnode.dom = element - if (attrs2 != null) { - setAttrs(vnode, attrs2, ns) - } - if (vnode.attrs != null && vnode.attrs.contenteditable != null) { - setContentEditable(vnode) - } - else { - if (vnode.text != null) { - if (vnode.text !== "") element.textContent = vnode.text - else vnode.children = [Vnode("#", undefined, undefined, vnode.text, undefined, undefined)] - } - if (vnode.children != null) { - var children = vnode.children - createNodes(element, children, 0, children.length, hooks, null, ns) - setLateAttrs(vnode) - } - } - return element - } - function createComponent(vnode, hooks, ns) { - vnode.state = Object.create(vnode.tag) - var view = vnode.tag.view - if (view.reentrantLock != null) return $emptyFragment - view.reentrantLock = true - initLifecycle(vnode.tag, vnode, hooks) - vnode.instance = Vnode.normalize(view.call(vnode.state, vnode)) - view.reentrantLock = null - if (vnode.instance != null) { - if (vnode.instance === vnode) throw Error("A view cannot return the vnode it received as arguments") - var element = createNode(vnode.instance, hooks, ns) - vnode.dom = vnode.instance.dom - vnode.domSize = vnode.dom != null ? vnode.instance.domSize : 0 - return element - } - else { - vnode.domSize = 0 - return $emptyFragment - } - } - //update - function updateNodes(parent, old, vnodes, hooks, nextSibling, ns) { - if (old === vnodes || old == null && vnodes == null) return - else if (old == null) createNodes(parent, vnodes, 0, vnodes.length, hooks, nextSibling, undefined) - else if (vnodes == null) removeNodes(old, 0, old.length, vnodes) - else { - if (old.length === vnodes.length) { - var isUnkeyed = false - for (var i = 0; i < vnodes.length; i++) { - if (vnodes[i] != null && old[i] != null) { - isUnkeyed = vnodes[i].key == null && old[i].key == null - break - } - } - if (isUnkeyed) { - for (var i = 0; i < old.length; i++) { - if (old[i] === vnodes[i]) continue - else if (old[i] == null && vnodes[i] != null) insertNode(parent, createNode(vnodes[i], hooks, ns), getNextSibling(old, i + 1, nextSibling)) - else if (vnodes[i] == null) removeNodes(old, i, i + 1, vnodes) - else updateNode(parent, old[i], vnodes[i], hooks, getNextSibling(old, i + 1, nextSibling), false, ns) - } - return - } - } - var recycling = isRecyclable(old, vnodes) - if (recycling) old = old.concat(old.pool) - var oldStart = 0, start = 0, oldEnd = old.length - 1, end = vnodes.length - 1, map - while (oldEnd >= oldStart && end >= start) { - var o = old[oldStart], v = vnodes[start] - if (o === v && !recycling) oldStart++, start++ - else if (o == null) oldStart++ - else if (v == null) start++ - else if (o.key === v.key) { - oldStart++, start++ - updateNode(parent, o, v, hooks, getNextSibling(old, oldStart, nextSibling), recycling, ns) - if (recycling && o.tag === v.tag) insertNode(parent, toFragment(o), nextSibling) - } - else { - var o = old[oldEnd] - if (o === v && !recycling) oldEnd--, start++ - else if (o == null) oldEnd-- - else if (v == null) start++ - else if (o.key === v.key) { - updateNode(parent, o, v, hooks, getNextSibling(old, oldEnd + 1, nextSibling), recycling, ns) - if (recycling || start < end) insertNode(parent, toFragment(o), getNextSibling(old, oldStart, nextSibling)) - oldEnd--, start++ - } - else break - } - } - while (oldEnd >= oldStart && end >= start) { - var o = old[oldEnd], v = vnodes[end] - if (o === v && !recycling) oldEnd--, end-- - else if (o == null) oldEnd-- - else if (v == null) end-- - else if (o.key === v.key) { - updateNode(parent, o, v, hooks, getNextSibling(old, oldEnd + 1, nextSibling), recycling, ns) - if (recycling && o.tag === v.tag) insertNode(parent, toFragment(o), nextSibling) - if (o.dom != null) nextSibling = o.dom - oldEnd--, end-- - } - else { - if (!map) map = getKeyMap(old, oldEnd) - if (v != null) { - var oldIndex = map[v.key] - if (oldIndex != null) { - var movable = old[oldIndex] - updateNode(parent, movable, v, hooks, getNextSibling(old, oldEnd + 1, nextSibling), recycling, ns) - insertNode(parent, toFragment(movable), nextSibling) - old[oldIndex].skip = true - if (movable.dom != null) nextSibling = movable.dom - } - else { - var dom = createNode(v, hooks, undefined) - insertNode(parent, dom, nextSibling) - nextSibling = dom - } - } - end-- - } - if (end < start) break - } - createNodes(parent, vnodes, start, end + 1, hooks, nextSibling, ns) - removeNodes(old, oldStart, oldEnd + 1, vnodes) - } - } - function updateNode(parent, old, vnode, hooks, nextSibling, recycling, ns) { - var oldTag = old.tag, tag = vnode.tag - if (oldTag === tag) { - vnode.state = old.state - vnode.events = old.events - if (shouldUpdate(vnode, old)) return - if (vnode.attrs != null) { - updateLifecycle(vnode.attrs, vnode, hooks, recycling) - } - if (typeof oldTag === "string") { - switch (oldTag) { - case "#": updateText(old, vnode); break - case "<": updateHTML(parent, old, vnode, nextSibling); break - case "[": updateFragment(parent, old, vnode, hooks, nextSibling, ns); break - default: updateElement(old, vnode, hooks, ns) - } - } - else updateComponent(parent, old, vnode, hooks, nextSibling, recycling, ns) - } - else { - removeNode(old, null) - insertNode(parent, createNode(vnode, hooks, ns), nextSibling) - } - } - function updateText(old, vnode) { - if (old.children.toString() !== vnode.children.toString()) { - old.dom.nodeValue = vnode.children - } - vnode.dom = old.dom - } - function updateHTML(parent, old, vnode, nextSibling) { - if (old.children !== vnode.children) { - toFragment(old) - insertNode(parent, createHTML(vnode), nextSibling) - } - else vnode.dom = old.dom, vnode.domSize = old.domSize - } - function updateFragment(parent, old, vnode, hooks, nextSibling, ns) { - updateNodes(parent, old.children, vnode.children, hooks, nextSibling, ns) - var domSize = 0, children = vnode.children - vnode.dom = null - if (children != null) { - for (var i = 0; i < children.length; i++) { - var child = children[i] - if (child != null && child.dom != null) { - if (vnode.dom == null) vnode.dom = child.dom - domSize += child.domSize || 1 - } - } - if (domSize !== 1) vnode.domSize = domSize - } - } - function updateElement(old, vnode, hooks, ns) { - var element = vnode.dom = old.dom - switch (vnode.tag) { - case "svg": ns = "http://www.w3.org/2000/svg"; break - case "math": ns = "http://www.w3.org/1998/Math/MathML"; break - } - if (vnode.tag === "textarea") { - if (vnode.attrs == null) vnode.attrs = {} - if (vnode.text != null) { - vnode.attrs.value = vnode.text //FIXME handle0 multiple children - vnode.text = undefined - } - } - updateAttrs(vnode, old.attrs, vnode.attrs, ns) - if (vnode.attrs != null && vnode.attrs.contenteditable != null) { - setContentEditable(vnode) - } - else if (old.text != null && vnode.text != null && vnode.text !== "") { - if (old.text.toString() !== vnode.text.toString()) old.dom.firstChild.nodeValue = vnode.text - } - else { - if (old.text != null) old.children = [Vnode("#", undefined, undefined, old.text, undefined, old.dom.firstChild)] - if (vnode.text != null) vnode.children = [Vnode("#", undefined, undefined, vnode.text, undefined, undefined)] - updateNodes(element, old.children, vnode.children, hooks, null, ns) - } - } - function updateComponent(parent, old, vnode, hooks, nextSibling, recycling, ns) { - vnode.instance = Vnode.normalize(vnode.tag.view.call(vnode.state, vnode)) - updateLifecycle(vnode.tag, vnode, hooks, recycling) - if (vnode.instance != null) { - if (old.instance == null) insertNode(parent, createNode(vnode.instance, hooks, ns), nextSibling) - else updateNode(parent, old.instance, vnode.instance, hooks, nextSibling, recycling, ns) - vnode.dom = vnode.instance.dom - vnode.domSize = vnode.instance.domSize - } - else if (old.instance != null) { - removeNode(old.instance, null) - vnode.dom = undefined - vnode.domSize = 0 - } - else { - vnode.dom = old.dom - vnode.domSize = old.domSize - } - } - function isRecyclable(old, vnodes) { - if (old.pool != null && Math.abs(old.pool.length - vnodes.length) <= Math.abs(old.length - vnodes.length)) { - var oldChildrenLength = old[0] && old[0].children && old[0].children.length || 0 - var poolChildrenLength = old.pool[0] && old.pool[0].children && old.pool[0].children.length || 0 - var vnodesChildrenLength = vnodes[0] && vnodes[0].children && vnodes[0].children.length || 0 - if (Math.abs(poolChildrenLength - vnodesChildrenLength) <= Math.abs(oldChildrenLength - vnodesChildrenLength)) { - return true - } - } - return false - } - function getKeyMap(vnodes, end) { - var map = {}, i = 0 - for (var i = 0; i < end; i++) { - var vnode = vnodes[i] - if (vnode != null) { - var key2 = vnode.key - if (key2 != null) map[key2] = i - } - } - return map - } - function toFragment(vnode) { - var count0 = vnode.domSize - if (count0 != null || vnode.dom == null) { - var fragment = $doc.createDocumentFragment() - if (count0 > 0) { - var dom = vnode.dom - while (--count0) fragment.appendChild(dom.nextSibling) - fragment.insertBefore(dom, fragment.firstChild) - } - return fragment - } - else return vnode.dom - } - function getNextSibling(vnodes, i, nextSibling) { - for (; i < vnodes.length; i++) { - if (vnodes[i] != null && vnodes[i].dom != null) return vnodes[i].dom - } - return nextSibling - } - function insertNode(parent, dom, nextSibling) { - if (nextSibling && nextSibling.parentNode) parent.insertBefore(dom, nextSibling) - else parent.appendChild(dom) - } - function setContentEditable(vnode) { - var children = vnode.children - if (children != null && children.length === 1 && children[0].tag === "<") { - var content = children[0].children - if (vnode.dom.innerHTML !== content) vnode.dom.innerHTML = content - } - else if (vnode.text != null || children != null && children.length !== 0) throw new Error("Child node of a contenteditable must be trusted") - } - //remove - function removeNodes(vnodes, start, end, context) { - for (var i = start; i < end; i++) { - var vnode = vnodes[i] - if (vnode != null) { - if (vnode.skip) vnode.skip = false - else removeNode(vnode, context) - } - } - } - function removeNode(vnode, context) { - var expected = 1, called = 0 - if (vnode.attrs && vnode.attrs.onbeforeremove) { - var result = vnode.attrs.onbeforeremove.call(vnode.state, vnode) - if (result != null && typeof result.then === "function") { - expected++ - result.then(continuation, continuation) - } - } - if (typeof vnode.tag !== "string" && vnode.tag.onbeforeremove) { - var result = vnode.tag.onbeforeremove.call(vnode.state, vnode) - if (result != null && typeof result.then === "function") { - expected++ - result.then(continuation, continuation) - } - } - continuation() - function continuation() { - if (++called === expected) { - onremove(vnode) - if (vnode.dom) { - var count0 = vnode.domSize || 1 - if (count0 > 1) { - var dom = vnode.dom - while (--count0) { - removeNodeFromDOM(dom.nextSibling) - } - } - removeNodeFromDOM(vnode.dom) - if (context != null && vnode.domSize == null && !hasIntegrationMethods(vnode.attrs) && typeof vnode.tag === "string") { //TODO test custom elements - if (!context.pool) context.pool = [vnode] - else context.pool.push(vnode) - } - } - } - } - } - function removeNodeFromDOM(node) { - var parent = node.parentNode - if (parent != null) parent.removeChild(node) - } - function onremove(vnode) { - if (vnode.attrs && vnode.attrs.onremove) vnode.attrs.onremove.call(vnode.state, vnode) - if (typeof vnode.tag !== "string" && vnode.tag.onremove) vnode.tag.onremove.call(vnode.state, vnode) - if (vnode.instance != null) onremove(vnode.instance) - else { - var children = vnode.children - if (Array.isArray(children)) { - for (var i = 0; i < children.length; i++) { - var child = children[i] - if (child != null) onremove(child) - } - } - } - } - //attrs2 - function setAttrs(vnode, attrs2, ns) { - for (var key2 in attrs2) { - setAttr(vnode, key2, null, attrs2[key2], ns) - } - } - function setAttr(vnode, key2, old, value, ns) { - var element = vnode.dom - if (key2 === "key" || key2 === "is" || (old === value && !isFormAttribute(vnode, key2)) && typeof value !== "object" || typeof value === "undefined" || isLifecycleMethod(key2)) return - var nsLastIndex = key2.indexOf(":") - if (nsLastIndex > -1 && key2.substr(0, nsLastIndex) === "xlink") { - element.setAttributeNS("http://www.w3.org/1999/xlink", key2.slice(nsLastIndex + 1), value) - } - else if (key2[0] === "o" && key2[1] === "n" && typeof value === "function") updateEvent(vnode, key2, value) - else if (key2 === "style") updateStyle(element, old, value) - else if (key2 in element && !isAttribute(key2) && ns === undefined && !isCustomElement(vnode)) { - //setting input[value] to same value by typing on focused element moves cursor to end in Chrome - if (vnode.tag === "input" && key2 === "value" && vnode.dom.value === value && vnode.dom === $doc.activeElement) return - //setting select[value] to same value while having select open blinks select dropdown in Chrome - if (vnode.tag === "select" && key2 === "value" && vnode.dom.value === value && vnode.dom === $doc.activeElement) return - //setting option[value] to same value while having select open blinks select dropdown in Chrome - if (vnode.tag === "option" && key2 === "value" && vnode.dom.value === value) return - element[key2] = value - } - else { - if (typeof value === "boolean") { - if (value) element.setAttribute(key2, "") - else element.removeAttribute(key2) - } - else element.setAttribute(key2 === "className" ? "class" : key2, value) - } - } - function setLateAttrs(vnode) { - var attrs2 = vnode.attrs - if (vnode.tag === "select" && attrs2 != null) { - if ("value" in attrs2) setAttr(vnode, "value", null, attrs2.value, undefined) - if ("selectedIndex" in attrs2) setAttr(vnode, "selectedIndex", null, attrs2.selectedIndex, undefined) - } - } - function updateAttrs(vnode, old, attrs2, ns) { - if (attrs2 != null) { - for (var key2 in attrs2) { - setAttr(vnode, key2, old && old[key2], attrs2[key2], ns) - } - } - if (old != null) { - for (var key2 in old) { - if (attrs2 == null || !(key2 in attrs2)) { - if (key2 === "className") key2 = "class" - if (key2[0] === "o" && key2[1] === "n" && !isLifecycleMethod(key2)) updateEvent(vnode, key2, undefined) - else if (key2 !== "key") vnode.dom.removeAttribute(key2) - } - } - } - } - function isFormAttribute(vnode, attr) { - return attr === "value" || attr === "checked" || attr === "selectedIndex" || attr === "selected" && vnode.dom === $doc.activeElement - } - function isLifecycleMethod(attr) { - return attr === "oninit" || attr === "oncreate" || attr === "onupdate" || attr === "onremove" || attr === "onbeforeremove" || attr === "onbeforeupdate" - } - function isAttribute(attr) { - return attr === "href" || attr === "list" || attr === "form" || attr === "width" || attr === "height"// || attr === "type" - } - function isCustomElement(vnode){ - return vnode.attrs.is || vnode.tag.indexOf("-") > -1 - } - function hasIntegrationMethods(source) { - return source != null && (source.oncreate || source.onupdate || source.onbeforeremove || source.onremove) - } - //style - function updateStyle(element, old, style) { - if (old === style) element.style.cssText = "", old = null - if (style == null) element.style.cssText = "" - else if (typeof style === "string") element.style.cssText = style - else { - if (typeof old === "string") element.style.cssText = "" - for (var key2 in style) { - element.style[key2] = style[key2] - } - if (old != null && typeof old !== "string") { - for (var key2 in old) { - if (!(key2 in style)) element.style[key2] = "" - } - } - } - } - //event - function updateEvent(vnode, key2, value) { - var element = vnode.dom - var callback = typeof onevent !== "function" ? value : function(e) { - var result = value.call(element, e) - onevent.call(element, e) - return result - } - if (key2 in element) element[key2] = typeof value === "function" ? callback : null - else { - var eventName = key2.slice(2) - if (vnode.events === undefined) vnode.events = {} - if (vnode.events[key2] === callback) return - if (vnode.events[key2] != null) element.removeEventListener(eventName, vnode.events[key2], false) - if (typeof value === "function") { - vnode.events[key2] = callback - element.addEventListener(eventName, vnode.events[key2], false) - } - } - } - //lifecycle - function initLifecycle(source, vnode, hooks) { - if (typeof source.oninit === "function") source.oninit.call(vnode.state, vnode) - if (typeof source.oncreate === "function") hooks.push(source.oncreate.bind(vnode.state, vnode)) - } - function updateLifecycle(source, vnode, hooks, recycling) { - if (recycling) initLifecycle(source, vnode, hooks) - else if (typeof source.onupdate === "function") hooks.push(source.onupdate.bind(vnode.state, vnode)) - } - function shouldUpdate(vnode, old) { - var forceVnodeUpdate, forceComponentUpdate - if (vnode.attrs != null && typeof vnode.attrs.onbeforeupdate === "function") forceVnodeUpdate = vnode.attrs.onbeforeupdate.call(vnode.state, vnode, old) - if (typeof vnode.tag !== "string" && typeof vnode.tag.onbeforeupdate === "function") forceComponentUpdate = vnode.tag.onbeforeupdate.call(vnode.state, vnode, old) - if (!(forceVnodeUpdate === undefined && forceComponentUpdate === undefined) && !forceVnodeUpdate && !forceComponentUpdate) { - vnode.dom = old.dom - vnode.domSize = old.domSize - vnode.instance = old.instance - return true - } - return false - } - function render(dom, vnodes) { - if (!dom) throw new Error("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.") - var hooks = [] - var active = $doc.activeElement - // First time0 rendering into a node clears it out - if (dom.vnodes == null) dom.textContent = "" - if (!Array.isArray(vnodes)) vnodes = [vnodes] - updateNodes(dom, dom.vnodes, Vnode.normalizeChildren(vnodes), hooks, null, undefined) - dom.vnodes = vnodes - for (var i = 0; i < hooks.length; i++) hooks[i]() - if ($doc.activeElement !== active) active.focus() - } - return {render: render, setEventCallback: setEventCallback} -} -function throttle(callback) { - //60fps translates to 16.6ms, round it down since setTimeout requires int - var time = 16 - var last = 0, pending = null - var timeout = typeof requestAnimationFrame === "function" ? requestAnimationFrame : setTimeout - return function() { - var now = Date.now() - if (last === 0 || now - last >= time) { - last = now - callback() - } - else if (pending === null) { - pending = timeout(function() { - pending = null - callback() - last = Date.now() - }, time - (now - last)) - } - } -} -var _11 = function($window) { - var renderService = coreRenderer($window) - renderService.setEventCallback(function(e) { - if (e.redraw !== false) redraw() - }) - - var callbacks = [] - function subscribe(key1, callback) { - unsubscribe(key1) - callbacks.push(key1, throttle(callback)) - } - function unsubscribe(key1) { - var index = callbacks.indexOf(key1) - if (index > -1) callbacks.splice(index, 2) - } - function redraw() { - for (var i = 1; i < callbacks.length; i += 2) { - callbacks[i]() - } - } - return {subscribe: subscribe, unsubscribe: unsubscribe, redraw: redraw, render: renderService.render} -} -var redrawService = _11(window) -requestService.setCompletionCallback(redrawService.redraw) -var _16 = function(redrawService0) { - return function(root, component) { - if (component === null) { - redrawService0.render(root, []) - redrawService0.unsubscribe(root) - return - } - - if (component.view == null) throw new Error("m.mount(element, component) expects a component, not a vnode") - - var run0 = function() { - redrawService0.render(root, Vnode(component)) - } - redrawService0.subscribe(root, run0) - redrawService0.redraw() - } -} -m.mount = _16(redrawService) -var Promise = PromisePolyfill -var parseQueryString = function(string) { - if (string === "" || string == null) return {} - if (string.charAt(0) === "?") string = string.slice(1) - var entries = string.split("&"), data0 = {}, counters = {} - for (var i = 0; i < entries.length; i++) { - var entry = entries[i].split("=") - var key5 = decodeURIComponent(entry[0]) - var value = entry.length === 2 ? decodeURIComponent(entry[1]) : "" - if (value === "true") value = true - else if (value === "false") value = false - var levels = key5.split(/\]\[?|\[/) - var cursor = data0 - if (key5.indexOf("[") > -1) levels.pop() - for (var j = 0; j < levels.length; j++) { - var level = levels[j], nextLevel = levels[j + 1] - var isNumber = nextLevel == "" || !isNaN(parseInt(nextLevel, 10)) - var isValue = j === levels.length - 1 - if (level === "") { - var key5 = levels.slice(0, j).join() - if (counters[key5] == null) counters[key5] = 0 - level = counters[key5]++ - } - if (cursor[level] == null) { - cursor[level] = isValue ? value : isNumber ? [] : {} - } - cursor = cursor[level] - } - } - return data0 -} -var coreRouter = function($window) { - var supportsPushState = typeof $window.history.pushState === "function" - var callAsync0 = typeof setImmediate === "function" ? setImmediate : setTimeout - function normalize1(fragment0) { - var data = $window.location[fragment0].replace(/(?:%[a-f89][a-f0-9])+/gim, decodeURIComponent) - if (fragment0 === "pathname" && data[0] !== "/") data = "/" + data - return data - } - var asyncId - function debounceAsync(callback0) { - return function() { - if (asyncId != null) return - asyncId = callAsync0(function() { - asyncId = null - callback0() - }) - } - } - function parsePath(path, queryData, hashData) { - var queryIndex = path.indexOf("?") - var hashIndex = path.indexOf("#") - var pathEnd = queryIndex > -1 ? queryIndex : hashIndex > -1 ? hashIndex : path.length - if (queryIndex > -1) { - var queryEnd = hashIndex > -1 ? hashIndex : path.length - var queryParams = parseQueryString(path.slice(queryIndex + 1, queryEnd)) - for (var key4 in queryParams) queryData[key4] = queryParams[key4] - } - if (hashIndex > -1) { - var hashParams = parseQueryString(path.slice(hashIndex + 1)) - for (var key4 in hashParams) hashData[key4] = hashParams[key4] - } - return path.slice(0, pathEnd) - } - var router = {prefix: "#!"} - router.getPath = function() { - var type2 = router.prefix.charAt(0) - switch (type2) { - case "#": return normalize1("hash").slice(router.prefix.length) - case "?": return normalize1("search").slice(router.prefix.length) + normalize1("hash") - default: return normalize1("pathname").slice(router.prefix.length) + normalize1("search") + normalize1("hash") - } - } - router.setPath = function(path, data, options) { - var queryData = {}, hashData = {} - path = parsePath(path, queryData, hashData) - if (data != null) { - for (var key4 in data) queryData[key4] = data[key4] - path = path.replace(/:([^\/]+)/g, function(match2, token) { - delete queryData[token] - return data[token] - }) - } - var query = buildQueryString(queryData) - if (query) path += "?" + query - var hash = buildQueryString(hashData) - if (hash) path += "#" + hash - if (supportsPushState) { - var state = options ? options.state : null - var title = options ? options.title : null - $window.onpopstate() - if (options && options.replace) $window.history.replaceState(state, title, router.prefix + path) - else $window.history.pushState(state, title, router.prefix + path) - } - else $window.location.href = router.prefix + path - } - router.defineRoutes = function(routes, resolve, reject) { - function resolveRoute() { - var path = router.getPath() - var params = {} - var pathname = parsePath(path, params, params) - - var state = $window.history.state - if (state != null) { - for (var k in state) params[k] = state[k] - } - for (var route0 in routes) { - var matcher = new RegExp("^" + route0.replace(/:[^\/]+?\.{3}/g, "(.*?)").replace(/:[^\/]+/g, "([^\\/]+)") + "\/?$") - if (matcher.test(pathname)) { - pathname.replace(matcher, function() { - var keys = route0.match(/:[^\/]+/g) || [] - var values = [].slice.call(arguments, 1, -2) - for (var i = 0; i < keys.length; i++) { - params[keys[i].replace(/:|\./g, "")] = decodeURIComponent(values[i]) - } - resolve(routes[route0], params, path, route0) - }) - return - } - } - reject(path, params) - } - - if (supportsPushState) $window.onpopstate = debounceAsync(resolveRoute) - else if (router.prefix.charAt(0) === "#") $window.onhashchange = resolveRoute - resolveRoute() - } - - return router -} -var _20 = function($window, redrawService0) { - var routeService = coreRouter($window) - var identity = function(v) {return v} - var render1, component, attrs3, currentPath, lastUpdate - var route = function(root, defaultRoute, routes) { - if (root == null) throw new Error("Ensure the DOM element that was passed to `m.route` is not undefined") - var run1 = function() { - if (render1 != null) redrawService0.render(root, render1(Vnode(component, attrs3.key, attrs3))) - } - var bail = function() { - routeService.setPath(defaultRoute, null, {replace: true}) - } - routeService.defineRoutes(routes, function(payload, params, path) { - var update = lastUpdate = function(routeResolver, comp) { - if (update !== lastUpdate) return - component = comp != null && typeof comp.view === "function" ? comp : "div", attrs3 = params, currentPath = path, lastUpdate = null - render1 = (routeResolver.render || identity).bind(routeResolver) - run1() - } - if (payload.view) update({}, payload) - else { - if (payload.onmatch) { - Promise.resolve(payload.onmatch(params, path)).then(function(resolved) { - update(payload, resolved) - }, bail) - } - else update(payload, "div") - } - }, bail) - redrawService0.subscribe(root, run1) - } - route.set = function(path, data, options) { - if (lastUpdate != null) options = {replace: true} - lastUpdate = null - routeService.setPath(path, data, options) - } - route.get = function() {return currentPath} - route.prefix = function(prefix0) {routeService.prefix = prefix0} - route.link = function(vnode1) { - vnode1.dom.setAttribute("href", routeService.prefix + vnode1.attrs.href) - vnode1.dom.onclick = function(e) { - if (e.ctrlKey || e.metaKey || e.shiftKey || e.which === 2) return - e.preventDefault() - e.redraw = false - var href = this.getAttribute("href") - if (href.indexOf(routeService.prefix) === 0) href = href.slice(routeService.prefix.length) - route.set(href, undefined, undefined) - } - } - route.param = function(key3) { - if(typeof attrs3 !== "undefined" && typeof key3 !== "undefined") return attrs3[key3] - return attrs3 - } - return route -} -m.route = _20(window, redrawService) -m.withAttr = function(attrName, callback1, context) { - return function(e) { - callback1.call(context || this, attrName in e.currentTarget ? e.currentTarget[attrName] : e.currentTarget.getAttribute(attrName)) - } -} -var _28 = coreRenderer(window) -m.render = _28.render -m.redraw = redrawService.redraw -m.request = requestService.request -m.jsonp = requestService.jsonp -m.parseQueryString = parseQueryString -m.buildQueryString = buildQueryString -m.version = "1.0.0" -m.vnode = Vnode -if (typeof module !== "undefined") module["exports"] = m -else window.m = m -} -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("timers").setImmediate) -},{"timers":2}],4:[function(require,module,exports){ -'use strict'; - -var _mithril = _interopRequireDefault(require("mithril")); - -var _view = _interopRequireDefault(require("./view")); - -var _de = _interopRequireDefault(require("./texte/de")); - -var _en = _interopRequireDefault(require("./texte/en")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function launch() { - //m.mount(window.document.getElementById('canvas'), view) - if (window.language === 'en') { - window.texte = _en["default"]; - } else { - window.texte = _de["default"]; - } - - _mithril["default"].mount(window.document.getElementById('gradido-mithril-passphrase'), _view["default"]); -} // cross browser dom is ready module from: -// https://www.competa.com/blog/cross-browser-document-ready-with-vanilla-javascript/ - - -var domIsReady = function (domIsReady) { - var isBrowserIeOrNot = function isBrowserIeOrNot() { - return !document.attachEvent || typeof document.attachEvent === "undefined" ? 'not-ie' : 'ie'; - }; - - domIsReady = function domIsReady(callback) { - if (callback && typeof callback === 'function') { - if (isBrowserIeOrNot() !== 'ie') { - document.addEventListener("DOMContentLoaded", function () { - return callback(); - }); - } else { - document.attachEvent("onreadystatechange", function () { - if (document.readyState === "complete") { - return callback(); - } - }); - } - } else { - console.error('The callback is not a function!'); - } - }; - - return domIsReady; -}(domIsReady || {}); // DOM ready without jquery, loaded from basic.js -// cross browser dom is ready - - -(function (document, window, domIsReady, undefined) { - domIsReady(function () { - launch(); - }); -})(document, window, domIsReady); - -},{"./texte/de":7,"./texte/en":8,"./view":10,"mithril":3}],5:[function(require,module,exports){ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _mithril = _interopRequireDefault(require("mithril")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function oninit(vnode) {} - -function view(vnode) { - return (0, _mithril["default"])('div.modal.visible-modal', { - tabindex: '-1', - role: 'dialog' - }, (0, _mithril["default"])('div.modal-dialog', { - role: 'document' - }, (0, _mithril["default"])('div.modal-content', [(0, _mithril["default"])('p.grid-header', vnode.attrs.title), (0, _mithril["default"])('div.modal-body', vnode.attrs.body), (0, _mithril["default"])('div.modal-footer', [(0, _mithril["default"])('button.btn.btn-primary', { - type: 'button', - 'data-dismiss': 'modal', - onclick: vnode.attrs.dismiss - }, 'Ok')])]))); -} - -var _default = { - view: view, - oninit: oninit -}; -exports["default"] = _default; - -},{"mithril":3}],6:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -function getEntities() { - return [['auml', 'ä'], ['ouml', 'ö'], ['uuml', 'ü'], ['Auml', 'Ä'], ['Ouml', 'Ö'], ['Uuml', 'Ü'], ['szlig', 'ß']]; -} - -function decodeHTMLEntities(text) { - var entities = getEntities(); - - for (var i = 0, max = entities.length; i < max; ++i) { - text = text.replace(new RegExp('&' + entities[i][0] + ';', 'g'), entities[i][1]); - } - - return text; -} - -function encodeHTMLEntities(text) { - var entities = getEntities(); - - for (var i = 0, max = entities.length; i < max; ++i) { - //text = text.replace(new RegExp('&'+entities[i][0]+';', 'g'), entities[i][1]); - text = text.replace(new RegExp(entities[i][1], 'g'), '&' + entities[i][0] + ';'); - } - - return text; -} - -var _default = { - decodeHTMLEntities: decodeHTMLEntities, - encodeHTMLEntities: encodeHTMLEntities -}; -exports["default"] = _default; - -},{}],7:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -var _default = { - INVALID_PASSPHRASE: 'Das ist nicht deine Passphrase, Möchtest du nochmal schauen wie sie hieß?', - SHOW_PASSPHRASE: 'Passphrase nochmal anzeigen', - DIALOG_SHOW_PASSPHRASE_TITLE: 'Passphrase', - YES: 'Ja', - NEXT: 'Weiter' -}; -exports["default"] = _default; - -},{}],8:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -var _default = { - INVALID_PASSPHRASE: 'This is not the correct passphrase. This is not your passphrase, would you like to see what its name was again?', - SHOW_PASSPHRASE: 'Show Passphrase again', - DIALOG_SHOW_PASSPHRASE_TITLE: 'Passphrase', - YES: 'Yes', - NEXT: 'Next' -}; -exports["default"] = _default; - -},{}],9:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _mithril = _interopRequireDefault(require("mithril")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -function oninit(vnode) {//vnode.state.disabled = false -} - -function clickHandler(vnode) { - vnode.attrs.addWordCallback(vnode.attrs.word); //vnode.state.disabled = true -} - -function view(vnode) { - var classes = '.btn.btn-sm'; - - if (vnode.attrs.disabled) { - classes += '.disabled'; - return (0, _mithril["default"])('span'); - } else { - if (vnode.attrs.btnColor !== undefined) { - classes += '.' + vnode.attrs.btnColor; - } - } - - return (0, _mithril["default"])('button' + classes, { - type: 'button', - disabled: vnode.attrs.disabled, - onclick: function onclick(e) { - clickHandler(vnode); - } - }, vnode.attrs.word); -} - -var _default = { - view: view, - oninit: oninit -}; -exports["default"] = _default; - -},{"mithril":3}],10:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _mithril = _interopRequireDefault(require("mithril")); - -var _button = _interopRequireDefault(require("./button")); - -var _dialog = _interopRequireDefault(require("../lib/dialog")); - -var _htmlEntities = _interopRequireDefault(require("../lib/htmlEntities")); - -var _passphrase = _interopRequireDefault(require("./passphrase")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function oninit(vnode) { - vnode.state.passphraseIndices = []; - vnode.state.passphraseIndicesSorted = []; - vnode.state.textboxContent = ''; - vnode.state.btnDisableArray = []; - vnode.state.countValidWords = 0; - var passphraseArray = passphrase.split(' '); - - for (var i in passphraseArray) { - var word = passphraseArray[i]; - var index = mnemonicWords.indexOf(word); - - if (-1 === index) { - if (65533 !== word.charCodeAt(0)) { - console.error("invalid index: %o for word: %o", index, word); - } - } else { - vnode.state.passphraseIndices[i] = index; - } - } - - passphraseArray.sort(); - - for (var _i in passphraseArray) { - var _word = passphraseArray[_i]; - - var _index = mnemonicWords.indexOf(_word); - - if (-1 === _index) { - if (65533 !== _word.charCodeAt(0)) { - console.error("invalid index: %o for word: %o", _index, _word); - } - } else { - vnode.state.passphraseIndicesSorted[_i] = _index; - vnode.state.btnDisableArray[_i] = false; - } - } //console.log("Passphrase: %s", passphrase) - //console.log("Passphrase indices: %o", vnode.state.passphraseIndices) - //console.log("Passphrase sorted indices: %o", vnode.state.passphraseIndicesSorted) - - - vnode.state.valid = true; - vnode.state.complete = false; - vnode.state.showPassphrase = false; -} -/* - *
- - - - - - -
-
-
- -
-
- - Weiter - */ - - -function addWordToTextbox(vnode, word) { - if (vnode.state.textboxContent.length > 1 && vnode.state.textboxContent.slice(-1) != ' ') { - vnode.state.textboxContent += ' '; - } - - vnode.state.textboxContent += word; - checkValidationTextbox(vnode); -} - -function onUpdateText(vnode, newContent) { - //console.log("e: %o", newContent.target.value) - vnode.state.textboxContent = newContent.replace(/[^\S ]+/g, ''); - - if (newContent === '') { - vnode.state.valid = true; - } else { - //if(newContent.slice(-1) === ' ') { - //const words = newContent.split(' ') - checkValidationTextbox(vnode); - } //} - -} - -function checkValidationTextbox(vnode) { - //console.log('checkValidationTextbox') - var words = vnode.state.textboxContent.split(' '); - var countValidWords = 0; - vnode.state.valid = true; //console.log("words: %o", words) - - for (var i in vnode.state.btnDisableArray) { - vnode.state.btnDisableArray[i] = false; - } - - for (var _i2 in words) { - var word = _htmlEntities["default"].encodeHTMLEntities(words[_i2]); - - if (word === "") continue; - var index = mnemonicWords.indexOf(word); //console.log("index of word: %o = %o", word, index) - - if (index !== -1) { - if (vnode.state.passphraseIndices[countValidWords] !== index) { - vnode.state.valid = false; - break; - } else { - countValidWords++; - } - - var sortedIndex = vnode.state.passphraseIndicesSorted.indexOf(index); //console.log("sortedIndex: %o", sortedIndex) - - if (-1 !== sortedIndex) { - vnode.state.btnDisableArray[sortedIndex] = true; - } - } - } - - if (countValidWords === vnode.state.passphraseIndices.length) { - vnode.state.complete = true; - } else { - vnode.state.complete = false; - } - - vnode.state.countValidWords = countValidWords; //console.log("count valid words: %o / %o", countValidWords, vnode.state.passphraseIndices.length) -} - -function view(vnode) { - var classes = '.form-control'; - - if (vnode.state.valid === false) { - classes += '.is-invalid'; - } else if (vnode.state.complete) { - classes += '.is-valid'; - } - - var choosenWords = []; - - for (var i = 0; i < vnode.state.countValidWords; i++) { - choosenWords.push(vnode.state.passphraseIndices[i]); - } - - return (0, _mithril["default"])('div', [(0, _mithril["default"])('div.col-md-12.showcase_content_area.mb-0', [vnode.state.passphraseIndicesSorted.map(function (val, i) { - return (0, _mithril["default"])(_button["default"], { - btnColor: 'btn-outline-warning', - word: _htmlEntities["default"].decodeHTMLEntities(mnemonicWords[val]), - addWordCallback: function addWordCallback(word) { - addWordToTextbox(vnode, word); - }, - disabled: vnode.state.btnDisableArray[i] - }); - }), choosenWords.map(function (val) { - return (0, _mithril["default"])('button.btn.btn-sm.btn-outline-success.disabled', { - disabled: true - }, _htmlEntities["default"].decodeHTMLEntities(mnemonicWords[val])); - })]), (0, _mithril["default"])('div.form-group.row-showcase_row_area', (0, _mithril["default"])('div.col-lg-8.col-md-9.mx-auto', [(0, _mithril["default"])('textarea' + classes + '#inputPassphrase', { - name: 'inputPassphrase', - cols: 10, - rows: 5, - value: vnode.state.textboxContent, - onchange: function onchange(e) { - onUpdateText(vnode, e.target.value); - }, - onkeyup: function onkeyup(e) { - onUpdateText(vnode, e.target.value); - }, - onpaste: function onpaste(e) { - onUpdateText(vnode, e.target.value); - } - }), vnode.state.valid === false ? (0, _mithril["default"])('.invalid-feedback', [window.texte.INVALID_PASSPHRASE, (0, _mithril["default"])('button.btn.btn-primary', { - onclick: function onclick() { - vnode.state.showPassphrase = true; - return false; - } - }, [(0, _mithril["default"])('i.mdi.mdi-eye'), (0, _mithril["default"])('span', _mithril["default"].trust(' ')), (0, _mithril["default"])('span', window.texte.SHOW_PASSPHRASE)])]) : null])), //Weiter - //<%= gettext("Ja") %> - vnode.state.complete ? (0, _mithril["default"])('input.btn.btn-sm.btn-success.pull-right', { - name: 'btnChecked', - type: 'submit', - value: window.texte.NEXT - }) : null], vnode.state.showPassphrase === true ? (0, _mithril["default"])(_dialog["default"], { - title: window.texte.DIALOG_SHOW_PASSPHRASE_TITLE, - body: (0, _mithril["default"])(_passphrase["default"]), - dismiss: function dismiss() { - vnode.state.showPassphrase = false; - } - }) : null); -} - -var _default = { - view: view, - oninit: oninit -}; -exports["default"] = _default; - -},{"../lib/dialog":5,"../lib/htmlEntities":6,"./button":9,"./passphrase":11,"mithril":3}],11:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _mithril = _interopRequireDefault(require("mithril")); - -var _htmlEntities = _interopRequireDefault(require("../lib/htmlEntities")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ - -/* - *
-
Passphrase
-

Hallo Miau Das sind Wörter einer Passphrase Miau Hilfe Ich mag dich nicht Abenteuer Haus Zoo Garten Ziegel Tisch Auto Husten Hüpfburg Teezeit

-
- * - */ -function oninit(vnode) {//vnode.state.disabled = false -} - -function view(vnode) { - var passphraseString = passphrase; - - if (passphrase.slice(-1).charCodeAt(0) === 65533) { - passphraseString = passphrase.substring(0, passphrase.length - 1); - } - - return (0, _mithril["default"])('.col-lg-8.col-md-10.mx-auto.alert.alert-primary', { - style: { - 'text-align': 'center' - } - }, _htmlEntities["default"].decodeHTMLEntities(passphraseString)); -} - -var _default = { - view: view, - oninit: oninit -}; -exports["default"] = _default; - -},{"../lib/htmlEntities":6,"mithril":3}]},{},[4]); diff --git a/community_server/webroot/js/ensurePassphrase.min.js b/community_server/webroot/js/ensurePassphrase.min.js deleted file mode 100644 index 37ae8461f..000000000 --- a/community_server/webroot/js/ensurePassphrase.min.js +++ /dev/null @@ -1 +0,0 @@ -!function i(a,l,u){function s(t,e){if(!l[t]){if(!a[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(c)return c(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var o=l[t]={exports:{}};a[t][0].call(o.exports,function(e){return s(a[t][1][e]||e)},o,o.exports,i,a,l,u)}return l[t].exports}for(var c="function"==typeof require&&require,e=0;e(g.devicePixelRatio||1)?"translate("+e+"px, "+u+"px)":"translate3d("+e+"px, "+u+"px, 0)",l)):Object.assign({},r,((t={})[h]=a?u+"px":"",t[m]=d?e+"px":"",t.transform="",t))}function E(e){return e.replace(/left|right|bottom|top/g,(function(e){return _[e]}))}function D(e){return e.replace(/start|end/g,(function(e){return U[e]}))}function P(e,t){var n=!(!t.getRootNode||!t.getRootNode().host);if(e.contains(t))return!0;if(n)do{if(t&&e.isSameNode(t))return!0;t=t.parentNode||t.host}while(t);return!1}function L(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function k(e,o){if("viewport"===o){var a=n(e);e=a.visualViewport,o=a.innerWidth,a=a.innerHeight,e&&/iPhone|iPod|iPad/.test(navigator.platform)&&(o=e.width,a=e.height),e=L({width:o,height:a,x:0,y:0})}else i(o)?e=t(o):(e=n(a=s(e)),o=r(a),(a=u(s(a),e)).height=Math.max(a.height,e.innerHeight),a.width=Math.max(a.width,e.innerWidth),a.x=-o.scrollLeft,a.y=-o.scrollTop,e=L(a));return e}function B(e,t,r){return t="clippingParents"===t?function(e){var t=m(e),n=0<=["absolute","fixed"].indexOf(p(e).position)&&i(e)?v(e):e;return o(n)?t.filter((function(e){return o(e)&&P(e,n)})):[]}(e):[].concat(t),(r=(r=[].concat(t,[r])).reduce((function(t,r){var o=k(e,r),c=n(r=i(r)?r:s(e)),u=i(r)?p(r):{};parseFloat(u.borderTopWidth);var d=parseFloat(u.borderRightWidth)||0,l=parseFloat(u.borderBottomWidth)||0,m=parseFloat(u.borderLeftWidth)||0;u="html"===a(r);var h=f(r),v=r.clientWidth+d,g=r.clientHeight+l;return u&&50m?d:u?c.innerWidth-v-h:r.offsetWidth-v,c=u?c.innerHeight-g:r.offsetHeight-g,r=u?h:r.clientLeft,t.top=Math.max(o.top+l,t.top),t.right=Math.min(o.right-d,t.right),t.bottom=Math.min(o.bottom-c,t.bottom),t.left=Math.max(o.left+r,t.left),t}),k(e,r[0]))).width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}function W(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},{},e)}function A(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function H(e,n){void 0===n&&(n={});var r=n;n=void 0===(n=r.placement)?e.placement:n;var i=r.boundary,a=void 0===i?"clippingParents":i,f=void 0===(i=r.rootBoundary)?"viewport":i;i=void 0===(i=r.elementContext)?"popper":i;var p=r.altBoundary,c=void 0!==p&&p;r=W("number"!=typeof(r=void 0===(r=r.padding)?0:r)?r:A(r,q));var u=e.elements.reference;p=e.rects.popper,a=B(o(c=e.elements[c?"popper"===i?"reference":"popper":i])?c:c.contextElement||s(e.elements.popper),a,f),c=M({reference:f=t(u),element:p,strategy:"absolute",placement:n}),p=L(Object.assign({},p,{},c)),f="popper"===i?p:f;var d={top:a.top-f.top+r.top,bottom:f.bottom-a.bottom+r.bottom,left:a.left-f.left+r.left,right:f.right-a.right+r.right};if(e=e.modifiersData.offset,"popper"===i&&e){var l=e[n];Object.keys(d).forEach((function(e){var t=0<=["right","bottom"].indexOf(e)?1:-1,n=0<=["top","bottom"].indexOf(e)?"y":"x";d[e]+=l[n]*t}))}return d}function T(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function R(e){return["top","right","bottom","left"].some((function(t){return 0<=e[t]}))}var q=["top","bottom","right","left"],S=q.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),C=[].concat(q,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),F="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),N={placement:"bottom",modifiers:[],strategy:"absolute"},V={passive:!0},I={top:"auto",right:"auto",bottom:"auto",left:"auto"},_={left:"right",right:"left",bottom:"top",top:"bottom"},U={start:"end",end:"start"},z=[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,r=e.instance,o=(e=e.options).scroll,i=void 0===o||o,a=void 0===(e=e.resize)||e,s=n(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&f.forEach((function(e){e.addEventListener("scroll",r.update,V)})),a&&s.addEventListener("resize",r.update,V),function(){i&&f.forEach((function(e){e.removeEventListener("scroll",r.update,V)})),a&&s.removeEventListener("resize",r.update,V)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state;t.modifiersData[e.name]=M({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options;e=void 0===(e=n.gpuAcceleration)||e,n=void 0===(n=n.adaptive)||n,e={placement:y(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:e},null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,{},j(Object.assign({},e,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:n})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,{},j(Object.assign({},e,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];i(o)&&a(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{};e=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{}),i(r)&&a(r)&&(Object.assign(r.style,e),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.name,r=void 0===(e=e.options.offset)?[0,0]:e,o=(e=C.reduce((function(e,n){var o=t.rects,i=y(n),a=0<=["left","top"].indexOf(i)?-1:1,s="function"==typeof r?r(Object.assign({},o,{placement:n})):r;return o=(o=s[0])||0,s=((s=s[1])||0)*a,i=0<=["left","right"].indexOf(i)?{x:s,y:o}:{x:o,y:s},e[n]=i,e}),{}))[t.placement],i=o.x;o=o.y,null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=i,t.modifiersData.popperOffsets.y+=o),t.modifiersData[n]=e}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;if(e=e.name,!t.modifiersData[e]._skip){var r=n.mainAxis;r=void 0===r||r;var o=n.altAxis;o=void 0===o||o;var i=n.fallbackPlacements,a=n.padding,s=n.boundary,f=n.rootBoundary,p=n.altBoundary,c=n.flipVariations,u=void 0===c||c,d=n.allowedAutoPlacements;c=y(n=t.options.placement),i=i||(c!==n&&u?function(e){if("auto"===y(e))return[];var t=E(e);return[D(e),t,D(t)]}(n):[E(n)]);var l=[n].concat(i).reduce((function(e,n){return e.concat("auto"===y(n)?function(e,t){void 0===t&&(t={});var n=t.boundary,r=t.rootBoundary,o=t.padding,i=t.flipVariations,a=t.allowedAutoPlacements,s=void 0===a?C:a,f=t.placement.split("-")[1],p=(f?i?S:S.filter((function(e){return e.split("-")[1]===f})):q).filter((function(e){return 0<=s.indexOf(e)})).reduce((function(t,i){return t[i]=H(e,{placement:i,boundary:n,rootBoundary:r,padding:o})[y(i)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}(t,{placement:n,boundary:s,rootBoundary:f,padding:a,flipVariations:u,allowedAutoPlacements:d}):n)}),[]);n=t.rects.reference,i=t.rects.popper;var m=new Map;c=!0;for(var h=l[0],v=0;vi[O]&&(x=E(x)),O=E(x),w=[],r&&w.push(0>=M[b]),o&&w.push(0>=M[x],0>=M[O]),w.every((function(e){return e}))){h=g,c=!1;break}m.set(g,w)}if(c)for(r=function(e){var t=l.find((function(t){if(t=m.get(t))return t.slice(0,e).every((function(e){return e}))}));if(t)return h=t,"break"},o=u?3:1;0 SECONDS_TO[i]) { - var partIndexName = i.toLowerCase() + 's'; - parts[partIndexName] = Math.floor(parts.seconds / SECONDS_TO[i]); - parts.seconds -= parts[partIndexName] * SECONDS_TO[i]; - if(durationString.length > 0) { - durationString += ', '; - } - var unitName = partIndexName; - if(parts[partIndexName] === 1) { - unitName = partIndexName.substring(0, partIndexName.length-1); - } - durationString += parts[partIndexName] + ' ' + unitName; - break; - } - - } - return durationString; - -} \ No newline at end of file diff --git a/community_server/webroot/js/tippy-bundle.umd.min.js b/community_server/webroot/js/tippy-bundle.umd.min.js deleted file mode 100644 index e0c7b943a..000000000 --- a/community_server/webroot/js/tippy-bundle.umd.min.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t=t||self).tippy=e(t.Popper)}(this,(function(t){"use strict";var e="undefined"!=typeof window&&"undefined"!=typeof document,n=e?navigator.userAgent:"",i=/MSIE |Trident\//.test(n),r={passive:!0,capture:!0};function o(t,e,n){if(Array.isArray(t)){var i=t[e];return null==i?Array.isArray(n)?n[e]:n:i}return t}function a(t,e){var n={}.toString.call(t);return 0===n.indexOf("[object")&&n.indexOf(e+"]")>-1}function s(t,e){return"function"==typeof t?t.apply(void 0,e):t}function p(t,e){return 0===e?t:function(i){clearTimeout(n),n=setTimeout((function(){t(i)}),e)};var n}function u(t,e){var n=Object.assign({},t);return e.forEach((function(t){delete n[t]})),n}function c(t){return[].concat(t)}function f(t,e){-1===t.indexOf(e)&&t.push(e)}function l(t){return t.split("-")[0]}function d(t){return[].slice.call(t)}function v(){return document.createElement("div")}function m(t){return["Element","Fragment"].some((function(e){return a(t,e)}))}function g(t){return a(t,"MouseEvent")}function h(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function b(t){return m(t)?[t]:function(t){return a(t,"NodeList")}(t)?d(t):Array.isArray(t)?t:d(document.querySelectorAll(t))}function y(t,e){t.forEach((function(t){t&&(t.style.transitionDuration=e+"ms")}))}function x(t,e){t.forEach((function(t){t&&t.setAttribute("data-state",e)}))}function w(t){var e=c(t)[0];return e&&e.ownerDocument||document}function E(t,e,n){var i=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(e){t[i](e,n)}))}var T={isTouch:!1},A=0;function C(){T.isTouch||(T.isTouch=!0,window.performance&&document.addEventListener("mousemove",O))}function O(){var t=performance.now();t-A<20&&(T.isTouch=!1,document.removeEventListener("mousemove",O)),A=t}function L(){var t=document.activeElement;if(h(t)){var e=t._tippy;t.blur&&!e.state.isVisible&&t.blur()}}var D=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),k=Object.keys(D);function M(t){var e=(t.plugins||[]).reduce((function(e,n){var i=n.name,r=n.defaultValue;return i&&(e[i]=void 0!==t[i]?t[i]:r),e}),{});return Object.assign({},t,{},e)}function V(t,e){var n=Object.assign({},e,{content:s(e.content,[t])},e.ignoreAttributes?{}:function(t,e){return(e?Object.keys(M(Object.assign({},D,{plugins:e}))):k).reduce((function(e,n){var i=(t.getAttribute("data-tippy-"+n)||"").trim();if(!i)return e;if("content"===n)e[n]=i;else try{e[n]=JSON.parse(i)}catch(t){e[n]=i}return e}),{})}(t,e.plugins));return n.aria=Object.assign({},D.aria,{},n.aria),n.aria={expanded:"auto"===n.aria.expanded?e.interactive:n.aria.expanded,content:"auto"===n.aria.content?e.interactive?null:"describedby":n.aria.content},n}function R(t,e){t.innerHTML=e}function j(t){var e=v();return!0===t?e.className="tippy-arrow":(e.className="tippy-svg-arrow",m(t)?e.appendChild(t):R(e,t)),e}function P(t,e){m(e.content)?(R(t,""),t.appendChild(e.content)):"function"!=typeof e.content&&(e.allowHTML?R(t,e.content):t.textContent=e.content)}function I(t){var e=t.firstElementChild,n=d(e.children);return{box:e,content:n.find((function(t){return t.classList.contains("tippy-content")})),arrow:n.find((function(t){return t.classList.contains("tippy-arrow")||t.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(t){return t.classList.contains("tippy-backdrop")}))}}function S(t){var e=v(),n=v();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var i=v();function r(n,i){var r=I(e),o=r.box,a=r.content,s=r.arrow;i.theme?o.setAttribute("data-theme",i.theme):o.removeAttribute("data-theme"),"string"==typeof i.animation?o.setAttribute("data-animation",i.animation):o.removeAttribute("data-animation"),i.inertia?o.setAttribute("data-inertia",""):o.removeAttribute("data-inertia"),o.style.maxWidth="number"==typeof i.maxWidth?i.maxWidth+"px":i.maxWidth,i.role?o.setAttribute("role",i.role):o.removeAttribute("role"),n.content===i.content&&n.allowHTML===i.allowHTML||P(a,t.props),i.arrow?s?n.arrow!==i.arrow&&(o.removeChild(s),o.appendChild(j(i.arrow))):o.appendChild(j(i.arrow)):s&&o.removeChild(s)}return i.className="tippy-content",i.setAttribute("data-state","hidden"),P(i,t.props),e.appendChild(n),n.appendChild(i),r(t.props,t.props),{popper:e,onUpdate:r}}S.$$tippy=!0;var B=1,H=[],U=[];function N(e,n){var a,u,m,h,b,A,C,O,L=V(e,Object.assign({},D,{},M(n))),k=!1,R=!1,j=!1,P=!1,S=[],N=p(ht,L.interactiveDebounce),X=w(L.triggerTarget||e),Y=B++,_=(O=L.plugins).filter((function(t,e){return O.indexOf(t)===e})),z={id:Y,reference:e,popper:v(),popperInstance:null,props:L,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:_,clearDelayTimeouts:function(){clearTimeout(a),clearTimeout(u),cancelAnimationFrame(m)},setProps:function(t){if(z.state.isDestroyed)return;it("onBeforeUpdate",[z,t]),mt();var n=z.props,i=V(e,Object.assign({},z.props,{},t,{ignoreAttributes:!0}));z.props=i,vt(),n.interactiveDebounce!==i.interactiveDebounce&&(at(),N=p(ht,i.interactiveDebounce));n.triggerTarget&&!i.triggerTarget?c(n.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):i.triggerTarget&&e.removeAttribute("aria-expanded");ot(),nt(),q&&q(n,i);z.popperInstance&&(wt(),Tt().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)})));it("onAfterUpdate",[z,t])},setContent:function(t){z.setProps({content:t})},show:function(){var t=z.state.isVisible,e=z.state.isDestroyed,n=!z.state.isEnabled,i=T.isTouch&&!z.props.touch,r=o(z.props.duration,0,D.duration);if(t||e||n||i)return;if(Z().hasAttribute("disabled"))return;if(it("onShow",[z],!1),!1===z.props.onShow(z))return;z.state.isVisible=!0,Q()&&(W.style.visibility="visible");nt(),ct(),z.state.isMounted||(W.style.transition="none");if(Q()){var a=tt(),p=a.box,u=a.content;y([p,u],0)}A=function(){if(z.state.isVisible&&!P){if(P=!0,W.offsetHeight,W.style.transition=z.props.moveTransition,Q()&&z.props.animation){var t=tt(),e=t.box,n=t.content;y([e,n],r),x([e,n],"visible")}rt(),ot(),f(U,z),z.state.isMounted=!0,it("onMount",[z]),z.props.animation&&Q()&&function(t,e){lt(t,e)}(r,(function(){z.state.isShown=!0,it("onShown",[z])}))}},function(){var t,e=z.props.appendTo,n=Z();t=z.props.interactive&&e===D.appendTo||"parent"===e?n.parentNode:s(e,[n]);t.contains(W)||t.appendChild(W);wt()}()},hide:function(){var t=!z.state.isVisible,e=z.state.isDestroyed,n=!z.state.isEnabled,i=o(z.props.duration,1,D.duration);if(t||e||n)return;if(it("onHide",[z],!1),!1===z.props.onHide(z))return;z.state.isVisible=!1,z.state.isShown=!1,P=!1,Q()&&(W.style.visibility="hidden");if(at(),ft(),nt(),Q()){var r=tt(),a=r.box,s=r.content;z.props.animation&&(y([a,s],i),x([a,s],"hidden"))}rt(),ot(),z.props.animation?Q()&&function(t,e){lt(t,(function(){!z.state.isVisible&&W.parentNode&&W.parentNode.contains(W)&&e()}))}(i,z.unmount):z.unmount()},hideWithInteractivity:function(t){X.body.addEventListener("mouseleave",Ct),X.addEventListener("mousemove",N),f(H,N),N(t)},enable:function(){z.state.isEnabled=!0},disable:function(){z.hide(),z.state.isEnabled=!1},unmount:function(){z.state.isVisible&&z.hide();if(!z.state.isMounted)return;Et(),Tt().forEach((function(t){t._tippy.unmount()})),W.parentNode&&W.parentNode.removeChild(W);U=U.filter((function(t){return t!==z})),z.state.isMounted=!1,it("onHidden",[z])},destroy:function(){if(z.state.isDestroyed)return;z.clearDelayTimeouts(),z.unmount(),mt(),delete e._tippy,z.state.isDestroyed=!0,it("onDestroy",[z])}};if(!L.render)return z;var F=L.render(z),W=F.popper,q=F.onUpdate;W.setAttribute("data-tippy-root",""),W.id="tippy-"+z.id,z.popper=W,e._tippy=z,W._tippy=z;var $=_.map((function(t){return t.fn(z)})),J=e.hasAttribute("aria-expanded");return vt(),ot(),nt(),it("onCreate",[z]),L.showOnCreate&&At(),W.addEventListener("mouseenter",(function(){z.props.interactive&&z.state.isVisible&&z.clearDelayTimeouts()})),W.addEventListener("mouseleave",(function(t){z.props.interactive&&z.props.trigger.indexOf("mouseenter")>=0&&(X.addEventListener("mousemove",N),N(t))})),z;function G(){var t=z.props.touch;return Array.isArray(t)?t:[t,0]}function K(){return"hold"===G()[0]}function Q(){var t;return!!(null==(t=z.props.render)?void 0:t.$$tippy)}function Z(){return C||e}function tt(){return I(W)}function et(t){return z.state.isMounted&&!z.state.isVisible||T.isTouch||h&&"focus"===h.type?0:o(z.props.delay,t?0:1,D.delay)}function nt(){W.style.pointerEvents=z.props.interactive&&z.state.isVisible?"":"none",W.style.zIndex=""+z.props.zIndex}function it(t,e,n){var i;(void 0===n&&(n=!0),$.forEach((function(n){n[t]&&n[t].apply(void 0,e)})),n)&&(i=z.props)[t].apply(i,e)}function rt(){var t=z.props.aria;if(t.content){var n="aria-"+t.content,i=W.id;c(z.props.triggerTarget||e).forEach((function(t){var e=t.getAttribute(n);if(z.state.isVisible)t.setAttribute(n,e?e+" "+i:i);else{var r=e&&e.replace(i,"").trim();r?t.setAttribute(n,r):t.removeAttribute(n)}}))}}function ot(){!J&&z.props.aria.expanded&&c(z.props.triggerTarget||e).forEach((function(t){z.props.interactive?t.setAttribute("aria-expanded",z.state.isVisible&&t===Z()?"true":"false"):t.removeAttribute("aria-expanded")}))}function at(){X.body.removeEventListener("mouseleave",Ct),X.removeEventListener("mousemove",N),H=H.filter((function(t){return t!==N}))}function st(t){if(!(T.isTouch&&(j||"mousedown"===t.type)||z.props.interactive&&W.contains(t.target))){if(Z().contains(t.target)){if(T.isTouch)return;if(z.state.isVisible&&z.props.trigger.indexOf("click")>=0)return}else it("onClickOutside",[z,t]);!0===z.props.hideOnClick&&(k=!1,z.clearDelayTimeouts(),z.hide(),R=!0,setTimeout((function(){R=!1})),z.state.isMounted||ft())}}function pt(){j=!0}function ut(){j=!1}function ct(){X.addEventListener("mousedown",st,!0),X.addEventListener("touchend",st,r),X.addEventListener("touchstart",ut,r),X.addEventListener("touchmove",pt,r)}function ft(){X.removeEventListener("mousedown",st,!0),X.removeEventListener("touchend",st,r),X.removeEventListener("touchstart",ut,r),X.removeEventListener("touchmove",pt,r)}function lt(t,e){var n=tt().box;function i(t){t.target===n&&(E(n,"remove",i),e())}if(0===t)return e();E(n,"remove",b),E(n,"add",i),b=i}function dt(t,n,i){void 0===i&&(i=!1),c(z.props.triggerTarget||e).forEach((function(e){e.addEventListener(t,n,i),S.push({node:e,eventType:t,handler:n,options:i})}))}function vt(){var t;K()&&(dt("touchstart",gt,{passive:!0}),dt("touchend",bt,{passive:!0})),(t=z.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(dt(t,gt),t){case"mouseenter":dt("mouseleave",bt);break;case"focus":dt(i?"focusout":"blur",yt);break;case"focusin":dt("focusout",yt)}}))}function mt(){S.forEach((function(t){var e=t.node,n=t.eventType,i=t.handler,r=t.options;e.removeEventListener(n,i,r)})),S=[]}function gt(t){var e,n=!1;if(z.state.isEnabled&&!xt(t)&&!R){var i="focus"===(null==(e=h)?void 0:e.type);h=t,C=t.currentTarget,ot(),!z.state.isVisible&&g(t)&&H.forEach((function(e){return e(t)})),"click"===t.type&&(z.props.trigger.indexOf("mouseenter")<0||k)&&!1!==z.props.hideOnClick&&z.state.isVisible?n=!0:At(t),"click"===t.type&&(k=!n),n&&!i&&Ct(t)}}function ht(t){var n=t.target,i=e.contains(n)||W.contains(n);"mousemove"===t.type&&i||function(t,e){var n=e.clientX,i=e.clientY;return t.every((function(t){var e=t.popperRect,r=t.popperState,o=t.props.interactiveBorder,a=l(r.placement),s=r.modifiersData.offset;if(!s)return!0;var p="bottom"===a?s.top.y:0,u="top"===a?s.bottom.y:0,c="right"===a?s.left.x:0,f="left"===a?s.right.x:0,d=e.top-i+p>o,v=i-e.bottom-u>o,m=e.left-n+c>o,g=n-e.right-f>o;return d||v||m||g}))}(Tt().concat(W).map((function(t){var e,n=null==(e=t._tippy.popperInstance)?void 0:e.state;return n?{popperRect:t.getBoundingClientRect(),popperState:n,props:L}:null})).filter(Boolean),t)&&(at(),Ct(t))}function bt(t){xt(t)||z.props.trigger.indexOf("click")>=0&&k||(z.props.interactive?z.hideWithInteractivity(t):Ct(t))}function yt(t){z.props.trigger.indexOf("focusin")<0&&t.target!==Z()||z.props.interactive&&t.relatedTarget&&W.contains(t.relatedTarget)||Ct(t)}function xt(t){return!!T.isTouch&&K()!==t.type.indexOf("touch")>=0}function wt(){Et();var n=z.props,i=n.popperOptions,r=n.placement,o=n.offset,a=n.getReferenceClientRect,s=n.moveTransition,p=Q()?I(W).arrow:null,u=a?{getBoundingClientRect:a,contextElement:a.contextElement||Z()}:e,c=[{name:"offset",options:{offset:o}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var e=t.state;if(Q()){var n=tt().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?n.setAttribute("data-placement",e.placement):e.attributes.popper["data-popper-"+t]?n.setAttribute("data-"+t,""):n.removeAttribute("data-"+t)})),e.attributes.popper={}}}}];Q()&&p&&c.push({name:"arrow",options:{element:p,padding:3}}),c.push.apply(c,(null==i?void 0:i.modifiers)||[]),z.popperInstance=t.createPopper(u,W,Object.assign({},i,{placement:r,onFirstUpdate:A,modifiers:c}))}function Et(){z.popperInstance&&(z.popperInstance.destroy(),z.popperInstance=null)}function Tt(){return d(W.querySelectorAll("[data-tippy-root]"))}function At(t){z.clearDelayTimeouts(),t&&it("onTrigger",[z,t]),ct();var e=et(!0),n=G(),i=n[0],r=n[1];T.isTouch&&"hold"===i&&r&&(e=r),e?a=setTimeout((function(){z.show()}),e):z.show()}function Ct(t){if(z.clearDelayTimeouts(),it("onUntrigger",[z,t]),z.state.isVisible){if(!(z.props.trigger.indexOf("mouseenter")>=0&&z.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&k)){var e=et(!1);e?u=setTimeout((function(){z.state.isVisible&&z.hide()}),e):m=requestAnimationFrame((function(){z.hide()}))}}else ft()}}function X(t,e){void 0===e&&(e={});var n=D.plugins.concat(e.plugins||[]);document.addEventListener("touchstart",C,r),window.addEventListener("blur",L);var i=Object.assign({},e,{plugins:n}),o=b(t).reduce((function(t,e){var n=e&&N(e,i);return n&&t.push(n),t}),[]);return m(t)?o[0]:o}X.defaultProps=D,X.setDefaultProps=function(t){Object.keys(t).forEach((function(e){D[e]=t[e]}))},X.currentInput=T;var Y={mouseover:"mouseenter",focusin:"focus",click:"click"};var _={name:"animateFill",defaultValue:!1,fn:function(t){var e;if(!(null==(e=t.props.render)?void 0:e.$$tippy))return{};var n=I(t.popper),i=n.box,r=n.content,o=t.props.animateFill?function(){var t=v();return t.className="tippy-backdrop",x([t],"hidden"),t}():null;return{onCreate:function(){o&&(i.insertBefore(o,i.firstElementChild),i.setAttribute("data-animatefill",""),i.style.overflow="hidden",t.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(o){var t=i.style.transitionDuration,e=Number(t.replace("ms",""));r.style.transitionDelay=Math.round(e/10)+"ms",o.style.transitionDuration=t,x([o],"visible")}},onShow:function(){o&&(o.style.transitionDuration="0ms")},onHide:function(){o&&x([o],"hidden")}}}};var z={name:"followCursor",defaultValue:!1,fn:function(t){var e=t.reference,n=w(t.props.triggerTarget||e),i=null;function r(){return"manual"===t.props.trigger.trim()}function o(){var e=!!r()||null!==i&&!(0===i.clientX&&0===i.clientY);return t.props.followCursor&&e}function a(e){e&&t.setProps({getReferenceClientRect:null})}function s(){o()?n.addEventListener("mousemove",u):a(t.props.followCursor)}function p(){n.removeEventListener("mousemove",u)}function u(n){i={clientX:n.clientX,clientY:n.clientY};var r=!n.target||e.contains(n.target),o=t.props.followCursor,a=n.clientX,s=n.clientY,u=e.getBoundingClientRect(),c=a-u.left,f=s-u.top;!r&&t.props.interactive||t.setProps({getReferenceClientRect:function(){var t=e.getBoundingClientRect(),n=a,i=s;"initial"===o&&(n=t.left+c,i=t.top+f);var r="horizontal"===o?t.top:i,p="vertical"===o?t.right:n,u="horizontal"===o?t.bottom:i,l="vertical"===o?t.left:n;return{width:p-l,height:u-r,top:r,right:p,bottom:u,left:l}}}),(T.isTouch||"initial"===t.props.followCursor&&t.state.isVisible)&&p()}return{onAfterUpdate:function(t,e){var n=e.followCursor;void 0===n||n||a(!0)},onMount:function(){o()&&u(i)},onShow:function(){r()&&(i={clientX:0,clientY:0},s())},onTrigger:function(t,e){i||(g(e)&&(i={clientX:e.clientX,clientY:e.clientY}),s())},onUntrigger:function(){t.state.isVisible||(p(),i=null)},onHidden:function(){p(),i=null}}}};var F={name:"inlinePositioning",defaultValue:!1,fn:function(t){var e,n=t.reference;var i=-1,r=!1,o={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(r){var o=r.state;t.props.inlinePositioning&&(e!==o.placement&&t.setProps({getReferenceClientRect:function(){return function(t){return function(t,e,n,i){if(n.length<2||null===t)return e;if(2===n.length&&i>=0&&n[0].left>n[1].right)return n[i]||e;switch(t){case"top":case"bottom":var r=n[0],o=n[n.length-1],a="top"===t,s=r.top,p=o.bottom,u=a?r.left:o.left,c=a?r.right:o.right;return{top:s,bottom:p,left:u,right:c,width:c-u,height:p-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(t){return t.left}))),l=Math.max.apply(Math,n.map((function(t){return t.right}))),d=n.filter((function(e){return"left"===t?e.left===f:e.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return e}}(l(t),n.getBoundingClientRect(),d(n.getClientRects()),i)}(o.placement)}}),e=o.placement)}};function a(){var e;r||(e=function(t,e){var n;return{popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat(((null==(n=t.popperOptions)?void 0:n.modifiers)||[]).filter((function(t){return t.name!==e.name})),[e])})}}(t.props,o),r=!0,t.setProps(e),r=!1)}return{onCreate:a,onAfterUpdate:a,onTrigger:function(e,n){if(g(n)){var r=d(t.reference.getClientRects()),o=r.find((function(t){return t.left-2<=n.clientX&&t.right+2>=n.clientX&&t.top-2<=n.clientY&&t.bottom+2>=n.clientY}));i=r.indexOf(o)}},onUntrigger:function(){i=-1}}}};var W={name:"sticky",defaultValue:!1,fn:function(t){var e=t.reference,n=t.popper;function i(e){return!0===t.props.sticky||t.props.sticky===e}var r=null,o=null;function a(){var s=i("reference")?(t.popperInstance?t.popperInstance.state.elements.reference:e).getBoundingClientRect():null,p=i("popper")?n.getBoundingClientRect():null;(s&&q(r,s)||p&&q(o,p))&&t.popperInstance&&t.popperInstance.update(),r=s,o=p,t.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){t.props.sticky&&a()}}}};function q(t,e){return!t||!e||(t.top!==e.top||t.right!==e.right||t.bottom!==e.bottom||t.left!==e.left)}return e&&function(t){var e=document.createElement("style");e.textContent=t,e.setAttribute("data-tippy-stylesheet","");var n=document.head,i=document.querySelector("head>style,head>link");i?n.insertBefore(e,i):n.appendChild(e)}('.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}'),X.setDefaultProps({plugins:[_,z,F,W],render:S}),X.createSingleton=function(t,e){void 0===e&&(e={});var n,i=t,r=[],o=e.overrides;function a(){r=i.map((function(t){return t.reference}))}function s(t){i.forEach((function(e){t?e.enable():e.disable()}))}s(!1),a();var p={fn:function(){return{onDestroy:function(){s(!0)},onTrigger:function(t,e){var a=e.currentTarget,s=r.indexOf(a);if(a!==n){n=a;var p=(o||[]).concat("content").reduce((function(t,e){return t[e]=i[s].props[e],t}),{});t.setProps(Object.assign({},p,{getReferenceClientRect:function(){return a.getBoundingClientRect()}}))}}}}},c=X(v(),Object.assign({},u(e,["overrides"]),{plugins:[p].concat(e.plugins||[]),triggerTarget:r})),f=c.setProps;return c.setProps=function(t){o=t.overrides||o,f(t)},c.setInstances=function(t){s(!0),i=t,s(!1),a(),c.setProps({triggerTarget:r})},c},X.delegate=function(t,e){var n=[],i=[],r=e.target,o=u(e,["target"]),a=Object.assign({},o,{trigger:"manual",touch:!1}),s=Object.assign({},o,{showOnCreate:!0}),p=X(t,a);function f(t){if(t.target){var n=t.target.closest(r);if(n){var o=n.getAttribute("data-tippy-trigger")||e.trigger||D.trigger;if(!n._tippy&&!("touchstart"===t.type&&"boolean"==typeof s.touch||"touchstart"!==t.type&&o.indexOf(Y[t.type]))){var a=X(n,s);a&&(i=i.concat(a))}}}}function l(t,e,i,r){void 0===r&&(r=!1),t.addEventListener(e,i,r),n.push({node:t,eventType:e,handler:i,options:r})}return c(p).forEach((function(t){var e=t.destroy;t.destroy=function(t){void 0===t&&(t=!0),t&&i.forEach((function(t){t.destroy()})),i=[],n.forEach((function(t){var e=t.node,n=t.eventType,i=t.handler,r=t.options;e.removeEventListener(n,i,r)})),n=[],e()},function(t){var e=t.reference;l(e,"touchstart",f),l(e,"mouseover",f),l(e,"focusin",f),l(e,"click",f)}(t)})),p},X.hideAll=function(t){var e=void 0===t?{}:t,n=e.exclude,i=e.duration;U.forEach((function(t){var e=!1;if(n&&(e=h(n)?t.reference===n:t.popper===n.popper),!e){var r=t.props.duration;t.setProps({duration:i}),t.hide(),t.state.isDestroyed||t.setProps({duration:r})}}))},X.roundArrow='',X})); -//# sourceMappingURL=tippy-bundle.umd.min.js.map diff --git a/community_server/webroot/js/userSearch.js b/community_server/webroot/js/userSearch.js deleted file mode 100644 index 993c05ab0..000000000 --- a/community_server/webroot/js/userSearch.js +++ /dev/null @@ -1,9185 +0,0 @@ -(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } -}; - -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); -}; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; -process.prependListener = noop; -process.prependOnceListener = noop; - -process.listeners = function (name) { return [] } - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function() { return 0; }; - -},{}],2:[function(require,module,exports){ -(function (setImmediate,clearImmediate){(function (){ -var nextTick = require('process/browser.js').nextTick; -var apply = Function.prototype.apply; -var slice = Array.prototype.slice; -var immediateIds = {}; -var nextImmediateId = 0; - -// DOM APIs, for completeness - -exports.setTimeout = function() { - return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout); -}; -exports.setInterval = function() { - return new Timeout(apply.call(setInterval, window, arguments), clearInterval); -}; -exports.clearTimeout = -exports.clearInterval = function(timeout) { timeout.close(); }; - -function Timeout(id, clearFn) { - this._id = id; - this._clearFn = clearFn; -} -Timeout.prototype.unref = Timeout.prototype.ref = function() {}; -Timeout.prototype.close = function() { - this._clearFn.call(window, this._id); -}; - -// Does not start the time, just sets up the members needed. -exports.enroll = function(item, msecs) { - clearTimeout(item._idleTimeoutId); - item._idleTimeout = msecs; -}; - -exports.unenroll = function(item) { - clearTimeout(item._idleTimeoutId); - item._idleTimeout = -1; -}; - -exports._unrefActive = exports.active = function(item) { - clearTimeout(item._idleTimeoutId); - - var msecs = item._idleTimeout; - if (msecs >= 0) { - item._idleTimeoutId = setTimeout(function onTimeout() { - if (item._onTimeout) - item._onTimeout(); - }, msecs); - } -}; - -// That's not how node.js implements it but the exposed api is the same. -exports.setImmediate = typeof setImmediate === "function" ? setImmediate : function(fn) { - var id = nextImmediateId++; - var args = arguments.length < 2 ? false : slice.call(arguments, 1); - - immediateIds[id] = true; - - nextTick(function onNextTick() { - if (immediateIds[id]) { - // fn.call() is faster so we optimize for the common use-case - // @see http://jsperf.com/call-apply-segu - if (args) { - fn.apply(null, args); - } else { - fn.call(null); - } - // Prevent ids from leaking - exports.clearImmediate(id); - } - }); - - return id; -}; - -exports.clearImmediate = typeof clearImmediate === "function" ? clearImmediate : function(id) { - delete immediateIds[id]; -}; -}).call(this)}).call(this,require("timers").setImmediate,require("timers").clearImmediate) -},{"process/browser.js":1,"timers":2}],3:[function(require,module,exports){ -(function (global,setImmediate){(function (){ -new function() { - -function Vnode(tag, key, attrs0, children, text, dom) { - return {tag: tag, key: key, attrs: attrs0, children: children, text: text, dom: dom, domSize: undefined, state: {}, events: undefined, instance: undefined, skip: false} -} -Vnode.normalize = function(node) { - if (Array.isArray(node)) return Vnode("[", undefined, undefined, Vnode.normalizeChildren(node), undefined, undefined) - if (node != null && typeof node !== "object") return Vnode("#", undefined, undefined, node === false ? "" : node, undefined, undefined) - return node -} -Vnode.normalizeChildren = function normalizeChildren(children) { - for (var i = 0; i < children.length; i++) { - children[i] = Vnode.normalize(children[i]) - } - return children -} -var selectorParser = /(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g -var selectorCache = {} -function hyperscript(selector) { - if (selector == null || typeof selector !== "string" && typeof selector.view !== "function") { - throw Error("The selector must be either a string or a component."); - } - if (typeof selector === "string" && selectorCache[selector] === undefined) { - var match, tag, classes = [], attributes = {} - while (match = selectorParser.exec(selector)) { - var type = match[1], value = match[2] - if (type === "" && value !== "") tag = value - else if (type === "#") attributes.id = value - else if (type === ".") classes.push(value) - else if (match[3][0] === "[") { - var attrValue = match[6] - if (attrValue) attrValue = attrValue.replace(/\\(["'])/g, "$1").replace(/\\\\/g, "\\") - if (match[4] === "class") classes.push(attrValue) - else attributes[match[4]] = attrValue || true - } - } - if (classes.length > 0) attributes.className = classes.join(" ") - selectorCache[selector] = function(attrs, children) { - var hasAttrs = false, childList, text - var className = attrs.className || attrs.class - for (var key in attributes) attrs[key] = attributes[key] - if (className !== undefined) { - if (attrs.class !== undefined) { - attrs.class = undefined - attrs.className = className - } - if (attributes.className !== undefined) attrs.className = attributes.className + " " + className - } - for (var key in attrs) { - if (key !== "key") { - hasAttrs = true - break - } - } - if (Array.isArray(children) && children.length == 1 && children[0] != null && children[0].tag === "#") text = children[0].children - else childList = children - return Vnode(tag || "div", attrs.key, hasAttrs ? attrs : undefined, childList, text, undefined) - } - } - var attrs, children, childrenIndex - if (arguments[1] == null || typeof arguments[1] === "object" && arguments[1].tag === undefined && !Array.isArray(arguments[1])) { - attrs = arguments[1] - childrenIndex = 2 - } - else childrenIndex = 1 - if (arguments.length === childrenIndex + 1) { - children = Array.isArray(arguments[childrenIndex]) ? arguments[childrenIndex] : [arguments[childrenIndex]] - } - else { - children = [] - for (var i = childrenIndex; i < arguments.length; i++) children.push(arguments[i]) - } - if (typeof selector === "string") return selectorCache[selector](attrs || {}, Vnode.normalizeChildren(children)) - return Vnode(selector, attrs && attrs.key, attrs || {}, Vnode.normalizeChildren(children), undefined, undefined) -} -hyperscript.trust = function(html) { - if (html == null) html = "" - return Vnode("<", undefined, undefined, html, undefined, undefined) -} -hyperscript.fragment = function(attrs1, children) { - return Vnode("[", attrs1.key, attrs1, Vnode.normalizeChildren(children), undefined, undefined) -} -var m = hyperscript -/** @constructor */ -var PromisePolyfill = function(executor) { - if (!(this instanceof PromisePolyfill)) throw new Error("Promise must be called with `new`") - if (typeof executor !== "function") throw new TypeError("executor must be a function") - var self = this, resolvers = [], rejectors = [], resolveCurrent = handler(resolvers, true), rejectCurrent = handler(rejectors, false) - var instance = self._instance = {resolvers: resolvers, rejectors: rejectors} - var callAsync = typeof setImmediate === "function" ? setImmediate : setTimeout - function handler(list, shouldAbsorb) { - return function execute(value) { - var then - try { - if (shouldAbsorb && value != null && (typeof value === "object" || typeof value === "function") && typeof (then = value.then) === "function") { - if (value === self) throw new TypeError("Promise can't be resolved w/ itself") - executeOnce(then.bind(value)) - } - else { - callAsync(function() { - if (!shouldAbsorb && list.length === 0) console.error("Possible unhandled promise rejection:", value) - for (var i = 0; i < list.length; i++) list[i](value) - resolvers.length = 0, rejectors.length = 0 - instance.state = shouldAbsorb - instance.retry = function() {execute(value)} - }) - } - } - catch (e) { - rejectCurrent(e) - } - } - } - function executeOnce(then) { - var runs = 0 - function run(fn) { - return function(value) { - if (runs++ > 0) return - fn(value) - } - } - var onerror = run(rejectCurrent) - try {then(run(resolveCurrent), onerror)} catch (e) {onerror(e)} - } - executeOnce(executor) -} -PromisePolyfill.prototype.then = function(onFulfilled, onRejection) { - var self = this, instance = self._instance - function handle(callback, list, next, state) { - list.push(function(value) { - if (typeof callback !== "function") next(value) - else try {resolveNext(callback(value))} catch (e) {if (rejectNext) rejectNext(e)} - }) - if (typeof instance.retry === "function" && state === instance.state) instance.retry() - } - var resolveNext, rejectNext - var promise = new PromisePolyfill(function(resolve, reject) {resolveNext = resolve, rejectNext = reject}) - handle(onFulfilled, instance.resolvers, resolveNext, true), handle(onRejection, instance.rejectors, rejectNext, false) - return promise -} -PromisePolyfill.prototype.catch = function(onRejection) { - return this.then(null, onRejection) -} -PromisePolyfill.resolve = function(value) { - if (value instanceof PromisePolyfill) return value - return new PromisePolyfill(function(resolve) {resolve(value)}) -} -PromisePolyfill.reject = function(value) { - return new PromisePolyfill(function(resolve, reject) {reject(value)}) -} -PromisePolyfill.all = function(list) { - return new PromisePolyfill(function(resolve, reject) { - var total = list.length, count = 0, values = [] - if (list.length === 0) resolve([]) - else for (var i = 0; i < list.length; i++) { - (function(i) { - function consume(value) { - count++ - values[i] = value - if (count === total) resolve(values) - } - if (list[i] != null && (typeof list[i] === "object" || typeof list[i] === "function") && typeof list[i].then === "function") { - list[i].then(consume, reject) - } - else consume(list[i]) - })(i) - } - }) -} -PromisePolyfill.race = function(list) { - return new PromisePolyfill(function(resolve, reject) { - for (var i = 0; i < list.length; i++) { - list[i].then(resolve, reject) - } - }) -} -if (typeof window !== "undefined") { - if (typeof window.Promise === "undefined") window.Promise = PromisePolyfill - var PromisePolyfill = window.Promise -} else if (typeof global !== "undefined") { - if (typeof global.Promise === "undefined") global.Promise = PromisePolyfill - var PromisePolyfill = global.Promise -} else { -} -var buildQueryString = function(object) { - if (Object.prototype.toString.call(object) !== "[object Object]") return "" - var args = [] - for (var key0 in object) { - destructure(key0, object[key0]) - } - return args.join("&") - function destructure(key0, value) { - if (Array.isArray(value)) { - for (var i = 0; i < value.length; i++) { - destructure(key0 + "[" + i + "]", value[i]) - } - } - else if (Object.prototype.toString.call(value) === "[object Object]") { - for (var i in value) { - destructure(key0 + "[" + i + "]", value[i]) - } - } - else args.push(encodeURIComponent(key0) + (value != null && value !== "" ? "=" + encodeURIComponent(value) : "")) - } -} -var _8 = function($window, Promise) { - var callbackCount = 0 - var oncompletion - function setCompletionCallback(callback) {oncompletion = callback} - function finalizer() { - var count = 0 - function complete() {if (--count === 0 && typeof oncompletion === "function") oncompletion()} - return function finalize(promise0) { - var then0 = promise0.then - promise0.then = function() { - count++ - var next = then0.apply(promise0, arguments) - next.then(complete, function(e) { - complete() - if (count === 0) throw e - }) - return finalize(next) - } - return promise0 - } - } - function normalize(args, extra) { - if (typeof args === "string") { - var url = args - args = extra || {} - if (args.url == null) args.url = url - } - return args - } - function request(args, extra) { - var finalize = finalizer() - args = normalize(args, extra) - var promise0 = new Promise(function(resolve, reject) { - if (args.method == null) args.method = "GET" - args.method = args.method.toUpperCase() - var useBody = typeof args.useBody === "boolean" ? args.useBody : args.method !== "GET" && args.method !== "TRACE" - if (typeof args.serialize !== "function") args.serialize = typeof FormData !== "undefined" && args.data instanceof FormData ? function(value) {return value} : JSON.stringify - if (typeof args.deserialize !== "function") args.deserialize = deserialize - if (typeof args.extract !== "function") args.extract = extract - args.url = interpolate(args.url, args.data) - if (useBody) args.data = args.serialize(args.data) - else args.url = assemble(args.url, args.data) - var xhr = new $window.XMLHttpRequest() - xhr.open(args.method, args.url, typeof args.async === "boolean" ? args.async : true, typeof args.user === "string" ? args.user : undefined, typeof args.password === "string" ? args.password : undefined) - if (args.serialize === JSON.stringify && useBody) { - xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8") - } - if (args.deserialize === deserialize) { - xhr.setRequestHeader("Accept", "application/json, text/*") - } - if (args.withCredentials) xhr.withCredentials = args.withCredentials - for (var key in args.headers) if ({}.hasOwnProperty.call(args.headers, key)) { - xhr.setRequestHeader(key, args.headers[key]) - } - if (typeof args.config === "function") xhr = args.config(xhr, args) || xhr - xhr.onreadystatechange = function() { - // Don't throw errors on xhr.abort(). XMLHttpRequests ends up in a state of - // xhr.status == 0 and xhr.readyState == 4 if aborted after open, but before completion. - if (xhr.status && xhr.readyState === 4) { - try { - var response = (args.extract !== extract) ? args.extract(xhr, args) : args.deserialize(args.extract(xhr, args)) - if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) { - resolve(cast(args.type, response)) - } - else { - var error = new Error(xhr.responseText) - for (var key in response) error[key] = response[key] - reject(error) - } - } - catch (e) { - reject(e) - } - } - } - if (useBody && (args.data != null)) xhr.send(args.data) - else xhr.send() - }) - return args.background === true ? promise0 : finalize(promise0) - } - function jsonp(args, extra) { - var finalize = finalizer() - args = normalize(args, extra) - var promise0 = new Promise(function(resolve, reject) { - var callbackName = args.callbackName || "_mithril_" + Math.round(Math.random() * 1e16) + "_" + callbackCount++ - var script = $window.document.createElement("script") - $window[callbackName] = function(data) { - script.parentNode.removeChild(script) - resolve(cast(args.type, data)) - delete $window[callbackName] - } - script.onerror = function() { - script.parentNode.removeChild(script) - reject(new Error("JSONP request failed")) - delete $window[callbackName] - } - if (args.data == null) args.data = {} - args.url = interpolate(args.url, args.data) - args.data[args.callbackKey || "callback"] = callbackName - script.src = assemble(args.url, args.data) - $window.document.documentElement.appendChild(script) - }) - return args.background === true? promise0 : finalize(promise0) - } - function interpolate(url, data) { - if (data == null) return url - var tokens = url.match(/:[^\/]+/gi) || [] - for (var i = 0; i < tokens.length; i++) { - var key = tokens[i].slice(1) - if (data[key] != null) { - url = url.replace(tokens[i], data[key]) - } - } - return url - } - function assemble(url, data) { - var querystring = buildQueryString(data) - if (querystring !== "") { - var prefix = url.indexOf("?") < 0 ? "?" : "&" - url += prefix + querystring - } - return url - } - function deserialize(data) { - try {return data !== "" ? JSON.parse(data) : null} - catch (e) {throw new Error(data)} - } - function extract(xhr) {return xhr.responseText} - function cast(type0, data) { - if (typeof type0 === "function") { - if (Array.isArray(data)) { - for (var i = 0; i < data.length; i++) { - data[i] = new type0(data[i]) - } - } - else return new type0(data) - } - return data - } - return {request: request, jsonp: jsonp, setCompletionCallback: setCompletionCallback} -} -var requestService = _8(window, PromisePolyfill) -var coreRenderer = function($window) { - var $doc = $window.document - var $emptyFragment = $doc.createDocumentFragment() - var onevent - function setEventCallback(callback) {return onevent = callback} - //create - function createNodes(parent, vnodes, start, end, hooks, nextSibling, ns) { - for (var i = start; i < end; i++) { - var vnode = vnodes[i] - if (vnode != null) { - insertNode(parent, createNode(vnode, hooks, ns), nextSibling) - } - } - } - function createNode(vnode, hooks, ns) { - var tag = vnode.tag - if (vnode.attrs != null) initLifecycle(vnode.attrs, vnode, hooks) - if (typeof tag === "string") { - switch (tag) { - case "#": return createText(vnode) - case "<": return createHTML(vnode) - case "[": return createFragment(vnode, hooks, ns) - default: return createElement(vnode, hooks, ns) - } - } - else return createComponent(vnode, hooks, ns) - } - function createText(vnode) { - return vnode.dom = $doc.createTextNode(vnode.children) - } - function createHTML(vnode) { - var match1 = vnode.children.match(/^\s*?<(\w+)/im) || [] - var parent = {caption: "table", thead: "table", tbody: "table", tfoot: "table", tr: "tbody", th: "tr", td: "tr", colgroup: "table", col: "colgroup"}[match1[1]] || "div" - var temp = $doc.createElement(parent) - temp.innerHTML = vnode.children - vnode.dom = temp.firstChild - vnode.domSize = temp.childNodes.length - var fragment = $doc.createDocumentFragment() - var child - while (child = temp.firstChild) { - fragment.appendChild(child) - } - return fragment - } - function createFragment(vnode, hooks, ns) { - var fragment = $doc.createDocumentFragment() - if (vnode.children != null) { - var children = vnode.children - createNodes(fragment, children, 0, children.length, hooks, null, ns) - } - vnode.dom = fragment.firstChild - vnode.domSize = fragment.childNodes.length - return fragment - } - function createElement(vnode, hooks, ns) { - var tag = vnode.tag - switch (vnode.tag) { - case "svg": ns = "http://www.w3.org/2000/svg"; break - case "math": ns = "http://www.w3.org/1998/Math/MathML"; break - } - var attrs2 = vnode.attrs - var is = attrs2 && attrs2.is - var element = ns ? - is ? $doc.createElementNS(ns, tag, {is: is}) : $doc.createElementNS(ns, tag) : - is ? $doc.createElement(tag, {is: is}) : $doc.createElement(tag) - vnode.dom = element - if (attrs2 != null) { - setAttrs(vnode, attrs2, ns) - } - if (vnode.attrs != null && vnode.attrs.contenteditable != null) { - setContentEditable(vnode) - } - else { - if (vnode.text != null) { - if (vnode.text !== "") element.textContent = vnode.text - else vnode.children = [Vnode("#", undefined, undefined, vnode.text, undefined, undefined)] - } - if (vnode.children != null) { - var children = vnode.children - createNodes(element, children, 0, children.length, hooks, null, ns) - setLateAttrs(vnode) - } - } - return element - } - function createComponent(vnode, hooks, ns) { - vnode.state = Object.create(vnode.tag) - var view = vnode.tag.view - if (view.reentrantLock != null) return $emptyFragment - view.reentrantLock = true - initLifecycle(vnode.tag, vnode, hooks) - vnode.instance = Vnode.normalize(view.call(vnode.state, vnode)) - view.reentrantLock = null - if (vnode.instance != null) { - if (vnode.instance === vnode) throw Error("A view cannot return the vnode it received as arguments") - var element = createNode(vnode.instance, hooks, ns) - vnode.dom = vnode.instance.dom - vnode.domSize = vnode.dom != null ? vnode.instance.domSize : 0 - return element - } - else { - vnode.domSize = 0 - return $emptyFragment - } - } - //update - function updateNodes(parent, old, vnodes, hooks, nextSibling, ns) { - if (old === vnodes || old == null && vnodes == null) return - else if (old == null) createNodes(parent, vnodes, 0, vnodes.length, hooks, nextSibling, undefined) - else if (vnodes == null) removeNodes(old, 0, old.length, vnodes) - else { - if (old.length === vnodes.length) { - var isUnkeyed = false - for (var i = 0; i < vnodes.length; i++) { - if (vnodes[i] != null && old[i] != null) { - isUnkeyed = vnodes[i].key == null && old[i].key == null - break - } - } - if (isUnkeyed) { - for (var i = 0; i < old.length; i++) { - if (old[i] === vnodes[i]) continue - else if (old[i] == null && vnodes[i] != null) insertNode(parent, createNode(vnodes[i], hooks, ns), getNextSibling(old, i + 1, nextSibling)) - else if (vnodes[i] == null) removeNodes(old, i, i + 1, vnodes) - else updateNode(parent, old[i], vnodes[i], hooks, getNextSibling(old, i + 1, nextSibling), false, ns) - } - return - } - } - var recycling = isRecyclable(old, vnodes) - if (recycling) old = old.concat(old.pool) - var oldStart = 0, start = 0, oldEnd = old.length - 1, end = vnodes.length - 1, map - while (oldEnd >= oldStart && end >= start) { - var o = old[oldStart], v = vnodes[start] - if (o === v && !recycling) oldStart++, start++ - else if (o == null) oldStart++ - else if (v == null) start++ - else if (o.key === v.key) { - oldStart++, start++ - updateNode(parent, o, v, hooks, getNextSibling(old, oldStart, nextSibling), recycling, ns) - if (recycling && o.tag === v.tag) insertNode(parent, toFragment(o), nextSibling) - } - else { - var o = old[oldEnd] - if (o === v && !recycling) oldEnd--, start++ - else if (o == null) oldEnd-- - else if (v == null) start++ - else if (o.key === v.key) { - updateNode(parent, o, v, hooks, getNextSibling(old, oldEnd + 1, nextSibling), recycling, ns) - if (recycling || start < end) insertNode(parent, toFragment(o), getNextSibling(old, oldStart, nextSibling)) - oldEnd--, start++ - } - else break - } - } - while (oldEnd >= oldStart && end >= start) { - var o = old[oldEnd], v = vnodes[end] - if (o === v && !recycling) oldEnd--, end-- - else if (o == null) oldEnd-- - else if (v == null) end-- - else if (o.key === v.key) { - updateNode(parent, o, v, hooks, getNextSibling(old, oldEnd + 1, nextSibling), recycling, ns) - if (recycling && o.tag === v.tag) insertNode(parent, toFragment(o), nextSibling) - if (o.dom != null) nextSibling = o.dom - oldEnd--, end-- - } - else { - if (!map) map = getKeyMap(old, oldEnd) - if (v != null) { - var oldIndex = map[v.key] - if (oldIndex != null) { - var movable = old[oldIndex] - updateNode(parent, movable, v, hooks, getNextSibling(old, oldEnd + 1, nextSibling), recycling, ns) - insertNode(parent, toFragment(movable), nextSibling) - old[oldIndex].skip = true - if (movable.dom != null) nextSibling = movable.dom - } - else { - var dom = createNode(v, hooks, undefined) - insertNode(parent, dom, nextSibling) - nextSibling = dom - } - } - end-- - } - if (end < start) break - } - createNodes(parent, vnodes, start, end + 1, hooks, nextSibling, ns) - removeNodes(old, oldStart, oldEnd + 1, vnodes) - } - } - function updateNode(parent, old, vnode, hooks, nextSibling, recycling, ns) { - var oldTag = old.tag, tag = vnode.tag - if (oldTag === tag) { - vnode.state = old.state - vnode.events = old.events - if (shouldUpdate(vnode, old)) return - if (vnode.attrs != null) { - updateLifecycle(vnode.attrs, vnode, hooks, recycling) - } - if (typeof oldTag === "string") { - switch (oldTag) { - case "#": updateText(old, vnode); break - case "<": updateHTML(parent, old, vnode, nextSibling); break - case "[": updateFragment(parent, old, vnode, hooks, nextSibling, ns); break - default: updateElement(old, vnode, hooks, ns) - } - } - else updateComponent(parent, old, vnode, hooks, nextSibling, recycling, ns) - } - else { - removeNode(old, null) - insertNode(parent, createNode(vnode, hooks, ns), nextSibling) - } - } - function updateText(old, vnode) { - if (old.children.toString() !== vnode.children.toString()) { - old.dom.nodeValue = vnode.children - } - vnode.dom = old.dom - } - function updateHTML(parent, old, vnode, nextSibling) { - if (old.children !== vnode.children) { - toFragment(old) - insertNode(parent, createHTML(vnode), nextSibling) - } - else vnode.dom = old.dom, vnode.domSize = old.domSize - } - function updateFragment(parent, old, vnode, hooks, nextSibling, ns) { - updateNodes(parent, old.children, vnode.children, hooks, nextSibling, ns) - var domSize = 0, children = vnode.children - vnode.dom = null - if (children != null) { - for (var i = 0; i < children.length; i++) { - var child = children[i] - if (child != null && child.dom != null) { - if (vnode.dom == null) vnode.dom = child.dom - domSize += child.domSize || 1 - } - } - if (domSize !== 1) vnode.domSize = domSize - } - } - function updateElement(old, vnode, hooks, ns) { - var element = vnode.dom = old.dom - switch (vnode.tag) { - case "svg": ns = "http://www.w3.org/2000/svg"; break - case "math": ns = "http://www.w3.org/1998/Math/MathML"; break - } - if (vnode.tag === "textarea") { - if (vnode.attrs == null) vnode.attrs = {} - if (vnode.text != null) { - vnode.attrs.value = vnode.text //FIXME handle0 multiple children - vnode.text = undefined - } - } - updateAttrs(vnode, old.attrs, vnode.attrs, ns) - if (vnode.attrs != null && vnode.attrs.contenteditable != null) { - setContentEditable(vnode) - } - else if (old.text != null && vnode.text != null && vnode.text !== "") { - if (old.text.toString() !== vnode.text.toString()) old.dom.firstChild.nodeValue = vnode.text - } - else { - if (old.text != null) old.children = [Vnode("#", undefined, undefined, old.text, undefined, old.dom.firstChild)] - if (vnode.text != null) vnode.children = [Vnode("#", undefined, undefined, vnode.text, undefined, undefined)] - updateNodes(element, old.children, vnode.children, hooks, null, ns) - } - } - function updateComponent(parent, old, vnode, hooks, nextSibling, recycling, ns) { - vnode.instance = Vnode.normalize(vnode.tag.view.call(vnode.state, vnode)) - updateLifecycle(vnode.tag, vnode, hooks, recycling) - if (vnode.instance != null) { - if (old.instance == null) insertNode(parent, createNode(vnode.instance, hooks, ns), nextSibling) - else updateNode(parent, old.instance, vnode.instance, hooks, nextSibling, recycling, ns) - vnode.dom = vnode.instance.dom - vnode.domSize = vnode.instance.domSize - } - else if (old.instance != null) { - removeNode(old.instance, null) - vnode.dom = undefined - vnode.domSize = 0 - } - else { - vnode.dom = old.dom - vnode.domSize = old.domSize - } - } - function isRecyclable(old, vnodes) { - if (old.pool != null && Math.abs(old.pool.length - vnodes.length) <= Math.abs(old.length - vnodes.length)) { - var oldChildrenLength = old[0] && old[0].children && old[0].children.length || 0 - var poolChildrenLength = old.pool[0] && old.pool[0].children && old.pool[0].children.length || 0 - var vnodesChildrenLength = vnodes[0] && vnodes[0].children && vnodes[0].children.length || 0 - if (Math.abs(poolChildrenLength - vnodesChildrenLength) <= Math.abs(oldChildrenLength - vnodesChildrenLength)) { - return true - } - } - return false - } - function getKeyMap(vnodes, end) { - var map = {}, i = 0 - for (var i = 0; i < end; i++) { - var vnode = vnodes[i] - if (vnode != null) { - var key2 = vnode.key - if (key2 != null) map[key2] = i - } - } - return map - } - function toFragment(vnode) { - var count0 = vnode.domSize - if (count0 != null || vnode.dom == null) { - var fragment = $doc.createDocumentFragment() - if (count0 > 0) { - var dom = vnode.dom - while (--count0) fragment.appendChild(dom.nextSibling) - fragment.insertBefore(dom, fragment.firstChild) - } - return fragment - } - else return vnode.dom - } - function getNextSibling(vnodes, i, nextSibling) { - for (; i < vnodes.length; i++) { - if (vnodes[i] != null && vnodes[i].dom != null) return vnodes[i].dom - } - return nextSibling - } - function insertNode(parent, dom, nextSibling) { - if (nextSibling && nextSibling.parentNode) parent.insertBefore(dom, nextSibling) - else parent.appendChild(dom) - } - function setContentEditable(vnode) { - var children = vnode.children - if (children != null && children.length === 1 && children[0].tag === "<") { - var content = children[0].children - if (vnode.dom.innerHTML !== content) vnode.dom.innerHTML = content - } - else if (vnode.text != null || children != null && children.length !== 0) throw new Error("Child node of a contenteditable must be trusted") - } - //remove - function removeNodes(vnodes, start, end, context) { - for (var i = start; i < end; i++) { - var vnode = vnodes[i] - if (vnode != null) { - if (vnode.skip) vnode.skip = false - else removeNode(vnode, context) - } - } - } - function removeNode(vnode, context) { - var expected = 1, called = 0 - if (vnode.attrs && vnode.attrs.onbeforeremove) { - var result = vnode.attrs.onbeforeremove.call(vnode.state, vnode) - if (result != null && typeof result.then === "function") { - expected++ - result.then(continuation, continuation) - } - } - if (typeof vnode.tag !== "string" && vnode.tag.onbeforeremove) { - var result = vnode.tag.onbeforeremove.call(vnode.state, vnode) - if (result != null && typeof result.then === "function") { - expected++ - result.then(continuation, continuation) - } - } - continuation() - function continuation() { - if (++called === expected) { - onremove(vnode) - if (vnode.dom) { - var count0 = vnode.domSize || 1 - if (count0 > 1) { - var dom = vnode.dom - while (--count0) { - removeNodeFromDOM(dom.nextSibling) - } - } - removeNodeFromDOM(vnode.dom) - if (context != null && vnode.domSize == null && !hasIntegrationMethods(vnode.attrs) && typeof vnode.tag === "string") { //TODO test custom elements - if (!context.pool) context.pool = [vnode] - else context.pool.push(vnode) - } - } - } - } - } - function removeNodeFromDOM(node) { - var parent = node.parentNode - if (parent != null) parent.removeChild(node) - } - function onremove(vnode) { - if (vnode.attrs && vnode.attrs.onremove) vnode.attrs.onremove.call(vnode.state, vnode) - if (typeof vnode.tag !== "string" && vnode.tag.onremove) vnode.tag.onremove.call(vnode.state, vnode) - if (vnode.instance != null) onremove(vnode.instance) - else { - var children = vnode.children - if (Array.isArray(children)) { - for (var i = 0; i < children.length; i++) { - var child = children[i] - if (child != null) onremove(child) - } - } - } - } - //attrs2 - function setAttrs(vnode, attrs2, ns) { - for (var key2 in attrs2) { - setAttr(vnode, key2, null, attrs2[key2], ns) - } - } - function setAttr(vnode, key2, old, value, ns) { - var element = vnode.dom - if (key2 === "key" || key2 === "is" || (old === value && !isFormAttribute(vnode, key2)) && typeof value !== "object" || typeof value === "undefined" || isLifecycleMethod(key2)) return - var nsLastIndex = key2.indexOf(":") - if (nsLastIndex > -1 && key2.substr(0, nsLastIndex) === "xlink") { - element.setAttributeNS("http://www.w3.org/1999/xlink", key2.slice(nsLastIndex + 1), value) - } - else if (key2[0] === "o" && key2[1] === "n" && typeof value === "function") updateEvent(vnode, key2, value) - else if (key2 === "style") updateStyle(element, old, value) - else if (key2 in element && !isAttribute(key2) && ns === undefined && !isCustomElement(vnode)) { - //setting input[value] to same value by typing on focused element moves cursor to end in Chrome - if (vnode.tag === "input" && key2 === "value" && vnode.dom.value === value && vnode.dom === $doc.activeElement) return - //setting select[value] to same value while having select open blinks select dropdown in Chrome - if (vnode.tag === "select" && key2 === "value" && vnode.dom.value === value && vnode.dom === $doc.activeElement) return - //setting option[value] to same value while having select open blinks select dropdown in Chrome - if (vnode.tag === "option" && key2 === "value" && vnode.dom.value === value) return - element[key2] = value - } - else { - if (typeof value === "boolean") { - if (value) element.setAttribute(key2, "") - else element.removeAttribute(key2) - } - else element.setAttribute(key2 === "className" ? "class" : key2, value) - } - } - function setLateAttrs(vnode) { - var attrs2 = vnode.attrs - if (vnode.tag === "select" && attrs2 != null) { - if ("value" in attrs2) setAttr(vnode, "value", null, attrs2.value, undefined) - if ("selectedIndex" in attrs2) setAttr(vnode, "selectedIndex", null, attrs2.selectedIndex, undefined) - } - } - function updateAttrs(vnode, old, attrs2, ns) { - if (attrs2 != null) { - for (var key2 in attrs2) { - setAttr(vnode, key2, old && old[key2], attrs2[key2], ns) - } - } - if (old != null) { - for (var key2 in old) { - if (attrs2 == null || !(key2 in attrs2)) { - if (key2 === "className") key2 = "class" - if (key2[0] === "o" && key2[1] === "n" && !isLifecycleMethod(key2)) updateEvent(vnode, key2, undefined) - else if (key2 !== "key") vnode.dom.removeAttribute(key2) - } - } - } - } - function isFormAttribute(vnode, attr) { - return attr === "value" || attr === "checked" || attr === "selectedIndex" || attr === "selected" && vnode.dom === $doc.activeElement - } - function isLifecycleMethod(attr) { - return attr === "oninit" || attr === "oncreate" || attr === "onupdate" || attr === "onremove" || attr === "onbeforeremove" || attr === "onbeforeupdate" - } - function isAttribute(attr) { - return attr === "href" || attr === "list" || attr === "form" || attr === "width" || attr === "height"// || attr === "type" - } - function isCustomElement(vnode){ - return vnode.attrs.is || vnode.tag.indexOf("-") > -1 - } - function hasIntegrationMethods(source) { - return source != null && (source.oncreate || source.onupdate || source.onbeforeremove || source.onremove) - } - //style - function updateStyle(element, old, style) { - if (old === style) element.style.cssText = "", old = null - if (style == null) element.style.cssText = "" - else if (typeof style === "string") element.style.cssText = style - else { - if (typeof old === "string") element.style.cssText = "" - for (var key2 in style) { - element.style[key2] = style[key2] - } - if (old != null && typeof old !== "string") { - for (var key2 in old) { - if (!(key2 in style)) element.style[key2] = "" - } - } - } - } - //event - function updateEvent(vnode, key2, value) { - var element = vnode.dom - var callback = typeof onevent !== "function" ? value : function(e) { - var result = value.call(element, e) - onevent.call(element, e) - return result - } - if (key2 in element) element[key2] = typeof value === "function" ? callback : null - else { - var eventName = key2.slice(2) - if (vnode.events === undefined) vnode.events = {} - if (vnode.events[key2] === callback) return - if (vnode.events[key2] != null) element.removeEventListener(eventName, vnode.events[key2], false) - if (typeof value === "function") { - vnode.events[key2] = callback - element.addEventListener(eventName, vnode.events[key2], false) - } - } - } - //lifecycle - function initLifecycle(source, vnode, hooks) { - if (typeof source.oninit === "function") source.oninit.call(vnode.state, vnode) - if (typeof source.oncreate === "function") hooks.push(source.oncreate.bind(vnode.state, vnode)) - } - function updateLifecycle(source, vnode, hooks, recycling) { - if (recycling) initLifecycle(source, vnode, hooks) - else if (typeof source.onupdate === "function") hooks.push(source.onupdate.bind(vnode.state, vnode)) - } - function shouldUpdate(vnode, old) { - var forceVnodeUpdate, forceComponentUpdate - if (vnode.attrs != null && typeof vnode.attrs.onbeforeupdate === "function") forceVnodeUpdate = vnode.attrs.onbeforeupdate.call(vnode.state, vnode, old) - if (typeof vnode.tag !== "string" && typeof vnode.tag.onbeforeupdate === "function") forceComponentUpdate = vnode.tag.onbeforeupdate.call(vnode.state, vnode, old) - if (!(forceVnodeUpdate === undefined && forceComponentUpdate === undefined) && !forceVnodeUpdate && !forceComponentUpdate) { - vnode.dom = old.dom - vnode.domSize = old.domSize - vnode.instance = old.instance - return true - } - return false - } - function render(dom, vnodes) { - if (!dom) throw new Error("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.") - var hooks = [] - var active = $doc.activeElement - // First time0 rendering into a node clears it out - if (dom.vnodes == null) dom.textContent = "" - if (!Array.isArray(vnodes)) vnodes = [vnodes] - updateNodes(dom, dom.vnodes, Vnode.normalizeChildren(vnodes), hooks, null, undefined) - dom.vnodes = vnodes - for (var i = 0; i < hooks.length; i++) hooks[i]() - if ($doc.activeElement !== active) active.focus() - } - return {render: render, setEventCallback: setEventCallback} -} -function throttle(callback) { - //60fps translates to 16.6ms, round it down since setTimeout requires int - var time = 16 - var last = 0, pending = null - var timeout = typeof requestAnimationFrame === "function" ? requestAnimationFrame : setTimeout - return function() { - var now = Date.now() - if (last === 0 || now - last >= time) { - last = now - callback() - } - else if (pending === null) { - pending = timeout(function() { - pending = null - callback() - last = Date.now() - }, time - (now - last)) - } - } -} -var _11 = function($window) { - var renderService = coreRenderer($window) - renderService.setEventCallback(function(e) { - if (e.redraw !== false) redraw() - }) - - var callbacks = [] - function subscribe(key1, callback) { - unsubscribe(key1) - callbacks.push(key1, throttle(callback)) - } - function unsubscribe(key1) { - var index = callbacks.indexOf(key1) - if (index > -1) callbacks.splice(index, 2) - } - function redraw() { - for (var i = 1; i < callbacks.length; i += 2) { - callbacks[i]() - } - } - return {subscribe: subscribe, unsubscribe: unsubscribe, redraw: redraw, render: renderService.render} -} -var redrawService = _11(window) -requestService.setCompletionCallback(redrawService.redraw) -var _16 = function(redrawService0) { - return function(root, component) { - if (component === null) { - redrawService0.render(root, []) - redrawService0.unsubscribe(root) - return - } - - if (component.view == null) throw new Error("m.mount(element, component) expects a component, not a vnode") - - var run0 = function() { - redrawService0.render(root, Vnode(component)) - } - redrawService0.subscribe(root, run0) - redrawService0.redraw() - } -} -m.mount = _16(redrawService) -var Promise = PromisePolyfill -var parseQueryString = function(string) { - if (string === "" || string == null) return {} - if (string.charAt(0) === "?") string = string.slice(1) - var entries = string.split("&"), data0 = {}, counters = {} - for (var i = 0; i < entries.length; i++) { - var entry = entries[i].split("=") - var key5 = decodeURIComponent(entry[0]) - var value = entry.length === 2 ? decodeURIComponent(entry[1]) : "" - if (value === "true") value = true - else if (value === "false") value = false - var levels = key5.split(/\]\[?|\[/) - var cursor = data0 - if (key5.indexOf("[") > -1) levels.pop() - for (var j = 0; j < levels.length; j++) { - var level = levels[j], nextLevel = levels[j + 1] - var isNumber = nextLevel == "" || !isNaN(parseInt(nextLevel, 10)) - var isValue = j === levels.length - 1 - if (level === "") { - var key5 = levels.slice(0, j).join() - if (counters[key5] == null) counters[key5] = 0 - level = counters[key5]++ - } - if (cursor[level] == null) { - cursor[level] = isValue ? value : isNumber ? [] : {} - } - cursor = cursor[level] - } - } - return data0 -} -var coreRouter = function($window) { - var supportsPushState = typeof $window.history.pushState === "function" - var callAsync0 = typeof setImmediate === "function" ? setImmediate : setTimeout - function normalize1(fragment0) { - var data = $window.location[fragment0].replace(/(?:%[a-f89][a-f0-9])+/gim, decodeURIComponent) - if (fragment0 === "pathname" && data[0] !== "/") data = "/" + data - return data - } - var asyncId - function debounceAsync(callback0) { - return function() { - if (asyncId != null) return - asyncId = callAsync0(function() { - asyncId = null - callback0() - }) - } - } - function parsePath(path, queryData, hashData) { - var queryIndex = path.indexOf("?") - var hashIndex = path.indexOf("#") - var pathEnd = queryIndex > -1 ? queryIndex : hashIndex > -1 ? hashIndex : path.length - if (queryIndex > -1) { - var queryEnd = hashIndex > -1 ? hashIndex : path.length - var queryParams = parseQueryString(path.slice(queryIndex + 1, queryEnd)) - for (var key4 in queryParams) queryData[key4] = queryParams[key4] - } - if (hashIndex > -1) { - var hashParams = parseQueryString(path.slice(hashIndex + 1)) - for (var key4 in hashParams) hashData[key4] = hashParams[key4] - } - return path.slice(0, pathEnd) - } - var router = {prefix: "#!"} - router.getPath = function() { - var type2 = router.prefix.charAt(0) - switch (type2) { - case "#": return normalize1("hash").slice(router.prefix.length) - case "?": return normalize1("search").slice(router.prefix.length) + normalize1("hash") - default: return normalize1("pathname").slice(router.prefix.length) + normalize1("search") + normalize1("hash") - } - } - router.setPath = function(path, data, options) { - var queryData = {}, hashData = {} - path = parsePath(path, queryData, hashData) - if (data != null) { - for (var key4 in data) queryData[key4] = data[key4] - path = path.replace(/:([^\/]+)/g, function(match2, token) { - delete queryData[token] - return data[token] - }) - } - var query = buildQueryString(queryData) - if (query) path += "?" + query - var hash = buildQueryString(hashData) - if (hash) path += "#" + hash - if (supportsPushState) { - var state = options ? options.state : null - var title = options ? options.title : null - $window.onpopstate() - if (options && options.replace) $window.history.replaceState(state, title, router.prefix + path) - else $window.history.pushState(state, title, router.prefix + path) - } - else $window.location.href = router.prefix + path - } - router.defineRoutes = function(routes, resolve, reject) { - function resolveRoute() { - var path = router.getPath() - var params = {} - var pathname = parsePath(path, params, params) - - var state = $window.history.state - if (state != null) { - for (var k in state) params[k] = state[k] - } - for (var route0 in routes) { - var matcher = new RegExp("^" + route0.replace(/:[^\/]+?\.{3}/g, "(.*?)").replace(/:[^\/]+/g, "([^\\/]+)") + "\/?$") - if (matcher.test(pathname)) { - pathname.replace(matcher, function() { - var keys = route0.match(/:[^\/]+/g) || [] - var values = [].slice.call(arguments, 1, -2) - for (var i = 0; i < keys.length; i++) { - params[keys[i].replace(/:|\./g, "")] = decodeURIComponent(values[i]) - } - resolve(routes[route0], params, path, route0) - }) - return - } - } - reject(path, params) - } - - if (supportsPushState) $window.onpopstate = debounceAsync(resolveRoute) - else if (router.prefix.charAt(0) === "#") $window.onhashchange = resolveRoute - resolveRoute() - } - - return router -} -var _20 = function($window, redrawService0) { - var routeService = coreRouter($window) - var identity = function(v) {return v} - var render1, component, attrs3, currentPath, lastUpdate - var route = function(root, defaultRoute, routes) { - if (root == null) throw new Error("Ensure the DOM element that was passed to `m.route` is not undefined") - var run1 = function() { - if (render1 != null) redrawService0.render(root, render1(Vnode(component, attrs3.key, attrs3))) - } - var bail = function() { - routeService.setPath(defaultRoute, null, {replace: true}) - } - routeService.defineRoutes(routes, function(payload, params, path) { - var update = lastUpdate = function(routeResolver, comp) { - if (update !== lastUpdate) return - component = comp != null && typeof comp.view === "function" ? comp : "div", attrs3 = params, currentPath = path, lastUpdate = null - render1 = (routeResolver.render || identity).bind(routeResolver) - run1() - } - if (payload.view) update({}, payload) - else { - if (payload.onmatch) { - Promise.resolve(payload.onmatch(params, path)).then(function(resolved) { - update(payload, resolved) - }, bail) - } - else update(payload, "div") - } - }, bail) - redrawService0.subscribe(root, run1) - } - route.set = function(path, data, options) { - if (lastUpdate != null) options = {replace: true} - lastUpdate = null - routeService.setPath(path, data, options) - } - route.get = function() {return currentPath} - route.prefix = function(prefix0) {routeService.prefix = prefix0} - route.link = function(vnode1) { - vnode1.dom.setAttribute("href", routeService.prefix + vnode1.attrs.href) - vnode1.dom.onclick = function(e) { - if (e.ctrlKey || e.metaKey || e.shiftKey || e.which === 2) return - e.preventDefault() - e.redraw = false - var href = this.getAttribute("href") - if (href.indexOf(routeService.prefix) === 0) href = href.slice(routeService.prefix.length) - route.set(href, undefined, undefined) - } - } - route.param = function(key3) { - if(typeof attrs3 !== "undefined" && typeof key3 !== "undefined") return attrs3[key3] - return attrs3 - } - return route -} -m.route = _20(window, redrawService) -m.withAttr = function(attrName, callback1, context) { - return function(e) { - callback1.call(context || this, attrName in e.currentTarget ? e.currentTarget[attrName] : e.currentTarget.getAttribute(attrName)) - } -} -var _28 = coreRenderer(window) -m.render = _28.render -m.redraw = redrawService.redraw -m.request = requestService.request -m.jsonp = requestService.jsonp -m.parseQueryString = parseQueryString -m.buildQueryString = buildQueryString -m.version = "1.0.0" -m.vnode = Vnode -if (typeof module !== "undefined") module["exports"] = m -else window.m = m -} -}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("timers").setImmediate) -},{"timers":2}],4:[function(require,module,exports){ -/*! @preserve - * numeral.js - * version : 2.0.6 - * author : Adam Draper - * license : MIT - * http://adamwdraper.github.com/Numeral-js/ - */ - -(function (global, factory) { - if (typeof define === 'function' && define.amd) { - define(factory); - } else if (typeof module === 'object' && module.exports) { - module.exports = factory(); - } else { - global.numeral = factory(); - } -}(this, function () { - /************************************ - Variables - ************************************/ - - var numeral, - _, - VERSION = '2.0.6', - formats = {}, - locales = {}, - defaults = { - currentLocale: 'en', - zeroFormat: null, - nullFormat: null, - defaultFormat: '0,0', - scalePercentBy100: true - }, - options = { - currentLocale: defaults.currentLocale, - zeroFormat: defaults.zeroFormat, - nullFormat: defaults.nullFormat, - defaultFormat: defaults.defaultFormat, - scalePercentBy100: defaults.scalePercentBy100 - }; - - - /************************************ - Constructors - ************************************/ - - // Numeral prototype object - function Numeral(input, number) { - this._input = input; - - this._value = number; - } - - numeral = function(input) { - var value, - kind, - unformatFunction, - regexp; - - if (numeral.isNumeral(input)) { - value = input.value(); - } else if (input === 0 || typeof input === 'undefined') { - value = 0; - } else if (input === null || _.isNaN(input)) { - value = null; - } else if (typeof input === 'string') { - if (options.zeroFormat && input === options.zeroFormat) { - value = 0; - } else if (options.nullFormat && input === options.nullFormat || !input.replace(/[^0-9]+/g, '').length) { - value = null; - } else { - for (kind in formats) { - regexp = typeof formats[kind].regexps.unformat === 'function' ? formats[kind].regexps.unformat() : formats[kind].regexps.unformat; - - if (regexp && input.match(regexp)) { - unformatFunction = formats[kind].unformat; - - break; - } - } - - unformatFunction = unformatFunction || numeral._.stringToNumber; - - value = unformatFunction(input); - } - } else { - value = Number(input)|| null; - } - - return new Numeral(input, value); - }; - - // version number - numeral.version = VERSION; - - // compare numeral object - numeral.isNumeral = function(obj) { - return obj instanceof Numeral; - }; - - // helper functions - numeral._ = _ = { - // formats numbers separators, decimals places, signs, abbreviations - numberToFormat: function(value, format, roundingFunction) { - var locale = locales[numeral.options.currentLocale], - negP = false, - optDec = false, - leadingCount = 0, - abbr = '', - trillion = 1000000000000, - billion = 1000000000, - million = 1000000, - thousand = 1000, - decimal = '', - neg = false, - abbrForce, // force abbreviation - abs, - min, - max, - power, - int, - precision, - signed, - thousands, - output; - - // make sure we never format a null value - value = value || 0; - - abs = Math.abs(value); - - // see if we should use parentheses for negative number or if we should prefix with a sign - // if both are present we default to parentheses - if (numeral._.includes(format, '(')) { - negP = true; - format = format.replace(/[\(|\)]/g, ''); - } else if (numeral._.includes(format, '+') || numeral._.includes(format, '-')) { - signed = numeral._.includes(format, '+') ? format.indexOf('+') : value < 0 ? format.indexOf('-') : -1; - format = format.replace(/[\+|\-]/g, ''); - } - - // see if abbreviation is wanted - if (numeral._.includes(format, 'a')) { - abbrForce = format.match(/a(k|m|b|t)?/); - - abbrForce = abbrForce ? abbrForce[1] : false; - - // check for space before abbreviation - if (numeral._.includes(format, ' a')) { - abbr = ' '; - } - - format = format.replace(new RegExp(abbr + 'a[kmbt]?'), ''); - - if (abs >= trillion && !abbrForce || abbrForce === 't') { - // trillion - abbr += locale.abbreviations.trillion; - value = value / trillion; - } else if (abs < trillion && abs >= billion && !abbrForce || abbrForce === 'b') { - // billion - abbr += locale.abbreviations.billion; - value = value / billion; - } else if (abs < billion && abs >= million && !abbrForce || abbrForce === 'm') { - // million - abbr += locale.abbreviations.million; - value = value / million; - } else if (abs < million && abs >= thousand && !abbrForce || abbrForce === 'k') { - // thousand - abbr += locale.abbreviations.thousand; - value = value / thousand; - } - } - - // check for optional decimals - if (numeral._.includes(format, '[.]')) { - optDec = true; - format = format.replace('[.]', '.'); - } - - // break number and format - int = value.toString().split('.')[0]; - precision = format.split('.')[1]; - thousands = format.indexOf(','); - leadingCount = (format.split('.')[0].split(',')[0].match(/0/g) || []).length; - - if (precision) { - if (numeral._.includes(precision, '[')) { - precision = precision.replace(']', ''); - precision = precision.split('['); - decimal = numeral._.toFixed(value, (precision[0].length + precision[1].length), roundingFunction, precision[1].length); - } else { - decimal = numeral._.toFixed(value, precision.length, roundingFunction); - } - - int = decimal.split('.')[0]; - - if (numeral._.includes(decimal, '.')) { - decimal = locale.delimiters.decimal + decimal.split('.')[1]; - } else { - decimal = ''; - } - - if (optDec && Number(decimal.slice(1)) === 0) { - decimal = ''; - } - } else { - int = numeral._.toFixed(value, 0, roundingFunction); - } - - // check abbreviation again after rounding - if (abbr && !abbrForce && Number(int) >= 1000 && abbr !== locale.abbreviations.trillion) { - int = String(Number(int) / 1000); - - switch (abbr) { - case locale.abbreviations.thousand: - abbr = locale.abbreviations.million; - break; - case locale.abbreviations.million: - abbr = locale.abbreviations.billion; - break; - case locale.abbreviations.billion: - abbr = locale.abbreviations.trillion; - break; - } - } - - - // format number - if (numeral._.includes(int, '-')) { - int = int.slice(1); - neg = true; - } - - if (int.length < leadingCount) { - for (var i = leadingCount - int.length; i > 0; i--) { - int = '0' + int; - } - } - - if (thousands > -1) { - int = int.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + locale.delimiters.thousands); - } - - if (format.indexOf('.') === 0) { - int = ''; - } - - output = int + decimal + (abbr ? abbr : ''); - - if (negP) { - output = (negP && neg ? '(' : '') + output + (negP && neg ? ')' : ''); - } else { - if (signed >= 0) { - output = signed === 0 ? (neg ? '-' : '+') + output : output + (neg ? '-' : '+'); - } else if (neg) { - output = '-' + output; - } - } - - return output; - }, - // unformats numbers separators, decimals places, signs, abbreviations - stringToNumber: function(string) { - var locale = locales[options.currentLocale], - stringOriginal = string, - abbreviations = { - thousand: 3, - million: 6, - billion: 9, - trillion: 12 - }, - abbreviation, - value, - i, - regexp; - - if (options.zeroFormat && string === options.zeroFormat) { - value = 0; - } else if (options.nullFormat && string === options.nullFormat || !string.replace(/[^0-9]+/g, '').length) { - value = null; - } else { - value = 1; - - if (locale.delimiters.decimal !== '.') { - string = string.replace(/\./g, '').replace(locale.delimiters.decimal, '.'); - } - - for (abbreviation in abbreviations) { - regexp = new RegExp('[^a-zA-Z]' + locale.abbreviations[abbreviation] + '(?:\\)|(\\' + locale.currency.symbol + ')?(?:\\))?)?$'); - - if (stringOriginal.match(regexp)) { - value *= Math.pow(10, abbreviations[abbreviation]); - break; - } - } - - // check for negative number - value *= (string.split('-').length + Math.min(string.split('(').length - 1, string.split(')').length - 1)) % 2 ? 1 : -1; - - // remove non numbers - string = string.replace(/[^0-9\.]+/g, ''); - - value *= Number(string); - } - - return value; - }, - isNaN: function(value) { - return typeof value === 'number' && isNaN(value); - }, - includes: function(string, search) { - return string.indexOf(search) !== -1; - }, - insert: function(string, subString, start) { - return string.slice(0, start) + subString + string.slice(start); - }, - reduce: function(array, callback /*, initialValue*/) { - if (this === null) { - throw new TypeError('Array.prototype.reduce called on null or undefined'); - } - - if (typeof callback !== 'function') { - throw new TypeError(callback + ' is not a function'); - } - - var t = Object(array), - len = t.length >>> 0, - k = 0, - value; - - if (arguments.length === 3) { - value = arguments[2]; - } else { - while (k < len && !(k in t)) { - k++; - } - - if (k >= len) { - throw new TypeError('Reduce of empty array with no initial value'); - } - - value = t[k++]; - } - for (; k < len; k++) { - if (k in t) { - value = callback(value, t[k], k, t); - } - } - return value; - }, - /** - * Computes the multiplier necessary to make x >= 1, - * effectively eliminating miscalculations caused by - * finite precision. - */ - multiplier: function (x) { - var parts = x.toString().split('.'); - - return parts.length < 2 ? 1 : Math.pow(10, parts[1].length); - }, - /** - * Given a variable number of arguments, returns the maximum - * multiplier that must be used to normalize an operation involving - * all of them. - */ - correctionFactor: function () { - var args = Array.prototype.slice.call(arguments); - - return args.reduce(function(accum, next) { - var mn = _.multiplier(next); - return accum > mn ? accum : mn; - }, 1); - }, - /** - * Implementation of toFixed() that treats floats more like decimals - * - * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present - * problems for accounting- and finance-related software. - */ - toFixed: function(value, maxDecimals, roundingFunction, optionals) { - var splitValue = value.toString().split('.'), - minDecimals = maxDecimals - (optionals || 0), - boundedPrecision, - optionalsRegExp, - power, - output; - - // Use the smallest precision value possible to avoid errors from floating point representation - if (splitValue.length === 2) { - boundedPrecision = Math.min(Math.max(splitValue[1].length, minDecimals), maxDecimals); - } else { - boundedPrecision = minDecimals; - } - - power = Math.pow(10, boundedPrecision); - - // Multiply up by precision, round accurately, then divide and use native toFixed(): - output = (roundingFunction(value + 'e+' + boundedPrecision) / power).toFixed(boundedPrecision); - - if (optionals > maxDecimals - boundedPrecision) { - optionalsRegExp = new RegExp('\\.?0{1,' + (optionals - (maxDecimals - boundedPrecision)) + '}$'); - output = output.replace(optionalsRegExp, ''); - } - - return output; - } - }; - - // avaliable options - numeral.options = options; - - // avaliable formats - numeral.formats = formats; - - // avaliable formats - numeral.locales = locales; - - // This function sets the current locale. If - // no arguments are passed in, it will simply return the current global - // locale key. - numeral.locale = function(key) { - if (key) { - options.currentLocale = key.toLowerCase(); - } - - return options.currentLocale; - }; - - // This function provides access to the loaded locale data. If - // no arguments are passed in, it will simply return the current - // global locale object. - numeral.localeData = function(key) { - if (!key) { - return locales[options.currentLocale]; - } - - key = key.toLowerCase(); - - if (!locales[key]) { - throw new Error('Unknown locale : ' + key); - } - - return locales[key]; - }; - - numeral.reset = function() { - for (var property in defaults) { - options[property] = defaults[property]; - } - }; - - numeral.zeroFormat = function(format) { - options.zeroFormat = typeof(format) === 'string' ? format : null; - }; - - numeral.nullFormat = function (format) { - options.nullFormat = typeof(format) === 'string' ? format : null; - }; - - numeral.defaultFormat = function(format) { - options.defaultFormat = typeof(format) === 'string' ? format : '0.0'; - }; - - numeral.register = function(type, name, format) { - name = name.toLowerCase(); - - if (this[type + 's'][name]) { - throw new TypeError(name + ' ' + type + ' already registered.'); - } - - this[type + 's'][name] = format; - - return format; - }; - - - numeral.validate = function(val, culture) { - var _decimalSep, - _thousandSep, - _currSymbol, - _valArray, - _abbrObj, - _thousandRegEx, - localeData, - temp; - - //coerce val to string - if (typeof val !== 'string') { - val += ''; - - if (console.warn) { - console.warn('Numeral.js: Value is not string. It has been co-erced to: ', val); - } - } - - //trim whitespaces from either sides - val = val.trim(); - - //if val is just digits return true - if (!!val.match(/^\d+$/)) { - return true; - } - - //if val is empty return false - if (val === '') { - return false; - } - - //get the decimal and thousands separator from numeral.localeData - try { - //check if the culture is understood by numeral. if not, default it to current locale - localeData = numeral.localeData(culture); - } catch (e) { - localeData = numeral.localeData(numeral.locale()); - } - - //setup the delimiters and currency symbol based on culture/locale - _currSymbol = localeData.currency.symbol; - _abbrObj = localeData.abbreviations; - _decimalSep = localeData.delimiters.decimal; - if (localeData.delimiters.thousands === '.') { - _thousandSep = '\\.'; - } else { - _thousandSep = localeData.delimiters.thousands; - } - - // validating currency symbol - temp = val.match(/^[^\d]+/); - if (temp !== null) { - val = val.substr(1); - if (temp[0] !== _currSymbol) { - return false; - } - } - - //validating abbreviation symbol - temp = val.match(/[^\d]+$/); - if (temp !== null) { - val = val.slice(0, -1); - if (temp[0] !== _abbrObj.thousand && temp[0] !== _abbrObj.million && temp[0] !== _abbrObj.billion && temp[0] !== _abbrObj.trillion) { - return false; - } - } - - _thousandRegEx = new RegExp(_thousandSep + '{2}'); - - if (!val.match(/[^\d.,]/g)) { - _valArray = val.split(_decimalSep); - if (_valArray.length > 2) { - return false; - } else { - if (_valArray.length < 2) { - return ( !! _valArray[0].match(/^\d+.*\d$/) && !_valArray[0].match(_thousandRegEx)); - } else { - if (_valArray[0].length === 1) { - return ( !! _valArray[0].match(/^\d+$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\d+$/)); - } else { - return ( !! _valArray[0].match(/^\d+.*\d$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\d+$/)); - } - } - } - } - - return false; - }; - - - /************************************ - Numeral Prototype - ************************************/ - - numeral.fn = Numeral.prototype = { - clone: function() { - return numeral(this); - }, - format: function(inputString, roundingFunction) { - var value = this._value, - format = inputString || options.defaultFormat, - kind, - output, - formatFunction; - - // make sure we have a roundingFunction - roundingFunction = roundingFunction || Math.round; - - // format based on value - if (value === 0 && options.zeroFormat !== null) { - output = options.zeroFormat; - } else if (value === null && options.nullFormat !== null) { - output = options.nullFormat; - } else { - for (kind in formats) { - if (format.match(formats[kind].regexps.format)) { - formatFunction = formats[kind].format; - - break; - } - } - - formatFunction = formatFunction || numeral._.numberToFormat; - - output = formatFunction(value, format, roundingFunction); - } - - return output; - }, - value: function() { - return this._value; - }, - input: function() { - return this._input; - }, - set: function(value) { - this._value = Number(value); - - return this; - }, - add: function(value) { - var corrFactor = _.correctionFactor.call(null, this._value, value); - - function cback(accum, curr, currI, O) { - return accum + Math.round(corrFactor * curr); - } - - this._value = _.reduce([this._value, value], cback, 0) / corrFactor; - - return this; - }, - subtract: function(value) { - var corrFactor = _.correctionFactor.call(null, this._value, value); - - function cback(accum, curr, currI, O) { - return accum - Math.round(corrFactor * curr); - } - - this._value = _.reduce([value], cback, Math.round(this._value * corrFactor)) / corrFactor; - - return this; - }, - multiply: function(value) { - function cback(accum, curr, currI, O) { - var corrFactor = _.correctionFactor(accum, curr); - return Math.round(accum * corrFactor) * Math.round(curr * corrFactor) / Math.round(corrFactor * corrFactor); - } - - this._value = _.reduce([this._value, value], cback, 1); - - return this; - }, - divide: function(value) { - function cback(accum, curr, currI, O) { - var corrFactor = _.correctionFactor(accum, curr); - return Math.round(accum * corrFactor) / Math.round(curr * corrFactor); - } - - this._value = _.reduce([this._value, value], cback); - - return this; - }, - difference: function(value) { - return Math.abs(numeral(this._value).subtract(value).value()); - } - }; - - /************************************ - Default Locale && Format - ************************************/ - - numeral.register('locale', 'en', { - delimiters: { - thousands: ',', - decimal: '.' - }, - abbreviations: { - thousand: 'k', - million: 'm', - billion: 'b', - trillion: 't' - }, - ordinal: function(number) { - var b = number % 10; - return (~~(number % 100 / 10) === 1) ? 'th' : - (b === 1) ? 'st' : - (b === 2) ? 'nd' : - (b === 3) ? 'rd' : 'th'; - }, - currency: { - symbol: '$' - } - }); - - - -(function() { - numeral.register('format', 'bps', { - regexps: { - format: /(BPS)/, - unformat: /(BPS)/ - }, - format: function(value, format, roundingFunction) { - var space = numeral._.includes(format, ' BPS') ? ' ' : '', - output; - - value = value * 10000; - - // check for space before BPS - format = format.replace(/\s?BPS/, ''); - - output = numeral._.numberToFormat(value, format, roundingFunction); - - if (numeral._.includes(output, ')')) { - output = output.split(''); - - output.splice(-1, 0, space + 'BPS'); - - output = output.join(''); - } else { - output = output + space + 'BPS'; - } - - return output; - }, - unformat: function(string) { - return +(numeral._.stringToNumber(string) * 0.0001).toFixed(15); - } - }); -})(); - - -(function() { - var decimal = { - base: 1000, - suffixes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] - }, - binary = { - base: 1024, - suffixes: ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'] - }; - - var allSuffixes = decimal.suffixes.concat(binary.suffixes.filter(function (item) { - return decimal.suffixes.indexOf(item) < 0; - })); - var unformatRegex = allSuffixes.join('|'); - // Allow support for BPS (http://www.investopedia.com/terms/b/basispoint.asp) - unformatRegex = '(' + unformatRegex.replace('B', 'B(?!PS)') + ')'; - - numeral.register('format', 'bytes', { - regexps: { - format: /([0\s]i?b)/, - unformat: new RegExp(unformatRegex) - }, - format: function(value, format, roundingFunction) { - var output, - bytes = numeral._.includes(format, 'ib') ? binary : decimal, - suffix = numeral._.includes(format, ' b') || numeral._.includes(format, ' ib') ? ' ' : '', - power, - min, - max; - - // check for space before - format = format.replace(/\s?i?b/, ''); - - for (power = 0; power <= bytes.suffixes.length; power++) { - min = Math.pow(bytes.base, power); - max = Math.pow(bytes.base, power + 1); - - if (value === null || value === 0 || value >= min && value < max) { - suffix += bytes.suffixes[power]; - - if (min > 0) { - value = value / min; - } - - break; - } - } - - output = numeral._.numberToFormat(value, format, roundingFunction); - - return output + suffix; - }, - unformat: function(string) { - var value = numeral._.stringToNumber(string), - power, - bytesMultiplier; - - if (value) { - for (power = decimal.suffixes.length - 1; power >= 0; power--) { - if (numeral._.includes(string, decimal.suffixes[power])) { - bytesMultiplier = Math.pow(decimal.base, power); - - break; - } - - if (numeral._.includes(string, binary.suffixes[power])) { - bytesMultiplier = Math.pow(binary.base, power); - - break; - } - } - - value *= (bytesMultiplier || 1); - } - - return value; - } - }); -})(); - - -(function() { - numeral.register('format', 'currency', { - regexps: { - format: /(\$)/ - }, - format: function(value, format, roundingFunction) { - var locale = numeral.locales[numeral.options.currentLocale], - symbols = { - before: format.match(/^([\+|\-|\(|\s|\$]*)/)[0], - after: format.match(/([\+|\-|\)|\s|\$]*)$/)[0] - }, - output, - symbol, - i; - - // strip format of spaces and $ - format = format.replace(/\s?\$\s?/, ''); - - // format the number - output = numeral._.numberToFormat(value, format, roundingFunction); - - // update the before and after based on value - if (value >= 0) { - symbols.before = symbols.before.replace(/[\-\(]/, ''); - symbols.after = symbols.after.replace(/[\-\)]/, ''); - } else if (value < 0 && (!numeral._.includes(symbols.before, '-') && !numeral._.includes(symbols.before, '('))) { - symbols.before = '-' + symbols.before; - } - - // loop through each before symbol - for (i = 0; i < symbols.before.length; i++) { - symbol = symbols.before[i]; - - switch (symbol) { - case '$': - output = numeral._.insert(output, locale.currency.symbol, i); - break; - case ' ': - output = numeral._.insert(output, ' ', i + locale.currency.symbol.length - 1); - break; - } - } - - // loop through each after symbol - for (i = symbols.after.length - 1; i >= 0; i--) { - symbol = symbols.after[i]; - - switch (symbol) { - case '$': - output = i === symbols.after.length - 1 ? output + locale.currency.symbol : numeral._.insert(output, locale.currency.symbol, -(symbols.after.length - (1 + i))); - break; - case ' ': - output = i === symbols.after.length - 1 ? output + ' ' : numeral._.insert(output, ' ', -(symbols.after.length - (1 + i) + locale.currency.symbol.length - 1)); - break; - } - } - - - return output; - } - }); -})(); - - -(function() { - numeral.register('format', 'exponential', { - regexps: { - format: /(e\+|e-)/, - unformat: /(e\+|e-)/ - }, - format: function(value, format, roundingFunction) { - var output, - exponential = typeof value === 'number' && !numeral._.isNaN(value) ? value.toExponential() : '0e+0', - parts = exponential.split('e'); - - format = format.replace(/e[\+|\-]{1}0/, ''); - - output = numeral._.numberToFormat(Number(parts[0]), format, roundingFunction); - - return output + 'e' + parts[1]; - }, - unformat: function(string) { - var parts = numeral._.includes(string, 'e+') ? string.split('e+') : string.split('e-'), - value = Number(parts[0]), - power = Number(parts[1]); - - power = numeral._.includes(string, 'e-') ? power *= -1 : power; - - function cback(accum, curr, currI, O) { - var corrFactor = numeral._.correctionFactor(accum, curr), - num = (accum * corrFactor) * (curr * corrFactor) / (corrFactor * corrFactor); - return num; - } - - return numeral._.reduce([value, Math.pow(10, power)], cback, 1); - } - }); -})(); - - -(function() { - numeral.register('format', 'ordinal', { - regexps: { - format: /(o)/ - }, - format: function(value, format, roundingFunction) { - var locale = numeral.locales[numeral.options.currentLocale], - output, - ordinal = numeral._.includes(format, ' o') ? ' ' : ''; - - // check for space before - format = format.replace(/\s?o/, ''); - - ordinal += locale.ordinal(value); - - output = numeral._.numberToFormat(value, format, roundingFunction); - - return output + ordinal; - } - }); -})(); - - -(function() { - numeral.register('format', 'percentage', { - regexps: { - format: /(%)/, - unformat: /(%)/ - }, - format: function(value, format, roundingFunction) { - var space = numeral._.includes(format, ' %') ? ' ' : '', - output; - - if (numeral.options.scalePercentBy100) { - value = value * 100; - } - - // check for space before % - format = format.replace(/\s?\%/, ''); - - output = numeral._.numberToFormat(value, format, roundingFunction); - - if (numeral._.includes(output, ')')) { - output = output.split(''); - - output.splice(-1, 0, space + '%'); - - output = output.join(''); - } else { - output = output + space + '%'; - } - - return output; - }, - unformat: function(string) { - var number = numeral._.stringToNumber(string); - if (numeral.options.scalePercentBy100) { - return number * 0.01; - } - return number; - } - }); -})(); - - -(function() { - numeral.register('format', 'time', { - regexps: { - format: /(:)/, - unformat: /(:)/ - }, - format: function(value, format, roundingFunction) { - var hours = Math.floor(value / 60 / 60), - minutes = Math.floor((value - (hours * 60 * 60)) / 60), - seconds = Math.round(value - (hours * 60 * 60) - (minutes * 60)); - - return hours + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds); - }, - unformat: function(string) { - var timeArray = string.split(':'), - seconds = 0; - - // turn hours and minutes into seconds and add them all up - if (timeArray.length === 3) { - // hours - seconds = seconds + (Number(timeArray[0]) * 60 * 60); - // minutes - seconds = seconds + (Number(timeArray[1]) * 60); - // seconds - seconds = seconds + Number(timeArray[2]); - } else if (timeArray.length === 2) { - // minutes - seconds = seconds + (Number(timeArray[0]) * 60); - // seconds - seconds = seconds + Number(timeArray[1]); - } - return Number(seconds); - } - }); -})(); - -return numeral; -})); - -},{}],5:[function(require,module,exports){ -(function (global){(function (){ -/**! - * @fileOverview Kickass library to create and place poppers near their reference elements. - * @version 1.16.1 - * @license - * Copyright (c) 2016 Federico Zivolo and contributors - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global.Popper = factory()); -}(this, (function () { 'use strict'; - -var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined'; - -var timeoutDuration = function () { - var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox']; - for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) { - if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) { - return 1; - } - } - return 0; -}(); - -function microtaskDebounce(fn) { - var called = false; - return function () { - if (called) { - return; - } - called = true; - window.Promise.resolve().then(function () { - called = false; - fn(); - }); - }; -} - -function taskDebounce(fn) { - var scheduled = false; - return function () { - if (!scheduled) { - scheduled = true; - setTimeout(function () { - scheduled = false; - fn(); - }, timeoutDuration); - } - }; -} - -var supportsMicroTasks = isBrowser && window.Promise; - -/** -* Create a debounced version of a method, that's asynchronously deferred -* but called in the minimum time possible. -* -* @method -* @memberof Popper.Utils -* @argument {Function} fn -* @returns {Function} -*/ -var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce; - -/** - * Check if the given variable is a function - * @method - * @memberof Popper.Utils - * @argument {Any} functionToCheck - variable to check - * @returns {Boolean} answer to: is a function? - */ -function isFunction(functionToCheck) { - var getType = {}; - return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; -} - -/** - * Get CSS computed property of the given element - * @method - * @memberof Popper.Utils - * @argument {Eement} element - * @argument {String} property - */ -function getStyleComputedProperty(element, property) { - if (element.nodeType !== 1) { - return []; - } - // NOTE: 1 DOM access here - var window = element.ownerDocument.defaultView; - var css = window.getComputedStyle(element, null); - return property ? css[property] : css; -} - -/** - * Returns the parentNode or the host of the element - * @method - * @memberof Popper.Utils - * @argument {Element} element - * @returns {Element} parent - */ -function getParentNode(element) { - if (element.nodeName === 'HTML') { - return element; - } - return element.parentNode || element.host; -} - -/** - * Returns the scrolling parent of the given element - * @method - * @memberof Popper.Utils - * @argument {Element} element - * @returns {Element} scroll parent - */ -function getScrollParent(element) { - // Return body, `getScroll` will take care to get the correct `scrollTop` from it - if (!element) { - return document.body; - } - - switch (element.nodeName) { - case 'HTML': - case 'BODY': - return element.ownerDocument.body; - case '#document': - return element.body; - } - - // Firefox want us to check `-x` and `-y` variations as well - - var _getStyleComputedProp = getStyleComputedProperty(element), - overflow = _getStyleComputedProp.overflow, - overflowX = _getStyleComputedProp.overflowX, - overflowY = _getStyleComputedProp.overflowY; - - if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) { - return element; - } - - return getScrollParent(getParentNode(element)); -} - -/** - * Returns the reference node of the reference object, or the reference object itself. - * @method - * @memberof Popper.Utils - * @param {Element|Object} reference - the reference element (the popper will be relative to this) - * @returns {Element} parent - */ -function getReferenceNode(reference) { - return reference && reference.referenceNode ? reference.referenceNode : reference; -} - -var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode); -var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent); - -/** - * Determines if the browser is Internet Explorer - * @method - * @memberof Popper.Utils - * @param {Number} version to check - * @returns {Boolean} isIE - */ -function isIE(version) { - if (version === 11) { - return isIE11; - } - if (version === 10) { - return isIE10; - } - return isIE11 || isIE10; -} - -/** - * Returns the offset parent of the given element - * @method - * @memberof Popper.Utils - * @argument {Element} element - * @returns {Element} offset parent - */ -function getOffsetParent(element) { - if (!element) { - return document.documentElement; - } - - var noOffsetParent = isIE(10) ? document.body : null; - - // NOTE: 1 DOM access here - var offsetParent = element.offsetParent || null; - // Skip hidden elements which don't have an offsetParent - while (offsetParent === noOffsetParent && element.nextElementSibling) { - offsetParent = (element = element.nextElementSibling).offsetParent; - } - - var nodeName = offsetParent && offsetParent.nodeName; - - if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') { - return element ? element.ownerDocument.documentElement : document.documentElement; - } - - // .offsetParent will return the closest TH, TD or TABLE in case - // no offsetParent is present, I hate this job... - if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') { - return getOffsetParent(offsetParent); - } - - return offsetParent; -} - -function isOffsetContainer(element) { - var nodeName = element.nodeName; - - if (nodeName === 'BODY') { - return false; - } - return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element; -} - -/** - * Finds the root node (document, shadowDOM root) of the given element - * @method - * @memberof Popper.Utils - * @argument {Element} node - * @returns {Element} root node - */ -function getRoot(node) { - if (node.parentNode !== null) { - return getRoot(node.parentNode); - } - - return node; -} - -/** - * Finds the offset parent common to the two provided nodes - * @method - * @memberof Popper.Utils - * @argument {Element} element1 - * @argument {Element} element2 - * @returns {Element} common offset parent - */ -function findCommonOffsetParent(element1, element2) { - // This check is needed to avoid errors in case one of the elements isn't defined for any reason - if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) { - return document.documentElement; - } - - // Here we make sure to give as "start" the element that comes first in the DOM - var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING; - var start = order ? element1 : element2; - var end = order ? element2 : element1; - - // Get common ancestor container - var range = document.createRange(); - range.setStart(start, 0); - range.setEnd(end, 0); - var commonAncestorContainer = range.commonAncestorContainer; - - // Both nodes are inside #document - - if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) { - if (isOffsetContainer(commonAncestorContainer)) { - return commonAncestorContainer; - } - - return getOffsetParent(commonAncestorContainer); - } - - // one of the nodes is inside shadowDOM, find which one - var element1root = getRoot(element1); - if (element1root.host) { - return findCommonOffsetParent(element1root.host, element2); - } else { - return findCommonOffsetParent(element1, getRoot(element2).host); - } -} - -/** - * Gets the scroll value of the given element in the given side (top and left) - * @method - * @memberof Popper.Utils - * @argument {Element} element - * @argument {String} side `top` or `left` - * @returns {number} amount of scrolled pixels - */ -function getScroll(element) { - var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top'; - - var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft'; - var nodeName = element.nodeName; - - if (nodeName === 'BODY' || nodeName === 'HTML') { - var html = element.ownerDocument.documentElement; - var scrollingElement = element.ownerDocument.scrollingElement || html; - return scrollingElement[upperSide]; - } - - return element[upperSide]; -} - -/* - * Sum or subtract the element scroll values (left and top) from a given rect object - * @method - * @memberof Popper.Utils - * @param {Object} rect - Rect object you want to change - * @param {HTMLElement} element - The element from the function reads the scroll values - * @param {Boolean} subtract - set to true if you want to subtract the scroll values - * @return {Object} rect - The modifier rect object - */ -function includeScroll(rect, element) { - var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - var scrollTop = getScroll(element, 'top'); - var scrollLeft = getScroll(element, 'left'); - var modifier = subtract ? -1 : 1; - rect.top += scrollTop * modifier; - rect.bottom += scrollTop * modifier; - rect.left += scrollLeft * modifier; - rect.right += scrollLeft * modifier; - return rect; -} - -/* - * Helper to detect borders of a given element - * @method - * @memberof Popper.Utils - * @param {CSSStyleDeclaration} styles - * Result of `getStyleComputedProperty` on the given element - * @param {String} axis - `x` or `y` - * @return {number} borders - The borders size of the given axis - */ - -function getBordersSize(styles, axis) { - var sideA = axis === 'x' ? 'Left' : 'Top'; - var sideB = sideA === 'Left' ? 'Right' : 'Bottom'; - - return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']); -} - -function getSize(axis, body, html, computedStyle) { - return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0); -} - -function getWindowSizes(document) { - var body = document.body; - var html = document.documentElement; - var computedStyle = isIE(10) && getComputedStyle(html); - - return { - height: getSize('Height', body, html, computedStyle), - width: getSize('Width', body, html, computedStyle) - }; -} - -var classCallCheck = function (instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -}; - -var createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; -}(); - - - - - -var defineProperty = function (obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; -}; - -var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; -}; - -/** - * Given element offsets, generate an output similar to getBoundingClientRect - * @method - * @memberof Popper.Utils - * @argument {Object} offsets - * @returns {Object} ClientRect like output - */ -function getClientRect(offsets) { - return _extends({}, offsets, { - right: offsets.left + offsets.width, - bottom: offsets.top + offsets.height - }); -} - -/** - * Get bounding client rect of given element - * @method - * @memberof Popper.Utils - * @param {HTMLElement} element - * @return {Object} client rect - */ -function getBoundingClientRect(element) { - var rect = {}; - - // IE10 10 FIX: Please, don't ask, the element isn't - // considered in DOM in some circumstances... - // This isn't reproducible in IE10 compatibility mode of IE11 - try { - if (isIE(10)) { - rect = element.getBoundingClientRect(); - var scrollTop = getScroll(element, 'top'); - var scrollLeft = getScroll(element, 'left'); - rect.top += scrollTop; - rect.left += scrollLeft; - rect.bottom += scrollTop; - rect.right += scrollLeft; - } else { - rect = element.getBoundingClientRect(); - } - } catch (e) {} - - var result = { - left: rect.left, - top: rect.top, - width: rect.right - rect.left, - height: rect.bottom - rect.top - }; - - // subtract scrollbar size from sizes - var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {}; - var width = sizes.width || element.clientWidth || result.width; - var height = sizes.height || element.clientHeight || result.height; - - var horizScrollbar = element.offsetWidth - width; - var vertScrollbar = element.offsetHeight - height; - - // if an hypothetical scrollbar is detected, we must be sure it's not a `border` - // we make this check conditional for performance reasons - if (horizScrollbar || vertScrollbar) { - var styles = getStyleComputedProperty(element); - horizScrollbar -= getBordersSize(styles, 'x'); - vertScrollbar -= getBordersSize(styles, 'y'); - - result.width -= horizScrollbar; - result.height -= vertScrollbar; - } - - return getClientRect(result); -} - -function getOffsetRectRelativeToArbitraryNode(children, parent) { - var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - var isIE10 = isIE(10); - var isHTML = parent.nodeName === 'HTML'; - var childrenRect = getBoundingClientRect(children); - var parentRect = getBoundingClientRect(parent); - var scrollParent = getScrollParent(children); - - var styles = getStyleComputedProperty(parent); - var borderTopWidth = parseFloat(styles.borderTopWidth); - var borderLeftWidth = parseFloat(styles.borderLeftWidth); - - // In cases where the parent is fixed, we must ignore negative scroll in offset calc - if (fixedPosition && isHTML) { - parentRect.top = Math.max(parentRect.top, 0); - parentRect.left = Math.max(parentRect.left, 0); - } - var offsets = getClientRect({ - top: childrenRect.top - parentRect.top - borderTopWidth, - left: childrenRect.left - parentRect.left - borderLeftWidth, - width: childrenRect.width, - height: childrenRect.height - }); - offsets.marginTop = 0; - offsets.marginLeft = 0; - - // Subtract margins of documentElement in case it's being used as parent - // we do this only on HTML because it's the only element that behaves - // differently when margins are applied to it. The margins are included in - // the box of the documentElement, in the other cases not. - if (!isIE10 && isHTML) { - var marginTop = parseFloat(styles.marginTop); - var marginLeft = parseFloat(styles.marginLeft); - - offsets.top -= borderTopWidth - marginTop; - offsets.bottom -= borderTopWidth - marginTop; - offsets.left -= borderLeftWidth - marginLeft; - offsets.right -= borderLeftWidth - marginLeft; - - // Attach marginTop and marginLeft because in some circumstances we may need them - offsets.marginTop = marginTop; - offsets.marginLeft = marginLeft; - } - - if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') { - offsets = includeScroll(offsets, parent); - } - - return offsets; -} - -function getViewportOffsetRectRelativeToArtbitraryNode(element) { - var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - - var html = element.ownerDocument.documentElement; - var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html); - var width = Math.max(html.clientWidth, window.innerWidth || 0); - var height = Math.max(html.clientHeight, window.innerHeight || 0); - - var scrollTop = !excludeScroll ? getScroll(html) : 0; - var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0; - - var offset = { - top: scrollTop - relativeOffset.top + relativeOffset.marginTop, - left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft, - width: width, - height: height - }; - - return getClientRect(offset); -} - -/** - * Check if the given element is fixed or is inside a fixed parent - * @method - * @memberof Popper.Utils - * @argument {Element} element - * @argument {Element} customContainer - * @returns {Boolean} answer to "isFixed?" - */ -function isFixed(element) { - var nodeName = element.nodeName; - if (nodeName === 'BODY' || nodeName === 'HTML') { - return false; - } - if (getStyleComputedProperty(element, 'position') === 'fixed') { - return true; - } - var parentNode = getParentNode(element); - if (!parentNode) { - return false; - } - return isFixed(parentNode); -} - -/** - * Finds the first parent of an element that has a transformed property defined - * @method - * @memberof Popper.Utils - * @argument {Element} element - * @returns {Element} first transformed parent or documentElement - */ - -function getFixedPositionOffsetParent(element) { - // This check is needed to avoid errors in case one of the elements isn't defined for any reason - if (!element || !element.parentElement || isIE()) { - return document.documentElement; - } - var el = element.parentElement; - while (el && getStyleComputedProperty(el, 'transform') === 'none') { - el = el.parentElement; - } - return el || document.documentElement; -} - -/** - * Computed the boundaries limits and return them - * @method - * @memberof Popper.Utils - * @param {HTMLElement} popper - * @param {HTMLElement} reference - * @param {number} padding - * @param {HTMLElement} boundariesElement - Element used to define the boundaries - * @param {Boolean} fixedPosition - Is in fixed position mode - * @returns {Object} Coordinates of the boundaries - */ -function getBoundaries(popper, reference, padding, boundariesElement) { - var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; - - // NOTE: 1 DOM access here - - var boundaries = { top: 0, left: 0 }; - var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference)); - - // Handle viewport case - if (boundariesElement === 'viewport') { - boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition); - } else { - // Handle other cases based on DOM element used as boundaries - var boundariesNode = void 0; - if (boundariesElement === 'scrollParent') { - boundariesNode = getScrollParent(getParentNode(reference)); - if (boundariesNode.nodeName === 'BODY') { - boundariesNode = popper.ownerDocument.documentElement; - } - } else if (boundariesElement === 'window') { - boundariesNode = popper.ownerDocument.documentElement; - } else { - boundariesNode = boundariesElement; - } - - var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition); - - // In case of HTML, we need a different computation - if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) { - var _getWindowSizes = getWindowSizes(popper.ownerDocument), - height = _getWindowSizes.height, - width = _getWindowSizes.width; - - boundaries.top += offsets.top - offsets.marginTop; - boundaries.bottom = height + offsets.top; - boundaries.left += offsets.left - offsets.marginLeft; - boundaries.right = width + offsets.left; - } else { - // for all the other DOM elements, this one is good - boundaries = offsets; - } - } - - // Add paddings - padding = padding || 0; - var isPaddingNumber = typeof padding === 'number'; - boundaries.left += isPaddingNumber ? padding : padding.left || 0; - boundaries.top += isPaddingNumber ? padding : padding.top || 0; - boundaries.right -= isPaddingNumber ? padding : padding.right || 0; - boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; - - return boundaries; -} - -function getArea(_ref) { - var width = _ref.width, - height = _ref.height; - - return width * height; -} - -/** - * Utility used to transform the `auto` placement to the placement with more - * available space. - * @method - * @memberof Popper.Utils - * @argument {Object} data - The data object generated by update method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) { - var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; - - if (placement.indexOf('auto') === -1) { - return placement; - } - - var boundaries = getBoundaries(popper, reference, padding, boundariesElement); - - var rects = { - top: { - width: boundaries.width, - height: refRect.top - boundaries.top - }, - right: { - width: boundaries.right - refRect.right, - height: boundaries.height - }, - bottom: { - width: boundaries.width, - height: boundaries.bottom - refRect.bottom - }, - left: { - width: refRect.left - boundaries.left, - height: boundaries.height - } - }; - - var sortedAreas = Object.keys(rects).map(function (key) { - return _extends({ - key: key - }, rects[key], { - area: getArea(rects[key]) - }); - }).sort(function (a, b) { - return b.area - a.area; - }); - - var filteredAreas = sortedAreas.filter(function (_ref2) { - var width = _ref2.width, - height = _ref2.height; - return width >= popper.clientWidth && height >= popper.clientHeight; - }); - - var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key; - - var variation = placement.split('-')[1]; - - return computedPlacement + (variation ? '-' + variation : ''); -} - -/** - * Get offsets to the reference element - * @method - * @memberof Popper.Utils - * @param {Object} state - * @param {Element} popper - the popper element - * @param {Element} reference - the reference element (the popper will be relative to this) - * @param {Element} fixedPosition - is in fixed position mode - * @returns {Object} An object containing the offsets which will be applied to the popper - */ -function getReferenceOffsets(state, popper, reference) { - var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; - - var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference)); - return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition); -} - -/** - * Get the outer sizes of the given element (offset size + margins) - * @method - * @memberof Popper.Utils - * @argument {Element} element - * @returns {Object} object containing width and height properties - */ -function getOuterSizes(element) { - var window = element.ownerDocument.defaultView; - var styles = window.getComputedStyle(element); - var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0); - var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0); - var result = { - width: element.offsetWidth + y, - height: element.offsetHeight + x - }; - return result; -} - -/** - * Get the opposite placement of the given one - * @method - * @memberof Popper.Utils - * @argument {String} placement - * @returns {String} flipped placement - */ -function getOppositePlacement(placement) { - var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; - return placement.replace(/left|right|bottom|top/g, function (matched) { - return hash[matched]; - }); -} - -/** - * Get offsets to the popper - * @method - * @memberof Popper.Utils - * @param {Object} position - CSS position the Popper will get applied - * @param {HTMLElement} popper - the popper element - * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this) - * @param {String} placement - one of the valid placement options - * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper - */ -function getPopperOffsets(popper, referenceOffsets, placement) { - placement = placement.split('-')[0]; - - // Get popper node sizes - var popperRect = getOuterSizes(popper); - - // Add position, width and height to our offsets object - var popperOffsets = { - width: popperRect.width, - height: popperRect.height - }; - - // depending by the popper placement we have to compute its offsets slightly differently - var isHoriz = ['right', 'left'].indexOf(placement) !== -1; - var mainSide = isHoriz ? 'top' : 'left'; - var secondarySide = isHoriz ? 'left' : 'top'; - var measurement = isHoriz ? 'height' : 'width'; - var secondaryMeasurement = !isHoriz ? 'height' : 'width'; - - popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2; - if (placement === secondarySide) { - popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement]; - } else { - popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)]; - } - - return popperOffsets; -} - -/** - * Mimics the `find` method of Array - * @method - * @memberof Popper.Utils - * @argument {Array} arr - * @argument prop - * @argument value - * @returns index or -1 - */ -function find(arr, check) { - // use native find if supported - if (Array.prototype.find) { - return arr.find(check); - } - - // use `filter` to obtain the same behavior of `find` - return arr.filter(check)[0]; -} - -/** - * Return the index of the matching object - * @method - * @memberof Popper.Utils - * @argument {Array} arr - * @argument prop - * @argument value - * @returns index or -1 - */ -function findIndex(arr, prop, value) { - // use native findIndex if supported - if (Array.prototype.findIndex) { - return arr.findIndex(function (cur) { - return cur[prop] === value; - }); - } - - // use `find` + `indexOf` if `findIndex` isn't supported - var match = find(arr, function (obj) { - return obj[prop] === value; - }); - return arr.indexOf(match); -} - -/** - * Loop trough the list of modifiers and run them in order, - * each of them will then edit the data object. - * @method - * @memberof Popper.Utils - * @param {dataObject} data - * @param {Array} modifiers - * @param {String} ends - Optional modifier name used as stopper - * @returns {dataObject} - */ -function runModifiers(modifiers, data, ends) { - var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends)); - - modifiersToRun.forEach(function (modifier) { - if (modifier['function']) { - // eslint-disable-line dot-notation - console.warn('`modifier.function` is deprecated, use `modifier.fn`!'); - } - var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation - if (modifier.enabled && isFunction(fn)) { - // Add properties to offsets to make them a complete clientRect object - // we do this before each modifier to make sure the previous one doesn't - // mess with these values - data.offsets.popper = getClientRect(data.offsets.popper); - data.offsets.reference = getClientRect(data.offsets.reference); - - data = fn(data, modifier); - } - }); - - return data; -} - -/** - * Updates the position of the popper, computing the new offsets and applying - * the new style.
- * Prefer `scheduleUpdate` over `update` because of performance reasons. - * @method - * @memberof Popper - */ -function update() { - // if popper is destroyed, don't perform any further update - if (this.state.isDestroyed) { - return; - } - - var data = { - instance: this, - styles: {}, - arrowStyles: {}, - attributes: {}, - flipped: false, - offsets: {} - }; - - // compute reference element offsets - data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed); - - // compute auto placement, store placement inside the data object, - // modifiers will be able to edit `placement` if needed - // and refer to originalPlacement to know the original value - data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); - - // store the computed placement inside `originalPlacement` - data.originalPlacement = data.placement; - - data.positionFixed = this.options.positionFixed; - - // compute the popper offsets - data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement); - - data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute'; - - // run the modifiers - data = runModifiers(this.modifiers, data); - - // the first `update` will call `onCreate` callback - // the other ones will call `onUpdate` callback - if (!this.state.isCreated) { - this.state.isCreated = true; - this.options.onCreate(data); - } else { - this.options.onUpdate(data); - } -} - -/** - * Helper used to know if the given modifier is enabled. - * @method - * @memberof Popper.Utils - * @returns {Boolean} - */ -function isModifierEnabled(modifiers, modifierName) { - return modifiers.some(function (_ref) { - var name = _ref.name, - enabled = _ref.enabled; - return enabled && name === modifierName; - }); -} - -/** - * Get the prefixed supported property name - * @method - * @memberof Popper.Utils - * @argument {String} property (camelCase) - * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix) - */ -function getSupportedPropertyName(property) { - var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O']; - var upperProp = property.charAt(0).toUpperCase() + property.slice(1); - - for (var i = 0; i < prefixes.length; i++) { - var prefix = prefixes[i]; - var toCheck = prefix ? '' + prefix + upperProp : property; - if (typeof document.body.style[toCheck] !== 'undefined') { - return toCheck; - } - } - return null; -} - -/** - * Destroys the popper. - * @method - * @memberof Popper - */ -function destroy() { - this.state.isDestroyed = true; - - // touch DOM only if `applyStyle` modifier is enabled - if (isModifierEnabled(this.modifiers, 'applyStyle')) { - this.popper.removeAttribute('x-placement'); - this.popper.style.position = ''; - this.popper.style.top = ''; - this.popper.style.left = ''; - this.popper.style.right = ''; - this.popper.style.bottom = ''; - this.popper.style.willChange = ''; - this.popper.style[getSupportedPropertyName('transform')] = ''; - } - - this.disableEventListeners(); - - // remove the popper if user explicitly asked for the deletion on destroy - // do not use `remove` because IE11 doesn't support it - if (this.options.removeOnDestroy) { - this.popper.parentNode.removeChild(this.popper); - } - return this; -} - -/** - * Get the window associated with the element - * @argument {Element} element - * @returns {Window} - */ -function getWindow(element) { - var ownerDocument = element.ownerDocument; - return ownerDocument ? ownerDocument.defaultView : window; -} - -function attachToScrollParents(scrollParent, event, callback, scrollParents) { - var isBody = scrollParent.nodeName === 'BODY'; - var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent; - target.addEventListener(event, callback, { passive: true }); - - if (!isBody) { - attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents); - } - scrollParents.push(target); -} - -/** - * Setup needed event listeners used to update the popper position - * @method - * @memberof Popper.Utils - * @private - */ -function setupEventListeners(reference, options, state, updateBound) { - // Resize event listener on window - state.updateBound = updateBound; - getWindow(reference).addEventListener('resize', state.updateBound, { passive: true }); - - // Scroll event listener on scroll parents - var scrollElement = getScrollParent(reference); - attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents); - state.scrollElement = scrollElement; - state.eventsEnabled = true; - - return state; -} - -/** - * It will add resize/scroll events and start recalculating - * position of the popper element when they are triggered. - * @method - * @memberof Popper - */ -function enableEventListeners() { - if (!this.state.eventsEnabled) { - this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate); - } -} - -/** - * Remove event listeners used to update the popper position - * @method - * @memberof Popper.Utils - * @private - */ -function removeEventListeners(reference, state) { - // Remove resize event listener on window - getWindow(reference).removeEventListener('resize', state.updateBound); - - // Remove scroll event listener on scroll parents - state.scrollParents.forEach(function (target) { - target.removeEventListener('scroll', state.updateBound); - }); - - // Reset state - state.updateBound = null; - state.scrollParents = []; - state.scrollElement = null; - state.eventsEnabled = false; - return state; -} - -/** - * It will remove resize/scroll events and won't recalculate popper position - * when they are triggered. It also won't trigger `onUpdate` callback anymore, - * unless you call `update` method manually. - * @method - * @memberof Popper - */ -function disableEventListeners() { - if (this.state.eventsEnabled) { - cancelAnimationFrame(this.scheduleUpdate); - this.state = removeEventListeners(this.reference, this.state); - } -} - -/** - * Tells if a given input is a number - * @method - * @memberof Popper.Utils - * @param {*} input to check - * @return {Boolean} - */ -function isNumeric(n) { - return n !== '' && !isNaN(parseFloat(n)) && isFinite(n); -} - -/** - * Set the style to the given popper - * @method - * @memberof Popper.Utils - * @argument {Element} element - Element to apply the style to - * @argument {Object} styles - * Object with a list of properties and values which will be applied to the element - */ -function setStyles(element, styles) { - Object.keys(styles).forEach(function (prop) { - var unit = ''; - // add unit if the value is numeric and is one of the following - if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) { - unit = 'px'; - } - element.style[prop] = styles[prop] + unit; - }); -} - -/** - * Set the attributes to the given popper - * @method - * @memberof Popper.Utils - * @argument {Element} element - Element to apply the attributes to - * @argument {Object} styles - * Object with a list of properties and values which will be applied to the element - */ -function setAttributes(element, attributes) { - Object.keys(attributes).forEach(function (prop) { - var value = attributes[prop]; - if (value !== false) { - element.setAttribute(prop, attributes[prop]); - } else { - element.removeAttribute(prop); - } - }); -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by `update` method - * @argument {Object} data.styles - List of style properties - values to apply to popper element - * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The same data object - */ -function applyStyle(data) { - // any property present in `data.styles` will be applied to the popper, - // in this way we can make the 3rd party modifiers add custom styles to it - // Be aware, modifiers could override the properties defined in the previous - // lines of this modifier! - setStyles(data.instance.popper, data.styles); - - // any property present in `data.attributes` will be applied to the popper, - // they will be set as HTML attributes of the element - setAttributes(data.instance.popper, data.attributes); - - // if arrowElement is defined and arrowStyles has some properties - if (data.arrowElement && Object.keys(data.arrowStyles).length) { - setStyles(data.arrowElement, data.arrowStyles); - } - - return data; -} - -/** - * Set the x-placement attribute before everything else because it could be used - * to add margins to the popper margins needs to be calculated to get the - * correct popper offsets. - * @method - * @memberof Popper.modifiers - * @param {HTMLElement} reference - The reference element used to position the popper - * @param {HTMLElement} popper - The HTML element used as popper - * @param {Object} options - Popper.js options - */ -function applyStyleOnLoad(reference, popper, options, modifierOptions, state) { - // compute reference element offsets - var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed); - - // compute auto placement, store placement inside the data object, - // modifiers will be able to edit `placement` if needed - // and refer to originalPlacement to know the original value - var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding); - - popper.setAttribute('x-placement', placement); - - // Apply `position` to popper before anything else because - // without the position applied we can't guarantee correct computations - setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' }); - - return options; -} - -/** - * @function - * @memberof Popper.Utils - * @argument {Object} data - The data object generated by `update` method - * @argument {Boolean} shouldRound - If the offsets should be rounded at all - * @returns {Object} The popper's position offsets rounded - * - * The tale of pixel-perfect positioning. It's still not 100% perfect, but as - * good as it can be within reason. - * Discussion here: https://github.com/FezVrasta/popper.js/pull/715 - * - * Low DPI screens cause a popper to be blurry if not using full pixels (Safari - * as well on High DPI screens). - * - * Firefox prefers no rounding for positioning and does not have blurriness on - * high DPI screens. - * - * Only horizontal placement and left/right values need to be considered. - */ -function getRoundedOffsets(data, shouldRound) { - var _data$offsets = data.offsets, - popper = _data$offsets.popper, - reference = _data$offsets.reference; - var round = Math.round, - floor = Math.floor; - - var noRound = function noRound(v) { - return v; - }; - - var referenceWidth = round(reference.width); - var popperWidth = round(popper.width); - - var isVertical = ['left', 'right'].indexOf(data.placement) !== -1; - var isVariation = data.placement.indexOf('-') !== -1; - var sameWidthParity = referenceWidth % 2 === popperWidth % 2; - var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1; - - var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor; - var verticalToInteger = !shouldRound ? noRound : round; - - return { - left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left), - top: verticalToInteger(popper.top), - bottom: verticalToInteger(popper.bottom), - right: horizontalToInteger(popper.right) - }; -} - -var isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent); - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by `update` method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function computeStyle(data, options) { - var x = options.x, - y = options.y; - var popper = data.offsets.popper; - - // Remove this legacy support in Popper.js v2 - - var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) { - return modifier.name === 'applyStyle'; - }).gpuAcceleration; - if (legacyGpuAccelerationOption !== undefined) { - console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'); - } - var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration; - - var offsetParent = getOffsetParent(data.instance.popper); - var offsetParentRect = getBoundingClientRect(offsetParent); - - // Styles - var styles = { - position: popper.position - }; - - var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox); - - var sideA = x === 'bottom' ? 'top' : 'bottom'; - var sideB = y === 'right' ? 'left' : 'right'; - - // if gpuAcceleration is set to `true` and transform is supported, - // we use `translate3d` to apply the position to the popper we - // automatically use the supported prefixed version if needed - var prefixedProperty = getSupportedPropertyName('transform'); - - // now, let's make a step back and look at this code closely (wtf?) - // If the content of the popper grows once it's been positioned, it - // may happen that the popper gets misplaced because of the new content - // overflowing its reference element - // To avoid this problem, we provide two options (x and y), which allow - // the consumer to define the offset origin. - // If we position a popper on top of a reference element, we can set - // `x` to `top` to make the popper grow towards its top instead of - // its bottom. - var left = void 0, - top = void 0; - if (sideA === 'bottom') { - // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar) - // and not the bottom of the html element - if (offsetParent.nodeName === 'HTML') { - top = -offsetParent.clientHeight + offsets.bottom; - } else { - top = -offsetParentRect.height + offsets.bottom; - } - } else { - top = offsets.top; - } - if (sideB === 'right') { - if (offsetParent.nodeName === 'HTML') { - left = -offsetParent.clientWidth + offsets.right; - } else { - left = -offsetParentRect.width + offsets.right; - } - } else { - left = offsets.left; - } - if (gpuAcceleration && prefixedProperty) { - styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)'; - styles[sideA] = 0; - styles[sideB] = 0; - styles.willChange = 'transform'; - } else { - // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties - var invertTop = sideA === 'bottom' ? -1 : 1; - var invertLeft = sideB === 'right' ? -1 : 1; - styles[sideA] = top * invertTop; - styles[sideB] = left * invertLeft; - styles.willChange = sideA + ', ' + sideB; - } - - // Attributes - var attributes = { - 'x-placement': data.placement - }; - - // Update `data` attributes, styles and arrowStyles - data.attributes = _extends({}, attributes, data.attributes); - data.styles = _extends({}, styles, data.styles); - data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles); - - return data; -} - -/** - * Helper used to know if the given modifier depends from another one.
- * It checks if the needed modifier is listed and enabled. - * @method - * @memberof Popper.Utils - * @param {Array} modifiers - list of modifiers - * @param {String} requestingName - name of requesting modifier - * @param {String} requestedName - name of requested modifier - * @returns {Boolean} - */ -function isModifierRequired(modifiers, requestingName, requestedName) { - var requesting = find(modifiers, function (_ref) { - var name = _ref.name; - return name === requestingName; - }); - - var isRequired = !!requesting && modifiers.some(function (modifier) { - return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order; - }); - - if (!isRequired) { - var _requesting = '`' + requestingName + '`'; - var requested = '`' + requestedName + '`'; - console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!'); - } - return isRequired; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by update method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function arrow(data, options) { - var _data$offsets$arrow; - - // arrow depends on keepTogether in order to work - if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) { - return data; - } - - var arrowElement = options.element; - - // if arrowElement is a string, suppose it's a CSS selector - if (typeof arrowElement === 'string') { - arrowElement = data.instance.popper.querySelector(arrowElement); - - // if arrowElement is not found, don't run the modifier - if (!arrowElement) { - return data; - } - } else { - // if the arrowElement isn't a query selector we must check that the - // provided DOM node is child of its popper node - if (!data.instance.popper.contains(arrowElement)) { - console.warn('WARNING: `arrow.element` must be child of its popper element!'); - return data; - } - } - - var placement = data.placement.split('-')[0]; - var _data$offsets = data.offsets, - popper = _data$offsets.popper, - reference = _data$offsets.reference; - - var isVertical = ['left', 'right'].indexOf(placement) !== -1; - - var len = isVertical ? 'height' : 'width'; - var sideCapitalized = isVertical ? 'Top' : 'Left'; - var side = sideCapitalized.toLowerCase(); - var altSide = isVertical ? 'left' : 'top'; - var opSide = isVertical ? 'bottom' : 'right'; - var arrowElementSize = getOuterSizes(arrowElement)[len]; - - // - // extends keepTogether behavior making sure the popper and its - // reference have enough pixels in conjunction - // - - // top/left side - if (reference[opSide] - arrowElementSize < popper[side]) { - data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize); - } - // bottom/right side - if (reference[side] + arrowElementSize > popper[opSide]) { - data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide]; - } - data.offsets.popper = getClientRect(data.offsets.popper); - - // compute center of the popper - var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; - - // Compute the sideValue using the updated popper offsets - // take popper margin in account because we don't have this info available - var css = getStyleComputedProperty(data.instance.popper); - var popperMarginSide = parseFloat(css['margin' + sideCapitalized]); - var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']); - var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; - - // prevent arrowElement from being placed not contiguously to its popper - sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0); - - data.arrowElement = arrowElement; - data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow); - - return data; -} - -/** - * Get the opposite placement variation of the given one - * @method - * @memberof Popper.Utils - * @argument {String} placement variation - * @returns {String} flipped placement variation - */ -function getOppositeVariation(variation) { - if (variation === 'end') { - return 'start'; - } else if (variation === 'start') { - return 'end'; - } - return variation; -} - -/** - * List of accepted placements to use as values of the `placement` option.
- * Valid placements are: - * - `auto` - * - `top` - * - `right` - * - `bottom` - * - `left` - * - * Each placement can have a variation from this list: - * - `-start` - * - `-end` - * - * Variations are interpreted easily if you think of them as the left to right - * written languages. Horizontally (`top` and `bottom`), `start` is left and `end` - * is right.
- * Vertically (`left` and `right`), `start` is top and `end` is bottom. - * - * Some valid examples are: - * - `top-end` (on top of reference, right aligned) - * - `right-start` (on right of reference, top aligned) - * - `bottom` (on bottom, centered) - * - `auto-end` (on the side with more space available, alignment depends by placement) - * - * @static - * @type {Array} - * @enum {String} - * @readonly - * @method placements - * @memberof Popper - */ -var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']; - -// Get rid of `auto` `auto-start` and `auto-end` -var validPlacements = placements.slice(3); - -/** - * Given an initial placement, returns all the subsequent placements - * clockwise (or counter-clockwise). - * - * @method - * @memberof Popper.Utils - * @argument {String} placement - A valid placement (it accepts variations) - * @argument {Boolean} counter - Set to true to walk the placements counterclockwise - * @returns {Array} placements including their variations - */ -function clockwise(placement) { - var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - - var index = validPlacements.indexOf(placement); - var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index)); - return counter ? arr.reverse() : arr; -} - -var BEHAVIORS = { - FLIP: 'flip', - CLOCKWISE: 'clockwise', - COUNTERCLOCKWISE: 'counterclockwise' -}; - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by update method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function flip(data, options) { - // if `inner` modifier is enabled, we can't use the `flip` modifier - if (isModifierEnabled(data.instance.modifiers, 'inner')) { - return data; - } - - if (data.flipped && data.placement === data.originalPlacement) { - // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides - return data; - } - - var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed); - - var placement = data.placement.split('-')[0]; - var placementOpposite = getOppositePlacement(placement); - var variation = data.placement.split('-')[1] || ''; - - var flipOrder = []; - - switch (options.behavior) { - case BEHAVIORS.FLIP: - flipOrder = [placement, placementOpposite]; - break; - case BEHAVIORS.CLOCKWISE: - flipOrder = clockwise(placement); - break; - case BEHAVIORS.COUNTERCLOCKWISE: - flipOrder = clockwise(placement, true); - break; - default: - flipOrder = options.behavior; - } - - flipOrder.forEach(function (step, index) { - if (placement !== step || flipOrder.length === index + 1) { - return data; - } - - placement = data.placement.split('-')[0]; - placementOpposite = getOppositePlacement(placement); - - var popperOffsets = data.offsets.popper; - var refOffsets = data.offsets.reference; - - // using floor because the reference offsets may contain decimals we are not going to consider here - var floor = Math.floor; - var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom); - - var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left); - var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right); - var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top); - var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom); - - var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; - - // flip the variation if required - var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; - - // flips variation if reference element overflows boundaries - var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); - - // flips variation if popper content overflows boundaries - var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop); - - var flippedVariation = flippedVariationByRef || flippedVariationByContent; - - if (overlapsRef || overflowsBoundaries || flippedVariation) { - // this boolean to detect any flip loop - data.flipped = true; - - if (overlapsRef || overflowsBoundaries) { - placement = flipOrder[index + 1]; - } - - if (flippedVariation) { - variation = getOppositeVariation(variation); - } - - data.placement = placement + (variation ? '-' + variation : ''); - - // this object contains `position`, we want to preserve it along with - // any additional property we may add in the future - data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement)); - - data = runModifiers(data.instance.modifiers, data, 'flip'); - } - }); - return data; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by update method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function keepTogether(data) { - var _data$offsets = data.offsets, - popper = _data$offsets.popper, - reference = _data$offsets.reference; - - var placement = data.placement.split('-')[0]; - var floor = Math.floor; - var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; - var side = isVertical ? 'right' : 'bottom'; - var opSide = isVertical ? 'left' : 'top'; - var measurement = isVertical ? 'width' : 'height'; - - if (popper[side] < floor(reference[opSide])) { - data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement]; - } - if (popper[opSide] > floor(reference[side])) { - data.offsets.popper[opSide] = floor(reference[side]); - } - - return data; -} - -/** - * Converts a string containing value + unit into a px value number - * @function - * @memberof {modifiers~offset} - * @private - * @argument {String} str - Value + unit string - * @argument {String} measurement - `height` or `width` - * @argument {Object} popperOffsets - * @argument {Object} referenceOffsets - * @returns {Number|String} - * Value in pixels, or original string if no values were extracted - */ -function toValue(str, measurement, popperOffsets, referenceOffsets) { - // separate value from unit - var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/); - var value = +split[1]; - var unit = split[2]; - - // If it's not a number it's an operator, I guess - if (!value) { - return str; - } - - if (unit.indexOf('%') === 0) { - var element = void 0; - switch (unit) { - case '%p': - element = popperOffsets; - break; - case '%': - case '%r': - default: - element = referenceOffsets; - } - - var rect = getClientRect(element); - return rect[measurement] / 100 * value; - } else if (unit === 'vh' || unit === 'vw') { - // if is a vh or vw, we calculate the size based on the viewport - var size = void 0; - if (unit === 'vh') { - size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); - } else { - size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); - } - return size / 100 * value; - } else { - // if is an explicit pixel unit, we get rid of the unit and keep the value - // if is an implicit unit, it's px, and we return just the value - return value; - } -} - -/** - * Parse an `offset` string to extrapolate `x` and `y` numeric offsets. - * @function - * @memberof {modifiers~offset} - * @private - * @argument {String} offset - * @argument {Object} popperOffsets - * @argument {Object} referenceOffsets - * @argument {String} basePlacement - * @returns {Array} a two cells array with x and y offsets in numbers - */ -function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) { - var offsets = [0, 0]; - - // Use height if placement is left or right and index is 0 otherwise use width - // in this way the first offset will use an axis and the second one - // will use the other one - var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; - - // Split the offset string to obtain a list of values and operands - // The regex addresses values with the plus or minus sign in front (+10, -20, etc) - var fragments = offset.split(/(\+|\-)/).map(function (frag) { - return frag.trim(); - }); - - // Detect if the offset string contains a pair of values or a single one - // they could be separated by comma or space - var divider = fragments.indexOf(find(fragments, function (frag) { - return frag.search(/,|\s/) !== -1; - })); - - if (fragments[divider] && fragments[divider].indexOf(',') === -1) { - console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.'); - } - - // If divider is found, we divide the list of values and operands to divide - // them by ofset X and Y. - var splitRegex = /\s*,\s*|\s+/; - var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments]; - - // Convert the values with units to absolute pixels to allow our computations - ops = ops.map(function (op, index) { - // Most of the units rely on the orientation of the popper - var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width'; - var mergeWithPrevious = false; - return op - // This aggregates any `+` or `-` sign that aren't considered operators - // e.g.: 10 + +5 => [10, +, +5] - .reduce(function (a, b) { - if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) { - a[a.length - 1] = b; - mergeWithPrevious = true; - return a; - } else if (mergeWithPrevious) { - a[a.length - 1] += b; - mergeWithPrevious = false; - return a; - } else { - return a.concat(b); - } - }, []) - // Here we convert the string values into number values (in px) - .map(function (str) { - return toValue(str, measurement, popperOffsets, referenceOffsets); - }); - }); - - // Loop trough the offsets arrays and execute the operations - ops.forEach(function (op, index) { - op.forEach(function (frag, index2) { - if (isNumeric(frag)) { - offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1); - } - }); - }); - return offsets; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by update method - * @argument {Object} options - Modifiers configuration and options - * @argument {Number|String} options.offset=0 - * The offset value as described in the modifier description - * @returns {Object} The data object, properly modified - */ -function offset(data, _ref) { - var offset = _ref.offset; - var placement = data.placement, - _data$offsets = data.offsets, - popper = _data$offsets.popper, - reference = _data$offsets.reference; - - var basePlacement = placement.split('-')[0]; - - var offsets = void 0; - if (isNumeric(+offset)) { - offsets = [+offset, 0]; - } else { - offsets = parseOffset(offset, popper, reference, basePlacement); - } - - if (basePlacement === 'left') { - popper.top += offsets[0]; - popper.left -= offsets[1]; - } else if (basePlacement === 'right') { - popper.top += offsets[0]; - popper.left += offsets[1]; - } else if (basePlacement === 'top') { - popper.left += offsets[0]; - popper.top -= offsets[1]; - } else if (basePlacement === 'bottom') { - popper.left += offsets[0]; - popper.top += offsets[1]; - } - - data.popper = popper; - return data; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by `update` method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function preventOverflow(data, options) { - var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); - - // If offsetParent is the reference element, we really want to - // go one step up and use the next offsetParent as reference to - // avoid to make this modifier completely useless and look like broken - if (data.instance.reference === boundariesElement) { - boundariesElement = getOffsetParent(boundariesElement); - } - - // NOTE: DOM access here - // resets the popper's position so that the document size can be calculated excluding - // the size of the popper element itself - var transformProp = getSupportedPropertyName('transform'); - var popperStyles = data.instance.popper.style; // assignment to help minification - var top = popperStyles.top, - left = popperStyles.left, - transform = popperStyles[transformProp]; - - popperStyles.top = ''; - popperStyles.left = ''; - popperStyles[transformProp] = ''; - - var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed); - - // NOTE: DOM access here - // restores the original style properties after the offsets have been computed - popperStyles.top = top; - popperStyles.left = left; - popperStyles[transformProp] = transform; - - options.boundaries = boundaries; - - var order = options.priority; - var popper = data.offsets.popper; - - var check = { - primary: function primary(placement) { - var value = popper[placement]; - if (popper[placement] < boundaries[placement] && !options.escapeWithReference) { - value = Math.max(popper[placement], boundaries[placement]); - } - return defineProperty({}, placement, value); - }, - secondary: function secondary(placement) { - var mainSide = placement === 'right' ? 'left' : 'top'; - var value = popper[mainSide]; - if (popper[placement] > boundaries[placement] && !options.escapeWithReference) { - value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height)); - } - return defineProperty({}, mainSide, value); - } - }; - - order.forEach(function (placement) { - var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary'; - popper = _extends({}, popper, check[side](placement)); - }); - - data.offsets.popper = popper; - - return data; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by `update` method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function shift(data) { - var placement = data.placement; - var basePlacement = placement.split('-')[0]; - var shiftvariation = placement.split('-')[1]; - - // if shift shiftvariation is specified, run the modifier - if (shiftvariation) { - var _data$offsets = data.offsets, - reference = _data$offsets.reference, - popper = _data$offsets.popper; - - var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1; - var side = isVertical ? 'left' : 'top'; - var measurement = isVertical ? 'width' : 'height'; - - var shiftOffsets = { - start: defineProperty({}, side, reference[side]), - end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement]) - }; - - data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]); - } - - return data; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by update method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function hide(data) { - if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) { - return data; - } - - var refRect = data.offsets.reference; - var bound = find(data.instance.modifiers, function (modifier) { - return modifier.name === 'preventOverflow'; - }).boundaries; - - if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) { - // Avoid unnecessary DOM access if visibility hasn't changed - if (data.hide === true) { - return data; - } - - data.hide = true; - data.attributes['x-out-of-boundaries'] = ''; - } else { - // Avoid unnecessary DOM access if visibility hasn't changed - if (data.hide === false) { - return data; - } - - data.hide = false; - data.attributes['x-out-of-boundaries'] = false; - } - - return data; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by `update` method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function inner(data) { - var placement = data.placement; - var basePlacement = placement.split('-')[0]; - var _data$offsets = data.offsets, - popper = _data$offsets.popper, - reference = _data$offsets.reference; - - var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1; - - var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1; - - popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0); - - data.placement = getOppositePlacement(placement); - data.offsets.popper = getClientRect(popper); - - return data; -} - -/** - * Modifier function, each modifier can have a function of this type assigned - * to its `fn` property.
- * These functions will be called on each update, this means that you must - * make sure they are performant enough to avoid performance bottlenecks. - * - * @function ModifierFn - * @argument {dataObject} data - The data object generated by `update` method - * @argument {Object} options - Modifiers configuration and options - * @returns {dataObject} The data object, properly modified - */ - -/** - * Modifiers are plugins used to alter the behavior of your poppers.
- * Popper.js uses a set of 9 modifiers to provide all the basic functionalities - * needed by the library. - * - * Usually you don't want to override the `order`, `fn` and `onLoad` props. - * All the other properties are configurations that could be tweaked. - * @namespace modifiers - */ -var modifiers = { - /** - * Modifier used to shift the popper on the start or end of its reference - * element.
- * It will read the variation of the `placement` property.
- * It can be one either `-end` or `-start`. - * @memberof modifiers - * @inner - */ - shift: { - /** @prop {number} order=100 - Index used to define the order of execution */ - order: 100, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: shift - }, - - /** - * The `offset` modifier can shift your popper on both its axis. - * - * It accepts the following units: - * - `px` or unit-less, interpreted as pixels - * - `%` or `%r`, percentage relative to the length of the reference element - * - `%p`, percentage relative to the length of the popper element - * - `vw`, CSS viewport width unit - * - `vh`, CSS viewport height unit - * - * For length is intended the main axis relative to the placement of the popper.
- * This means that if the placement is `top` or `bottom`, the length will be the - * `width`. In case of `left` or `right`, it will be the `height`. - * - * You can provide a single value (as `Number` or `String`), or a pair of values - * as `String` divided by a comma or one (or more) white spaces.
- * The latter is a deprecated method because it leads to confusion and will be - * removed in v2.
- * Additionally, it accepts additions and subtractions between different units. - * Note that multiplications and divisions aren't supported. - * - * Valid examples are: - * ``` - * 10 - * '10%' - * '10, 10' - * '10%, 10' - * '10 + 10%' - * '10 - 5vh + 3%' - * '-10px + 5vh, 5px - 6%' - * ``` - * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap - * > with their reference element, unfortunately, you will have to disable the `flip` modifier. - * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373). - * - * @memberof modifiers - * @inner - */ - offset: { - /** @prop {number} order=200 - Index used to define the order of execution */ - order: 200, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: offset, - /** @prop {Number|String} offset=0 - * The offset value as described in the modifier description - */ - offset: 0 - }, - - /** - * Modifier used to prevent the popper from being positioned outside the boundary. - * - * A scenario exists where the reference itself is not within the boundaries.
- * We can say it has "escaped the boundaries" — or just "escaped".
- * In this case we need to decide whether the popper should either: - * - * - detach from the reference and remain "trapped" in the boundaries, or - * - if it should ignore the boundary and "escape with its reference" - * - * When `escapeWithReference` is set to`true` and reference is completely - * outside its boundaries, the popper will overflow (or completely leave) - * the boundaries in order to remain attached to the edge of the reference. - * - * @memberof modifiers - * @inner - */ - preventOverflow: { - /** @prop {number} order=300 - Index used to define the order of execution */ - order: 300, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: preventOverflow, - /** - * @prop {Array} [priority=['left','right','top','bottom']] - * Popper will try to prevent overflow following these priorities by default, - * then, it could overflow on the left and on top of the `boundariesElement` - */ - priority: ['left', 'right', 'top', 'bottom'], - /** - * @prop {number} padding=5 - * Amount of pixel used to define a minimum distance between the boundaries - * and the popper. This makes sure the popper always has a little padding - * between the edges of its container - */ - padding: 5, - /** - * @prop {String|HTMLElement} boundariesElement='scrollParent' - * Boundaries used by the modifier. Can be `scrollParent`, `window`, - * `viewport` or any DOM element. - */ - boundariesElement: 'scrollParent' - }, - - /** - * Modifier used to make sure the reference and its popper stay near each other - * without leaving any gap between the two. Especially useful when the arrow is - * enabled and you want to ensure that it points to its reference element. - * It cares only about the first axis. You can still have poppers with margin - * between the popper and its reference element. - * @memberof modifiers - * @inner - */ - keepTogether: { - /** @prop {number} order=400 - Index used to define the order of execution */ - order: 400, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: keepTogether - }, - - /** - * This modifier is used to move the `arrowElement` of the popper to make - * sure it is positioned between the reference element and its popper element. - * It will read the outer size of the `arrowElement` node to detect how many - * pixels of conjunction are needed. - * - * It has no effect if no `arrowElement` is provided. - * @memberof modifiers - * @inner - */ - arrow: { - /** @prop {number} order=500 - Index used to define the order of execution */ - order: 500, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: arrow, - /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */ - element: '[x-arrow]' - }, - - /** - * Modifier used to flip the popper's placement when it starts to overlap its - * reference element. - * - * Requires the `preventOverflow` modifier before it in order to work. - * - * **NOTE:** this modifier will interrupt the current update cycle and will - * restart it if it detects the need to flip the placement. - * @memberof modifiers - * @inner - */ - flip: { - /** @prop {number} order=600 - Index used to define the order of execution */ - order: 600, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: flip, - /** - * @prop {String|Array} behavior='flip' - * The behavior used to change the popper's placement. It can be one of - * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid - * placements (with optional variations) - */ - behavior: 'flip', - /** - * @prop {number} padding=5 - * The popper will flip if it hits the edges of the `boundariesElement` - */ - padding: 5, - /** - * @prop {String|HTMLElement} boundariesElement='viewport' - * The element which will define the boundaries of the popper position. - * The popper will never be placed outside of the defined boundaries - * (except if `keepTogether` is enabled) - */ - boundariesElement: 'viewport', - /** - * @prop {Boolean} flipVariations=false - * The popper will switch placement variation between `-start` and `-end` when - * the reference element overlaps its boundaries. - * - * The original placement should have a set variation. - */ - flipVariations: false, - /** - * @prop {Boolean} flipVariationsByContent=false - * The popper will switch placement variation between `-start` and `-end` when - * the popper element overlaps its reference boundaries. - * - * The original placement should have a set variation. - */ - flipVariationsByContent: false - }, - - /** - * Modifier used to make the popper flow toward the inner of the reference element. - * By default, when this modifier is disabled, the popper will be placed outside - * the reference element. - * @memberof modifiers - * @inner - */ - inner: { - /** @prop {number} order=700 - Index used to define the order of execution */ - order: 700, - /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */ - enabled: false, - /** @prop {ModifierFn} */ - fn: inner - }, - - /** - * Modifier used to hide the popper when its reference element is outside of the - * popper boundaries. It will set a `x-out-of-boundaries` attribute which can - * be used to hide with a CSS selector the popper when its reference is - * out of boundaries. - * - * Requires the `preventOverflow` modifier before it in order to work. - * @memberof modifiers - * @inner - */ - hide: { - /** @prop {number} order=800 - Index used to define the order of execution */ - order: 800, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: hide - }, - - /** - * Computes the style that will be applied to the popper element to gets - * properly positioned. - * - * Note that this modifier will not touch the DOM, it just prepares the styles - * so that `applyStyle` modifier can apply it. This separation is useful - * in case you need to replace `applyStyle` with a custom implementation. - * - * This modifier has `850` as `order` value to maintain backward compatibility - * with previous versions of Popper.js. Expect the modifiers ordering method - * to change in future major versions of the library. - * - * @memberof modifiers - * @inner - */ - computeStyle: { - /** @prop {number} order=850 - Index used to define the order of execution */ - order: 850, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: computeStyle, - /** - * @prop {Boolean} gpuAcceleration=true - * If true, it uses the CSS 3D transformation to position the popper. - * Otherwise, it will use the `top` and `left` properties - */ - gpuAcceleration: true, - /** - * @prop {string} [x='bottom'] - * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin. - * Change this if your popper should grow in a direction different from `bottom` - */ - x: 'bottom', - /** - * @prop {string} [x='left'] - * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin. - * Change this if your popper should grow in a direction different from `right` - */ - y: 'right' - }, - - /** - * Applies the computed styles to the popper element. - * - * All the DOM manipulations are limited to this modifier. This is useful in case - * you want to integrate Popper.js inside a framework or view library and you - * want to delegate all the DOM manipulations to it. - * - * Note that if you disable this modifier, you must make sure the popper element - * has its position set to `absolute` before Popper.js can do its work! - * - * Just disable this modifier and define your own to achieve the desired effect. - * - * @memberof modifiers - * @inner - */ - applyStyle: { - /** @prop {number} order=900 - Index used to define the order of execution */ - order: 900, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: applyStyle, - /** @prop {Function} */ - onLoad: applyStyleOnLoad, - /** - * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier - * @prop {Boolean} gpuAcceleration=true - * If true, it uses the CSS 3D transformation to position the popper. - * Otherwise, it will use the `top` and `left` properties - */ - gpuAcceleration: undefined - } -}; - -/** - * The `dataObject` is an object containing all the information used by Popper.js. - * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks. - * @name dataObject - * @property {Object} data.instance The Popper.js instance - * @property {String} data.placement Placement applied to popper - * @property {String} data.originalPlacement Placement originally defined on init - * @property {Boolean} data.flipped True if popper has been flipped by flip modifier - * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper - * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier - * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`) - * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`) - * @property {Object} data.boundaries Offsets of the popper boundaries - * @property {Object} data.offsets The measurements of popper, reference and arrow elements - * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values - * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values - * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0 - */ - -/** - * Default options provided to Popper.js constructor.
- * These can be overridden using the `options` argument of Popper.js.
- * To override an option, simply pass an object with the same - * structure of the `options` object, as the 3rd argument. For example: - * ``` - * new Popper(ref, pop, { - * modifiers: { - * preventOverflow: { enabled: false } - * } - * }) - * ``` - * @type {Object} - * @static - * @memberof Popper - */ -var Defaults = { - /** - * Popper's placement. - * @prop {Popper.placements} placement='bottom' - */ - placement: 'bottom', - - /** - * Set this to true if you want popper to position it self in 'fixed' mode - * @prop {Boolean} positionFixed=false - */ - positionFixed: false, - - /** - * Whether events (resize, scroll) are initially enabled. - * @prop {Boolean} eventsEnabled=true - */ - eventsEnabled: true, - - /** - * Set to true if you want to automatically remove the popper when - * you call the `destroy` method. - * @prop {Boolean} removeOnDestroy=false - */ - removeOnDestroy: false, - - /** - * Callback called when the popper is created.
- * By default, it is set to no-op.
- * Access Popper.js instance with `data.instance`. - * @prop {onCreate} - */ - onCreate: function onCreate() {}, - - /** - * Callback called when the popper is updated. This callback is not called - * on the initialization/creation of the popper, but only on subsequent - * updates.
- * By default, it is set to no-op.
- * Access Popper.js instance with `data.instance`. - * @prop {onUpdate} - */ - onUpdate: function onUpdate() {}, - - /** - * List of modifiers used to modify the offsets before they are applied to the popper. - * They provide most of the functionalities of Popper.js. - * @prop {modifiers} - */ - modifiers: modifiers -}; - -/** - * @callback onCreate - * @param {dataObject} data - */ - -/** - * @callback onUpdate - * @param {dataObject} data - */ - -// Utils -// Methods -var Popper = function () { - /** - * Creates a new Popper.js instance. - * @class Popper - * @param {Element|referenceObject} reference - The reference element used to position the popper - * @param {Element} popper - The HTML / XML element used as the popper - * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults) - * @return {Object} instance - The generated Popper.js instance - */ - function Popper(reference, popper) { - var _this = this; - - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - classCallCheck(this, Popper); - - this.scheduleUpdate = function () { - return requestAnimationFrame(_this.update); - }; - - // make update() debounced, so that it only runs at most once-per-tick - this.update = debounce(this.update.bind(this)); - - // with {} we create a new object with the options inside it - this.options = _extends({}, Popper.Defaults, options); - - // init state - this.state = { - isDestroyed: false, - isCreated: false, - scrollParents: [] - }; - - // get reference and popper elements (allow jQuery wrappers) - this.reference = reference && reference.jquery ? reference[0] : reference; - this.popper = popper && popper.jquery ? popper[0] : popper; - - // Deep merge modifiers options - this.options.modifiers = {}; - Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) { - _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {}); - }); - - // Refactoring modifiers' list (Object => Array) - this.modifiers = Object.keys(this.options.modifiers).map(function (name) { - return _extends({ - name: name - }, _this.options.modifiers[name]); - }) - // sort the modifiers by order - .sort(function (a, b) { - return a.order - b.order; - }); - - // modifiers have the ability to execute arbitrary code when Popper.js get inited - // such code is executed in the same order of its modifier - // they could add new properties to their options configuration - // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`! - this.modifiers.forEach(function (modifierOptions) { - if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) { - modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state); - } - }); - - // fire the first update to position the popper in the right place - this.update(); - - var eventsEnabled = this.options.eventsEnabled; - if (eventsEnabled) { - // setup event listeners, they will take care of update the position in specific situations - this.enableEventListeners(); - } - - this.state.eventsEnabled = eventsEnabled; - } - - // We can't use class properties because they don't get listed in the - // class prototype and break stuff like Sinon stubs - - - createClass(Popper, [{ - key: 'update', - value: function update$$1() { - return update.call(this); - } - }, { - key: 'destroy', - value: function destroy$$1() { - return destroy.call(this); - } - }, { - key: 'enableEventListeners', - value: function enableEventListeners$$1() { - return enableEventListeners.call(this); - } - }, { - key: 'disableEventListeners', - value: function disableEventListeners$$1() { - return disableEventListeners.call(this); - } - - /** - * Schedules an update. It will run on the next UI update available. - * @method scheduleUpdate - * @memberof Popper - */ - - - /** - * Collection of utilities useful when writing custom modifiers. - * Starting from version 1.7, this method is available only if you - * include `popper-utils.js` before `popper.js`. - * - * **DEPRECATION**: This way to access PopperUtils is deprecated - * and will be removed in v2! Use the PopperUtils module directly instead. - * Due to the high instability of the methods contained in Utils, we can't - * guarantee them to follow semver. Use them at your own risk! - * @static - * @private - * @type {Object} - * @deprecated since version 1.8 - * @member Utils - * @memberof Popper - */ - - }]); - return Popper; -}(); - -/** - * The `referenceObject` is an object that provides an interface compatible with Popper.js - * and lets you use it as replacement of a real DOM node.
- * You can use this method to position a popper relatively to a set of coordinates - * in case you don't have a DOM node to use as reference. - * - * ``` - * new Popper(referenceObject, popperNode); - * ``` - * - * NB: This feature isn't supported in Internet Explorer 10. - * @name referenceObject - * @property {Function} data.getBoundingClientRect - * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method. - * @property {number} data.clientWidth - * An ES6 getter that will return the width of the virtual reference element. - * @property {number} data.clientHeight - * An ES6 getter that will return the height of the virtual reference element. - */ - - -Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils; -Popper.placements = placements; -Popper.Defaults = Defaults; - -return Popper; - -}))); - - -}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],6:[function(require,module,exports){ -(function (process){(function (){ -/**! -* tippy.js v5.2.1 -* (c) 2017-2020 atomiks -* MIT License -*/ -'use strict'; - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var Popper = _interopDefault(require('popper.js')); - -function _extends() { - _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; - }; - - return _extends.apply(this, arguments); -} - -var version = "5.2.1"; - -/** - * Triggers reflow - */ -function reflow(element) { - void element.offsetHeight; -} -/** - * Sets the innerHTML of an element - */ - -function setInnerHTML(element, html) { - element[innerHTML()] = html; -} -/** - * Determines if the value is a reference element - */ - -function isReferenceElement(value) { - return !!(value && value._tippy && value._tippy.reference === value); -} -/** - * Safe .hasOwnProperty check, for prototype-less objects - */ - -function hasOwnProperty(obj, key) { - return {}.hasOwnProperty.call(obj, key); -} -/** - * Returns an array of elements based on the value - */ - -function getArrayOfElements(value) { - if (isElement(value)) { - return [value]; - } - - if (isNodeList(value)) { - return arrayFrom(value); - } - - if (Array.isArray(value)) { - return value; - } - - return arrayFrom(document.querySelectorAll(value)); -} -/** - * Returns a value at a given index depending on if it's an array or number - */ - -function getValueAtIndexOrReturn(value, index, defaultValue) { - if (Array.isArray(value)) { - var v = value[index]; - return v == null ? Array.isArray(defaultValue) ? defaultValue[index] : defaultValue : v; - } - - return value; -} -/** - * Prevents errors from being thrown while accessing nested modifier objects - * in `popperOptions` - */ - -function getModifier(obj, key) { - return obj && obj.modifiers && obj.modifiers[key]; -} -/** - * Determines if the value is of type - */ - -function isType(value, type) { - var str = {}.toString.call(value); - return str.indexOf('[object') === 0 && str.indexOf(type + "]") > -1; -} -/** - * Determines if the value is of type Element - */ - -function isElement(value) { - return isType(value, 'Element'); -} -/** - * Determines if the value is of type NodeList - */ - -function isNodeList(value) { - return isType(value, 'NodeList'); -} -/** - * Determines if the value is of type MouseEvent - */ - -function isMouseEvent(value) { - return isType(value, 'MouseEvent'); -} -/** - * Firefox extensions don't allow setting .innerHTML directly, this will trick - * it - */ - -function innerHTML() { - return 'innerHTML'; -} -/** - * Evaluates a function if one, or returns the value - */ - -function invokeWithArgsOrReturn(value, args) { - return typeof value === 'function' ? value.apply(void 0, args) : value; -} -/** - * Sets a popperInstance modifier's property to a value - */ - -function setModifierValue(modifiers, name, property, value) { - modifiers.filter(function (m) { - return m.name === name; - })[0][property] = value; -} -/** - * Returns a new `div` element - */ - -function div() { - return document.createElement('div'); -} -/** - * Applies a transition duration to a list of elements - */ - -function setTransitionDuration(els, value) { - els.forEach(function (el) { - if (el) { - el.style.transitionDuration = value + "ms"; - } - }); -} -/** - * Sets the visibility state to elements so they can begin to transition - */ - -function setVisibilityState(els, state) { - els.forEach(function (el) { - if (el) { - el.setAttribute('data-state', state); - } - }); -} -/** - * Debounce utility. To avoid bloating bundle size, we're only passing 1 - * argument here, a more generic function would pass all arguments. Only - * `onMouseMove` uses this which takes the event object for now. - */ - -function debounce(fn, ms) { - // Avoid wrapping in `setTimeout` if ms is 0 anyway - if (ms === 0) { - return fn; - } - - var timeout; - return function (arg) { - clearTimeout(timeout); - timeout = setTimeout(function () { - fn(arg); - }, ms); - }; -} -/** - * Preserves the original function invocation when another function replaces it - */ - -function preserveInvocation(originalFn, currentFn, args) { - if (originalFn && originalFn !== currentFn) { - originalFn.apply(void 0, args); - } -} -/** - * Deletes properties from an object (pure) - */ - -function removeProperties(obj, keys) { - var clone = _extends({}, obj); - - keys.forEach(function (key) { - delete clone[key]; - }); - return clone; -} -/** - * Ponyfill for Array.from - converts iterable values to an array - */ - -function arrayFrom(value) { - return [].slice.call(value); -} -/** - * Works like Element.prototype.closest, but uses a callback instead - */ - -function closestCallback(element, callback) { - while (element) { - if (callback(element)) { - return element; - } - - element = element.parentElement; - } - - return null; -} -/** - * Determines if an array or string includes a string - */ - -function includes(a, b) { - return a.indexOf(b) > -1; -} -/** - * Creates an array from string of values separated by whitespace - */ - -function splitBySpaces(value) { - return value.split(/\s+/).filter(Boolean); -} -/** - * Returns the `nextValue` if `nextValue` is not `undefined`, otherwise returns - * `currentValue` - */ - -function useIfDefined(nextValue, currentValue) { - return nextValue !== undefined ? nextValue : currentValue; -} -/** - * Converts a value that's an array or single value to an array - */ - -function normalizeToArray(value) { - return [].concat(value); -} -/** - * Returns the ownerDocument of the first available element, otherwise global - * document - */ - -function getOwnerDocument(elementOrElements) { - var _normalizeToArray = normalizeToArray(elementOrElements), - element = _normalizeToArray[0]; - - return element ? element.ownerDocument || document : document; -} -/** - * Adds item to array if array does not contain it - */ - -function pushIfUnique(arr, value) { - if (arr.indexOf(value) === -1) { - arr.push(value); - } -} -/** - * Adds `px` if value is a number, or returns it directly - */ - -function appendPxIfNumber(value) { - return typeof value === 'number' ? value + "px" : value; -} -/** - * Filters out duplicate elements in an array - */ - -function unique(arr) { - return arr.filter(function (item, index) { - return arr.indexOf(item) === index; - }); -} -/** - * Returns number from number or CSS units string - */ - -function getNumber(value) { - return typeof value === 'number' ? value : parseFloat(value); -} -/** - * Gets number or CSS string units in pixels (e.g. `1rem` -> 16) - */ - -function getUnitsInPx(doc, value) { - var isRem = typeof value === 'string' && includes(value, 'rem'); - var html = doc.documentElement; - var rootFontSize = 16; - - if (html && isRem) { - return parseFloat(getComputedStyle(html).fontSize || String(rootFontSize)) * getNumber(value); - } - - return getNumber(value); -} -/** - * Adds the `distancePx` value to the placement of a Popper.Padding object - */ - -function getComputedPadding(basePlacement, padding, distancePx) { - if (padding === void 0) { - padding = 5; - } - - var freshPaddingObject = { - top: 0, - right: 0, - bottom: 0, - left: 0 - }; - var keys = Object.keys(freshPaddingObject); - return keys.reduce(function (obj, key) { - obj[key] = typeof padding === 'number' ? padding : padding[key]; - - if (basePlacement === key) { - obj[key] = typeof padding === 'number' ? padding + distancePx : padding[basePlacement] + distancePx; - } - - return obj; - }, freshPaddingObject); -} - -function createMemoryLeakWarning(method) { - var txt = method === 'destroy' ? 'n already-' : ' '; - return "\n " + method + "() was called on a" + txt + "destroyed instance. This is a no-op but\n indicates a potential memory leak.\n "; -} -function clean(value) { - var spacesAndTabs = /[ \t]{2,}/g; - var lineStartWithSpaces = /^[ \t]*/gm; - return value.replace(spacesAndTabs, ' ').replace(lineStartWithSpaces, '').trim(); -} - -function getDevMessage(message) { - return clean("\n %ctippy.js\n\n %c" + clean(message) + "\n\n %c\uD83D\uDC77\u200D This is a development-only message. It will be removed in production.\n "); -} - -function getFormattedMessage(message) { - return [getDevMessage(message), // title - 'color: #00C584; font-size: 1.3em; font-weight: bold;', // message - 'line-height: 1.5', // footer - 'color: #a6a095;']; -} -/** - * Helpful wrapper around `console.warn()`. - * TODO: Should we use a cache so it only warns a single time and not spam the - * console? (Need to consider hot reloading and invalidation though). Chrome - * already batches warnings as well. - */ - -function warnWhen(condition, message) { - if (condition) { - var _console; - - (_console = console).warn.apply(_console, getFormattedMessage(message)); - } -} -/** - * Helpful wrapper around `console.error()` - */ - -function errorWhen(condition, message) { - if (condition) { - var _console2; - - (_console2 = console).error.apply(_console2, getFormattedMessage(message)); - } -} -/** - * Validates the `targets` value passed to `tippy()` - */ - -function validateTargets(targets) { - var didPassFalsyValue = !targets; - var didPassPlainObject = Object.prototype.toString.call(targets) === '[object Object]' && !targets.addEventListener; - errorWhen(didPassFalsyValue, ['tippy() was passed', '`' + String(targets) + '`', 'as its targets (first) argument. Valid types are: String, Element, Element[],', 'or NodeList.'].join(' ')); - errorWhen(didPassPlainObject, ['tippy() was passed a plain object which is no longer supported as an argument.', 'See: https://atomiks.github.io/tippyjs/misc/#custom-position'].join(' ')); -} - -var pluginProps = { - animateFill: false, - followCursor: false, - inlinePositioning: false, - sticky: false -}; -var defaultProps = _extends({ - allowHTML: true, - animation: 'fade', - appendTo: function appendTo() { - return document.body; - }, - aria: 'describedby', - arrow: true, - boundary: 'scrollParent', - content: '', - delay: 0, - distance: 10, - duration: [300, 250], - flip: true, - flipBehavior: 'flip', - flipOnUpdate: false, - hideOnClick: true, - ignoreAttributes: false, - inertia: false, - interactive: false, - interactiveBorder: 2, - interactiveDebounce: 0, - lazy: true, - maxWidth: 350, - multiple: false, - offset: 0, - onAfterUpdate: function onAfterUpdate() {}, - onBeforeUpdate: function onBeforeUpdate() {}, - onCreate: function onCreate() {}, - onDestroy: function onDestroy() {}, - onHidden: function onHidden() {}, - onHide: function onHide() {}, - onMount: function onMount() {}, - onShow: function onShow() {}, - onShown: function onShown() {}, - onTrigger: function onTrigger() {}, - onUntrigger: function onUntrigger() {}, - placement: 'top', - plugins: [], - popperOptions: {}, - role: 'tooltip', - showOnCreate: false, - theme: '', - touch: true, - trigger: 'mouseenter focus', - triggerTarget: null, - updateDuration: 0, - zIndex: 9999 -}, pluginProps); -var defaultKeys = Object.keys(defaultProps); -/** - * If the setProps() method encounters one of these, the popperInstance must be - * recreated - */ - -var POPPER_INSTANCE_DEPENDENCIES = ['arrow', 'boundary', 'distance', 'flip', 'flipBehavior', 'flipOnUpdate', 'offset', 'placement', 'popperOptions']; -/** - * Mutates the defaultProps object by setting the props specified - */ - -var setDefaultProps = function setDefaultProps(partialProps) { - if (process.env.NODE_ENV !== "production") { - validateProps(partialProps, []); - } - - var keys = Object.keys(partialProps); - keys.forEach(function (key) { - defaultProps[key] = partialProps[key]; - }); -}; -/** - * Returns an extended props object including plugin props - */ - -function getExtendedPassedProps(passedProps) { - var plugins = passedProps.plugins || []; - var pluginProps = plugins.reduce(function (acc, plugin) { - var name = plugin.name, - defaultValue = plugin.defaultValue; - - if (name) { - acc[name] = passedProps[name] !== undefined ? passedProps[name] : defaultValue; - } - - return acc; - }, {}); - return _extends({}, passedProps, {}, pluginProps); -} -/** - * Returns an object of optional props from data-tippy-* attributes - */ - -function getDataAttributeProps(reference, plugins) { - var propKeys = plugins ? Object.keys(getExtendedPassedProps(_extends({}, defaultProps, { - plugins: plugins - }))) : defaultKeys; - var props = propKeys.reduce(function (acc, key) { - var valueAsString = (reference.getAttribute("data-tippy-" + key) || '').trim(); - - if (!valueAsString) { - return acc; - } - - if (key === 'content') { - acc[key] = valueAsString; - } else { - try { - acc[key] = JSON.parse(valueAsString); - } catch (e) { - acc[key] = valueAsString; - } - } - - return acc; - }, {}); - return props; -} -/** - * Evaluates the props object by merging data attributes and disabling - * conflicting props where necessary - */ - -function evaluateProps(reference, props) { - var out = _extends({}, props, { - content: invokeWithArgsOrReturn(props.content, [reference]) - }, props.ignoreAttributes ? {} : getDataAttributeProps(reference, props.plugins)); - - if (out.interactive) { - out.aria = null; - } - - return out; -} -/** - * Validates props with the valid `defaultProps` object - */ - -function validateProps(partialProps, plugins) { - if (partialProps === void 0) { - partialProps = {}; - } - - if (plugins === void 0) { - plugins = []; - } - - var keys = Object.keys(partialProps); - keys.forEach(function (prop) { - var value = partialProps[prop]; - var didSpecifyPlacementInPopperOptions = prop === 'popperOptions' && value !== null && typeof value === 'object' && hasOwnProperty(value, 'placement'); - var nonPluginProps = removeProperties(defaultProps, ['animateFill', 'followCursor', 'inlinePositioning', 'sticky']); // These props have custom warnings - - var customWarningProps = ['a11y', 'arrowType', 'showOnInit', 'size', 'target', 'touchHold']; - var didPassUnknownProp = !hasOwnProperty(nonPluginProps, prop) && !includes(customWarningProps, prop); // Check if the prop exists in `plugins` - - if (didPassUnknownProp) { - didPassUnknownProp = plugins.filter(function (plugin) { - return plugin.name === prop; - }).length === 0; - } - - warnWhen(prop === 'target', ['The `target` prop was removed in v5 and replaced with the delegate() addon', 'in order to conserve bundle size.', 'See: https://atomiks.github.io/tippyjs/addons/#event-delegation'].join(' ')); - warnWhen(prop === 'a11y', ['The `a11y` prop was removed in v5. Make sure the element you are giving a', 'tippy to is natively focusable, such as ").text(this.options.lang.next).addClass("btn btn-secondary sw-btn-next").attr("type","button"):null,n=!1!==this.options.toolbarSettings.showPreviousButton?l("").text(this.options.lang.previous).addClass("btn btn-secondary sw-btn-prev").attr("type","button"):null,r=l("
").addClass("btn-group mr-2 sw-btn-group").attr("role","group").append(n,i),s=null;switch(this.options.toolbarSettings.toolbarExtraButtons&&0").addClass("btn-group mr-2 sw-btn-group-extra").attr("role","group"),l.each(this.options.toolbarSettings.toolbarExtraButtons,function(t,e){s.append(e.clone(!0))})),this.options.toolbarSettings.toolbarPosition){case"top":(t=l("
").addClass("btn-toolbar sw-toolbar sw-toolbar-top justify-content-"+this.options.toolbarSettings.toolbarButtonPosition)).append(r),"start"===this.options.toolbarSettings.toolbarButtonPosition?t.prepend(s):t.append(s),this.container.before(t);break;case"bottom":(e=l("
").addClass("btn-toolbar sw-toolbar sw-toolbar-bottom justify-content-"+this.options.toolbarSettings.toolbarButtonPosition)).append(r),"start"===this.options.toolbarSettings.toolbarButtonPosition?e.prepend(s):e.append(s),this.container.after(e);break;case"both":(t=l("
").addClass("btn-toolbar sw-toolbar sw-toolbar-top justify-content-"+this.options.toolbarSettings.toolbarButtonPosition)).append(r),"start"===this.options.toolbarSettings.toolbarButtonPosition?t.prepend(s):t.append(s),this.container.before(t),(e=l("
").addClass("btn-toolbar sw-toolbar sw-toolbar-bottom justify-content-"+this.options.toolbarSettings.toolbarButtonPosition)).append(r.clone(!0)),null!==s&&("start"===this.options.toolbarSettings.toolbarButtonPosition?e.prepend(s.clone(!0)):e.append(s.clone(!0))),this.container.after(e);break;default:(e=l("
").addClass("btn-toolbar sw-toolbar sw-toolbar-bottom justify-content-"+this.options.toolbarSettings.toolbarButtonPosition)).append(r),this.options.toolbarSettings.toolbarButtonPosition,e.append(s),this.container.after(e)}return!0},_setEvents:function(){var i=this;return l(this.steps).on("click",function(t){if(t.preventDefault(),!1===i.options.anchorSettings.anchorClickable)return!0;var e=i.steps.index(this);if(!1===i.options.anchorSettings.enableAnchorOnDoneStep&&i.steps.eq(e).parent("li").hasClass("done"))return!0;e!==i.current_index&&(!1!==i.options.anchorSettings.enableAllAnchors&&!1!==i.options.anchorSettings.anchorClickable?i._showStep(e):i.steps.eq(e).parent("li").hasClass("done")&&i._showStep(e))}),l(".sw-btn-next",this.main).on("click",function(t){t.preventDefault(),i._showNext()}),l(".sw-btn-prev",this.main).on("click",function(t){t.preventDefault(),i._showPrevious()}),this.options.keyNavigation&&l(t).keyup(function(t){i._keyNav(t)}),this.options.backButtonSupport&&l(r).on("hashchange",function(t){if(!i.options.useURLhash)return!0;if(r.location.hash){var e=l("a[href*='"+r.location.hash+"']",i.nav);e&&0")["prepend"==this.insertMode?"prependTo":"appendTo"](this.el)[0]);var t=this.canvas;if(t.width=this.size,t.height=this.size,this.ctx=t.getContext("2d"),1")[0];t.width=i.size,t.height=i.size,t.getContext("2d").drawImage(e,0,0,s,s),i.arcFill=i.ctx.createPattern(t,"no-repeat"),i.drawFrame(i.lastFrameValue)}var e,i=this,n=this.fill,r=this.ctx,s=this.size;if(!n)throw Error("The fill is not specified!");if("string"==typeof n&&(n={color:n}),n.color&&(this.arcFill=n.color),n.gradient){var a=n.gradient;if(1==a.length)this.arcFill=a[0];else if(1n.oldScroll?n.forward:n.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s];if(null!==a.triggerPoint){var o=n.oldScroll=a.triggerPoint;(o&&l||!o&&!l)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}}for(var h in t)t[h].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?m.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?m.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var n=0,r=t.length;n=s.oldScroll,u=!l&&!h,!g&&l&&h?(c.queueTrigger(s.backward),n[c.group.id]=c.group):!g&&u?(c.queueTrigger(s.forward),n[c.group.id]=c.group):g&&s.oldScroll>=c.triggerPoint&&(c.queueTrigger(s.forward),n[c.group.id]=c.group)}}return m.requestAnimationFrame(function(){for(var t in n)n[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in n)n[t].refresh()},e.findByElement=function(t){return n[t.waypointContextKey]},window.onload=function(){t&&t(),e.refreshAll()},m.requestAnimationFrame=function(t){(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)}).call(window,t)},m.Context=e}(),function(){"use strict";function a(t,e){return t.triggerPoint-e.triggerPoint}function o(t,e){return e.triggerPoint-t.triggerPoint}function e(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),i[this.axis][this.name]=this}var i={vertical:{},horizontal:{}},n=window.Waypoint;e.prototype.add=function(t){this.waypoints.push(t)},e.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],right:[]}},e.prototype.flushTriggers=function(){for(var t in this.triggerQueues){var e=this.triggerQueues[t],i="up"===t||"left"===t;e.sort(i?o:a);for(var n=0,r=e.length;n - - - - - - Gradido Login Server: Überprüfe Transaktion - - - - - - - -
- - -
- -
-
-

Transaktion unterzeichnen

-
-

Überweisung

-
-
- Konto - Gradido -
-
- Normaler User <info@software-labor.de> - -10 GDD -
-
- dario frodo <dariofrodo@gmx.de> - 10 GDD -
-
-
-
- Aktives Konto -
-
- Normaler User <info@software-labor.de> -
-
-
-
- Verwendungszweck -
-
-   -
-
-
- - -
-
-
-
-
-
- - -
- 98.597 ms -
-
-

Community Server in Entwicklung

-

Alpha 0.21.KW21.05

-
- - - - \ No newline at end of file diff --git a/community_server/websrc/gulpfile.js b/community_server/websrc/gulpfile.js deleted file mode 100644 index a1cd459f7..000000000 --- a/community_server/websrc/gulpfile.js +++ /dev/null @@ -1,58 +0,0 @@ -var gulp = require('gulp'); -var less = require('gulp-less'); -var concat = require('gulp-concat'); -var merge = require('merge-stream'); -var watch = require('gulp-watch'); -//var minify = require('gulp-minify'); -var cleanCSS = require('gulp-clean-css'); - -var bundleStyles = function() { - - var lessStream = gulp.src('src/less/*.less') - .pipe(concat('src/less-files.less')) - .pipe(less()) - .pipe(gulp.dest('./')) - ; - - var mergedStream = merge(lessStream) - .pipe(concat('grd_styles.css')) - //.pipe(minify()) - .pipe(gulp.dest('../webroot/css/')); - - return mergedStream; -}; - -var compressStyles = function() { - var lessStream = gulp.src('src/less/*.less') - .pipe(concat('src/less-files.less')) - .pipe(less()) - .pipe(gulp.dest('./')) - ; - - var mergedStream = merge(lessStream) - .pipe(concat('grd_styles.min.css')) - .pipe(cleanCSS({ - compatibility: 'ie8', - level: { - 1: { - all: true - }, - 2: { - all: true - } - } - })) - .pipe(gulp.dest('../webroot/css/')); - - return mergedStream; -}; - -gulp.task("bundleStyles", bundleStyles); -gulp.task("compressStyles", compressStyles); - -gulp.task('watchStyles', function() { - bundleStyles(); - watch("src/less/*.less", function() { - bundleStyles(); - }); -}); \ No newline at end of file diff --git a/community_server/websrc/package.json b/community_server/websrc/package.json deleted file mode 100644 index 8d456e83b..000000000 --- a/community_server/websrc/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "gradido_mithriljs_client", - "version": "0.0.1", - "description": "Webinterface Client for Gradido Websites written with mithrilJS", - "main": "app.js", - "scripts": { - "watch:js": "watchify ./src/js/app.js -t [ babelify --presets [ @babel/preset-env ] ] -o ../webroot/js/app.js -v", - "watch:css": "gulp watchStyles", - "bundle:css": "gulp bundleStyles", - "prebuild": "browserify ./src/js/app.js -t [ babelify --presets [ @babel/preset-env ] ] -o ./public/app.rl.js -v", - "build": "gulp compressStyles && browserify ./public/app.rl.js -g uglifyify -p bundle-collapser/plugin | uglifyjs --compress --mangle toplevel,eval > ../webroot/js/app.min.js" - }, - "author": "Dario Rekowski", - "license": "ISC", - "dependencies": { - "google-protobuf": "^3.10.0-rc.1", - "mithril": "github:StephanHoyer/mithril.js#rewrite" - }, - "devDependencies": { - "@babel/core": "^7.6.0", - "@babel/preset-env": "^7.6.0", - "babelify": "^10.0.0", - "browserify": "^16.5.0", - "bs58check": "^2.1.2", - "bundle-collapser": "^1.3.0", - "gulp": "^4.0.2", - "gulp-clean-css": "^4.3.0", - "gulp-concat": "^2.6.1", - "gulp-less": "^4.0.1", - "gulp-minify": "^3.1.0", - "gulp-watch": "^5.0.1", - "merge-stream": "^2.0.0", - "uglify-js": "^3.6.0", - "uglifyify": "^5.0.2" - } -} diff --git a/community_server/websrc/src/less/01-layout.less b/community_server/websrc/src/less/01-layout.less deleted file mode 100644 index 2aed60860..000000000 --- a/community_server/websrc/src/less/01-layout.less +++ /dev/null @@ -1,113 +0,0 @@ -/* ============================================================ - - Grid Layout Page - - Datei : layout.less - Datum : 2020-04-30 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ - -/*==================================== -= BREAK POINTS = -====================================*/ - -/* https://scotch.io/courses/getting-started-with-less/responsive-and-media-queries */ -@wide-screen-down: ~'(max-width:1199px)'; -@desktop-down: ~'(max-width:991px)'; -@tablet-down: ~'(max-width:767px)'; -@phone-down: ~'(max-width:480px)'; -@small-phone-down: ~'(max-width:320px)'; - -/* GRID */ -.layout { - display: grid; - grid-template-rows: [top] 8vh [line2] 86vh [footer1] 3vh [footer2] 5vh [end]; - grid-template-columns: [left1] auto [left2] 1fr [left3] 12fr [right3] 1fr [right2] auto [right1]; - grid-template-areas: "header header header header header" - "left . center center ." - "footer footer footer footer footer" - "bottom bottom bottom bottom bottom"; - margin: 0; - padding: 0; -} - -@media @wide-screen-down { - .layout { - grid-template-areas: "header header header header header" - "left . center center center" - "footer footer footer footer footer" - "bottom bottom bottom bottom bottom"; - } - -} - -@media @tablet-down { - .layout { - position: relative; - display: grid; - grid-template-rows: [top] 12vh [line2] 80vh [footer1] 3vh [footer2] 8vh [end]; - grid-template-columns: [left1] 100vw [right1]; - grid-template-areas: "header" - "center" - "footer" - "bottom"; - margin: 0; - padding: 0; - } - -} - -.header-notify { - grid-area: header; - grid-column-start: right3; - grid-column-end: right2; -} - -.header-user { - grid-area: header; - grid-column-start: right2; - grid-column-end: right1; -} - -.sidebar1 { - grid-area: left; - grid-row-start: top; - grid-row-end: end; -} - -@media @tablet-down { - .sidebar1 { - position: relative; - grid-area: header; - z-index: 2; - top: -300px; - right: 0px; - } - - .header-user, - .header-notify { - grid-area: header; - } - -} - -.center-form-single, -.content { - grid-area: center; - grid-row-start: line2; - grid-row-end: footer1; -} - -.footer { - grid-area: footer; - grid-row-start: footer1; - grid-row-end: footer2; -} - -.nav-bottom { - grid-area: bottom; - grid-row-start: footer2; - grid-row-end: end; -} diff --git a/community_server/websrc/src/less/02-colors.less b/community_server/websrc/src/less/02-colors.less deleted file mode 100644 index 90eff9346..000000000 --- a/community_server/websrc/src/less/02-colors.less +++ /dev/null @@ -1,160 +0,0 @@ -/* ============================================================ - - Generic Color Definitions - - Vars and some generic CSS rules. - - Datei : colors.less - Datum : 2020-05-26 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ - -/* MAIN */ -@main-background: #f9fafb; -@main-text: #212529; -@main-link-text: #000; - -/* MENU */ -@menu-background: #fff; -@menu-link-text: #4F4F4F; -@menu-link-selected: #047006; -@menu-border-color: #f2f4f5; - -/* CONTENT */ -@container-background: #fff; -@container-text: #212529; -@container-header: #21252969; -@container-shadow: rgba(183, 192, 206, .2); -@container-border: rgba(238, 238, 238, .75); - -/* CONTENT-NAV */ -@content-nav: #565656; - -/* CONTENT-ITEMS */ -@action-button-text: #fff; -@action-button-border: #047006; -@action-button-background1: #047006; -@action-button-background: #f9fafb; -@info-item-border: grey; -@form-header-border: #047006; -@form-header-background: #f9fafb; - -/* CONTENT-TABLE */ -@content-table-title: #313131; -@content-table-header: #101010; -@content-table-header-bg: #fafafa; -@content-table-header-border: #f2f4f9; -@content-row-bg: #f0f2f5; - -/* FORMS */ -@form-label: #212529; -@badge-color-warning: #fff; -@badge-background-warning: #00e093; -@badge-color-error: #fff; -@badge-background-error: #ff5f66; - -/* VARIOUS INDIVIDUAL */ -@orange: #ffa600; - -/* XXX TODO XXX */ -@dialog-background: #fff; - -/*rgba(0, 0, 0, 0.5) ??? */ -@dialog-text: #000; -@dialog-background-extra: rgba(0, 0, 0, 0.1); -@dialog-border: grey; -@form-text-background: rgba(0, 0, 0, 0.05); -@form-button-border: grey; -@form-button-text: #444; -@button-text: #000; -@button-border-color: #000; -@button-background-active: lightgray; -@print-background: #111; -@print-text: #000; -@print-link-text: #06c; -@gdt-text: #a27824; - -/* NOTIFICATION */ -@info: grey; -@info-border: gray; -@info-background: #80808026; -@info-background-icon: #80808026; -@error: red; -@error-border: rgba(255, 0, 0, 0.5); -@success: #047006; -@success-message: #1A1A1A; -@success-message-background: #06c50a; -@success-border: #04700675; -@success-background-icon: rgba(4, 112, 6, 0.2); -@success-background-hover: lightgreen; -@alert: #ff5f66; -@alert-color: #fff; -@alert-background: #ff5f669e; -@alert-background-icon: #ff5f662e; -@alert-blink: #ff5f669e; -@notify: #525c5d; -@notify-blink: #525c5d82; - -/* https://www.w3schools.com/colors/colors_shades.asp */ -@unobtrusive: grey; -@light: #F5F5F5; -@verylight: #fbfbfb; - -.info-color { - color: @info; -} - -.success-color { - color: @success; -} - -.alert-color { - color: @alert; -} - -.orange-color { - color: @orange -} - -.blue-color { - color: blue -} - -.unobtrusive { - color: @unobtrusive; -} - -.info-icon { - color: @info; - background-color: @info-background-icon; -} - -.success-icon { - color: @success; - background-color: @success-background-icon; -} - -.alert-icon { - color: @alert; - background-color: @alert-background-icon; -} - -/* ======================= - Gradido - =======================*/ - -/* Gradido */ -.grd-negative-currency { - color: red; -} - -/* Gradido Transform */ -.gdt-text-color { - color: @gdt-text; -} - -.grd_clickable { - cursor: pointer; -} diff --git a/community_server/websrc/src/less/03-typography.less b/community_server/websrc/src/less/03-typography.less deleted file mode 100644 index 06572c9ff..000000000 --- a/community_server/websrc/src/less/03-typography.less +++ /dev/null @@ -1,32 +0,0 @@ -/* ============================================================ - - Typography Definitions - - Datei : typography.less - Datum : 2020-05-26 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -@body-fs: 100%; -@body-lh: 27px; -@content-lh: 1.75em; -@content-letter-spacing: .03rem; -@nav-fs: .8em; -@nav-bottom-fs: .9em; -@nav-bottom-fs-mobile: .8em; -@nav-btn-large-fs: 35px; -@nav-icon-fs: 1.2em; -@nav-icons-fs: 18px; -@nav-icon-main-fs: 32px; -@footer-fs: 70%; -@sidebar1-header-fs: .75em; -@sidebar1-lh: 2.5em; -@link-title-lh: normal; -@devinfo-fs: smaller; -@devinfo-fs-mobile: .7em; - -.small-font { - font-size: .75em; - font-weight: 300; -} diff --git a/community_server/websrc/src/less/05-screen.less b/community_server/websrc/src/less/05-screen.less deleted file mode 100644 index 975d57dc1..000000000 --- a/community_server/websrc/src/less/05-screen.less +++ /dev/null @@ -1,174 +0,0 @@ -/* ============================================================ - - Basic screen styles. - - Datei : screen.less - Datum : 2020-04-30 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -@font-face { - font-family: 'Material Icons Outlined'; - font-style: normal; - font-weight: 400; - src: url(../fonts/MaterialIconsOutlined/Material-Icons-Outline.eot); /* For IE6-8 */ - src: local('Material Icons Outlined'), local('Material-Icons-Outlined'), url(../fonts/MaterialIconsOutlined/Material-Icons-Outline.woff2) format('woff2'), url(../fonts/MaterialIconsOutlined/Material-Icons-Outline.woff) format('woff'), url(../fonts/MaterialIconsOutlined/Material-Icons-Outline.ttf) format('truetype'); -} - -.material-icons-outlined { - font-family: 'Material Icons Outlined'; - font-weight: normal; - font-style: normal; - font-size: 24px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - vertical-align: middle; - display: inline-block; - white-space: nowrap; - word-wrap: normal; - direction: ltr; - -webkit-font-feature-settings: 'liga'; - -webkit-font-smoothing: antialiased; -} - -@media screen { - - /* ======================= - Basis - =======================*/ - html, - body { - font-family: 'Roboto', sans-serif; - font-size: @body-fs; - line-height: @body-lh; - color: @main-text; - background-color: @main-background; - margin: 0; - overflow: auto; - } - - div { - border-collapse: collapse; - box-sizing: border-box; - } - - /* ======================= - Kopfbereich - =======================*/ - .header { - display: flex; - justify-content: space-between; - align-items: center; - flex: flex-grow; - width: 100%; - padding: 1em; - background-color: @menu-background; - } - - /* ======================= - Fußbereich - =======================*/ - .footer { - display: flex; - flex-direction: column; - justify-content: flex-start; - align-items: center; - font-size: @footer-fs; - font-style: italic; - line-height: 0; - } - - .bottomright { - position: fixed; - bottom: 0; - right: 0; - color: @unobtrusive; - font-size: @devinfo-fs; - line-height: .125em; - padding-right: .25em; - text-align: right; - } - - @media @tablet-down { - .bottomright { - font-size: @devinfo-fs-mobile; - font-weight: 300; - line-height: 1em; - width: 100px; - } - - .bottomright p { - margin-block-start: 0; - margin-block-end: 2px; - margin-inline-start: 0; - margin-inline-end: 0; - } - - } - - .bottomleft { - position: fixed; - bottom: 0; - left: 0; - color: @unobtrusive; - font-size: @devinfo-fs; - line-height: 1.125em; - padding-left: 0.25em; - } - - /* ======================= - Sonstige - =======================*/ - - /* Hyperlinks */ - a { - text-decoration: none; - color: inherit; - } - - main a { - text-decoration: underline; - font-style: italic; - } - - a:link, - a:visited { - color: inherit; - } - - a:hover, - a:focus { - text-decoration: underline; - } - - a:active { - background-color: @menu-background; - color: @main-link-text; - } - - a:focus, - a:active { - outline: none; - } - - a.grd_invisible_link { - color: @main-link-text; - text-decoration: none; - } - - a.grd_invisible_link:hover { - color: @unobtrusive; - } - - [type=button]:not(:disabled), - [type=reset]:not(:disabled), - [type=submit]:not(:disabled), - button:not(:disabled) { - cursor: pointer - } - -} - -/* Ende @media screen */ diff --git a/community_server/websrc/src/less/06-messages.less b/community_server/websrc/src/less/06-messages.less deleted file mode 100644 index 4c4d0fcb7..000000000 --- a/community_server/websrc/src/less/06-messages.less +++ /dev/null @@ -1,89 +0,0 @@ -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ - -/* ============================================================ - - Screen styles for flash messages. - - Datei : messages.css - Datum : 30.10.2019, 16:04:16 - Autor : einhornimmond, Christine Slotty - Copyright : Gradio - - ============================================================*/ -@media screen { - .flash-messages { - width: 30%; - position: absolute; - top: 57px; - left: 241px; - text-align: center; - - .alert { - margin: 0; - padding: 1em; - vertical-align: middle; - border-radius: 5px; - } - - .alert-success { - color: @success-message !important; - background-color: @success-message-background; - border: 1px solid @success-border; - } - - .alert-error { - color: @alert-color !important; - background-color: @error; - border: 1px solid @error-border; - } - - .message { - padding: 5px; - } - - .success { - color: @success; - } - - .error { - color: @error; - } - - } - - .flash-messages.hidden { - display: none; - } - - @media @tablet-down { - .flash-messages { - width: 90%; - top: 0; - left: 0; - text-align: center; - } - - } - - /* messages, update flash */ - .grd-error { - color: @error; - border: 1px solid @error-border; - padding: 5px; - } - - .grd-info { - border: 1px dotted @info-border; - padding: 5px; - } - - .grd-success { - padding: 5px; - color: @success; - } - -} diff --git a/community_server/websrc/src/less/07-user.less b/community_server/websrc/src/less/07-user.less deleted file mode 100644 index 50270ff49..000000000 --- a/community_server/websrc/src/less/07-user.less +++ /dev/null @@ -1,134 +0,0 @@ -/* ============================================================ - - User Menu - - Datei : user.less - Datum : 2020-07-03 - Autor : Christine Slotty - Copyright : Gradido - - ============================================================*/ -@media screen { - .header-user { - display: flex; - flex-direction: column; - justify-content: flex-start; - align-items: flex-end; - align-content: flex-end; - position: relative; - width: 100%; - min-width: 12em; - height: 40px; - background-color: @container-background; - border: 1px solid @menu-border-color; - border-radius: 0 0 0 18px; - } - - .user-menu-container { - display: flex; - justify-content: flex-end; - align-items: center; - font-size: .8em; - font-weight: 300; - padding: .25em .5em; - z-index: 20; - height: 40px; - } - - .user-name, - .user-icon { - display: inline-block; - vertical-align: middle; - cursor: pointer; - } - - .user-name { - padding-right: .25em; - } - - .nav-vertical.user-menu { - display: none; - background-color: @container-background; - border-left: 1px solid @menu-border-color; - border-bottom: 1px solid @menu-border-color; - border-radius: 0 0 16px 16px; - z-index: 15; - font-size: .9em; - margin-top: 0 !important; - position: fixed; - top: 39px; - right: 0; - } - - .nav-vertical.user-menu.visible { - display: inherit; - } - - .nav-vertical.user-menu > ul { - padding: 2em; - padding-top: .5em; - padding-bottom: 1em; - margin-block-end: 0; - margin-block-start: 0; - } - - .nav-vertical.user-menu li { - padding: .0125em; - } - - .nav-top > ul { - padding: 0; - padding-right: 2em; - } - - .material-icons-outlined.user-info { - color: @unobtrusive; - } - - .material-icons-outlined.user-info.success { - color: @success; - } - - @media @tablet-down { - .header-user { - position: relative; - min-width: 3em; - background-color: transparent; - justify-content: center; - height: 100%; - margin-top: -13px; - margin-left: -16px; - color: @action-button-background1; - } - - .user-menu-container { - margin: 0; - padding: 0; - } - - .user-icon { - - } - .user-name { - display: none; - } - - .nav-vertical { - margin-top: 55px; - } - - .nav-vertical.user-menu { - position: fixed; - top: 1px; - right: 0; - margin-top: 0; - } - - .nav-vertical.user-menu > ul { - padding: 1em 1em; - padding-top: 3em; - } - - } - -} diff --git a/community_server/websrc/src/less/08-navi.less b/community_server/websrc/src/less/08-navi.less deleted file mode 100644 index e71ce93a2..000000000 --- a/community_server/websrc/src/less/08-navi.less +++ /dev/null @@ -1,451 +0,0 @@ -/* ============================================================ - - Navigation - - Datei : navi.less - Datum : 2020-04-30 - Autor : einhornimmond / Christine Slotty - Copyright : Gradido - - ============================================================*/ -@media screen { - .logo { - display: none; - vertical-align: middle; - height: 30px; - padding: .5em; - } - - .logo.big.visible, - .logo.small.visible { - display: block !important; - } - - .logo.mobile { - display: none; - } - - .logo.small.visible { - padding-left: 41px; - } - - /* - SIDEBARS - */ - .sidebar1 { - background-color: @menu-background; - font-size: @nav-fs; - font-weight: 500; - line-height: @sidebar1-lh; - padding: 0; - border-right: 1px solid @menu-border-color; - } - - .sidebar2 { - padding: 1em; - background-color: @main-background; - } - - .sidebar1-header { - font-size: @sidebar1-header-fs; - font-style: italic; - color: @unobtrusive; - } - - /* set general icons size here! */ - .nav-icon { - font-size: @nav-icons-fs !important; - color: @menu-link-text; - vertical-align: middle; - padding-right: 1em; - } - - /* important! order matters! we need to overwrite the main button's size here */ - .nav-main-button { - font-size: @nav-icon-main-fs !important; - color: @unobtrusive; - margin: .3em; - } - - /* Hide mobile menu button! */ - .nav-main-button.mobile { - display: none; - } - - .nav-menu.nav-menu-maximized { - width: 280px; - height: 100%; - } - - .nav-menu.nav-menu-minimized { - width: 120px; - height: 100%; - } - - .nav-menu-maximized { - -webkit-animation: slide-out 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; - animation: slide-out 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; - } - - .nav-menu-minimized { - -webkit-animation: slide-in 0.1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; - animation: slide-in 0.1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; - } - - .nav-menu-minimized .link-title { - display: none; - } - - .nav-menu-minimized .nav-icon, - .nav-menu-minimized .nav-main-button { - padding-left: 72px; - } - - /** - * ---------------------------------------- - * animations slide-in / slide-out - * ---------------------------------------- - */ - - /* slide-in */ - @-webkit-keyframes slide-in { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - opacity: 0; - } - - 100% { - -webkit-transform: translateX(-74px); - transform: translateX(-74px); - opacity: 1; - } - - } - - @keyframes slide-in { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - opacity: 0; - } - - 100% { - -webkit-transform: translateX(-74px); - transform: translateX(-74px); - opacity: 1; - } - - } - - /* slide-out */ - @-webkit-keyframes slide-out { - 0% { - -webkit-transform: translateX(-74px); - transform: translateX(-74px); - } - - 100% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - } - - @keyframes slide-out { - 0% { - -webkit-transform: translateX(-74px); - transform: translateX(-74px); - } - - 100% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - } - - /* - NAVI MOBILE - */ - @media @tablet-down { - .logo.big, - .logo.small { - display: none; - } - - .logo.visible { - padding: 0 !important; - } - - .logo, - .logo.mobile, - .logo.mobile.visible { - display: block; - position: fixed; - top: 12px; - left: 12px; - } - - .logo.big, - .logo.big.visible { - display: none !important; - } - - .nav-main-button { - display: none; - } - - .nav-main-button.mobile { - display: block; - position: fixed; - top: 2px; - right: 46px; - z-index: 3; - } - - .nav-menu.nav-menu-minimized, - .nav-menu.nav-menu-maximized { - width: 280px; - height: 300px; - } - - /* .nav-menu-minimized .link-title { - display: inherit; - } - */ - .nav-menu-minimized .nav-icon, - .nav-menu-minimized .nav-main-button { - padding-left: 0; - } - - /* Here we "revert' maximized / minimized and change the animation */ - .nav-menu-maximized { - -webkit-animation: slide-down 0.1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; - animation: slide-down 0.1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; - } - - .nav-menu-minimized { - -webkit-animation: slide-up 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; - animation: slide-up 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both; - } - - /** - * ---------------------------------------- - * animations slide-down / slide-up - * ---------------------------------------- - */ - - /* slide-down */ - @-webkit-keyframes slide-down { - 0% { - -webkit-transform: translateY(0); - transform: translateY(0); - opacity: 0; - } - - 100% { - -webkit-transform: translateY(300px); - transform: translateX(300px); - opacity: 1; - } - - } - - @keyframes slide-down { - 0% { - -webkit-transform: translateY(0); - transform: translateY(0); - opacity: 0; - } - - 100% { - -webkit-transform: translateY(300px); - transform: translateY(300px); - opacity: 1; - } - - } - - /* slide-up */ - @-webkit-keyframes slide-up { - 0% { - -webkit-transform: translateY(0); - transform: translateY(0); - } - - 100% { - -webkit-transform: translateY(-300px); - transform: translateY(-300px); - } - - } - - @keyframes slide-up { - 0% { - -webkit-transform: translateY(0); - transform: translateY(0); - } - - 100% { - -webkit-transform: translateY(-300px); - transform: translateY(-300px); - } - - } - - } - - /* END navi mobile base */ - .selected { - color: @menu-link-selected; - } - - .link-title { - vertical-align: middle; - line-height: @link-title-lh; - background-color: transparent; - } - - .nav-horizontal { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: center; - align-items: flex-end; - list-style-type: none; - gap: 5%; - padding: 1em; - } - - .footer .nav-horizontal { - gap: 0; - padding: 0 1em; - padding-inline-start: 0 !important; - } - - .nav-top-smaller { - margin: 0; - padding: 0; - } - - .nav-smaller { - justify-content: left; - align-items: flex-start; - gap: 0; - padding: 0; - } - - .nav-smaller li { - padding: 0 !important; - padding: .2em .5em !important; - border: 1px solid @action-button-border; - margin: .1em .3em; - border-radius: 12px; - } - - .nav-smaller .heading { - font-weight: bold; - } - - .nav-vertical { - margin-top: -2em; - } - - .nav-horizontal li { - padding: .5em; - } - - .nav-vertical > ul { - display: flex; - flex-direction: column; - list-style-type: none; - gap: 5%; - padding: 1em; - } - - .nav-vertical li { - padding: .5em; - } - - .nav-top > ul { - padding: 0; - padding-right: 2em; - } - - @media @tablet-down { - .nav-vertical { - margin-top: 55px; - } - - } - - .nav-bottom { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - list-style-type: none; - margin-bottom: 20px; - } - - .nav-bottom p { - font-size: @nav-bottom-fs; - color: @unobtrusive; - margin: 0; - } - - @media @tablet-down { - .nav-bottom p { - font-size: @nav-bottom-fs-mobile; - margin-top: -10px; - } - - } - - nav { - &.grd-left-bar { - position: fixed; - top: 80.5px; - } - - .grd-nav-bn { - width: 100px; - } - - ul { - margin-top: 0; - padding-left: 0; - } - - } - - /* buttons */ - .grd-nav-bn:hover, - .grd-active { - background-color: @button-background-active; - border-color: @main-link-text; - } - - .grd-nav-bn { - padding: 10px; - border: 1px solid @unobtrusive; - display: table-cell; - text-align: center; - vertical-align: middle; - color: @unobtrusive; - } - - .grd-nav-bn-large { - width: 40vw; - height: 18vh; - font-size: @nav-btn-large-fs; - } - - a.grd-nav-bn, - a.grd-nav-bn:visited { - color: @main-link-text; - text-decoration: none; - } - -} diff --git a/community_server/websrc/src/less/09-notification.less b/community_server/websrc/src/less/09-notification.less deleted file mode 100644 index a9bf74c0a..000000000 --- a/community_server/websrc/src/less/09-notification.less +++ /dev/null @@ -1,160 +0,0 @@ -/* ============================================================ - - Notification - - Datei : notification.css - Datum : 2020-06-10 - Autor : Christine Slotty - Copyright : Gradido - - ============================================================*/ -@media screen { - .header-notify { - display: flex; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; - z-index: 10; - } - - @media @tablet-down { - .header-notify { - justify-content: flex-end; - margin-right: 93px; - margin-top: 8px; - } - - } - - .notify { - display: block; - padding: .5rem .3rem; - color: @notify; - animation: blinkingNotifySymbol 1.2s infinite; - } - - .notify-alert { - color: @alert; - animation: blinkingAlertSymbol 1.2s infinite; - } - - @keyframes blinkingNotifySymbol { - 0% { - color: @notify; - } - - 49% { - color: @notify; - } - - 60% { - color: @notify-blink; - } - - 99% { - color: @notify-blink; - } - - 100% { - color: @notify; - } - - } - - @keyframes blinkingAlertSymbol { - 0% { - color: @alert; - } - - 49% { - color: @alert; - } - - 60% { - color: @alert-blink; - } - - 99% { - color: @alert-blink; - } - - 100% { - color: @alert; - } - - } - - /* - .notification-indicator-primary { - background: #047006; - } - - .notification-indicator-warning { - background: #f0825f - } - .notification-indicator-secondary { - background: grey - } - - .notification-indicator-secondary:before { - content: ""; - background: rgba(128, 128, 128, .5) - } - - .notification-indicator-success { - background: #00e093 - } - - .notification-indicator-success:before { - content: ""; - background: rgba(0, 224, 147, .5) - } - - .notification-indicator-info { - background: #6c61f6 - } - - .notification-indicator-info:before { - content: ""; - background: rgba(108, 97, 246, .5) - } - - - .notification-indicator-danger { - background: #ff5f66 - } - - .notification-indicator-danger:before { - content: ""; - background: rgba(255, 95, 102, .5) - } - - .notification-indicator-light { - background: #dfdfdf - } - - .notification-indicator-light:before { - content: ""; - background: rgba(223, 223, 223, .5) - } - - .notification-indicator-dark { - background: #74767b - } - - .notification-indicator-dark:before { - content: ""; - background: rgba(116, 118, 123, .5) - } - - .notification-indicator-white { - background: #fff - } - - .notification-indicator-white:before { - content: ""; - background: rgba(255, 255, 255, .5) - } - */ -} diff --git a/community_server/websrc/src/less/10-center.less b/community_server/websrc/src/less/10-center.less deleted file mode 100644 index 3163e566e..000000000 --- a/community_server/websrc/src/less/10-center.less +++ /dev/null @@ -1,224 +0,0 @@ -/* ============================================================ - - Screen styles for the regular center part. - - Datei : center.css - Datum : 2020-04-30 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -@media screen { - - /* ========= - CONTENT - =========*/ - .content-default { - display: flex; - justify-content: center; - max-width: 90%; - } - - .content { - display: flex; - justify-content: flex-start; - flex-direction: column; - overflow: auto; - width: 100%; - background-color: @main-background; - line-height: @content-lh; - letter-spacing: @content-letter-spacing; - font-family: Roboto, sans-serif; - font-weight: 500; - font-size: 1rem; - padding-right: 5em; - } - - @media @tablet-down { - .content { - padding-right: 0; - } - - } - - /* Center Navigation Top */ - .nav-content { - position: relative; - color: @content-nav; - margin: 0 .25em; - } - - .nav-content-list { - display: flex; - list-style-type: none; - padding: 0; - margin-left: .25em; - } - - .nav-content-separator { - margin: 0 1em; - } - - @media @tablet-down { - .nav-content-list { - display: flex; - font-size: small; - margin-bottom: 0; - justify-content: center; - } - - } - - /* Center Content Container */ - .content-container { - background-color: @container-background; - color: @container-text; - border-radius: .5em; - box-shadow: 0 0 10px 0 @container-shadow; - border: 1px solid @container-border; - margin: 1em .25em; - } - - /* Block Container Above Main */ - .block-container { - width: 100%; - display: flex; - } - - /* Top Info Above Main */ - .info-container { - display: flex; - justify-content: space-between; - align-items: center; - max-width: 70%; - padding: 1em 25px; - } - - @media @wide-screen-down { - .info-container { - flex-direction: column; - max-width: 90%; - line-height: .25em; - } - - } - - /* Main Container */ - .main-container { - width: 100%; - } - - @media @tablet-down { - .main-container { - max-width: 97%; - } - - } - - .default-container { - width: 90%; - margin: auto; - padding: 1em; - } - - /* Content Block */ - .content-block { - width: 170px; - padding: 20px 25px 20px; - border: 1px dashed grey; - border-radius: 16px; - margin: 1em; - display: flex; - flex-direction: column; - justify-content: center; - justify-items: center; - align-items: center; - } - - .block-img { - width: 40px; - height: 40px; - line-height: 20px; - font-size: 24px; - padding: 8px; - border-radius: 20px; - box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); - overflow: hidden; - border-style: none; - box-sizing: border-box; - } - - /* Generic Content */ - .content-region h3 { - color: @container-header; - } - - .content-region { - border-bottom: 1px dashed @light; - padding: 0 25px; - padding-bottom: 2em; - margin: 1em .25em; - } - - .content-collection { - display: flex; - } - - .content-item { - margin: .5em 0; - margin-right: 5em; - width: 220px; - padding: 1em 2em; - } - - .action-button { - background: @action-button-background; - border-left: 3px solid @action-button-border; - } - - .info-item { - border-left: 2px solid @info-item-border; - } - - .inline-header { - display: inline; - } - - .show-profile-img { - display: block; - height: 100px; - vertical-align: middle; - border-radius: 10px; - border: 2px dotted @info-background; - } - - @media @tablet-down { - .content-region { - padding-left: 5px; - } - - .content-collection { - flex-direction: column; - align-items: center; - } - - .content-item { - margin: .5em 0; - margin-right: 0; - width: 160px; - padding: 1em 2em; - } - - } - - /* OTHER */ - .info-item i, - .info-item-link, - .action-button i, - .action-button-link { - vertical-align: middle; - } - -} - -/* Ende @media screen */ diff --git a/community_server/websrc/src/less/12-center-form-single.less b/community_server/websrc/src/less/12-center-form-single.less deleted file mode 100644 index 8179da087..000000000 --- a/community_server/websrc/src/less/12-center-form-single.less +++ /dev/null @@ -1,164 +0,0 @@ -/* ============================================================ - - Screen styles for the simple center form. (login etc) - - Datei : center-form-single.css - Datum : 2020-07-10 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -@media screen { - .center-form-single { - width: 50%; - margin: auto; - } - - .center-form-header { - margin-bottom: 50px; - } - - .center-logo { - display: block; - margin: 0 auto; - width: 280px; - } - - .center-logo img { - width: 100%; - vertical-align: middle; - border-style: none; - } - - .center-form-container { - display: flex; - flex-direction: column; - padding: 2em 8em; - background-color: @container-background; - border-radius: 6px; - box-shadow: 0 0 10px 0 rgba(183, 192, 206, .2); - margin-bottom: 1.5rem; - border: 1px solid rgba(238, 238, 238, .75); - } - - @media @tablet-down { - .center-form-header { - margin-bottom: 30px; - margin-top: -50px; - } - - .center-form-single { - width: 97%; - margin: auto; - } - - .center-form-container { - padding: 1em .5em; - } - - } - - .center-form-title h1 { - margin-block-start: 0; - } - - .center-form-selectors { - display: flex; - justify-content: flex-end; - align-items: center; - height: 38px; - padding: 5px 0; - margin-bottom: 2em; - } - - .center-form-form, - .center-form-form form { - display: flex; - flex-direction: column; - } - - .center-form-form .form-label { - text-align: left; - } - .center-form-form .form-control { - width: 100%; - margin: auto; - box-sizing: border-box; - margin-bottom: .5em; - } - - .center-form-submit { - width: 100%; - margin: 1em 0; - } - - .reset-pwd-link, - .signup-link { - padding: 0 20px; - - & a { - color: @action-button-background1; - } - - & p { - display: inline-block; - margin-block-start: 0; - margin-block-end: 0; - } - - } - - .center-bottom { - color: @unobtrusive; - text-align: center; - padding-top: 30px; - } - - .flag-btn { - text-align: center; - vertical-align: middle; - padding: 3px 11px; - } - - .flag { - display: block; - } - - .flag-germany { - background: red; - border-top: 9px solid #000; - border-bottom: 9px solid #fc0; - width: 40px; - height: 10px; - } - - .flag-england { - background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJmbGFnLWljb24tY3NzLWdiIiB2aWV3Qm94PSIwIDAgNjQwIDQ4MCI+CiAgPHBhdGggZmlsbD0iIzAxMjE2OSIgZD0iTTAgMGg2NDB2NDgwSDB6Ii8+CiAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTc1IDBsMjQ0IDE4MUw1NjIgMGg3OHY2Mkw0MDAgMjQxbDI0MCAxNzh2NjFoLTgwTDMyMCAzMDEgODEgNDgwSDB2LTYwbDIzOS0xNzhMMCA2NFYwaDc1eiIvPgogIDxwYXRoIGZpbGw9IiNDODEwMkUiIGQ9Ik00MjQgMjgxbDIxNiAxNTl2NDBMMzY5IDI4MWg1NXptLTE4NCAyMGw2IDM1TDU0IDQ4MEgwbDI0MC0xNzl6TTY0MCAwdjNMMzkxIDE5MWwyLTQ0TDU5MCAwaDUwek0wIDBsMjM5IDE3NmgtNjBMMCA0MlYweiIvPgogIDxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0yNDEgMHY0ODBoMTYwVjBIMjQxek0wIDE2MHYxNjBoNjQwVjE2MEgweiIvPgogIDxwYXRoIGZpbGw9IiNDODEwMkUiIGQ9Ik0wIDE5M3Y5Nmg2NDB2LTk2SDB6TTI3MyAwdjQ4MGg5NlYwaC05NnoiLz4KPC9zdmc+Cg==); - background-size: cover; - width: 40px; - height: 28px; - } - - .group { - padding-left: 10px; - padding-top: 10px; - padding-bottom: 10px; - } - - .group-is-invalid { - background-color: rgba(240, 130, 95, .2); - border-color: #dc3545; - padding-right: calc(1.5em + .75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns=!string!fill=!string!viewBox=!string!%3e%3cpath stroke=!string!d=!string!/%3e%3ccircle r=!string!/%3e%3ccircle cx=!string!r=!string!/%3e%3ccircle cy=!string!r=!string!/%3e%3ccircle cx=!string!cy=!string!r=!string!/%3e%3c/svg%3E"); - background-repeat: no-repeat; - background-position: center right calc(.375em + .1875rem); - background-size: calc(.75em + .375rem) calc(.75em + .375rem) - } - - .group-is-invalid .radio label .input-frame::before { - border-color: red; - } - -} - -/* Ende @media screen */ diff --git a/community_server/websrc/src/less/15-facts.less b/community_server/websrc/src/less/15-facts.less deleted file mode 100644 index 3bac37ff7..000000000 --- a/community_server/websrc/src/less/15-facts.less +++ /dev/null @@ -1,62 +0,0 @@ -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ - -/* ============================================================ - - Screen styles for plain facts. - - Datei : facts.css - Datum : 08.07.2020 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -@media screen { - .fact-list { - display: flex; - flex-direction: column; - list-style-type: none; - width: 100%; - padding-inline-start: 0; - font-weight: 300; - } - - .fact { - display: inline-block; - padding-left: 1em; - } - - .label { - width: 150px; - text-align: right; - font-weight: bold; - } - - @media @tablet-down { - .fact-list { - margin-block-start: 0; - margin-block-end: 0; - } - - li.fact { - display: flex; - flex-direction: column; - } - - .fact { - padding-left: .5em; - } - - .label { - width: 250px; - text-align: left; - font-size: .9em; - font-weight: normal; - } - - } - -} diff --git a/community_server/websrc/src/less/20-list.less b/community_server/websrc/src/less/20-list.less deleted file mode 100644 index d09fe0594..000000000 --- a/community_server/websrc/src/less/20-list.less +++ /dev/null @@ -1,239 +0,0 @@ -/* ============================================================ - - Screen styles for lists. - - Datei : list.css - Datum : 2020-06-09 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -@media screen { - - /* ========= - LISTS - =========*/ - - /* List Content */ - .content-list { - width: 100%; - } - - .content-list-title { - font-size: 1rem; - margin: 0; - padding: 20px 25px; - color: @content-table-title; - } - - .content-list-table { - display: flex; - flex-direction: column; - width: 100%; - overflow: auto; - font-size: 16px; - color: #212529; - } - - .row { - display: flex; - width: 100%; - border-top: 1px solid #f2f4f9; - -webkit-transition-duration: .5s; - transition-duration: .5s; - } - - @media @tablet-down { - .row { - flex-direction: column; - } - - } - - .row:hover { - background-color: #f6f7f9; - } - - .cell { - display: flex; - flex-wrap: wrap; - align-items: center; - padding: 1em 1.5em; - } - - .cell-dense { - padding: .1em .5em; - } - - .centered { - justify-content: center; - } - - .c0 { - flex-grow: 5; - min-width: 20%; - } - - .c1 { - min-width: 40px; - flex: 0 0 40px; - } - - .c2 { - min-width: 80px; - flex: 0 0 80px; - } - - .c3 { - min-width: 160px; - flex: 0 0 160px; - } - - .c4 { - min-width: 240px; - flex: 0 0 240px; - } - - .c5 { - min-width: 320px; - flex: 0 0 320px; - } - - .c6 { - min-width: 400px; - flex: 0 0 400px; - } - - @media @tablet-down { - .cell { - padding: .25em 1.5em; - } - - .c1 { - flex-basis: auto; - } - - .c2 { - flex-basis: auto; - } - - .c3 { - flex-basis: auto; - } - - .c4 { - flex-basis: auto; - } - - .c5 { - flex-basis: auto; - } - - .c6 { - flex-basis: auto; - } - - } - - .header-cell { - border-top: 1px solid @content-table-header-border; - background-color: @content-table-header-bg; - color: @content-table-header; - } - - .content-list-table img, - .content-list-table i { - vertical-align: middle; - } - - .content-list-table > span { - font-size: .8em; - padding: .5em 2em; - vertical-align: middle; - } - - /* Individual Tables XXX rm!! */ - .error-list { - grid-template-columns: 2fr 2fr 5fr 1fr; - } - - .transactions { - grid-template-columns: 1fr 4fr 2fr 2fr; - } - - .profile-img { - width: 30px; - height: 30px; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(0, 0, 0, .2); - overflow: hidden; - border-style: none; - box-sizing: border-box; - margin-right: 40px; - } - - .tx-email { - cursor: pointer; - display: block; - color: @content-table-header; - font-weight: 400; - } - - .small { - font-size: 80%; - font-weight: 400; - } - - /*, - .cell-icon .material-icons-outlined */ - .cell-icon { - - /*noch ungeklärt - icon ist nicht aligned */ - - /*font-size: 1.25em;*/ - vertical-align: middle; - } - - /* ===================================== - FORM TOP CONTENT (checkTransaction) - =====================================*/ - .form-content { - padding: 35px; - padding-top: 20px; - max-width: 80%; - margin: auto; - } - - .content-table { - border: 1px solid @content-table-header-border; - border-top: none; - margin-bottom: 1.5rem; - } - - .content-row { - display: flex; - justify-content: space-between; - font-weight: 400; - border-top: 1px solid @content-table-header-border; - } - - .content-row-header { - font-weight: 500; - color: @content-table-header; - } - - .content-row-bg { - background-color: @content-row-bg; - } - - .content-cell { - display: block; - border-collapse: collapse; - padding: 10px 15px; - } - - .form-button .material-icons-outlined { - font-size: 1.25em; - } - -} diff --git a/community_server/websrc/src/less/21-tabs.less b/community_server/websrc/src/less/21-tabs.less deleted file mode 100644 index 694dd1dab..000000000 --- a/community_server/websrc/src/less/21-tabs.less +++ /dev/null @@ -1,45 +0,0 @@ -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ -/* - Created on : 23.11.2020, 14:04:28 - Author : einhornimmond -*/ - - /* Style the tab */ -.tab { - overflow: hidden; - border: 1px solid #ccc; - background-color: #f1f1f1; -} - -/* Style the buttons that are used to open the tab content */ -.tab button { - background-color: inherit; - float: left; - border: none; - outline: none; - cursor: pointer; - padding: 14px 16px; - transition: 0.3s; -} - -/* Change background color of buttons on hover */ -.tab button:hover { - background-color: #ddd; -} - -/* Create an active/current tablink class */ -.tab button.active { - background-color: #ccc; -} - -/* Style the tab content */ -.tabcontent { - display: none; - padding: 6px 12px; - border: 1px solid #ccc; - border-top: none; -} \ No newline at end of file diff --git a/community_server/websrc/src/less/30-form.less b/community_server/websrc/src/less/30-form.less deleted file mode 100644 index df52a684e..000000000 --- a/community_server/websrc/src/less/30-form.less +++ /dev/null @@ -1,238 +0,0 @@ -/* -To change this license header, choose License Headers in Project Properties. -To change this template file, choose Tools | Templates -and open the template in the editor. -*/ - -/* ============================================================ - - Screen styles for forms. - - Datei : form.css - Datum : 2020-06-07 - Autor : Christine Slotty - Copyright : Gradio - - ============================================================*/ -@media screen { - - /* ========= - FORMS - =========*/ - - /* Form Content */ - .action-form { - width: 100%; - } - - .form-header { - border-left: 3px solid @form-header-border; - background: @form-header-background; - padding: 15px 20px; - margin: 0; - margin-bottom: 15px; - border-radius: 0 6px 0 0; - } - - .form-label { - grid-column: 1 / 2; - font-weight: 400; - text-align: right; - padding-right: .5em; - } - - .form-control { - grid-column: 2 / 3; - display: block; - padding: .4em .75em; - padding-left: 20px; - padding-right: 20px; - margin: 0; - margin-right: .5em; - color: rgba(16, 16, 16, .8); - display: block; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #6c757d; - background-color: #f6f7f9; - background-clip: padding-box; - border: 1px solid #f0f2f5; - border-radius: .25rem; - -webkit-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; - } - - .form-control:focus { - color: #495057; - background-color: #f6f7f9; - border-color: #d7dee5; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, .25); - } - - textarea { - resize: vertical; - } - - .badge { - display: inline-block; - padding: .45rem 1rem; - font-size: 80%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25rem; - -webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; - transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out - } - - .badge-warning { - color: @badge-color-warning; - background-color: @badge-background-warning; - } - - .badge-error { - color: @badge-color-error; - background-color: @badge-background-error; - } - - .form-full-width { - grid-column-start: 1; - grid-column-end: 3; - display: flex; - flex-direction: column; - } - - .form-button { - cursor: pointer; - font: 600 13.3333px Arial; - font-size: .875rem; - line-height: 1.5; - text-align: center; - vertical-align: middle; - color: @action-button-text; - background-color: @action-button-background1; - border-color: @action-button-border; - border: 1px solid transparent; - border-radius: .2rem; - height: 35px; - max-height: 35px; - padding: 4px 15px; - margin-right: .5em; - box-shadow: 0 0 2px 0 rgba(0, 0, 0, .2); - } - - .form-button:hover { - background-color: #034b04; - border-color: #023f03; - } - - .button-cancel { - color: #fff !important; - background-color: #f0825f; - border-color: #f0825f; - } - - .button-cancel:hover { - background-color: #ec5e30; - border-color: #eb5425; - } - - .link-button { - display: inline-block; - background: @action-button-background; - color: @action-button-text; - height: 17px; - padding: 1em 2em; - line-height: 1em; - border-radius: 6px; - text-align: center; - vertical-align: middle; - } - - .action-link { - color: @action-button-background1 !important; - } - - .action-link-button { - background-color: @action-button-background1 !important; - color: @action-button-text !important; - margin-top: 1em; - padding: .5em 1em; - } - - .edit-profile-img { - width: 100px; - } - - .note-smaller { - font-size: smaller; - } - - .form-row, - .grid-row { - display: flex; - justify-content: flex-start; - align-items: center; - align-content: center; - width: 100%; - -webkit-transition-duration: .5s; - transition-duration: .5s; - } - - .justify-end { - justify-content: flex-end; - } - - @media @tablet-down { - .grid-row { - flex-direction: column; - } - - } - - .form-row { - border-top: 1px solid #f2f4f9; - } - - .form-row:hover { - background-color: #f6f7f9; - } - - /* CENTER FORM SPECIFICS */ - .form-body form { - display: grid; - grid-template-columns: 220px 1fr; - margin: 36px 75px; - grid-gap: 1em; - } - - .center-form { - width: 450px; - } - - .center-form .form-control { - width: 90%; - } - - .center-form fieldset { - margin-bottom: 1em; - } - - @media @tablet-down { - .form-body form { - grid-template-columns: 1fr; - margin: 20px; - grid-gap: .25em; - } - - .form-label { - text-align: left; - } - - } - -} diff --git a/configs/community_server/app.php b/configs/community_server/app.php deleted file mode 100644 index d56a43cc0..000000000 --- a/configs/community_server/app.php +++ /dev/null @@ -1,431 +0,0 @@ - filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN), - - /** - * Configure basic information about the application. - * - * - namespace - The namespace to find app classes under. - * - defaultLocale - The default locale for translation, formatting currencies and numbers, date and time. - * - encoding - The encoding used for HTML + database connections. - * - base - The base directory the app resides in. If false this - * will be auto detected. - * - dir - Name of app directory. - * - webroot - The webroot directory. - * - wwwRoot - The file path to webroot. - * - baseUrl - To configure CakePHP to *not* use mod_rewrite and to - * use CakePHP pretty URLs, remove these .htaccess - * files: - * /.htaccess - * /webroot/.htaccess - * And uncomment the baseUrl key below. - * - fullBaseUrl - A base URL to use for absolute links. When set to false (default) - * CakePHP generates required value based on `HTTP_HOST` environment variable. - * However, you can define it manually to optimize performance or if you - * are concerned about people manipulating the `Host` header. - * - imageBaseUrl - Web path to the public images directory under webroot. - * - cssBaseUrl - Web path to the public css directory under webroot. - * - jsBaseUrl - Web path to the public js directory under webroot. - * - paths - Configure paths for non class based resources. Supports the - * `plugins`, `templates`, `locales` subkeys, which allow the definition of - * paths for plugins, view templates and locale files respectively. - */ - 'App' => [ - 'namespace' => 'App', - 'encoding' => env('APP_ENCODING', 'UTF-8'), - 'defaultLocale' => env('APP_DEFAULT_LOCALE', 'en_US'), - 'defaultTimezone' => env('APP_DEFAULT_TIMEZONE', 'UTC'), - 'base' => false, - 'dir' => 'src', - 'webroot' => 'webroot', - 'wwwRoot' => WWW_ROOT, - //'baseUrl' => env('SCRIPT_NAME'), - 'fullBaseUrl' => false, - 'imageBaseUrl' => 'img/', - 'cssBaseUrl' => 'css/', - 'jsBaseUrl' => 'js/', - 'paths' => [ - 'plugins' => [ROOT . DS . 'plugins' . DS], - 'templates' => [APP . 'Template' . DS], - 'locales' => [APP . 'Locale' . DS], - ], - ], - - /** - * Security and encryption configuration - * - * - salt - A random string used in security hashing methods. - * The salt value is also used as the encryption key. - * You should treat it as extremely sensitive data. - */ - 'Security' => [ - 'salt' => env('SECURITY_SALT', '7ddf685a27d997ef36e51bdd626e7fc6b50a3abfb2971e8e59974d421116a150'), - ], - - /** - * Apply timestamps with the last modified time to static assets (js, css, images). - * Will append a querystring parameter containing the time the file was modified. - * This is useful for busting browser caches. - * - * Set to true to apply timestamps when debug is true. Set to 'force' to always - * enable timestamping regardless of debug value. - */ - 'Asset' => [ - //'timestamp' => true, - // 'cacheTime' => '+1 year' - ], - - /** - * Configure the cache adapters. - */ - 'Cache' => [ - 'default' => [ - 'className' => FileEngine::class, - 'path' => CACHE, - 'url' => env('CACHE_DEFAULT_URL', null), - ], - - /** - * Configure the cache used for general framework caching. - * Translation cache files are stored with this configuration. - * Duration will be set to '+2 minutes' in bootstrap.php when debug = true - * If you set 'className' => 'Null' core cache will be disabled. - */ - '_cake_core_' => [ - 'className' => FileEngine::class, - 'prefix' => 'myapp_cake_core_', - 'path' => CACHE . 'persistent/', - 'serialize' => true, - 'duration' => '+1 years', - 'url' => env('CACHE_CAKECORE_URL', null), - ], - - /** - * Configure the cache for model and datasource caches. This cache - * configuration is used to store schema descriptions, and table listings - * in connections. - * Duration will be set to '+2 minutes' in bootstrap.php when debug = true - */ - '_cake_model_' => [ - 'className' => FileEngine::class, - 'prefix' => 'myapp_cake_model_', - 'path' => CACHE . 'models/', - 'serialize' => true, - 'duration' => '+1 years', - 'url' => env('CACHE_CAKEMODEL_URL', null), - ], - - /** - * Configure the cache for routes. The cached routes collection is built the - * first time the routes are processed via `config/routes.php`. - * Duration will be set to '+2 seconds' in bootstrap.php when debug = true - */ - '_cake_routes_' => [ - 'className' => FileEngine::class, - 'prefix' => 'myapp_cake_routes_', - 'path' => CACHE, - 'serialize' => true, - 'duration' => '+1 years', - 'url' => env('CACHE_CAKEROUTES_URL', null), - ], - ], - - /** - * Configure the Error and Exception handlers used by your application. - * - * By default errors are displayed using Debugger, when debug is true and logged - * by Cake\Log\Log when debug is false. - * - * In CLI environments exceptions will be printed to stderr with a backtrace. - * In web environments an HTML page will be displayed for the exception. - * With debug true, framework errors like Missing Controller will be displayed. - * When debug is false, framework errors will be coerced into generic HTTP errors. - * - * Options: - * - * - `errorLevel` - int - The level of errors you are interested in capturing. - * - `trace` - boolean - Whether or not backtraces should be included in - * logged errors/exceptions. - * - `log` - boolean - Whether or not you want exceptions logged. - * - `exceptionRenderer` - string - The class responsible for rendering - * uncaught exceptions. If you choose a custom class you should place - * the file for that class in src/Error. This class needs to implement a - * render method. - * - `skipLog` - array - List of exceptions to skip for logging. Exceptions that - * extend one of the listed exceptions will also be skipped for logging. - * E.g.: - * `'skipLog' => ['Cake\Http\Exception\NotFoundException', 'Cake\Http\Exception\UnauthorizedException']` - * - `extraFatalErrorMemory` - int - The number of megabytes to increase - * the memory limit by when a fatal error is encountered. This allows - * breathing room to complete logging or error handling. - */ - 'Error' => [ - 'errorLevel' => E_ALL, - 'exceptionRenderer' => ExceptionRenderer::class, - 'skipLog' => [], - 'log' => true, - 'trace' => true, - ], - - /** - * Email configuration. - * - * By defining transports separately from delivery profiles you can easily - * re-use transport configuration across multiple profiles. - * - * You can specify multiple configurations for production, development and - * testing. - * - * Each transport needs a `className`. Valid options are as follows: - * - * Mail - Send using PHP mail function - * Smtp - Send using SMTP - * Debug - Do not send the email, just return the result - * - * You can add custom transports (or override existing transports) by adding the - * appropriate file to src/Mailer/Transport. Transports should be named - * 'YourTransport.php', where 'Your' is the name of the transport. - */ - 'EmailTransport' => [ - 'default' => [ - 'className' => MailTransport::class, - /* - * The following keys are used in SMTP transports: - */ - 'host' => 'localhost', - 'port' => 25, - 'timeout' => 30, - 'username' => null, - 'password' => null, - 'className' => 'Smtp', - 'tls' => true - ], - ], - - /** - * Email delivery profiles - * - * Delivery profiles allow you to predefine various properties about email - * messages from your application and give the settings a name. This saves - * duplication across your application and makes maintenance and development - * easier. Each profile accepts a number of keys. See `Cake\Mailer\Email` - * for more information. - */ - 'Email' => [ - 'default' => [ - 'transport' => 'default', - 'from' => 'you@localhost', - //'charset' => 'utf-8', - //'headerCharset' => 'utf-8', - ], - ], - - /** - * Connection information used by the ORM to connect - * to your application's datastores. - * - * ### Notes - * - Drivers include Mysql Postgres Sqlite Sqlserver - * See vendor\cakephp\cakephp\src\Database\Driver for complete list - * - Do not use periods in database name - it may lead to error. - * See https://github.com/cakephp/cakephp/issues/6471 for details. - * - 'encoding' is recommended to be set to full UTF-8 4-Byte support. - * E.g set it to 'utf8mb4' in MariaDB and MySQL and 'utf8' for any - * other RDBMS. - */ - 'Datasources' => [ - 'default' => [ - 'className' => Connection::class, - 'driver' => Mysql::class, - 'persistent' => false, - 'host' => 'mariadb', - /* - * CakePHP will use the default DB port based on the driver selected - * MySQL on MAMP uses port 8889, MAMP users will want to uncomment - * the following line and set the port accordingly - */ - //'port' => 'non_standard_port_number', - 'username' => 'root', - 'password' => '', - 'database' => 'gradido_community', - /* - * You do not need to set this flag to use full utf-8 encoding (internal default since CakePHP 3.6). - */ - //'encoding' => 'utf8mb4', - 'timezone' => 'UTC', - 'flags' => [], - 'cacheMetadata' => true, - 'log' => false, - - /** - * Set identifier quoting to true if you are using reserved words or - * special characters in your table or column names. Enabling this - * setting will result in queries built using the Query Builder having - * identifiers quoted when creating SQL. It should be noted that this - * decreases performance because each query needs to be traversed and - * manipulated before being executed. - */ - 'quoteIdentifiers' => false, - - /** - * During development, if using MySQL < 5.6, uncommenting the - * following line could boost the speed at which schema metadata is - * fetched from the database. It can also be set directly with the - * mysql configuration directive 'innodb_stats_on_metadata = 0' - * which is the recommended value in production environments - */ - //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'], - - 'url' => env('DATABASE_URL', null), - ], - - /** - * The test connection is used during the test suite. - */ - 'test' => [ - 'className' => Connection::class, - 'driver' => Mysql::class, - 'persistent' => false, - 'host' => 'mariadb', - //'port' => 'non_standard_port_number', - 'username' => 'root', - 'password' => '', - 'database' => 'gradido_community_test', - //'encoding' => 'utf8mb4', - 'timezone' => 'UTC', - 'cacheMetadata' => true, - 'quoteIdentifiers' => false, - 'log' => false, - //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'], - 'url' => env('DATABASE_TEST_URL', null), - ], - ], - - /** - * Configures logging options - */ - 'Log' => [ - 'debug' => [ - 'className' => FileLog::class, - 'path' => LOGS, - 'file' => 'debug', - 'url' => env('LOG_DEBUG_URL', null), - 'scopes' => false, - 'levels' => ['notice', 'info', 'debug'], - ], - 'error' => [ - 'className' => FileLog::class, - 'path' => LOGS, - 'file' => 'error', - 'url' => env('LOG_ERROR_URL', null), - 'scopes' => false, - 'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'], - ], - // To enable this dedicated query log, you need set your datasource's log flag to true - 'queries' => [ - 'className' => FileLog::class, - 'path' => LOGS, - 'file' => 'queries', - 'url' => env('LOG_QUERIES_URL', null), - 'scopes' => ['queriesLog'], - ], - ], - - /** - * Session configuration. - * - * Contains an array of settings to use for session configuration. The - * `defaults` key is used to define a default preset to use for sessions, any - * settings declared here will override the settings of the default config. - * - * ## Options - * - * - `cookie` - The name of the cookie to use. Defaults to 'CAKEPHP'. Avoid using `.` in cookie names, - * as PHP will drop sessions from cookies with `.` in the name. - * - `cookiePath` - The url path for which session cookie is set. Maps to the - * `session.cookie_path` php.ini config. Defaults to base path of app. - * - `timeout` - The time in minutes the session should be valid for. - * Pass 0 to disable checking timeout. - * Please note that php.ini's session.gc_maxlifetime must be equal to or greater - * than the largest Session['timeout'] in all served websites for it to have the - * desired effect. - * - `defaults` - The default configuration set to use as a basis for your session. - * There are four built-in options: php, cake, cache, database. - * - `handler` - Can be used to enable a custom session handler. Expects an - * array with at least the `engine` key, being the name of the Session engine - * class to use for managing the session. CakePHP bundles the `CacheSession` - * and `DatabaseSession` engines. - * - `ini` - An associative array of additional ini values to set. - * - * The built-in `defaults` options are: - * - * - 'php' - Uses settings defined in your php.ini. - * - 'cake' - Saves session files in CakePHP's /tmp directory. - * - 'database' - Uses CakePHP's database sessions. - * - 'cache' - Use the Cache class to save sessions. - * - * To define a custom session handler, save it at src/Network/Session/.php. - * Make sure the class implements PHP's `SessionHandlerInterface` and set - * Session.handler to - * - * To use database sessions, load the SQL file located at config/schema/sessions.sql - */ - 'Session' => [ - 'defaults' => 'php', - ], - // *************************************************** - // Gradido specific configuration - // *************************************************** - // Login Server ip and port - 'LoginServer' => [ - 'host' => 'http://login-server', - 'port' => 1201, - 'url' => 'http://localhost' - ], - - // login server for look up emails from other groups - // workaround for using multiple groups until every code is finished as planned - // normally node server are responsible for email look up from users from other groups - 'NeighborLoginServers' => [ - ['host' => 'login-server', 'port' => 1201] - ], - 'GradidoBlockchain' => [ - // type: - // - db: centralized blockchain in mysql db, no cross group transactions - // - hedera: send transaction over hedera - 'type' => 'db', - // gradido nodes with blockchain (if type != db) - 'nodes' => [ - ['host' => 'node', 'port' => 13702] - ] - ], - - 'GroupAlias' => 'docker', - 'GDTServer' => [ - 'host' => 'https://gdt.gradido.net' // staging - ], - 'API' => [ - 'allowedCaller' => ['login-server'] - ], - 'ServerAdminEmail' => 'info@gradido.net', - 'noReplyEmail' => 'no-reply@gradido.net', - 'disableEmail' => true - -]; diff --git a/database/entity/0003-login_server_tables/LoginElopageBuys.ts b/database/entity/0003-login_server_tables/LoginElopageBuys.ts index fc0d6c355..1f94faffe 100644 --- a/database/entity/0003-login_server_tables/LoginElopageBuys.ts +++ b/database/entity/0003-login_server_tables/LoginElopageBuys.ts @@ -5,8 +5,8 @@ export class LoginElopageBuys extends BaseEntity { @PrimaryGeneratedColumn('increment', { unsigned: true }) id: number - @Column({ name: 'elopage_user_id', nullable: false }) - elopageUserId: number + @Column({ type: 'int', width: 11, name: 'elopage_user_id', nullable: true, default: null }) + elopageUserId: number | null @Column({ name: 'affiliate_program_id', nullable: false }) affiliateProgramId: number diff --git a/database/entity/0021-elopagebuys_fields_nullable/LoginElopageBuys.ts b/database/entity/0021-elopagebuys_fields_nullable/LoginElopageBuys.ts new file mode 100644 index 000000000..501276ea7 --- /dev/null +++ b/database/entity/0021-elopagebuys_fields_nullable/LoginElopageBuys.ts @@ -0,0 +1,52 @@ +import { BaseEntity, Entity, PrimaryGeneratedColumn, Column } from 'typeorm' + +@Entity('login_elopage_buys') +export class LoginElopageBuys extends BaseEntity { + @PrimaryGeneratedColumn('increment', { unsigned: true }) + id: number + + @Column({ type: 'int', width: 11, name: 'elopage_user_id', nullable: true, default: null }) + elopageUserId: number | null + + @Column({ type: 'int', width: 11, name: 'affiliate_program_id', nullable: true, default: null }) + affiliateProgramId: number | null + + @Column({ type: 'int', width: 11, name: 'publisher_id', nullable: true, default: null }) + publisherId: number | null + + @Column({ type: 'int', width: 11, name: 'order_id', nullable: true, default: null }) + orderId: number | null + + @Column({ type: 'int', width: 11, name: 'product_id', nullable: true, default: null }) + productId: number | null + + @Column({ name: 'product_price', nullable: false }) + productPrice: number + + @Column({ + name: 'payer_email', + length: 255, + nullable: false, + charset: 'utf8', + collation: 'utf8_bin', + }) + payerEmail: string + + @Column({ + name: 'publisher_email', + length: 255, + nullable: false, + charset: 'utf8', + collation: 'utf8_bin', + }) + publisherEmail: string + + @Column({ nullable: false }) + payed: boolean + + @Column({ name: 'success_date', nullable: false }) + successDate: Date + + @Column({ length: 255, nullable: false }) + event: string +} diff --git a/database/entity/LoginElopageBuys.ts b/database/entity/LoginElopageBuys.ts index 6a1f3230b..cb0d212fa 100644 --- a/database/entity/LoginElopageBuys.ts +++ b/database/entity/LoginElopageBuys.ts @@ -1 +1 @@ -export { LoginElopageBuys } from './0003-login_server_tables/LoginElopageBuys' +export { LoginElopageBuys } from './0021-elopagebuys_fields_nullable/LoginElopageBuys' diff --git a/database/migrations/0021-elopagebuys_fields_nullable.ts b/database/migrations/0021-elopagebuys_fields_nullable.ts new file mode 100644 index 000000000..dabe9d1e4 --- /dev/null +++ b/database/migrations/0021-elopagebuys_fields_nullable.ts @@ -0,0 +1,25 @@ +/* MIGRATION TO ALLOW NULL FIELDS ON ELOPAGEBUYS + * + * This migration allows null on `affiliate_program_id`, + * `publisher_id`, `order_id`. `product_id`. + */ + +export async function upgrade(queryFn: (query: string, values?: any[]) => Promise>) { + await queryFn( + 'ALTER TABLE `login_elopage_buys` MODIFY COLUMN `affiliate_program_id` int(11) DEFAULT NULL;', + ) + await queryFn( + 'ALTER TABLE `login_elopage_buys` MODIFY COLUMN `publisher_id` int(11) DEFAULT NULL;', + ) + await queryFn('ALTER TABLE `login_elopage_buys` MODIFY COLUMN `order_id` int(11) DEFAULT NULL;') + await queryFn('ALTER TABLE `login_elopage_buys` MODIFY COLUMN `product_id` int(11) DEFAULT NULL;') +} + +export async function downgrade(queryFn: (query: string, values?: any[]) => Promise>) { + await queryFn( + 'ALTER TABLE `login_elopage_buys` MODIFY COLUMN `affiliate_program_id` int(11) NOT NULL;', + ) + await queryFn('ALTER TABLE `login_elopage_buys` MODIFY COLUMN `publisher_id` int(11) NOT NULL;') + await queryFn('ALTER TABLE `login_elopage_buys` MODIFY COLUMN `order_id` int(11) NOT NULL;') + await queryFn('ALTER TABLE `login_elopage_buys` MODIFY COLUMN `product_id` int(11) NOT NULL;') +} diff --git a/database/package.json b/database/package.json index 72ee807b9..6ed4c0938 100644 --- a/database/package.json +++ b/database/package.json @@ -1,6 +1,6 @@ { "name": "gradido-database", - "version": "1.6.1", + "version": "1.6.4", "description": "Gradido Database Tool to execute database migrations", "main": "src/index.ts", "repository": "https://github.com/gradido/gradido/database", diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 250b392db..3d63da9e3 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -78,23 +78,6 @@ services: # bind the local folder to the docker to allow live reload - ./database:/app - ######################################################### - ## COMMUNITY SERVER (cakephp with php-fpm) ############## - ######################################################### - community-server: - build: - context: . - target: community_server - dockerfile: ./community_server/Dockerfile - depends_on: - - mariadb - networks: - - internal-net - - external-net - volumes: - - ./community_server/config/php-fpm/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini - - ./community_server/src:/var/www/cakephp/src - ######################################################### ## MARIADB ############################################## ######################################################### diff --git a/docker-compose.test.yml b/docker-compose.test.yml index a719f8c36..221ecba20 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -35,24 +35,6 @@ services: volumes: - db_test_vol:/var/lib/mysql - ######################################################### - ## COMMUNITY SERVER (cakephp with php-fpm) ############## - ######################################################### - community-server: - build: - context: . - target: test - dockerfile: ./community_server/Dockerfile - depends_on: - - mariadb - networks: - - internal-net - volumes: - - ./community_server/config/php-fpm/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini - - ./community_server/src:/var/www/cakephp/src - - ./coverage/community:/var/www/cakephp/webroot/coverage - - ######################################################### ## PHPMYADMIN ########################################### ######################################################### diff --git a/docker-compose.yml b/docker-compose.yml index 9c92e19ea..213b200cd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -145,25 +145,6 @@ services: ports: - 80:80 - ######################################################### - ## COMMUNITY SERVER (cakephp with php-fpm) ############## - ######################################################### - community-server: - build: - context: . - target: community_server - dockerfile: ./community_server/Dockerfile - environment: - - DB_PASSWORD='' - - DB_USER='root' - - DB_DATABASE='gradido_community' - depends_on: - - mariadb - networks: - - internal-net - volumes: - - ./community_server/config/php-fpm/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini - networks: external-net: internal-net: diff --git a/docu/create-coins-as-admin.md b/docu/create-coins-as-admin.md index f03da7733..442864cff 100644 --- a/docu/create-coins-as-admin.md +++ b/docu/create-coins-as-admin.md @@ -9,19 +9,7 @@ INSERT INTO user_roles (id, user_id, role_id) VALUES (NULL, '1', '1'); user_id has to be found in users Now when we login in on https://$community_domain/account/ we can create coins but we will be restricted cause we can't sign the creations. -### Signation account -At first we need to enable the server user account creation with uncommenting line: 19 in -community_server/src/Controller/ServerUsersController.php -```php -$this->Auth->allow(['add', 'edit']); -``` -This enable us to use this action without being logged in. -To add a signation account we need to go on the following url: http://$community_domain/server-users/add - ### Coin creation process -The coin creation for work is done in the following url: http://$community_domain/transaction-creations/create-multi -Where we can create coins for a number of as many users as we want excepted for our self. -Furthermore we must sign the transactions we created. Normally after clicking on the left button (Transaktion abschließen) we should be automatically forwarded to http://$community_domain/account/checkTransactions where we can do this. -If not this page can also be reached by clicking on the shield-icon with the hook in it on the Dashboard, which is only shown if at least one transaction is waiting for signing. - -For debug purposes you can check the `pending_tasks` table, which is used to store the transactions which are not signed yet or had errors. \ No newline at end of file +Admin (User needs a certain role) can go through the wallet into the Admin Interface. +Their he has multiple pages, the user search page allows to find user and to create coins for them if their email was verified. He can in the multiple creation page select multiple users for which he want to create a same amount of coins. +After an Admin has proposed a creation every admin has the possibility to validate this creation except for a own creation! Every Admin can also update the proposed creation. \ No newline at end of file diff --git a/frontend/package.json b/frontend/package.json index 80ec9f258..d59c22672 100755 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "bootstrap-vue-gradido-wallet", - "version": "1.6.1", + "version": "1.6.4", "private": true, "scripts": { "start": "node run/server.js", diff --git a/frontend/src/assets/scss/custom/gradido-custom/_buttons.scss b/frontend/src/assets/scss/custom/gradido-custom/_buttons.scss index e8514f83d..5a2e49e3e 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_buttons.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_buttons.scss @@ -27,3 +27,9 @@ $btn-focus-width: $input-btn-focus-width !default; $btn-active-box-shadow: none !default; $btn-hover-translate-y: -1px !default; + + + +.btn-outline-secondary { + color: #4385b1 !important; + } diff --git a/frontend/src/views/Layout/ContentFooter.vue b/frontend/src/views/Layout/ContentFooter.vue index 4350e3f55..dedfc4765 100755 --- a/frontend/src/views/Layout/ContentFooter.vue +++ b/frontend/src/views/Layout/ContentFooter.vue @@ -1,6 +1,6 @@