Full Code of givanz/VvvebJs for AI

master 1b774684044f cached
291 files
33.1 MB
8.7M tokens
765 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (34,780K chars total). Download the full file to get everything.
Repository: givanz/VvvebJs
Branch: master
Commit: 1b774684044f
Files: 291
Total size: 33.1 MB

Directory structure:
gitextract_mj6sw9pv/

├── .dockerignore
├── .gitattributes
├── .github/
│   ├── FUNDING.yml
│   ├── lock.yml
│   └── no-response.yml
├── .gitignore
├── .gitmodules
├── Credits.md
├── Dockerfile
├── LICENSE
├── README.md
├── css/
│   ├── editor.css
│   └── vvvebjs-editor-helpers.css
├── demo/
│   ├── album/
│   │   └── index.html
│   ├── blog/
│   │   ├── blog.css
│   │   └── index.html
│   ├── carousel/
│   │   ├── carousel.css
│   │   └── index.html
│   ├── narrow-jumbotron/
│   │   ├── index.html
│   │   └── narrow-jumbotron.css
│   ├── offcanvas/
│   │   ├── index.html
│   │   ├── offcanvas.css
│   │   └── offcanvas.js
│   ├── pricing/
│   │   ├── index.html
│   │   └── pricing.css
│   └── product/
│       ├── index.html
│       └── product.css
├── docker-compose.yml
├── editor.html
├── editor.php
├── gulpfile.js
├── libs/
│   ├── aos/
│   │   ├── aos.css
│   │   └── aos.js
│   ├── autocomplete/
│   │   └── autocomplete.js
│   ├── builder/
│   │   ├── blocks-bootstrap4.js
│   │   ├── builder.js
│   │   ├── components-bootstrap4.js
│   │   ├── components-bootstrap5.js
│   │   ├── components-common.js
│   │   ├── components-elements.js
│   │   ├── components-embeds.js
│   │   ├── components-html.js
│   │   ├── components-server.js
│   │   ├── components-widgets.js
│   │   ├── inputs.js
│   │   ├── oembed.js
│   │   ├── plugin-ai-assistant.js
│   │   ├── plugin-aos.js
│   │   ├── plugin-bootstrap-colorpicker.js
│   │   ├── plugin-ckeditor.js
│   │   ├── plugin-codemirror.js
│   │   ├── plugin-coloris.js
│   │   ├── plugin-google-fonts.js
│   │   ├── plugin-jszip.js
│   │   ├── plugin-media.js
│   │   ├── plugin-tinymce.js
│   │   ├── section.js
│   │   ├── sections-bootstrap4.js
│   │   └── undo.js
│   ├── codemirror/
│   │   ├── lib/
│   │   │   ├── clike.js
│   │   │   ├── codemirror.css
│   │   │   ├── codemirror.js
│   │   │   ├── css.js
│   │   │   ├── formatting.js
│   │   │   ├── htmlmixed.js
│   │   │   ├── search.js
│   │   │   ├── searchcursor.js
│   │   │   └── xml.js
│   │   └── theme/
│   │       ├── duotone-dark.css
│   │       └── material.css
│   ├── coloris/
│   │   ├── coloris.css
│   │   └── coloris.js
│   ├── jszip/
│   │   ├── filesaver.js
│   │   └── jszip.js
│   └── media/
│       ├── media.css
│       ├── media.js
│       └── openverse.js
├── media/
│   └── sample.webm
├── new-page-blank-template.html
├── package.json
├── resources/
│   ├── google-fonts.json
│   ├── line-awesome.html
│   └── svg/
│       ├── icons/
│       │   ├── 150-outlined-icons/
│       │   │   ├── index.html
│       │   │   └── readme.txt
│       │   ├── 77_essential_icons/
│       │   │   ├── index.html
│       │   │   └── readme.txt
│       │   ├── ant-design-icons/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── boxicons/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── clarity-icons/
│       │   │   ├── LICENSE
│       │   │   ├── NOTICE.txt
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── coreui-icons/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── css.gg/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── dripicons/
│       │   │   ├── LICENSE
│       │   │   ├── index.html
│       │   │   └── readme.txt
│       │   ├── elegant-font/
│       │   │   ├── gpl_license.txt
│       │   │   ├── index.html
│       │   │   └── mit_license.txt
│       │   ├── eva-icons/
│       │   │   ├── LICENSE.txt
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── feather/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── font-awesome/
│       │   │   ├── LICENSE.txt
│       │   │   └── index.html
│       │   ├── heroicons/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── iconoir/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── iconsax/
│       │   │   ├── index.html
│       │   │   └── license.txt
│       │   ├── ikonate/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── ionicons/
│       │   │   ├── LICENSE
│       │   │   ├── index.html
│       │   │   └── readme.md
│       │   ├── jam-icons/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── linea/
│       │   │   ├── index.html
│       │   │   ├── read_me.txt
│       │   │   └── style.css
│       │   ├── lineawesome/
│       │   │   ├── LICENSE.txt
│       │   │   └── index.html
│       │   ├── material-design/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── octicons/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── olicons/
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── open-iconic/
│       │   │   ├── ICON-LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── pe-icon-7-stroke/
│       │   │   ├── index.html
│       │   │   └── read-me.txt
│       │   ├── remix-icon/
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── system-uicons/
│       │   │   ├── LICENSE
│       │   │   └── index.html
│       │   ├── tabler-icons/
│       │   │   ├── LICENSE
│       │   │   ├── LICENSE.txt
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── themify/
│       │   │   ├── index.html
│       │   │   └── readme.txt
│       │   └── unicons/
│       │       ├── LICENSE
│       │       ├── README.md
│       │       └── index.html
│       └── separators/
│           └── digital-red-panther/
│               └── index.html
├── save.js
├── save.php
├── scan.php
├── scss/
│   ├── _autocomplete.scss
│   ├── _bootstrap-css-vars.scss
│   ├── _builder.scss
│   ├── _csstree.scss
│   ├── bootstrap/
│   │   ├── _accordion.scss
│   │   ├── _alert.scss
│   │   ├── _badge.scss
│   │   ├── _breadcrumb.scss
│   │   ├── _button-group.scss
│   │   ├── _buttons.scss
│   │   ├── _card.scss
│   │   ├── _carousel.scss
│   │   ├── _close.scss
│   │   ├── _containers.scss
│   │   ├── _dropdown.scss
│   │   ├── _forms.scss
│   │   ├── _functions.scss
│   │   ├── _grid.scss
│   │   ├── _helpers.scss
│   │   ├── _images.scss
│   │   ├── _list-group.scss
│   │   ├── _maps.scss
│   │   ├── _mixins.scss
│   │   ├── _modal.scss
│   │   ├── _nav.scss
│   │   ├── _navbar.scss
│   │   ├── _offcanvas.scss
│   │   ├── _pagination.scss
│   │   ├── _placeholders.scss
│   │   ├── _popover.scss
│   │   ├── _progress.scss
│   │   ├── _reboot.scss
│   │   ├── _root.scss
│   │   ├── _spinners.scss
│   │   ├── _tables.scss
│   │   ├── _toasts.scss
│   │   ├── _tooltip.scss
│   │   ├── _transitions.scss
│   │   ├── _type.scss
│   │   ├── _utilities.scss
│   │   ├── _variables-dark.scss
│   │   ├── _variables.scss
│   │   ├── bootstrap-grid.scss
│   │   ├── bootstrap-reboot.scss
│   │   ├── bootstrap-utilities.scss
│   │   ├── bootstrap.scss
│   │   ├── forms/
│   │   │   ├── _floating-labels.scss
│   │   │   ├── _form-check.scss
│   │   │   ├── _form-control.scss
│   │   │   ├── _form-range.scss
│   │   │   ├── _form-select.scss
│   │   │   ├── _form-text.scss
│   │   │   ├── _input-group.scss
│   │   │   ├── _labels.scss
│   │   │   └── _validation.scss
│   │   ├── helpers/
│   │   │   ├── _clearfix.scss
│   │   │   ├── _color-bg.scss
│   │   │   ├── _colored-links.scss
│   │   │   ├── _focus-ring.scss
│   │   │   ├── _icon-link.scss
│   │   │   ├── _position.scss
│   │   │   ├── _ratio.scss
│   │   │   ├── _stacks.scss
│   │   │   ├── _stretched-link.scss
│   │   │   ├── _text-truncation.scss
│   │   │   ├── _visually-hidden.scss
│   │   │   └── _vr.scss
│   │   ├── mixins/
│   │   │   ├── _alert.scss
│   │   │   ├── _backdrop.scss
│   │   │   ├── _banner.scss
│   │   │   ├── _border-radius.scss
│   │   │   ├── _box-shadow.scss
│   │   │   ├── _breakpoints.scss
│   │   │   ├── _buttons.scss
│   │   │   ├── _caret.scss
│   │   │   ├── _clearfix.scss
│   │   │   ├── _color-mode.scss
│   │   │   ├── _color-scheme.scss
│   │   │   ├── _container.scss
│   │   │   ├── _deprecate.scss
│   │   │   ├── _forms.scss
│   │   │   ├── _gradients.scss
│   │   │   ├── _grid.scss
│   │   │   ├── _image.scss
│   │   │   ├── _list-group.scss
│   │   │   ├── _lists.scss
│   │   │   ├── _pagination.scss
│   │   │   ├── _reset-text.scss
│   │   │   ├── _resize.scss
│   │   │   ├── _table-variants.scss
│   │   │   ├── _text-truncate.scss
│   │   │   ├── _transition.scss
│   │   │   ├── _utilities.scss
│   │   │   └── _visually-hidden.scss
│   │   ├── tests/
│   │   │   ├── jasmine.js
│   │   │   ├── mixins/
│   │   │   │   ├── _auto-import-of-variables-dark.test.scss
│   │   │   │   ├── _color-modes.test.scss
│   │   │   │   ├── _media-query-color-mode-full.test.scss
│   │   │   │   └── _utilities.test.scss
│   │   │   ├── sass-true/
│   │   │   │   ├── register.js
│   │   │   │   └── runner.js
│   │   │   └── utilities/
│   │   │       └── _api.test.scss
│   │   ├── utilities/
│   │   │   └── _api.scss
│   │   └── vendor/
│   │       └── _rfs.scss
│   ├── components/
│   │   └── gallery.scss
│   ├── editor.scss
│   ├── ionicons.css
│   ├── line-awesome/
│   │   ├── _bordered_pulled.scss
│   │   ├── _core.scss
│   │   ├── _fixed-width.scss
│   │   ├── _icons.scss
│   │   ├── _larger.scss
│   │   ├── _list.scss
│   │   ├── _mixins.scss
│   │   ├── _path.scss
│   │   ├── _rotated-flipped.scss
│   │   ├── _screen-reader.scss
│   │   ├── _stacked.scss
│   │   ├── _variables.scss
│   │   ├── dist/
│   │   │   └── line-awesome/
│   │   │       └── css/
│   │   │           └── line-awesome.css
│   │   └── line-awesome.scss
│   └── vvvebjs-editor-helpers.scss
└── upload.php

================================================
FILE CONTENTS
================================================

================================================
FILE: .dockerignore
================================================
*


================================================
FILE: .gitattributes
================================================
* linguist-vendored
*.js linguist-vendored=false


================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms

custom: https://paypal.me/zgivan
open_collective: vvvebjs


================================================
FILE: .github/lock.yml
================================================
# Configuration for Lock Threads - https://github.com/dessant/lock-threads

# Number of days of inactivity before a closed issue or pull request is locked
daysUntilLock: 365

# Skip issues and pull requests created before a given timestamp. Timestamp must
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
skipCreatedBefore: false

# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
exemptLabels:
  - no-locking
  - help-wanted

# Label to add before locking, such as `outdated`. Set to `false` to disable
lockLabel: outdated

# Comment to post before locking. Set to `false` to disable
lockComment: >
  This thread has been automatically locked since there has not been
  any recent activity after it was closed. Please open a new issue for
  related bugs.

# Assign `resolved` as the reason for locking. Set to `false` to disable
setLockReason: true

# Limit to only `issues` or `pulls`
# only: issues

# Optionally, specify configuration settings just for `issues` or `pulls`
# issues:
#   exemptLabels:
#     - help-wanted
#   lockLabel: outdated

# pulls:
#   daysUntilLock: 30

# Repository to extend settings from
# _extends: repo

================================================
FILE: .github/no-response.yml
================================================
# Configuration for probot-no-response - https://github.com/probot/no-response

# Number of days of inactivity before an Issue is closed for lack of response
daysUntilClose: 10
# Label requiring a response
responseRequiredLabel: more-information-needed
# Comment to post when closing an Issue for lack of response. Set to `false` to disable
closeComment: >
  This issue has been automatically closed because there has been no response
  to our request for more information from the original author. With only the
  information that is currently in the issue, we don't have enough information
  to take action. Please reach out if you have or find the answers we need so
  that we can investigate further.


================================================
FILE: .gitignore
================================================
node_modules
*.css.map
*.js.map


================================================
FILE: .gitmodules
================================================
[submodule "demo/landing"]
	path = demo/landing
	url = https://github.com/givanz/landing


================================================
FILE: Credits.md
================================================
# Credits
## SVG icons
* Eva Icons - MIT License - https://github.com/akveo/eva-icons
* IonIcons - MIT license - https://ionic.io/ionicons
* Freebiesbug - CC BY - https://freebiesbug.com/psd-freebies/150-free-outlined-icons-psd-ai-svg-webfont/
* Line Awesome - MIT license - https://icons8.com/line-awesome
* 77 Essential Icons - CC BY 4.0 - https://dribbble.com/shots/1934932-77-Essential-Icons-Free-Download
* Dripicons - CC BY 4.0 - https://github.com/amitjakhu/dripicons
* Themify Icons - MIT License - https://themify.me/themify-icons
* Feather - MIT License - https://github.com/feathericons/feather
* Boxicons  - MIT License - https://boxicons.com/
* Linea - CC BY 4.0 - https://www.linea.is/
* Core UI - CC BY 4.0 - https://github.com/coreui/coreui-icons
* Open Iconic - MIT License - https://useiconic.com/open/
* Font Awesome - CC BY 4.0 https://github.com/FortAwesome/Font-Awesome
* Elegant Icon Font - MIT License - https://www.elegantthemes.com/blog/resources/elegant-icon-font
* Material Design - Apache 2.0 - https://github.com/Templarian/MaterialDesign
* RemixIcon - Apache 2.0 License -https://github.com/Iconscout/unicons
* Unicons - Apache 2.0 License -https://github.com/Remix-Design/remixicon
* clarity-icons - MIT License - https://clarity.design/foundation/icons/
* Jam icons - MIT License - https://v2.jam-icons.com/
* Ant Design SVG icons - MIT License - https://github.com/ant-design/ant-design-icons
* Olicons - CC BY - https://github.com/owlling/olicons
* Css.gg - MIT License -https://github.com/astrit/css.gg
* Tabler icons - MIT License - https://github.com/tabler/tabler-icons
* Ikonate - MIT License - https://github.com/mikolajdobrucki/ikonate
* iconoir - MIT License - https://github.com/lucaburgio/iconoir
* octicons - MIT License - https://github.com/primer/octicons
* heroicons - MIT License - https://github.com/tailwindlabs/heroicons
* Health Icons - MIT License - https://github.com/resolvetosavelives/healthicons
* iconsax - Custom Free License - https://github.com/lusaxweb/iconsax
* System-uicons - Unilicense - https://github.com/CoreyGinnivan/system-uicons



================================================
FILE: Dockerfile
================================================
FROM php:8.3-apache

ARG UNAME=www-data
ARG UGROUP=www-data
ARG UID=1000
ARG GID=1001
RUN usermod  --uid $UID $UNAME
RUN groupmod --gid $GID $UGROUP


================================================
FILE: LICENSE
================================================
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS


================================================
FILE: README.md
================================================
# VvvebJs

<p align="center">
  <img src="https://www.vvveb.com/admin/themes/default/img/biglogo.png" alt="Vvveb">
  <br><br>
  <strong>Drag and drop page builder javascript library.</strong>
  <br>
  <span>Built with Vanilla Js with no dependencies or build tools and Bootstrap 5</span>
</p>
<p align="center">
  <a href="https://www.vvveb.com">Website</a> |
  <a href="https://github.com/givanz/VvvebJs/wiki">Documentation</a> |
  <a href="https://github.com/givanz/VvvebJs/discussions">Forum</a> |
  <a href="https://twitter.com/vvvebcms">Twitter</a> 
</p>


## [Live Demo](https://www.vvveb.com/vvvebjs/editor.html)

For a full featured Open Source CMS using VvvebJs page builder check [Vvveb CMS](https://github.com/givanz/Vvveb)

Using [Vvveb landing page template](https://github.com/givanz/landing) for demo page and Bootstrap 5 sections and blocks.

<img src="https://www.vvveb.com/img/dark-theme.png">
<img src="https://www.vvveb.com/img/light-theme.png">

### Features

* Components and blocks/snippets drag and drop and in page insert.
* Undo/Redo operations.
* One or two panels interface.
* File manager and component hierarchy navigation.
* Add new page modal with template and folder options.
* Live code editor with codemirror plugin syntax highlighting.
* Image upload with example php script included.
* Page download or export html or save page on server with example php script included.
* Components/Sections/Blocks list search.
* Bootstrap 5 components.
* Media gallery with integrated CC0 image search and server upload support.
* Image, video and iframe elements resize handles.
* Elements breadcrumb for easier parent elements selection.
* Full Google fonts list support for font selection.
* Youtube, Google maps, Charts.js etc widgets.
* Optional CKEditor plugin to replace builtin text editor.
* Zip download plugin to download the page and all assets as zip file.
* SVG Icon component bundled with hundreds of free icons.
* Animate on scroll support for page elements.
* Theme global typography and color pallette editor.


By default the editor comes with Bootstrap 5 and Widgets components and can be extended with any kind of components and inputs.

## Install

* Clone the repository 
```bash
#git 2.13+ 
git clone --recurse-submodules https://github.com/givanz/VvvebJs

# older git versions 
git clone --recursive https://github.com/givanz/VvvebJs
```

* Pull changes 
```bash
git pull --recurse-submodules
```

## Usage

Clone the repository or download a release then open `editor.html`

Because of browser iframe security you need to use a webserver such as apache/xampp and open `http://localhost/editor.html`

To disable browser security and open `editor.html` without installing a webserver run chrome with

```bash
chrome --disable-web-security --user-data-dir=/tmp/temporary_profile editor.html
```

To use the image upload or page save feature you need to have php installed.


## Docker

### Local development

From VvvebJs folder run

```bash
docker-compose up
```

### Image 

Or run image 

```bash
docker run -p 8080:80 vvveb/vvvebjs
```

Open http://localhost:8080/editor.php or http://localhost:8080/editor.html

## Save page

Save page function needs either php or node

### PHP

If you use docker, xampp or a shared hosting account php should work without any change.

Saving is done using [save.php](save.php)

### Node

For node go to VvvebJs folder and run

```bash
npm install express
node save.js
```

Open http://localhost:8080/editor.html

Saving is done using [save.js](save.js)


## [Landing template](https://github.com/givanz/landing)

To make changes to template files or sections run the following commands from `demo/landing` folder

### Install gulp

```bash
npm i
```

### Generate html files

Template html partials are located in `demo/landing/src` folder.

```bash
npm run gulp
```

### Watch for changes for development

```bash
npm run gulp watch
```

### Generate sections list for page builder

Sections html files are located in `demo/landing/src/sections` folder grouped in folders with the section group name.

```bash
npm run gulp sections
```

### Generate blocks list

Blocks html files are located in `demo/landing/src/blocks` folder grouped in folders with the blocks group name.

```bash
npm run gulp blocks
```

### Generate screenshots for sections

```bash
npm run gulp screenshots
```

## Usage

### Initialize example


```js
<!-- bootstrap-->
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>

<!-- builder code-->
<script src="libs/builder/builder.js"></script>	
<!-- undo manager-->
<script src="libs/builder/undo.js"></script>	
<!-- inputs-->
<script src="libs/builder/inputs.js"></script>	
<!-- components-->
<script src="libs/builder/components-bootstrap5.js"></script>	
<script src="libs/builder/components-widgets.js"></script>	

<script>
let pages = [
 {
	name:"narrow-jumbotron", 
	title:"Jumbotron", 
	url: "demo/narrow-jumbotron/index.html", 
	file: "demo/narrow-jumbotron/index.html"
  },
  {name:"landing-page", title:"Landing page", url: "demo/landing/index.html", file: "demo/landing/index.html"},
];
	

let firstPage = Object.keys(pages)[0];
Vvveb.Builder.init(pages[firstPage]["url"], function() {
	//load code after page is loaded here
});

Vvveb.Gui.init();
Vvveb.FileManager.init();
Vvveb.SectionList.init();
Vvveb.Breadcrumb.init();

Vvveb.FileManager.addPages(pages);
Vvveb.FileManager.loadPage(pages[firstPage]["name"]);
Vvveb.Gui.toggleRightColumn(false);
Vvveb.Breadcrumb.init();

<script>
```

For editor html and components/input javascript templates edit [editor.html](editor.html)

For css changes edit [scss/editor.scss](scss/editor.scss) and [scss/_builder.scss](scss/_builder.scss)


### Scss

To compile scss to css first install gulp 

```bash
npm i
```

Then you can run 

```bash
npm run gulp
```

or use watch to compile on file change.

```bash
npm run gulp watch
```


## Documentation

For documentation check the [wiki](https://github.com/givanz/VvvebJs/wiki)

## Support

If you like the project you can support it with a [PayPal donation](https://paypal.me/zgivan) or become a backer/sponsor via [Open Collective](https://opencollective.com/vvvebjs)


<a href="https://opencollective.com/vvvebjs/sponsors/0/website"><img src="https://opencollective.com/vvvebjs/sponsors/0/avatar"></a>
<a href="https://opencollective.com/vvvebjs/backers/0/website"><img src="https://opencollective.com/vvvebjs/backers/0/avatar"></a>

## License

Apache 2.0


================================================
FILE: css/editor.css
================================================
/*
Copyright 2017 Ziadin Givan

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

https://github.com/givanz/VvvebJs
*/
body {
  font-family: "Helvetica Neue", Helvetica, -apple-system, Arial, "Lucida Grande", system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }

html[data-bs-theme="dark"] #logo {
  filter: invert(93%) hue-rotate(180deg); }

i.la, i.header-arrow {
  font-style: normal; }

.la, .header-arrow,
.lar,
.las,
.lab {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto; }

@font-face {
  font-family: Line Awesome Brands;
  font-style: normal;
  font-weight: normal;
  font-display: swap;
  src: url("../fonts/line-awesome/la-brands-400.eot");
  src: url("../fonts/line-awesome/la-brands-400.eot?#iefix") format("embedded-opentype"), url("../fonts/line-awesome/la-brands-400.woff2") format("woff2"), url("../fonts/line-awesome/la-brands-400.woff") format("woff"), url("../fonts/line-awesome/la-brands-400.ttf") format("truetype"), url("../fonts/line-awesome/la-brands-400.svg#lineawesome") format("svg"); }

.lab {
  font-family: Line Awesome Brands, monospace;
  font-weight: 400;
  line-height: var(--bs-body-line-height); }

@font-face {
  font-family: Line Awesome Free;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/line-awesome/la-regular-400.eot");
  src: url("../fonts/line-awesome/la-regular-400.eot?#iefix") format("embedded-opentype"), url("../fonts/line-awesome/la-regular-400.woff2") format("woff2"), url("../fonts/line-awesome/la-regular-400.woff") format("woff"), url("../fonts/line-awesome/la-regular-400.ttf") format("truetype"), url("../fonts/line-awesome/la-regular-400.svg#lineawesome") format("svg"); }

.la, .header-arrow {
  font-family: Line Awesome Free, monospace;
  font-weight: 400;
  line-height: var(--bs-body-line-height); }

@font-face {
  font-family: Line Awesome Free;
  font-style: normal;
  font-weight: 410;
  font-display: swap;
  src: url("../fonts/line-awesome/la-solid-900.eot");
  src: url("../fonts/line-awesome/la-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/line-awesome/la-solid-900.woff2") format("woff2"), url("../fonts/line-awesome/la-solid-900.woff") format("woff"), url("../fonts/line-awesome/la-solid-900.ttf") format("truetype"), url("../fonts/line-awesome/la-solid-900.svg#lineawesome") format("svg"); }

.la, .header-arrow, .la, .header-arrow {
  font-family: Line Awesome Free, monospace;
  font-weight: 410;
  line-height: var(--bs-body-line-height); }

.la.la-lg, .la-lg.header-arrow {
  font-size: 1.33333em;
  line-height: 1.2em;
  vertical-align: -.0667em; }

.la-xs {
  font-size: 0.75em; }

.la-2x {
  font-size: 1em; }

.la-2x {
  font-size: 2em; }

.la-3x {
  font-size: 3em; }

.la-4x {
  font-size: 4em; }

.la-5x {
  font-size: 5em; }

.la-6x {
  font-size: 6em; }

.la-7x {
  font-size: 7em; }

.la-8x {
  font-size: 8em; }

.la-9x {
  font-size: 9em; }

.la-10x {
  font-size: 10em; }

.la-fw {
  text-align: center;
  width: 1.25em; }

.la-fw {
  width: 1.25em;
  text-align: center; }

.la-ul {
  padding-left: 0;
  margin-left: calc(20em / 14);
  list-style-type: none; }
  .la-ul > li {
    position: relative; }

.la-li {
  position: absolute;
  left: -2em;
  text-align: center;
  width: calc(20em / 14);
  line-height: inherit; }
  .la-li.la-lg {
    left: -calc(20em / 14)calc(4em / 14); }

.la-border {
  border: solid 0.08em var(--bs-border-color);
  border-radius: .1em;
  padding: .2em .25em .15em; }

.la-pull-left {
  float: left; }

.la-pull-right {
  float: right; }

.la.la-pull-left, .la-pull-left.header-arrow {
  margin-right: .3em; }

.la.la-pull-right, .la-pull-right.header-arrow {
  margin-left: .3em; }

.la.pull-left, .pull-left.header-arrow {
  margin-right: .3em; }

.la.pull-right, .pull-right.header-arrow {
  margin-left: .3em; }

.la-pull-left {
  float: left; }

.la-pull-right {
  float: right; }

.la.la-pull-left, .la-pull-left.header-arrow,
.las.la-pull-left,
.lar.la-pull-left,
.lal.la-pull-left,
.lab.la-pull-left {
  margin-right: .3em; }

.la.la-pull-right, .la-pull-right.header-arrow,
.las.la-pull-right,
.lar.la-pull-right,
.lal.la-pull-right,
.lab.la-pull-right {
  margin-left: .3em; }

.la-spin {
  -webkit-animation: la-spin 2s infinite linear;
  animation: la-spin 2s infinite linear; }

.la-pulse {
  -webkit-animation: la-spin 1s infinite steps(8);
  animation: la-spin 1s infinite steps(8); }

@-webkit-keyframes la-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes la-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.la-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg); }

.la-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg); }

.la-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  transform: rotate(270deg); }

.la-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1); }

.la-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  transform: scale(1, -1); }

.la-flip-both, .la-flip-horizontal.la-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(-1, -1);
  transform: scale(-1, -1); }

:root .la-rotate-90,
:root .la-rotate-180,
:root .la-rotate-270,
:root .la-flip-horizontal,
:root .la-flip-vertical,
:root .la-flip-both {
  -webkit-filter: none;
  filter: none; }

.la-stack {
  display: inline-block;
  height: 2em;
  line-height: 2em;
  position: relative;
  vertical-align: middle;
  width: 2.5em; }

.la-stack-1x,
.la-stack-2x {
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%; }

.la-stack-1x {
  line-height: inherit; }

.la-stack-2x {
  font-size: 2em; }

.la-inverse {
  color: #fff; }

.la-500px:before {
  content: "\f26e"; }

.la-accessible-icon:before {
  content: "\f368"; }

.la-accusoft:before {
  content: "\f369"; }

.la-acquisitions-incorporated:before {
  content: "\f6af"; }

.la-ad:before {
  content: "\f641"; }

.la-address-book:before {
  content: "\f2b9"; }

.la-address-card:before {
  content: "\f2bb"; }

.la-adjust:before {
  content: "\f042"; }

.la-adn:before {
  content: "\f170"; }

.la-adobe:before {
  content: "\f778"; }

.la-adversal:before {
  content: "\f36a"; }

.la-affiliatetheme:before {
  content: "\f36b"; }

.la-air-freshener:before {
  content: "\f5d0"; }

.la-airbnb:before {
  content: "\f834"; }

.la-algolia:before {
  content: "\f36c"; }

.la-align-center:before {
  content: "\f037"; }

.la-align-justify:before {
  content: "\f039"; }

.la-align-left:before {
  content: "\f036"; }

.la-align-right:before {
  content: "\f038"; }

.la-alipay:before {
  content: "\f642"; }

.la-allergies:before {
  content: "\f461"; }

.la-amazon:before {
  content: "\f270"; }

.la-amazon-pay:before {
  content: "\f42c"; }

.la-ambulance:before {
  content: "\f0f9"; }

.la-american-sign-language-interpreting:before {
  content: "\f2a3"; }

.la-amilia:before {
  content: "\f36d"; }

.la-anchor:before {
  content: "\f13d"; }

.la-android:before {
  content: "\f17b"; }

.la-angellist:before {
  content: "\f209"; }

.la-angle-double-down:before {
  content: "\f103"; }

.la-angle-double-left:before {
  content: "\f100"; }

.la-angle-double-right:before {
  content: "\f101"; }

.la-angle-double-up:before {
  content: "\f102"; }

.la-angle-down:before, .header-arrow:before {
  content: "\f107"; }

.la-angle-left:before {
  content: "\f104"; }

.la-angle-right:before, .header-arrow.expanded:before {
  content: "\f105"; }

.la-angle-up:before {
  content: "\f106"; }

.la-angry:before {
  content: "\f556"; }

.la-angrycreative:before {
  content: "\f36e"; }

.la-angular:before {
  content: "\f420"; }

.la-ankh:before {
  content: "\f644"; }

.la-app-store:before {
  content: "\f36f"; }

.la-app-store-ios:before {
  content: "\f370"; }

.la-apper:before {
  content: "\f371"; }

.la-apple:before {
  content: "\f179"; }

.la-apple-alt:before {
  content: "\f5d1"; }

.la-apple-pay:before {
  content: "\f415"; }

.la-archive:before {
  content: "\f187"; }

.la-archway:before {
  content: "\f557"; }

.la-arrow-alt-circle-down:before {
  content: "\f358"; }

.la-arrow-alt-circle-left:before {
  content: "\f359"; }

.la-arrow-alt-circle-right:before {
  content: "\f35a"; }

.la-arrow-alt-circle-up:before {
  content: "\f35b"; }

.la-arrow-circle-down:before {
  content: "\f0ab"; }

.la-arrow-circle-left:before {
  content: "\f0a8"; }

.la-arrow-circle-right:before {
  content: "\f0a9"; }

.la-arrow-circle-up:before {
  content: "\f0aa"; }

.la-arrow-down:before {
  content: "\f063"; }

.la-arrow-left:before {
  content: "\f060"; }

.la-arrow-right:before {
  content: "\f061"; }

.la-arrow-up:before {
  content: "\f062"; }

.la-arrows-alt:before {
  content: "\f0b2"; }

.la-arrows-alt-h:before {
  content: "\f337"; }

.la-arrows-alt-v:before {
  content: "\f338"; }

.la-artstation:before {
  content: "\f77a"; }

.la-assistive-listening-systems:before {
  content: "\f2a2"; }

.la-asterisk:before {
  content: "\f069"; }

.la-asymmetrik:before {
  content: "\f372"; }

.la-at:before {
  content: "\f1fa"; }

.la-atlas:before {
  content: "\f558"; }

.la-atlassian:before {
  content: "\f77b"; }

.la-atom:before {
  content: "\f5d2"; }

.la-audible:before {
  content: "\f373"; }

.la-audio-description:before {
  content: "\f29e"; }

.la-autoprefixer:before {
  content: "\f41c"; }

.la-avianex:before {
  content: "\f374"; }

.la-aviato:before {
  content: "\f421"; }

.la-award:before {
  content: "\f559"; }

.la-aws:before {
  content: "\f375"; }

.la-baby:before {
  content: "\f77c"; }

.la-baby-carriage:before {
  content: "\f77d"; }

.la-backspace:before {
  content: "\f55a"; }

.la-backward:before {
  content: "\f04a"; }

.la-bacon:before {
  content: "\f7e5"; }

.la-balance-scale:before {
  content: "\f24e"; }

.la-balance-scale-left:before {
  content: "\f515"; }

.la-balance-scale-right:before {
  content: "\f516"; }

.la-ban:before {
  content: "\f05e"; }

.la-band-aid:before {
  content: "\f462"; }

.la-bandcamp:before {
  content: "\f2d5"; }

.la-barcode:before {
  content: "\f02a"; }

.la-bars:before {
  content: "\f0c9"; }

.la-baseball-ball:before {
  content: "\f433"; }

.la-basketball-ball:before {
  content: "\f434"; }

.la-bath:before {
  content: "\f2cd"; }

.la-battery-empty:before {
  content: "\f244"; }

.la-battery-full:before {
  content: "\f240"; }

.la-battery-half:before {
  content: "\f242"; }

.la-battery-quarter:before {
  content: "\f243"; }

.la-battery-three-quarters:before {
  content: "\f241"; }

.la-battle-net:before {
  content: "\f835"; }

.la-bed:before {
  content: "\f236"; }

.la-beer:before {
  content: "\f0fc"; }

.la-behance:before {
  content: "\f1b4"; }

.la-behance-square:before {
  content: "\f1b5"; }

.la-bell:before {
  content: "\f0f3"; }

.la-bell-slash:before {
  content: "\f1f6"; }

.la-bezier-curve:before {
  content: "\f55b"; }

.la-bible:before {
  content: "\f647"; }

.la-bicycle:before {
  content: "\f206"; }

.la-biking:before {
  content: "\f84a"; }

.la-bimobject:before {
  content: "\f378"; }

.la-binoculars:before {
  content: "\f1e5"; }

.la-biohazard:before {
  content: "\f780"; }

.la-birthday-cake:before {
  content: "\f1fd"; }

.la-bitbucket:before {
  content: "\f171"; }

.la-bitcoin:before {
  content: "\f379"; }

.la-bity:before {
  content: "\f37a"; }

.la-black-tie:before {
  content: "\f27e"; }

.la-blackberry:before {
  content: "\f37b"; }

.la-blender:before {
  content: "\f517"; }

.la-blender-phone:before {
  content: "\f6b6"; }

.la-blind:before {
  content: "\f29d"; }

.la-blog:before {
  content: "\f781"; }

.la-blogger:before {
  content: "\f37c"; }

.la-blogger-b:before {
  content: "\f37d"; }

.la-bluetooth:before {
  content: "\f293"; }

.la-bluetooth-b:before {
  content: "\f294"; }

.la-bold:before {
  content: "\f032"; }

.la-bolt:before {
  content: "\f0e7"; }

.la-bomb:before {
  content: "\f1e2"; }

.la-bone:before {
  content: "\f5d7"; }

.la-bong:before {
  content: "\f55c"; }

.la-book:before {
  content: "\f02d"; }

.la-book-dead:before {
  content: "\f6b7"; }

.la-book-medical:before {
  content: "\f7e6"; }

.la-book-open:before {
  content: "\f518"; }

.la-book-reader:before {
  content: "\f5da"; }

.la-bookmark:before {
  content: "\f02e"; }

.la-bootstrap:before {
  content: "\f836"; }

.la-border-all:before {
  content: "\f84c"; }

.la-border-none:before {
  content: "\f850"; }

.la-border-style:before {
  content: "\f853"; }

.la-bowling-ball:before {
  content: "\f436"; }

.la-box:before {
  content: "\f466"; }

.la-box-open:before {
  content: "\f49e"; }

.la-boxes:before {
  content: "\f468"; }

.la-braille:before {
  content: "\f2a1"; }

.la-brain:before {
  content: "\f5dc"; }

.la-bread-slice:before {
  content: "\f7ec"; }

.la-briefcase:before {
  content: "\f0b1"; }

.la-briefcase-medical:before {
  content: "\f469"; }

.la-broadcast-tower:before {
  content: "\f519"; }

.la-broom:before {
  content: "\f51a"; }

.la-brush:before {
  content: "\f55d"; }

.la-btc:before {
  content: "\f15a"; }

.la-buffer:before {
  content: "\f837"; }

.la-bug:before {
  content: "\f188"; }

.la-building:before {
  content: "\f1ad"; }

.la-bullhorn:before {
  content: "\f0a1"; }

.la-bullseye:before {
  content: "\f140"; }

.la-burn:before {
  content: "\f46a"; }

.la-buromobelexperte:before {
  content: "\f37f"; }

.la-bus:before {
  content: "\f207"; }

.la-bus-alt:before {
  content: "\f55e"; }

.la-business-time:before {
  content: "\f64a"; }

.la-buysellads:before {
  content: "\f20d"; }

.la-calculator:before {
  content: "\f1ec"; }

.la-calendar:before {
  content: "\f133"; }

.la-calendar-alt:before {
  content: "\f073"; }

.la-calendar-check:before {
  content: "\f274"; }

.la-calendar-day:before {
  content: "\f783"; }

.la-calendar-minus:before {
  content: "\f272"; }

.la-calendar-plus:before {
  content: "\f271"; }

.la-calendar-times:before {
  content: "\f273"; }

.la-calendar-week:before {
  content: "\f784"; }

.la-camera:before {
  content: "\f030"; }

.la-camera-retro:before {
  content: "\f083"; }

.la-campground:before {
  content: "\f6bb"; }

.la-canadian-maple-leaf:before {
  content: "\f785"; }

.la-candy-cane:before {
  content: "\f786"; }

.la-cannabis:before {
  content: "\f55f"; }

.la-capsules:before {
  content: "\f46b"; }

.la-car:before {
  content: "\f1b9"; }

.la-car-alt:before {
  content: "\f5de"; }

.la-car-battery:before {
  content: "\f5df"; }

.la-car-crash:before {
  content: "\f5e1"; }

.la-car-side:before {
  content: "\f5e4"; }

.la-caret-down:before {
  content: "\f0d7"; }

.la-caret-left:before {
  content: "\f0d9"; }

.la-caret-right:before {
  content: "\f0da"; }

.la-caret-square-down:before {
  content: "\f150"; }

.la-caret-square-left:before {
  content: "\f191"; }

.la-caret-square-right:before {
  content: "\f152"; }

.la-caret-square-up:before {
  content: "\f151"; }

.la-caret-up:before {
  content: "\f0d8"; }

.la-carrot:before {
  content: "\f787"; }

.la-cart-arrow-down:before {
  content: "\f218"; }

.la-cart-plus:before {
  content: "\f217"; }

.la-cash-register:before {
  content: "\f788"; }

.la-cat:before {
  content: "\f6be"; }

.la-cc-amazon-pay:before {
  content: "\f42d"; }

.la-cc-amex:before {
  content: "\f1f3"; }

.la-cc-apple-pay:before {
  content: "\f416"; }

.la-cc-diners-club:before {
  content: "\f24c"; }

.la-cc-discover:before {
  content: "\f1f2"; }

.la-cc-jcb:before {
  content: "\f24b"; }

.la-cc-mastercard:before {
  content: "\f1f1"; }

.la-cc-paypal:before {
  content: "\f1f4"; }

.la-cc-stripe:before {
  content: "\f1f5"; }

.la-cc-visa:before {
  content: "\f1f0"; }

.la-centercode:before {
  content: "\f380"; }

.la-centos:before {
  content: "\f789"; }

.la-certificate:before {
  content: "\f0a3"; }

.la-chair:before {
  content: "\f6c0"; }

.la-chalkboard:before {
  content: "\f51b"; }

.la-chalkboard-teacher:before {
  content: "\f51c"; }

.la-charging-station:before {
  content: "\f5e7"; }

.la-chart-area:before {
  content: "\f1fe"; }

.la-chart-bar:before {
  content: "\f080"; }

.la-chart-line:before {
  content: "\f201"; }

.la-chart-pie:before {
  content: "\f200"; }

.la-check:before {
  content: "\f00c"; }

.la-check-circle:before {
  content: "\f058"; }

.la-check-double:before {
  content: "\f560"; }

.la-check-square:before {
  content: "\f14a"; }

.la-cheese:before {
  content: "\f7ef"; }

.la-chess:before {
  content: "\f439"; }

.la-chess-bishop:before {
  content: "\f43a"; }

.la-chess-board:before {
  content: "\f43c"; }

.la-chess-king:before {
  content: "\f43f"; }

.la-chess-knight:before {
  content: "\f441"; }

.la-chess-pawn:before {
  content: "\f443"; }

.la-chess-queen:before {
  content: "\f445"; }

.la-chess-rook:before {
  content: "\f447"; }

.la-chevron-circle-down:before {
  content: "\f13a"; }

.la-chevron-circle-left:before {
  content: "\f137"; }

.la-chevron-circle-right:before {
  content: "\f138"; }

.la-chevron-circle-up:before {
  content: "\f139"; }

.la-chevron-down:before {
  content: "\f078"; }

.la-chevron-left:before {
  content: "\f053"; }

.la-chevron-right:before {
  content: "\f054"; }

.la-chevron-up:before {
  content: "\f077"; }

.la-child:before {
  content: "\f1ae"; }

.la-chrome:before {
  content: "\f268"; }

.la-chromecast:before {
  content: "\f838"; }

.la-church:before {
  content: "\f51d"; }

.la-circle:before {
  content: "\f111"; }

.la-circle-notch:before {
  content: "\f1ce"; }

.la-city:before {
  content: "\f64f"; }

.la-clinic-medical:before {
  content: "\f7f2"; }

.la-clipboard:before {
  content: "\f328"; }

.la-clipboard-check:before {
  content: "\f46c"; }

.la-clipboard-list:before {
  content: "\f46d"; }

.la-clock:before {
  content: "\f017"; }

.la-clone:before {
  content: "\f24d"; }

.la-closed-captioning:before {
  content: "\f20a"; }

.la-cloud:before {
  content: "\f0c2"; }

.la-cloud-download-alt:before {
  content: "\f381"; }

.la-cloud-meatball:before {
  content: "\f73b"; }

.la-cloud-moon:before {
  content: "\f6c3"; }

.la-cloud-moon-rain:before {
  content: "\f73c"; }

.la-cloud-rain:before {
  content: "\f73d"; }

.la-cloud-showers-heavy:before {
  content: "\f740"; }

.la-cloud-sun:before {
  content: "\f6c4"; }

.la-cloud-sun-rain:before {
  content: "\f743"; }

.la-cloud-upload-alt:before {
  content: "\f382"; }

.la-cloudscale:before {
  content: "\f383"; }

.la-cloudsmith:before {
  content: "\f384"; }

.la-cloudversify:before {
  content: "\f385"; }

.la-cocktail:before {
  content: "\f561"; }

.la-code:before {
  content: "\f121"; }

.la-code-branch:before {
  content: "\f126"; }

.la-codepen:before {
  content: "\f1cb"; }

.la-codiepie:before {
  content: "\f284"; }

.la-coffee:before {
  content: "\f0f4"; }

.la-cog:before {
  content: "\f013"; }

.la-cogs:before {
  content: "\f085"; }

.la-coins:before {
  content: "\f51e"; }

.la-columns:before {
  content: "\f0db"; }

.la-comment:before {
  content: "\f075"; }

.la-comment-alt:before {
  content: "\f27a"; }

.la-comment-dollar:before {
  content: "\f651"; }

.la-comment-dots:before {
  content: "\f4ad"; }

.la-comment-medical:before {
  content: "\f7f5"; }

.la-comment-slash:before {
  content: "\f4b3"; }

.la-comments:before {
  content: "\f086"; }

.la-comments-dollar:before {
  content: "\f653"; }

.la-compact-disc:before {
  content: "\f51f"; }

.la-compass:before {
  content: "\f14e"; }

.la-compress:before {
  content: "\f066"; }

.la-compress-arrows-alt:before {
  content: "\f78c"; }

.la-concierge-bell:before {
  content: "\f562"; }

.la-confluence:before {
  content: "\f78d"; }

.la-connectdevelop:before {
  content: "\f20e"; }

.la-contao:before {
  content: "\f26d"; }

.la-cookie:before {
  content: "\f563"; }

.la-cookie-bite:before {
  content: "\f564"; }

.la-copy:before {
  content: "\f0c5"; }

.la-copyright:before {
  content: "\f1f9"; }

.la-cotton-bureau:before {
  content: "\f89e"; }

.la-couch:before {
  content: "\f4b8"; }

.la-cpanel:before {
  content: "\f388"; }

.la-creative-commons:before {
  content: "\f25e"; }

.la-creative-commons-by:before {
  content: "\f4e7"; }

.la-creative-commons-nc:before {
  content: "\f4e8"; }

.la-creative-commons-nc-eu:before {
  content: "\f4e9"; }

.la-creative-commons-nc-jp:before {
  content: "\f4ea"; }

.la-creative-commons-nd:before {
  content: "\f4eb"; }

.la-creative-commons-pd:before {
  content: "\f4ec"; }

.la-creative-commons-pd-alt:before {
  content: "\f4ed"; }

.la-creative-commons-remix:before {
  content: "\f4ee"; }

.la-creative-commons-sa:before {
  content: "\f4ef"; }

.la-creative-commons-sampling:before {
  content: "\f4f0"; }

.la-creative-commons-sampling-plus:before {
  content: "\f4f1"; }

.la-creative-commons-share:before {
  content: "\f4f2"; }

.la-creative-commons-zero:before {
  content: "\f4f3"; }

.la-credit-card:before {
  content: "\f09d"; }

.la-critical-role:before {
  content: "\f6c9"; }

.la-crop:before {
  content: "\f125"; }

.la-crop-alt:before {
  content: "\f565"; }

.la-cross:before {
  content: "\f654"; }

.la-crosshairs:before {
  content: "\f05b"; }

.la-crow:before {
  content: "\f520"; }

.la-crown:before {
  content: "\f521"; }

.la-crutch:before {
  content: "\f7f7"; }

.la-css3:before {
  content: "\f13c"; }

.la-css3-alt:before {
  content: "\f38b"; }

.la-cube:before {
  content: "\f1b2"; }

.la-cubes:before {
  content: "\f1b3"; }

.la-cut:before {
  content: "\f0c4"; }

.la-cuttlefish:before {
  content: "\f38c"; }

.la-d-and-d:before {
  content: "\f38d"; }

.la-d-and-d-beyond:before {
  content: "\f6ca"; }

.la-dashcube:before {
  content: "\f210"; }

.la-database:before {
  content: "\f1c0"; }

.la-deaf:before {
  content: "\f2a4"; }

.la-delicious:before {
  content: "\f1a5"; }

.la-democrat:before {
  content: "\f747"; }

.la-deploydog:before {
  content: "\f38e"; }

.la-deskpro:before {
  content: "\f38f"; }

.la-desktop:before {
  content: "\f108"; }

.la-dev:before {
  content: "\f6cc"; }

.la-deviantart:before {
  content: "\f1bd"; }

.la-dharmachakra:before {
  content: "\f655"; }

.la-dhl:before {
  content: "\f790"; }

.la-diagnoses:before {
  content: "\f470"; }

.la-diaspora:before {
  content: "\f791"; }

.la-dice:before {
  content: "\f522"; }

.la-dice-d20:before {
  content: "\f6cf"; }

.la-dice-d6:before {
  content: "\f6d1"; }

.la-dice-five:before {
  content: "\f523"; }

.la-dice-four:before {
  content: "\f524"; }

.la-dice-one:before {
  content: "\f525"; }

.la-dice-six:before {
  content: "\f526"; }

.la-dice-three:before {
  content: "\f527"; }

.la-dice-two:before {
  content: "\f528"; }

.la-digg:before {
  content: "\f1a6"; }

.la-digital-ocean:before {
  content: "\f391"; }

.la-digital-tachograph:before {
  content: "\f566"; }

.la-directions:before {
  content: "\f5eb"; }

.la-discord:before {
  content: "\f392"; }

.la-discourse:before {
  content: "\f393"; }

.la-divide:before {
  content: "\f529"; }

.la-dizzy:before {
  content: "\f567"; }

.la-dna:before {
  content: "\f471"; }

.la-dochub:before {
  content: "\f394"; }

.la-docker:before {
  content: "\f395"; }

.la-dog:before {
  content: "\f6d3"; }

.la-dollar-sign:before {
  content: "\f155"; }

.la-dolly:before {
  content: "\f472"; }

.la-dolly-flatbed:before {
  content: "\f474"; }

.la-donate:before {
  content: "\f4b9"; }

.la-door-closed:before {
  content: "\f52a"; }

.la-door-open:before {
  content: "\f52b"; }

.la-dot-circle:before {
  content: "\f192"; }

.la-dove:before {
  content: "\f4ba"; }

.la-download:before {
  content: "\f019"; }

.la-draft2digital:before {
  content: "\f396"; }

.la-drafting-compass:before {
  content: "\f568"; }

.la-dragon:before {
  content: "\f6d5"; }

.la-draw-polygon:before {
  content: "\f5ee"; }

.la-dribbble:before {
  content: "\f17d"; }

.la-dribbble-square:before {
  content: "\f397"; }

.la-dropbox:before {
  content: "\f16b"; }

.la-drum:before {
  content: "\f569"; }

.la-drum-steelpan:before {
  content: "\f56a"; }

.la-drumstick-bite:before {
  content: "\f6d7"; }

.la-drupal:before {
  content: "\f1a9"; }

.la-dumbbell:before {
  content: "\f44b"; }

.la-dumpster:before {
  content: "\f793"; }

.la-dumpster-fire:before {
  content: "\f794"; }

.la-dungeon:before {
  content: "\f6d9"; }

.la-dyalog:before {
  content: "\f399"; }

.la-earlybirds:before {
  content: "\f39a"; }

.la-ebay:before {
  content: "\f4f4"; }

.la-edge:before {
  content: "\f282"; }

.la-edit:before {
  content: "\f044"; }

.la-egg:before {
  content: "\f7fb"; }

.la-eject:before {
  content: "\f052"; }

.la-elementor:before {
  content: "\f430"; }

.la-ellipsis-h:before {
  content: "\f141"; }

.la-ellipsis-v:before {
  content: "\f142"; }

.la-ello:before {
  content: "\f5f1"; }

.la-ember:before {
  content: "\f423"; }

.la-empire:before {
  content: "\f1d1"; }

.la-envelope:before {
  content: "\f0e0"; }

.la-envelope-open:before {
  content: "\f2b6"; }

.la-envelope-open-text:before {
  content: "\f658"; }

.la-envelope-square:before {
  content: "\f199"; }

.la-envira:before {
  content: "\f299"; }

.la-equals:before {
  content: "\f52c"; }

.la-eraser:before {
  content: "\f12d"; }

.la-erlang:before {
  content: "\f39d"; }

.la-ethereum:before {
  content: "\f42e"; }

.la-ethernet:before {
  content: "\f796"; }

.la-etsy:before {
  content: "\f2d7"; }

.la-euro-sign:before {
  content: "\f153"; }

.la-evernote:before {
  content: "\f839"; }

.la-exchange-alt:before {
  content: "\f362"; }

.la-exclamation:before {
  content: "\f12a"; }

.la-exclamation-circle:before {
  content: "\f06a"; }

.la-exclamation-triangle:before {
  content: "\f071"; }

.la-expand:before {
  content: "\f065"; }

.la-expand-arrows-alt:before {
  content: "\f31e"; }

.la-expeditedssl:before {
  content: "\f23e"; }

.la-external-link-alt:before {
  content: "\f35d"; }

.la-external-link-square-alt:before {
  content: "\f360"; }

.la-eye:before {
  content: "\f06e"; }

.la-eye-dropper:before {
  content: "\f1fb"; }

.la-eye-slash:before {
  content: "\f070"; }

.la-facebook:before {
  content: "\f09a"; }

.la-facebook-f:before {
  content: "\f39e"; }

.la-facebook-messenger:before {
  content: "\f39f"; }

.la-facebook-square:before {
  content: "\f082"; }

.la-fan:before {
  content: "\f863"; }

.la-fantasy-flight-games:before {
  content: "\f6dc"; }

.la-fast-backward:before {
  content: "\f049"; }

.la-fast-forward:before {
  content: "\f050"; }

.la-fax:before {
  content: "\f1ac"; }

.la-feather:before {
  content: "\f52d"; }

.la-feather-alt:before {
  content: "\f56b"; }

.la-fedex:before {
  content: "\f797"; }

.la-fedora:before {
  content: "\f798"; }

.la-female:before {
  content: "\f182"; }

.la-fighter-jet:before {
  content: "\f0fb"; }

.la-figma:before {
  content: "\f799"; }

.la-file:before {
  content: "\f15b"; }

.la-file-alt:before {
  content: "\f15c"; }

.la-file-archive:before {
  content: "\f1c6"; }

.la-file-audio:before {
  content: "\f1c7"; }

.la-file-code:before {
  content: "\f1c9"; }

.la-file-contract:before {
  content: "\f56c"; }

.la-file-csv:before {
  content: "\f6dd"; }

.la-file-download:before {
  content: "\f56d"; }

.la-file-excel:before {
  content: "\f1c3"; }

.la-file-export:before {
  content: "\f56e"; }

.la-file-image:before {
  content: "\f1c5"; }

.la-file-import:before {
  content: "\f56f"; }

.la-file-invoice:before {
  content: "\f570"; }

.la-file-invoice-dollar:before {
  content: "\f571"; }

.la-file-medical:before {
  content: "\f477"; }

.la-file-medical-alt:before {
  content: "\f478"; }

.la-file-pdf:before {
  content: "\f1c1"; }

.la-file-powerpoint:before {
  content: "\f1c4"; }

.la-file-prescription:before {
  content: "\f572"; }

.la-file-signature:before {
  content: "\f573"; }

.la-file-upload:before {
  content: "\f574"; }

.la-file-video:before {
  content: "\f1c8"; }

.la-file-word:before {
  content: "\f1c2"; }

.la-fill:before {
  content: "\f575"; }

.la-fill-drip:before {
  content: "\f576"; }

.la-film:before {
  content: "\f008"; }

.la-filter:before {
  content: "\f0b0"; }

.la-fingerprint:before {
  content: "\f577"; }

.la-fire:before {
  content: "\f06d"; }

.la-fire-alt:before {
  content: "\f7e4"; }

.la-fire-extinguisher:before {
  content: "\f134"; }

.la-firefox:before {
  content: "\f269"; }

.la-first-aid:before {
  content: "\f479"; }

.la-first-order:before {
  content: "\f2b0"; }

.la-first-order-alt:before {
  content: "\f50a"; }

.la-firstdraft:before {
  content: "\f3a1"; }

.la-fish:before {
  content: "\f578"; }

.la-fist-raised:before {
  content: "\f6de"; }

.la-flag:before {
  content: "\f024"; }

.la-flag-checkered:before {
  content: "\f11e"; }

.la-flag-usa:before {
  content: "\f74d"; }

.la-flask:before {
  content: "\f0c3"; }

.la-flickr:before {
  content: "\f16e"; }

.la-flipboard:before {
  content: "\f44d"; }

.la-flushed:before {
  content: "\f579"; }

.la-fly:before {
  content: "\f417"; }

.la-folder:before {
  content: "\f07b"; }

.la-folder-minus:before {
  content: "\f65d"; }

.la-folder-open:before {
  content: "\f07c"; }

.la-folder-plus:before {
  content: "\f65e"; }

.la-font:before {
  content: "\f031"; }

.la-font-awesome:before {
  content: "\f2b4"; }

.la-font-awesome-alt:before {
  content: "\f35c"; }

.la-font-awesome-flag:before {
  content: "\f425"; }

.la-fonticons:before {
  content: "\f280"; }

.la-fonticons-fi:before {
  content: "\f3a2"; }

.la-football-ball:before {
  content: "\f44e"; }

.la-fort-awesome:before {
  content: "\f286"; }

.la-fort-awesome-alt:before {
  content: "\f3a3"; }

.la-forumbee:before {
  content: "\f211"; }

.la-forward:before {
  content: "\f04e"; }

.la-foursquare:before {
  content: "\f180"; }

.la-free-code-camp:before {
  content: "\f2c5"; }

.la-freebsd:before {
  content: "\f3a4"; }

.la-frog:before {
  content: "\f52e"; }

.la-frown:before {
  content: "\f119"; }

.la-frown-open:before {
  content: "\f57a"; }

.la-fulcrum:before {
  content: "\f50b"; }

.la-funnel-dollar:before {
  content: "\f662"; }

.la-futbol:before {
  content: "\f1e3"; }

.la-galactic-republic:before {
  content: "\f50c"; }

.la-galactic-senate:before {
  content: "\f50d"; }

.la-gamepad:before {
  content: "\f11b"; }

.la-gas-pump:before {
  content: "\f52f"; }

.la-gavel:before {
  content: "\f0e3"; }

.la-gem:before {
  content: "\f3a5"; }

.la-genderless:before {
  content: "\f22d"; }

.la-get-pocket:before {
  content: "\f265"; }

.la-gg:before {
  content: "\f260"; }

.la-gg-circle:before {
  content: "\f261"; }

.la-ghost:before {
  content: "\f6e2"; }

.la-gift:before {
  content: "\f06b"; }

.la-gifts:before {
  content: "\f79c"; }

.la-git:before {
  content: "\f1d3"; }

.la-git-alt:before {
  content: "\f841"; }

.la-git-square:before {
  content: "\f1d2"; }

.la-github:before {
  content: "\f09b"; }

.la-github-alt:before {
  content: "\f113"; }

.la-github-square:before {
  content: "\f092"; }

.la-gitkraken:before {
  content: "\f3a6"; }

.la-gitlab:before {
  content: "\f296"; }

.la-gitter:before {
  content: "\f426"; }

.la-glass-cheers:before {
  content: "\f79f"; }

.la-glass-martini:before {
  content: "\f000"; }

.la-glass-martini-alt:before {
  content: "\f57b"; }

.la-glass-whiskey:before {
  content: "\f7a0"; }

.la-glasses:before {
  content: "\f530"; }

.la-glide:before {
  content: "\f2a5"; }

.la-glide-g:before {
  content: "\f2a6"; }

.la-globe:before {
  content: "\f0ac"; }

.la-globe-africa:before {
  content: "\f57c"; }

.la-globe-americas:before {
  content: "\f57d"; }

.la-globe-asia:before {
  content: "\f57e"; }

.la-globe-europe:before {
  content: "\f7a2"; }

.la-gofore:before {
  content: "\f3a7"; }

.la-golf-ball:before {
  content: "\f450"; }

.la-goodreads:before {
  content: "\f3a8"; }

.la-goodreads-g:before {
  content: "\f3a9"; }

.la-google:before {
  content: "\f1a0"; }

.la-google-drive:before {
  content: "\f3aa"; }

.la-google-play:before {
  content: "\f3ab"; }

.la-google-plus:before {
  content: "\f2b3"; }

.la-google-plus-g:before {
  content: "\f0d5"; }

.la-google-plus-square:before {
  content: "\f0d4"; }

.la-google-wallet:before {
  content: "\f1ee"; }

.la-gopuram:before {
  content: "\f664"; }

.la-graduation-cap:before {
  content: "\f19d"; }

.la-gratipay:before {
  content: "\f184"; }

.la-grav:before {
  content: "\f2d6"; }

.la-greater-than:before {
  content: "\f531"; }

.la-greater-than-equal:before {
  content: "\f532"; }

.la-grimace:before {
  content: "\f57f"; }

.la-grin:before {
  content: "\f580"; }

.la-grin-alt:before {
  content: "\f581"; }

.la-grin-beam:before {
  content: "\f582"; }

.la-grin-beam-sweat:before {
  content: "\f583"; }

.la-grin-hearts:before {
  content: "\f584"; }

.la-grin-squint:before {
  content: "\f585"; }

.la-grin-squint-tears:before {
  content: "\f586"; }

.la-grin-stars:before {
  content: "\f587"; }

.la-grin-tears:before {
  content: "\f588"; }

.la-grin-tongue:before {
  content: "\f589"; }

.la-grin-tongue-squint:before {
  content: "\f58a"; }

.la-grin-tongue-wink:before {
  content: "\f58b"; }

.la-grin-wink:before {
  content: "\f58c"; }

.la-grip-horizontal:before {
  content: "\f58d"; }

.la-grip-lines:before {
  content: "\f7a4"; }

.la-grip-lines-vertical:before {
  content: "\f7a5"; }

.la-grip-vertical:before {
  content: "\f58e"; }

.la-gripfire:before {
  content: "\f3ac"; }

.la-grunt:before {
  content: "\f3ad"; }

.la-guitar:before {
  content: "\f7a6"; }

.la-gulp:before {
  content: "\f3ae"; }

.la-h-square:before {
  content: "\f0fd"; }

.la-hacker-news:before {
  content: "\f1d4"; }

.la-hacker-news-square:before {
  content: "\f3af"; }

.la-hackerrank:before {
  content: "\f5f7"; }

.la-hamburger:before {
  content: "\f805"; }

.la-hammer:before {
  content: "\f6e3"; }

.la-hamsa:before {
  content: "\f665"; }

.la-hand-holding:before {
  content: "\f4bd"; }

.la-hand-holding-heart:before {
  content: "\f4be"; }

.la-hand-holding-usd:before {
  content: "\f4c0"; }

.la-hand-lizard:before {
  content: "\f258"; }

.la-hand-middle-finger:before {
  content: "\f806"; }

.la-hand-paper:before {
  content: "\f256"; }

.la-hand-peace:before {
  content: "\f25b"; }

.la-hand-point-down:before {
  content: "\f0a7"; }

.la-hand-point-left:before {
  content: "\f0a5"; }

.la-hand-point-right:before {
  content: "\f0a4"; }

.la-hand-point-up:before {
  content: "\f0a6"; }

.la-hand-pointer:before {
  content: "\f25a"; }

.la-hand-rock:before {
  content: "\f255"; }

.la-hand-scissors:before {
  content: "\f257"; }

.la-hand-spock:before {
  content: "\f259"; }

.la-hands:before {
  content: "\f4c2"; }

.la-hands-helping:before {
  content: "\f4c4"; }

.la-handshake:before {
  content: "\f2b5"; }

.la-hanukiah:before {
  content: "\f6e6"; }

.la-hard-hat:before {
  content: "\f807"; }

.la-hashtag:before {
  content: "\f292"; }

.la-hat-wizard:before {
  content: "\f6e8"; }

.la-haykal:before {
  content: "\f666"; }

.la-hdd:before {
  content: "\f0a0"; }

.la-heading:before {
  content: "\f1dc"; }

.la-headphones:before {
  content: "\f025"; }

.la-headphones-alt:before {
  content: "\f58f"; }

.la-headset:before {
  content: "\f590"; }

.la-heart:before {
  content: "\f004"; }

.la-heart-broken:before {
  content: "\f7a9"; }

.la-heartbeat:before {
  content: "\f21e"; }

.la-helicopter:before {
  content: "\f533"; }

.la-highlighter:before {
  content: "\f591"; }

.la-hiking:before {
  content: "\f6ec"; }

.la-hippo:before {
  content: "\f6ed"; }

.la-hips:before {
  content: "\f452"; }

.la-hire-a-helper:before {
  content: "\f3b0"; }

.la-history:before {
  content: "\f1da"; }

.la-hockey-puck:before {
  content: "\f453"; }

.la-holly-berry:before {
  content: "\f7aa"; }

.la-home:before {
  content: "\f015"; }

.la-hooli:before {
  content: "\f427"; }

.la-hornbill:before {
  content: "\f592"; }

.la-horse:before {
  content: "\f6f0"; }

.la-horse-head:before {
  content: "\f7ab"; }

.la-hospital:before {
  content: "\f0f8"; }

.la-hospital-alt:before {
  content: "\f47d"; }

.la-hospital-symbol:before {
  content: "\f47e"; }

.la-hot-tub:before {
  content: "\f593"; }

.la-hotdog:before {
  content: "\f80f"; }

.la-hotel:before {
  content: "\f594"; }

.la-hotjar:before {
  content: "\f3b1"; }

.la-hourglass:before {
  content: "\f254"; }

.la-hourglass-end:before {
  content: "\f253"; }

.la-hourglass-half:before {
  content: "\f252"; }

.la-hourglass-start:before {
  content: "\f251"; }

.la-house-damage:before {
  content: "\f6f1"; }

.la-houzz:before {
  content: "\f27c"; }

.la-hryvnia:before {
  content: "\f6f2"; }

.la-html5:before {
  content: "\f13b"; }

.la-hubspot:before {
  content: "\f3b2"; }

.la-i-cursor:before {
  content: "\f246"; }

.la-ice-cream:before {
  content: "\f810"; }

.la-icicles:before {
  content: "\f7ad"; }

.la-icons:before {
  content: "\f86d"; }

.la-id-badge:before {
  content: "\f2c1"; }

.la-id-card:before {
  content: "\f2c2"; }

.la-id-card-alt:before {
  content: "\f47f"; }

.la-igloo:before {
  content: "\f7ae"; }

.la-image:before {
  content: "\f03e"; }

.la-images:before {
  content: "\f302"; }

.la-imdb:before {
  content: "\f2d8"; }

.la-inbox:before {
  content: "\f01c"; }

.la-indent:before {
  content: "\f03c"; }

.la-industry:before {
  content: "\f275"; }

.la-infinity:before {
  content: "\f534"; }

.la-info:before {
  content: "\f129"; }

.la-info-circle:before {
  content: "\f05a"; }

.la-instagram:before {
  content: "\f16d"; }

.la-intercom:before {
  content: "\f7af"; }

.la-internet-explorer:before {
  content: "\f26b"; }

.la-invision:before {
  content: "\f7b0"; }

.la-ioxhost:before {
  content: "\f208"; }

.la-italic:before {
  content: "\f033"; }

.la-itch-io:before {
  content: "\f83a"; }

.la-itunes:before {
  content: "\f3b4"; }

.la-itunes-note:before {
  content: "\f3b5"; }

.la-java:before {
  content: "\f4e4"; }

.la-jedi:before {
  content: "\f669"; }

.la-jedi-order:before {
  content: "\f50e"; }

.la-jenkins:before {
  content: "\f3b6"; }

.la-jira:before {
  content: "\f7b1"; }

.la-joget:before {
  content: "\f3b7"; }

.la-joint:before {
  content: "\f595"; }

.la-joomla:before {
  content: "\f1aa"; }

.la-journal-whills:before {
  content: "\f66a"; }

.la-js:before {
  content: "\f3b8"; }

.la-js-square:before {
  content: "\f3b9"; }

.la-jsfiddle:before {
  content: "\f1cc"; }

.la-kaaba:before {
  content: "\f66b"; }

.la-kaggle:before {
  content: "\f5fa"; }

.la-key:before {
  content: "\f084"; }

.la-keybase:before {
  content: "\f4f5"; }

.la-keyboard:before {
  content: "\f11c"; }

.la-keycdn:before {
  content: "\f3ba"; }

.la-khanda:before {
  content: "\f66d"; }

.la-kickstarter:before {
  content: "\f3bb"; }

.la-kickstarter-k:before {
  content: "\f3bc"; }

.la-kiss:before {
  content: "\f596"; }

.la-kiss-beam:before {
  content: "\f597"; }

.la-kiss-wink-heart:before {
  content: "\f598"; }

.la-kiwi-bird:before {
  content: "\f535"; }

.la-korvue:before {
  content: "\f42f"; }

.la-landmark:before {
  content: "\f66f"; }

.la-language:before {
  content: "\f1ab"; }

.la-laptop:before {
  content: "\f109"; }

.la-laptop-code:before {
  content: "\f5fc"; }

.la-laptop-medical:before {
  content: "\f812"; }

.la-laravel:before {
  content: "\f3bd"; }

.la-lastfm:before {
  content: "\f202"; }

.la-lastfm-square:before {
  content: "\f203"; }

.la-laugh:before {
  content: "\f599"; }

.la-laugh-beam:before {
  content: "\f59a"; }

.la-laugh-squint:before {
  content: "\f59b"; }

.la-laugh-wink:before {
  content: "\f59c"; }

.la-layer-group:before {
  content: "\f5fd"; }

.la-leaf:before {
  content: "\f06c"; }

.la-leanpub:before {
  content: "\f212"; }

.la-lemon:before {
  content: "\f094"; }

.la-less:before {
  content: "\f41d"; }

.la-less-than:before {
  content: "\f536"; }

.la-less-than-equal:before {
  content: "\f537"; }

.la-level-down-alt:before {
  content: "\f3be"; }

.la-level-up-alt:before {
  content: "\f3bf"; }

.la-life-ring:before {
  content: "\f1cd"; }

.la-lightbulb:before {
  content: "\f0eb"; }

.la-line:before {
  content: "\f3c0"; }

.la-link:before {
  content: "\f0c1"; }

.la-linkedin:before {
  content: "\f08c"; }

.la-linkedin-in:before {
  content: "\f0e1"; }

.la-linode:before {
  content: "\f2b8"; }

.la-linux:before {
  content: "\f17c"; }

.la-lira-sign:before {
  content: "\f195"; }

.la-list:before {
  content: "\f03a"; }

.la-list-alt:before {
  content: "\f022"; }

.la-list-ol:before {
  content: "\f0cb"; }

.la-list-ul:before {
  content: "\f0ca"; }

.la-location-arrow:before {
  content: "\f124"; }

.la-lock:before {
  content: "\f023"; }

.la-lock-open:before {
  content: "\f3c1"; }

.la-long-arrow-alt-down:before {
  content: "\f309"; }

.la-long-arrow-alt-left:before {
  content: "\f30a"; }

.la-long-arrow-alt-right:before {
  content: "\f30b"; }

.la-long-arrow-alt-up:before {
  content: "\f30c"; }

.la-low-vision:before {
  content: "\f2a8"; }

.la-luggage-cart:before {
  content: "\f59d"; }

.la-lyft:before {
  content: "\f3c3"; }

.la-magento:before {
  content: "\f3c4"; }

.la-magic:before {
  content: "\f0d0"; }

.la-magnet:before {
  content: "\f076"; }

.la-mail-bulk:before {
  content: "\f674"; }

.la-mailchimp:before {
  content: "\f59e"; }

.la-male:before {
  content: "\f183"; }

.la-mandalorian:before {
  content: "\f50f"; }

.la-map:before {
  content: "\f279"; }

.la-map-marked:before {
  content: "\f59f"; }

.la-map-marked-alt:before {
  content: "\f5a0"; }

.la-map-marker:before {
  content: "\f041"; }

.la-map-marker-alt:before {
  content: "\f3c5"; }

.la-map-pin:before {
  content: "\f276"; }

.la-map-signs:before {
  content: "\f277"; }

.la-markdown:before {
  content: "\f60f"; }

.la-marker:before {
  content: "\f5a1"; }

.la-mars:before {
  content: "\f222"; }

.la-mars-double:before {
  content: "\f227"; }

.la-mars-stroke:before {
  content: "\f229"; }

.la-mars-stroke-h:before {
  content: "\f22b"; }

.la-mars-stroke-v:before {
  content: "\f22a"; }

.la-mask:before {
  content: "\f6fa"; }

.la-mastodon:before {
  content: "\f4f6"; }

.la-maxcdn:before {
  content: "\f136"; }

.la-medal:before {
  content: "\f5a2"; }

.la-medapps:before {
  content: "\f3c6"; }

.la-medium:before {
  content: "\f23a"; }

.la-medium-m:before {
  content: "\f3c7"; }

.la-medkit:before {
  content: "\f0fa"; }

.la-medrt:before {
  content: "\f3c8"; }

.la-meetup:before {
  content: "\f2e0"; }

.la-megaport:before {
  content: "\f5a3"; }

.la-meh:before {
  content: "\f11a"; }

.la-meh-blank:before {
  content: "\f5a4"; }

.la-meh-rolling-eyes:before {
  content: "\f5a5"; }

.la-memory:before {
  content: "\f538"; }

.la-mendeley:before {
  content: "\f7b3"; }

.la-menorah:before {
  content: "\f676"; }

.la-mercury:before {
  content: "\f223"; }

.la-meteor:before {
  content: "\f753"; }

.la-microchip:before {
  content: "\f2db"; }

.la-microphone:before {
  content: "\f130"; }

.la-microphone-alt:before {
  content: "\f3c9"; }

.la-microphone-alt-slash:before {
  content: "\f539"; }

.la-microphone-slash:before {
  content: "\f131"; }

.la-microscope:before {
  content: "\f610"; }

.la-microsoft:before {
  content: "\f3ca"; }

.la-minus:before {
  content: "\f068"; }

.la-minus-circle:before {
  content: "\f056"; }

.la-minus-square:before {
  content: "\f146"; }

.la-mitten:before {
  content: "\f7b5"; }

.la-mix:before {
  content: "\f3cb"; }

.la-mixcloud:before {
  content: "\f289"; }

.la-mizuni:before {
  content: "\f3cc"; }

.la-mobile:before {
  content: "\f10b"; }

.la-mobile-alt:before {
  content: "\f3cd"; }

.la-modx:before {
  content: "\f285"; }

.la-monero:before {
  content: "\f3d0"; }

.la-money-bill:before {
  content: "\f0d6"; }

.la-money-bill-alt:before {
  content: "\f3d1"; }

.la-money-bill-wave:before {
  content: "\f53a"; }

.la-money-bill-wave-alt:before {
  content: "\f53b"; }

.la-money-check:before {
  content: "\f53c"; }

.la-money-check-alt:before {
  content: "\f53d"; }

.la-monument:before {
  content: "\f5a6"; }

.la-moon:before {
  content: "\f186"; }

.la-mortar-pestle:before {
  content: "\f5a7"; }

.la-mosque:before {
  content: "\f678"; }

.la-motorcycle:before {
  content: "\f21c"; }

.la-mountain:before {
  content: "\f6fc"; }

.la-mouse-pointer:before {
  content: "\f245"; }

.la-mug-hot:before {
  content: "\f7b6"; }

.la-music:before {
  content: "\f001"; }

.la-napster:before {
  content: "\f3d2"; }

.la-neos:before {
  content: "\f612"; }

.la-network-wired:before {
  content: "\f6ff"; }

.la-neuter:before {
  content: "\f22c"; }

.la-newspaper:before {
  content: "\f1ea"; }

.la-nimblr:before {
  content: "\f5a8"; }

.la-node:before {
  content: "\f419"; }

.la-node-js:before {
  content: "\f3d3"; }

.la-not-equal:before {
  content: "\f53e"; }

.la-notes-medical:before {
  content: "\f481"; }

.la-npm:before {
  content: "\f3d4"; }

.la-ns8:before {
  content: "\f3d5"; }

.la-nutritionix:before {
  content: "\f3d6"; }

.la-object-group:before {
  content: "\f247"; }

.la-object-ungroup:before {
  content: "\f248"; }

.la-odnoklassniki:before {
  content: "\f263"; }

.la-odnoklassniki-square:before {
  content: "\f264"; }

.la-oil-can:before {
  content: "\f613"; }

.la-old-republic:before {
  content: "\f510"; }

.la-om:before {
  content: "\f679"; }

.la-opencart:before {
  content: "\f23d"; }

.la-openid:before {
  content: "\f19b"; }

.la-opera:before {
  content: "\f26a"; }

.la-optin-monster:before {
  content: "\f23c"; }

.la-osi:before {
  content: "\f41a"; }

.la-otter:before {
  content: "\f700"; }

.la-outdent:before {
  content: "\f03b"; }

.la-page4:before {
  content: "\f3d7"; }

.la-pagelines:before {
  content: "\f18c"; }

.la-pager:before {
  content: "\f815"; }

.la-paint-brush:before {
  content: "\f1fc"; }

.la-paint-roller:before {
  content: "\f5aa"; }

.la-palette:before {
  content: "\f53f"; }

.la-palfed:before {
  content: "\f3d8"; }

.la-pallet:before {
  content: "\f482"; }

.la-paper-plane:before {
  content: "\f1d8"; }

.la-paperclip:before {
  content: "\f0c6"; }

.la-parachute-box:before {
  content: "\f4cd"; }

.la-paragraph:before {
  content: "\f1dd"; }

.la-parking:before {
  content: "\f540"; }

.la-passport:before {
  content: "\f5ab"; }

.la-pastafarianism:before {
  content: "\f67b"; }

.la-paste:before {
  content: "\f0ea"; }

.la-patreon:before {
  content: "\f3d9"; }

.la-pause:before {
  content: "\f04c"; }

.la-pause-circle:before {
  content: "\f28b"; }

.la-paw:before {
  content: "\f1b0"; }

.la-paypal:before {
  content: "\f1ed"; }

.la-peace:before {
  content: "\f67c"; }

.la-pen:before {
  content: "\f304"; }

.la-pen-alt:before {
  content: "\f305"; }

.la-pen-fancy:before {
  content: "\f5ac"; }

.la-pen-nib:before {
  content: "\f5ad"; }

.la-pen-square:before {
  content: "\f14b"; }

.la-pencil-alt:before {
  content: "\f303"; }

.la-pencil-ruler:before {
  content: "\f5ae"; }

.la-penny-arcade:before {
  content: "\f704"; }

.la-people-carry:before {
  content: "\f4ce"; }

.la-pepper-hot:before {
  content: "\f816"; }

.la-percent:before {
  content: "\f295"; }

.la-percentage:before {
  content: "\f541"; }

.la-periscope:before {
  content: "\f3da"; }

.la-person-booth:before {
  content: "\f756"; }

.la-phabricator:before {
  content: "\f3db"; }

.la-phoenix-framework:before {
  content: "\f3dc"; }

.la-phoenix-squadron:before {
  content: "\f511"; }

.la-phone:before {
  content: "\f095"; }

.la-phone-alt:before {
  content: "\f879"; }

.la-phone-slash:before {
  content: "\f3dd"; }

.la-phone-square:before {
  content: "\f098"; }

.la-phone-square-alt:before {
  content: "\f87b"; }

.la-phone-volume:before {
  content: "\f2a0"; }

.la-photo-video:before {
  content: "\f87c"; }

.la-php:before {
  content: "\f457"; }

.la-pied-piper:before {
  content: "\f2ae"; }

.la-pied-piper-alt:before {
  content: "\f1a8"; }

.la-pied-piper-hat:before {
  content: "\f4e5"; }

.la-pied-piper-pp:before {
  content: "\f1a7"; }

.la-piggy-bank:before {
  content: "\f4d3"; }

.la-pills:before {
  content: "\f484"; }

.la-pinterest:before {
  content: "\f0d2"; }

.la-pinterest-p:before {
  content: "\f231"; }

.la-pinterest-square:before {
  content: "\f0d3"; }

.la-pizza-slice:before {
  content: "\f818"; }

.la-place-of-worship:before {
  content: "\f67f"; }

.la-plane:before {
  content: "\f072"; }

.la-plane-arrival:before {
  content: "\f5af"; }

.la-plane-departure:before {
  content: "\f5b0"; }

.la-play:before {
  content: "\f04b"; }

.la-play-circle:before {
  content: "\f144"; }

.la-playstation:before {
  content: "\f3df"; }

.la-plug:before {
  content: "\f1e6"; }

.la-plus:before {
  content: "\f067"; }

.la-plus-circle:before {
  content: "\f055"; }

.la-plus-square:before {
  content: "\f0fe"; }

.la-podcast:before {
  content: "\f2ce"; }

.la-poll:before {
  content: "\f681"; }

.la-poll-h:before {
  content: "\f682"; }

.la-poo:before {
  content: "\f2fe"; }

.la-poo-storm:before {
  content: "\f75a"; }

.la-poop:before {
  content: "\f619"; }

.la-portrait:before {
  content: "\f3e0"; }

.la-pound-sign:before {
  content: "\f154"; }

.la-power-off:before {
  content: "\f011"; }

.la-pray:before {
  content: "\f683"; }

.la-praying-hands:before {
  content: "\f684"; }

.la-prescription:before {
  content: "\f5b1"; }

.la-prescription-bottle:before {
  content: "\f485"; }

.la-prescription-bottle-alt:before {
  content: "\f486"; }

.la-print:before {
  content: "\f02f"; }

.la-procedures:before {
  content: "\f487"; }

.la-product-hunt:before {
  content: "\f288"; }

.la-project-diagram:before {
  content: "\f542"; }

.la-pushed:before {
  content: "\f3e1"; }

.la-puzzle-piece:before {
  content: "\f12e"; }

.la-python:before {
  content: "\f3e2"; }

.la-qq:before {
  content: "\f1d6"; }

.la-qrcode:before {
  content: "\f029"; }

.la-question:before {
  content: "\f128"; }

.la-question-circle:before {
  content: "\f059"; }

.la-quidditch:before {
  content: "\f458"; }

.la-quinscape:before {
  content: "\f459"; }

.la-quora:before {
  content: "\f2c4"; }

.la-quote-left:before {
  content: "\f10d"; }

.la-quote-right:before {
  content: "\f10e"; }

.la-quran:before {
  content: "\f687"; }

.la-r-project:before {
  content: "\f4f7"; }

.la-radiation:before {
  content: "\f7b9"; }

.la-radiation-alt:before {
  content: "\f7ba"; }

.la-rainbow:before {
  content: "\f75b"; }

.la-random:before {
  content: "\f074"; }

.la-raspberry-pi:before {
  content: "\f7bb"; }

.la-ravelry:before {
  content: "\f2d9"; }

.la-react:before {
  content: "\f41b"; }

.la-reacteurope:before {
  content: "\f75d"; }

.la-readme:before {
  content: "\f4d5"; }

.la-rebel:before {
  content: "\f1d0"; }

.la-receipt:before {
  content: "\f543"; }

.la-recycle:before {
  content: "\f1b8"; }

.la-red-river:before {
  content: "\f3e3"; }

.la-reddit:before {
  content: "\f1a1"; }

.la-reddit-alien:before {
  content: "\f281"; }

.la-reddit-square:before {
  content: "\f1a2"; }

.la-redhat:before {
  content: "\f7bc"; }

.la-redo:before {
  content: "\f01e"; }

.la-redo-alt:before {
  content: "\f2f9"; }

.la-registered:before {
  content: "\f25d"; }

.la-remove-format:before {
  content: "\f87d"; }

.la-renren:before {
  content: "\f18b"; }

.la-reply:before {
  content: "\f3e5"; }

.la-reply-all:before {
  content: "\f122"; }

.la-replyd:before {
  content: "\f3e6"; }

.la-republican:before {
  content: "\f75e"; }

.la-researchgate:before {
  content: "\f4f8"; }

.la-resolving:before {
  content: "\f3e7"; }

.la-restroom:before {
  content: "\f7bd"; }

.la-retweet:before {
  content: "\f079"; }

.la-rev:before {
  content: "\f5b2"; }

.la-ribbon:before {
  content: "\f4d6"; }

.la-ring:before {
  content: "\f70b"; }

.la-road:before {
  content: "\f018"; }

.la-robot:before {
  content: "\f544"; }

.la-rocket:before {
  content: "\f135"; }

.la-rocketchat:before {
  content: "\f3e8"; }

.la-rockrms:before {
  content: "\f3e9"; }

.la-route:before {
  content: "\f4d7"; }

.la-rss:before {
  content: "\f09e"; }

.la-rss-square:before {
  content: "\f143"; }

.la-ruble-sign:before {
  content: "\f158"; }

.la-ruler:before {
  content: "\f545"; }

.la-ruler-combined:before {
  content: "\f546"; }

.la-ruler-horizontal:before {
  content: "\f547"; }

.la-ruler-vertical:before {
  content: "\f548"; }

.la-running:before {
  content: "\f70c"; }

.la-rupee-sign:before {
  content: "\f156"; }

.la-sad-cry:before {
  content: "\f5b3"; }

.la-sad-tear:before {
  content: "\f5b4"; }

.la-safari:before {
  content: "\f267"; }

.la-salesforce:before {
  content: "\f83b"; }

.la-sass:before {
  content: "\f41e"; }

.la-satellite:before {
  content: "\f7bf"; }

.la-satellite-dish:before {
  content: "\f7c0"; }

.la-save:before {
  content: "\f0c7"; }

.la-schlix:before {
  content: "\f3ea"; }

.la-school:before {
  content: "\f549"; }

.la-screwdriver:before {
  content: "\f54a"; }

.la-scribd:before {
  content: "\f28a"; }

.la-scroll:before {
  content: "\f70e"; }

.la-sd-card:before {
  content: "\f7c2"; }

.la-search:before {
  content: "\f002"; }

.la-search-dollar:before {
  content: "\f688"; }

.la-search-location:before {
  content: "\f689"; }

.la-search-minus:before {
  content: "\f010"; }

.la-search-plus:before {
  content: "\f00e"; }

.la-searchengin:before {
  content: "\f3eb"; }

.la-seedling:before {
  content: "\f4d8"; }

.la-sellcast:before {
  content: "\f2da"; }

.la-sellsy:before {
  content: "\f213"; }

.la-server:before {
  content: "\f233"; }

.la-servicestack:before {
  content: "\f3ec"; }

.la-shapes:before {
  content: "\f61f"; }

.la-share:before {
  content: "\f064"; }

.la-share-alt:before {
  content: "\f1e0"; }

.la-share-alt-square:before {
  content: "\f1e1"; }

.la-share-square:before {
  content: "\f14d"; }

.la-shekel-sign:before {
  content: "\f20b"; }

.la-shield-alt:before {
  content: "\f3ed"; }

.la-ship:before {
  content: "\f21a"; }

.la-shipping-fast:before {
  content: "\f48b"; }

.la-shirtsinbulk:before {
  content: "\f214"; }

.la-shoe-prints:before {
  content: "\f54b"; }

.la-shopping-bag:before {
  content: "\f290"; }

.la-shopping-basket:before {
  content: "\f291"; }

.la-shopping-cart:before {
  content: "\f07a"; }

.la-shopware:before {
  content: "\f5b5"; }

.la-shower:before {
  content: "\f2cc"; }

.la-shuttle-van:before {
  content: "\f5b6"; }

.la-sign:before {
  content: "\f4d9"; }

.la-sign-in-alt:before {
  content: "\f2f6"; }

.la-sign-language:before {
  content: "\f2a7"; }

.la-sign-out-alt:before {
  content: "\f2f5"; }

.la-signal:before {
  content: "\f012"; }

.la-signature:before {
  content: "\f5b7"; }

.la-sim-card:before {
  content: "\f7c4"; }

.la-simplybuilt:before {
  content: "\f215"; }

.la-sistrix:before {
  content: "\f3ee"; }

.la-sitemap:before {
  content: "\f0e8"; }

.la-sith:before {
  content: "\f512"; }

.la-skating:before {
  content: "\f7c5"; }

.la-sketch:before {
  content: "\f7c6"; }

.la-skiing:before {
  content: "\f7c9"; }

.la-skiing-nordic:before {
  content: "\f7ca"; }

.la-skull:before {
  content: "\f54c"; }

.la-skull-crossbones:before {
  content: "\f714"; }

.la-skyatlas:before {
  content: "\f216"; }

.la-skype:before {
  content: "\f17e"; }

.la-slack:before {
  content: "\f198"; }

.la-slack-hash:before {
  content: "\f3ef"; }

.la-slash:before {
  content: "\f715"; }

.la-sleigh:before {
  content: "\f7cc"; }

.la-sliders-h:before {
  content: "\f1de"; }

.la-slideshare:before {
  content: "\f1e7"; }

.la-smile:before {
  content: "\f118"; }

.la-smile-beam:before {
  content: "\f5b8"; }

.la-smile-wink:before {
  content: "\f4da"; }

.la-smog:before {
  content: "\f75f"; }

.la-smoking:before {
  content: "\f48d"; }

.la-smoking-ban:before {
  content: "\f54d"; }

.la-sms:before {
  content: "\f7cd"; }

.la-snapchat:before {
  content: "\f2ab"; }

.la-snapchat-ghost:before {
  content: "\f2ac"; }

.la-snapchat-square:before {
  content: "\f2ad"; }

.la-snowboarding:before {
  content: "\f7ce"; }

.la-snowflake:before {
  content: "\f2dc"; }

.la-snowman:before {
  content: "\f7d0"; }

.la-snowplow:before {
  content: "\f7d2"; }

.la-socks:before {
  content: "\f696"; }

.la-solar-panel:before {
  content: "\f5ba"; }

.la-sort:before {
  content: "\f0dc"; }

.la-sort-alpha-down:before {
  content: "\f15d"; }

.la-sort-alpha-down-alt:before {
  content: "\f881"; }

.la-sort-alpha-up:before {
  content: "\f15e"; }

.la-sort-alpha-up-alt:before {
  content: "\f882"; }

.la-sort-amount-down:before {
  content: "\f160"; }

.la-sort-amount-down-alt:before {
  content: "\f884"; }

.la-sort-amount-up:before {
  content: "\f161"; }

.la-sort-amount-up-alt:before {
  content: "\f885"; }

.la-sort-down:before {
  content: "\f0dd"; }

.la-sort-numeric-down:before {
  content: "\f162"; }

.la-sort-numeric-down-alt:before {
  content: "\f886"; }

.la-sort-numeric-up:before {
  content: "\f163"; }

.la-sort-numeric-up-alt:before {
  content: "\f887"; }

.la-sort-up:before {
  content: "\f0de"; }

.la-soundcloud:before {
  content: "\f1be"; }

.la-sourcetree:before {
  content: "\f7d3"; }

.la-spa:before {
  content: "\f5bb"; }

.la-space-shuttle:before {
  content: "\f197"; }

.la-speakap:before {
  content: "\f3f3"; }

.la-speaker-deck:before {
  content: "\f83c"; }

.la-spell-check:before {
  content: "\f891"; }

.la-spider:before {
  content: "\f717"; }

.la-spinner:before {
  content: "\f110"; }

.la-splotch:before {
  content: "\f5bc"; }

.la-spotify:before {
  content: "\f1bc"; }

.la-spray-can:before {
  content: "\f5bd"; }

.la-square:before {
  content: "\f0c8"; }

.la-square-full:before {
  content: "\f45c"; }

.la-square-root-alt:before {
  content: "\f698"; }

.la-squarespace:before {
  content: "\f5be"; }

.la-stack-exchange:before {
  content: "\f18d"; }

.la-stack-overflow:before {
  content: "\f16c"; }

.la-stackpath:before {
  content: "\f842"; }

.la-stamp:before {
  content: "\f5bf"; }

.la-star:before {
  content: "\f005"; }

.la-star-and-crescent:before {
  content: "\f699"; }

.la-star-half:before {
  content: "\f089"; }

.la-star-half-alt:before {
  content: "\f5c0"; }

.la-star-of-david:before {
  content: "\f69a"; }

.la-star-of-life:before {
  content: "\f621"; }

.la-staylinked:before {
  content: "\f3f5"; }

.la-steam:before {
  content: "\f1b6"; }

.la-steam-square:before {
  content: "\f1b7"; }

.la-steam-symbol:before {
  content: "\f3f6"; }

.la-step-backward:before {
  content: "\f048"; }

.la-step-forward:before {
  content: "\f051"; }

.la-stethoscope:before {
  content: "\f0f1"; }

.la-sticker-mule:before {
  content: "\f3f7"; }

.la-sticky-note:before {
  content: "\f249"; }

.la-stop:before {
  content: "\f04d"; }

.la-stop-circle:before {
  content: "\f28d"; }

.la-stopwatch:before {
  content: "\f2f2"; }

.la-store:before {
  content: "\f54e"; }

.la-store-alt:before {
  content: "\f54f"; }

.la-strava:before {
  content: "\f428"; }

.la-stream:before {
  content: "\f550"; }

.la-street-view:before {
  content: "\f21d"; }

.la-strikethrough:before {
  content: "\f0cc"; }

.la-stripe:before {
  content: "\f429"; }

.la-stripe-s:before {
  content: "\f42a"; }

.la-stroopwafel:before {
  content: "\f551"; }

.la-studiovinari:before {
  content: "\f3f8"; }

.la-stumbleupon:before {
  content: "\f1a4"; }

.la-stumbleupon-circle:before {
  content: "\f1a3"; }

.la-subscript:before {
  content: "\f12c"; }

.la-subway:before {
  content: "\f239"; }

.la-suitcase:before {
  content: "\f0f2"; }

.la-suitcase-rolling:before {
  content: "\f5c1"; }

.la-sun:before {
  content: "\f185"; }

.la-superpowers:before {
  content: "\f2dd"; }

.la-superscript:before {
  content: "\f12b"; }

.la-supple:before {
  content: "\f3f9"; }

.la-surprise:before {
  content: "\f5c2"; }

.la-suse:before {
  content: "\f7d6"; }

.la-swatchbook:before {
  content: "\f5c3"; }

.la-swimmer:before {
  content: "\f5c4"; }

.la-swimming-pool:before {
  content: "\f5c5"; }

.la-symfony:before {
  content: "\f83d"; }

.la-synagogue:before {
  content: "\f69b"; }

.la-sync:before {
  content: "\f021"; }

.la-sync-alt:before {
  content: "\f2f1"; }

.la-syringe:before {
  content: "\f48e"; }

.la-table:before {
  content: "\f0ce"; }

.la-table-tennis:before {
  content: "\f45d"; }

.la-tablet:before {
  content: "\f10a"; }

.la-tablet-alt:before {
  content: "\f3fa"; }

.la-tablets:before {
  content: "\f490"; }

.la-tachometer-alt:before {
  content: "\f3fd"; }

.la-tag:before {
  content: "\f02b"; }

.la-tags:before {
  content: "\f02c"; }

.la-tape:before {
  content: "\f4db"; }

.la-tasks:before {
  content: "\f0ae"; }

.la-taxi:before {
  content: "\f1ba"; }

.la-teamspeak:before {
  content: "\f4f9"; }

.la-teeth:before {
  content: "\f62e"; }

.la-teeth-open:before {
  content: "\f62f"; }

.la-telegram:before {
  content: "\f2c6"; }

.la-telegram-plane:before {
  content: "\f3fe"; }

.la-temperature-high:before {
  content: "\f769"; }

.la-temperature-low:before {
  content: "\f76b"; }

.la-tencent-weibo:before {
  content: "\f1d5"; }

.la-tenge:before {
  content: "\f7d7"; }

.la-terminal:before {
  content: "\f120"; }

.la-text-height:before {
  content: "\f034"; }

.la-text-width:before {
  content: "\f035"; }

.la-th:before {
  content: "\f00a"; }

.la-th-large:before {
  content: "\f009"; }

.la-th-list:before {
  content: "\f00b"; }

.la-the-red-yeti:before {
  content: "\f69d"; }

.la-theater-masks:before {
  content: "\f630"; }

.la-themeco:before {
  content: "\f5c6"; }

.la-themeisle:before {
  content: "\f2b2"; }

.la-thermometer:before {
  content: "\f491"; }

.la-thermometer-empty:before {
  content: "\f2cb"; }

.la-thermometer-full:before {
  content: "\f2c7"; }

.la-thermometer-half:before {
  content: "\f2c9"; }

.la-thermometer-quarter:before {
  content: "\f2ca"; }

.la-thermometer-three-quarters:before {
  content: "\f2c8"; }

.la-think-peaks:before {
  content: "\f731"; }

.la-thumbs-down:before {
  content: "\f165"; }

.la-thumbs-up:before {
  content: "\f164"; }

.la-thumbtack:before {
  content: "\f08d"; }

.la-ticket-alt:before {
  content: "\f3ff"; }

.la-times:before {
  content: "\f00d"; }

.la-times-circle:before {
  content: "\f057"; }

.la-tint:before {
  content: "\f043"; }

.la-tint-slash:before {
  content: "\f5c7"; }

.la-tired:before {
  content: "\f5c8"; }

.la-toggle-off:before {
  content: "\f204"; }

.la-toggle-on:before {
  content: "\f205"; }

.la-toilet:before {
  content: "\f7d8"; }

.la-toilet-paper:before {
  content: "\f71e"; }

.la-toolbox:before {
  content: "\f552"; }

.la-tools:before {
  content: "\f7d9"; }

.la-tooth:before {
  content: "\f5c9"; }

.la-torah:before {
  content: "\f6a0"; }

.la-torii-gate:before {
  content: "\f6a1"; }

.la-tractor:before {
  content: "\f722"; }

.la-trade-federation:before {
  content: "\f513"; }

.la-trademark:before {
  content: "\f25c"; }

.la-traffic-light:before {
  content: "\f637"; }

.la-train:before {
  content: "\f238"; }

.la-tram:before {
  content: "\f7da"; }

.la-transgender:before {
  content: "\f224"; }

.la-transgender-alt:before {
  content: "\f225"; }

.la-trash:before {
  content: "\f1f8"; }

.la-trash-alt:before {
  content: "\f2ed"; }

.la-trash-restore:before {
  content: "\f829"; }

.la-trash-restore-alt:before {
  content: "\f82a"; }

.la-tree:before {
  content: "\f1bb"; }

.la-trello:before {
  content: "\f181"; }

.la-tripadvisor:before {
  content: "\f262"; }

.la-trophy:before {
  content: "\f091"; }

.la-truck:before {
  content: "\f0d1"; }

.la-truck-loading:before {
  content: "\f4de"; }

.la-truck-monster:before {
  content: "\f63b"; }

.la-truck-moving:before {
  content: "\f4df"; }

.la-truck-pickup:before {
  content: "\f63c"; }

.la-tshirt:before {
  content: "\f553"; }

.la-tty:before {
  content: "\f1e4"; }

.la-tumblr:before {
  content: "\f173"; }

.la-tumblr-square:before {
  content: "\f174"; }

.la-tv:before {
  content: "\f26c"; }

.la-twitch:before {
  content: "\f1e8"; }

.la-twitter:before {
  content: "\f099"; }

.la-twitter-square:before {
  content: "\f081"; }

.la-typo3:before {
  content: "\f42b"; }

.la-uber:before {
  content: "\f402"; }

.la-ubuntu:before {
  content: "\f7df"; }

.la-uikit:before {
  content: "\f403"; }

.la-umbrella:before {
  content: "\f0e9"; }

.la-umbrella-beach:before {
  content: "\f5ca"; }

.la-underline:before {
  content: "\f0cd"; }

.la-undo:before {
  content: "\f0e2"; }

.la-undo-alt:before {
  content: "\f2ea"; }

.la-uniregistry:before {
  content: "\f404"; }

.la-universal-access:before {
  content: "\f29a"; }

.la-university:before {
  content: "\f19c"; }

.la-unlink:before {
  content: "\f127"; }

.la-unlock:before {
  content: "\f09c"; }

.la-unlock-alt:before {
  content: "\f13e"; }

.la-untappd:before {
  content: "\f405"; }

.la-upload:before {
  content: "\f093"; }

.la-ups:before {
  content: "\f7e0"; }

.la-usb:before {
  content: "\f287"; }

.la-user:before {
  content: "\f007"; }

.la-user-alt:before {
  content: "\f406"; }

.la-user-alt-slash:before {
  content: "\f4fa"; }

.la-user-astronaut:before {
  content: "\f4fb"; }

.la-user-check:before {
  content: "\f4fc"; }

.la-user-circle:before {
  content: "\f2bd"; }

.la-user-clock:before {
  content: "\f4fd"; }

.la-user-cog:before {
  content: "\f4fe"; }

.la-user-edit:before {
  content: "\f4ff"; }

.la-user-friends:before {
  content: "\f500"; }

.la-user-graduate:before {
  content: "\f501"; }

.la-user-injured:before {
  content: "\f728"; }

.la-user-lock:before {
  content: "\f502"; }

.la-user-md:before {
  content: "\f0f0"; }

.la-user-minus:before {
  content: "\f503"; }

.la-user-ninja:before {
  content: "\f504"; }

.la-user-nurse:before {
  content: "\f82f"; }

.la-user-plus:before {
  content: "\f234"; }

.la-user-secret:before {
  content: "\f21b"; }

.la-user-shield:before {
  content: "\f505"; }

.la-user-slash:before {
  content: "\f506"; }

.la-user-tag:before {
  content: "\f507"; }

.la-user-tie:before {
  content: "\f508"; }

.la-user-times:before {
  content: "\f235"; }

.la-users:before {
  content: "\f0c0"; }

.la-users-cog:before {
  content: "\f509"; }

.la-usps:before {
  content: "\f7e1"; }

.la-ussunnah:before {
  content: "\f407"; }

.la-utensil-spoon:before {
  content: "\f2e5"; }

.la-utensils:before {
  content: "\f2e7"; }

.la-vaadin:before {
  content: "\f408"; }

.la-vector-square:before {
  content: "\f5cb"; }

.la-venus:before {
  content: "\f221"; }

.la-venus-double:before {
  content: "\f226"; }

.la-venus-mars:before {
  content: "\f228"; }

.la-viacoin:before {
  content: "\f237"; }

.la-viadeo:before {
  content: "\f2a9"; }

.la-viadeo-square:before {
  content: "\f2aa"; }

.la-vial:before {
  content: "\f492"; }

.la-vials:before {
  content: "\f493"; }

.la-viber:before {
  content: "\f409"; }

.la-video:before {
  content: "\f03d"; }

.la-video-slash:before {
  content: "\f4e2"; }

.la-vihara:before {
  content: "\f6a7"; }

.la-vimeo:before {
  content: "\f40a"; }

.la-vimeo-square:before {
  content: "\f194"; }

.la-vimeo-v:before {
  content: "\f27d"; }

.la-vine:before {
  content: "\f1ca"; }

.la-vk:before {
  content: "\f189"; }

.la-vnv:before {
  content: "\f40b"; }

.la-voicemail:before {
  content: "\f897"; }

.la-volleyball-ball:before {
  content: "\f45f"; }

.la-volume-down:before {
  content: "\f027"; }

.la-volume-mute:before {
  content: "\f6a9"; }

.la-volume-off:before {
  content: "\f026"; }

.la-volume-up:before {
  content: "\f028"; }

.la-vote-yea:before {
  content: "\f772"; }

.la-vr-cardboard:before {
  content: "\f729"; }

.la-vuejs:before {
  content: "\f41f"; }

.la-walking:before {
  content: "\f554"; }

.la-wallet:before {
  content: "\f555"; }

.la-warehouse:before {
  content: "\f494"; }

.la-water:before {
  content: "\f773"; }

.la-wave-square:before {
  content: "\f83e"; }

.la-waze:before {
  content: "\f83f"; }

.la-weebly:before {
  content: "\f5cc"; }

.la-weibo:before {
  content: "\f18a"; }

.la-weight:before {
  content: "\f496"; }

.la-weight-hanging:before {
  content: "\f5cd"; }

.la-weixin:before {
  content: "\f1d7"; }

.la-whatsapp:before {
  content: "\f232"; }

.la-whatsapp-square:before {
  content: "\f40c"; }

.la-wheelchair:before {
  content: "\f193"; }

.la-whmcs:before {
  content: "\f40d"; }

.la-wifi:before {
  content: "\f1eb"; }

.la-wikipedia-w:before {
  content: "\f266"; }

.la-wind:before {
  content: "\f72e"; }

.la-window-close:before {
  content: "\f410"; }

.la-window-maximize:before {
  content: "\f2d0"; }

.la-window-minimize:before {
  content: "\f2d1"; }

.la-window-restore:before {
  content: "\f2d2"; }

.la-windows:before {
  content: "\f17a"; }

.la-wine-bottle:before {
  content: "\f72f"; }

.la-wine-glass:before {
  content: "\f4e3"; }

.la-wine-glass-alt:before {
  content: "\f5ce"; }

.la-wix:before {
  content: "\f5cf"; }

.la-wizards-of-the-coast:before {
  content: "\f730"; }

.la-wolf-pack-battalion:before {
  content: "\f514"; }

.la-won-sign:before {
  content: "\f159"; }

.la-wordpress:before {
  content: "\f19a"; }

.la-wordpress-simple:before {
  content: "\f411"; }

.la-wpbeginner:before {
  content: "\f297"; }

.la-wpexplorer:before {
  content: "\f2de"; }

.la-wpforms:before {
  content: "\f298"; }

.la-wpressr:before {
  content: "\f3e4"; }

.la-wrench:before {
  content: "\f0ad"; }

.la-x-ray:before {
  content: "\f497"; }

.la-xbox:before {
  content: "\f412"; }

.la-xing:before {
  content: "\f168"; }

.la-xing-square:before {
  content: "\f169"; }

.la-y-combinator:before {
  content: "\f23b"; }

.la-yahoo:before {
  content: "\f19e"; }

.la-yammer:before {
  content: "\f840"; }

.la-yandex:before {
  content: "\f413"; }

.la-yandex-international:before {
  content: "\f414"; }

.la-yarn:before {
  content: "\f7e3"; }

.la-yelp:before {
  content: "\f1e9"; }

.la-yen-sign:before {
  content: "\f157"; }

.la-yin-yang:before {
  content: "\f6ad"; }

.la-yoast:before {
  content: "\f2b1"; }

.la-youtube:before {
  content: "\f167"; }

.la-youtube-square:before {
  content: "\f431"; }

.la-zhihu:before {
  content: "\f63f"; }

.la-hat-cowboy:before {
  content: "\f8c0"; }

.la-hat-cowboy-side:before {
  content: "\f8c1"; }

.la-mdb:before {
  content: "\f8ca"; }

.la-mouse:before {
  content: "\f8cc"; }

.la-orcid:before {
  content: "\f8d2"; }

.la-record-vinyl:before {
  content: "\f8d9"; }

.la-swift:before {
  content: "\f8e1"; }

.la-umbraco:before {
  content: "\f8e8"; }

.la-buy-n-large:before {
  content: "\f8a6"; }

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

@font-face {
  font-family: 'ionicons';
  src: url("../fonts/ionicons/ionicons.ttf?76q473") format("truetype"), url("../fonts/ionicons/ionicons.woff?76q473") format("woff"), url("../fonts/ionicons/ionicons.svg?76q473#ionicons") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }

i[class^='icon-'] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'ionicons' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1.5;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-accessibility:before {
  content: "\e900"; }

.icon-accessibility-outline:before {
  content: "\e901"; }

.icon-accessibility-sharp:before {
  content: "\e902"; }

.icon-add:before {
  content: "\e903"; }

.icon-add-circle:before {
  content: "\e904"; }

.icon-add-circle-outline:before {
  content: "\e905"; }

.icon-add-circle-sharp:before {
  content: "\e906"; }

.icon-add-outline:before {
  content: "\e907"; }

.icon-add-sharp:before {
  content: "\e908"; }

.icon-airplane:before {
  content: "\e909"; }

.icon-airplane-outline:before {
  content: "\e90a"; }

.icon-airplane-sharp:before {
  content: "\e90b"; }

.icon-alarm:before {
  content: "\e90c"; }

.icon-alarm-outline:before {
  content: "\e90d"; }

.icon-alarm-sharp:before {
  content: "\e90e"; }

.icon-albums:before {
  content: "\e90f"; }

.icon-albums-outline:before {
  content: "\e910"; }

.icon-albums-sharp:before {
  content: "\e911"; }

.icon-alert:before {
  content: "\e912"; }

.icon-alert-circle:before {
  content: "\e913"; }

.icon-alert-circle-outline:before {
  content: "\e914"; }

.icon-alert-circle-sharp:before {
  content: "\e915"; }

.icon-alert-outline:before {
  content: "\e916"; }

.icon-alert-sharp:before {
  content: "\e917"; }

.icon-american-football:before {
  content: "\e918"; }

.icon-american-football-outline:before {
  content: "\e919"; }

.icon-american-football-sharp:before {
  content: "\e91a"; }

.icon-analytics:before {
  content: "\e91b"; }

.icon-analytics-outline:before {
  content: "\e91c"; }

.icon-analytics-sharp:before {
  content: "\e91d"; }

.icon-aperture:before {
  content: "\e91e"; }

.icon-aperture-outline:before {
  content: "\e91f"; }

.icon-aperture-sharp:before {
  content: "\e920"; }

.icon-apps:before {
  content: "\e921"; }

.icon-apps-outline:before {
  content: "\e922"; }

.icon-apps-sharp:before {
  content: "\e923"; }

.icon-archive:before {
  content: "\e924"; }

.icon-archive-outline:before {
  content: "\e925"; }

.icon-archive-sharp:before {
  content: "\e926"; }

.icon-arrow-back:before {
  content: "\e927"; }

.icon-arrow-back-circle:before {
  content: "\e928"; }

.icon-arrow-back-circle-outline:before {
  content: "\e929"; }

.icon-arrow-back-circle-sharp:before {
  content: "\e92a"; }

.icon-arrow-back-outline:before {
  content: "\e92b"; }

.icon-arrow-back-sharp:before {
  content: "\e92c"; }

.icon-arrow-down:before {
  content: "\e92d"; }

.icon-arrow-down-circle:before {
  content: "\e92e"; }

.icon-arrow-down-circle-outline:before {
  content: "\e92f"; }

.icon-arrow-down-circle-sharp:before {
  content: "\e930"; }

.icon-arrow-down-outline:before {
  content: "\e931"; }

.icon-arrow-down-sharp:before {
  content: "\e932"; }

.icon-arrow-forward:before {
  content: "\e933"; }

.icon-arrow-forward-circle:before {
  content: "\e934"; }

.icon-arrow-forward-circle-outline:before {
  content: "\e935"; }

.icon-arrow-forward-circle-sharp:before {
  content: "\e936"; }

.icon-arrow-forward-outline:before {
  content: "\e937"; }

.icon-arrow-forward-sharp:before {
  content: "\e938"; }

.icon-arrow-redo:before {
  content: "\e939"; }

.icon-arrow-redo-circle:before {
  content: "\e93a"; }

.icon-arrow-redo-circle-outline:before {
  content: "\e93b"; }

.icon-arrow-redo-circle-sharp:before {
  content: "\e93c"; }

.icon-arrow-redo-outline:before {
  content: "\e93d"; }

.icon-arrow-redo-sharp:before {
  content: "\e93e"; }

.icon-arrow-undo:before {
  content: "\e93f"; }

.icon-arrow-undo-circle:before {
  content: "\e940"; }

.icon-arrow-undo-circle-outline:before {
  content: "\e941"; }

.icon-arrow-undo-circle-sharp:before {
  content: "\e942"; }

.icon-arrow-undo-outline:before {
  content: "\e943"; }

.icon-arrow-undo-sharp:before {
  content: "\e944"; }

.icon-arrow-up:before {
  content: "\e945"; }

.icon-arrow-up-circle:before {
  content: "\e946"; }

.icon-arrow-up-circle-outline:before {
  content: "\e947"; }

.icon-arrow-up-circle-sharp:before {
  content: "\e948"; }

.icon-arrow-up-outline:before {
  content: "\e949"; }

.icon-arrow-up-sharp:before {
  content: "\e94a"; }

.icon-at:before {
  content: "\e94b"; }

.icon-at-circle:before {
  content: "\e94c"; }

.icon-at-circle-outline:before {
  content: "\e94d"; }

.icon-at-circle-sharp:before {
  content: "\e94e"; }

.icon-at-outline:before {
  content: "\e94f"; }

.icon-at-sharp:before {
  content: "\e950"; }

.icon-attach:before {
  content: "\e951"; }

.icon-attach-outline:before {
  content: "\e952"; }

.icon-attach-sharp:before {
  content: "\e953"; }

.icon-backspace:before {
  content: "\e954"; }

.icon-backspace-outline:before {
  content: "\e955"; }

.icon-backspace-sharp:before {
  content: "\e956"; }

.icon-bag:before {
  content: "\e957"; }

.icon-bag-add:before {
  content: "\e958"; }

.icon-bag-add-outline:before {
  content: "\e959"; }

.icon-bag-add-sharp:before {
  content: "\e95a"; }

.icon-bag-check:before {
  content: "\e95b"; }

.icon-bag-check-outline:before {
  content: "\e95c"; }

.icon-bag-check-sharp:before {
  content: "\e95d"; }

.icon-bag-handle:before {
  content: "\e95e"; }

.icon-bag-handle-outline:before {
  content: "\e95f"; }

.icon-bag-handle-sharp:before {
  content: "\e960"; }

.icon-bag-outline:before {
  content: "\e961"; }

.icon-bag-remove:before {
  content: "\e962"; }

.icon-bag-remove-outline:before {
  content: "\e963"; }

.icon-bag-remove-sharp:before {
  content: "\e964"; }

.icon-bag-sharp:before {
  content: "\e965"; }

.icon-balloon:before {
  content: "\e966"; }

.icon-balloon-outline:before {
  content: "\e967"; }

.icon-balloon-sharp:before {
  content: "\e968"; }

.icon-ban:before {
  content: "\e969"; }

.icon-bandage:before {
  content: "\e96a"; }

.icon-bandage-outline:before {
  content: "\e96b"; }

.icon-bandage-sharp:before {
  content: "\e96c"; }

.icon-ban-outline:before {
  content: "\e96d"; }

.icon-ban-sharp:before {
  content: "\e96e"; }

.icon-barbell:before {
  content: "\e96f"; }

.icon-barbell-outline:before {
  content: "\e970"; }

.icon-barbell-sharp:before {
  content: "\e971"; }

.icon-bar-chart:before {
  content: "\e972"; }

.icon-bar-chart-outline:before {
  content: "\e973"; }

.icon-bar-chart-sharp:before {
  content: "\e974"; }

.icon-barcode:before {
  content: "\e975"; }

.icon-barcode-outline:before {
  content: "\e976"; }

.icon-barcode-sharp:before {
  content: "\e977"; }

.icon-baseball:before {
  content: "\e978"; }

.icon-baseball-outline:before {
  content: "\e979"; }

.icon-baseball-sharp:before {
  content: "\e97a"; }

.icon-basket:before {
  content: "\e97b"; }

.icon-basketball:before {
  content: "\e97c"; }

.icon-basketball-outline:before {
  content: "\e97d"; }

.icon-basketball-sharp:before {
  content: "\e97e"; }

.icon-basket-outline:before {
  content: "\e97f"; }

.icon-basket-sharp:before {
  content: "\e980"; }

.icon-battery-charging:before {
  content: "\e981"; }

.icon-battery-charging-outline:before {
  content: "\e982"; }

.icon-battery-charging-sharp:before {
  content: "\e983"; }

.icon-battery-dead:before {
  content: "\e984"; }

.icon-battery-dead-outline:before {
  content: "\e985"; }

.icon-battery-dead-sharp:before {
  content: "\e986"; }

.icon-battery-full:before {
  content: "\e987"; }

.icon-battery-full-outline:before {
  content: "\e988"; }

.icon-battery-full-sharp:before {
  content: "\e989"; }

.icon-battery-half:before {
  content: "\e98a"; }

.icon-battery-half-outline:before {
  content: "\e98b"; }

.icon-battery-half-sharp:before {
  content: "\e98c"; }

.icon-beaker:before {
  content: "\e98d"; }

.icon-beaker-outline:before {
  content: "\e98e"; }

.icon-beaker-sharp:before {
  content: "\e98f"; }

.icon-bed:before {
  content: "\e990"; }

.icon-bed-outline:before {
  content: "\e991"; }

.icon-bed-sharp:before {
  content: "\e992"; }

.icon-beer:before {
  content: "\e993"; }

.icon-beer-outline:before {
  content: "\e994"; }

.icon-beer-sharp:before {
  content: "\e995"; }

.icon-bicycle:before {
  content: "\e996"; }

.icon-bicycle-outline:before {
  content: "\e997"; }

.icon-bicycle-sharp:before {
  content: "\e998"; }

.icon-bluetooth:before {
  content: "\e999"; }

.icon-bluetooth-outline:before {
  content: "\e99a"; }

.icon-bluetooth-sharp:before {
  content: "\e99b"; }

.icon-boat:before {
  content: "\e99c"; }

.icon-boat-outline:before {
  content: "\e99d"; }

.icon-boat-sharp:before {
  content: "\e99e"; }

.icon-body:before {
  content: "\e99f"; }

.icon-body-outline:before {
  content: "\e9a0"; }

.icon-body-sharp:before {
  content: "\e9a1"; }

.icon-bonfire:before {
  content: "\e9a2"; }

.icon-bonfire-outline:before {
  content: "\e9a3"; }

.icon-bonfire-sharp:before {
  content: "\e9a4"; }

.icon-book:before {
  content: "\e9a5"; }

.icon-bookmark:before {
  content: "\e9a6"; }

.icon-bookmark-outline:before {
  content: "\e9a7"; }

.icon-bookmarks:before {
  content: "\e9a8"; }

.icon-bookmark-sharp:before {
  content: "\e9a9"; }

.icon-bookmarks-outline:before {
  content: "\e9aa"; }

.icon-bookmarks-sharp:before {
  content: "\e9ab"; }

.icon-book-outline:before {
  content: "\e9ac"; }

.icon-book-sharp:before {
  content: "\e9ad"; }

.icon-bowling-ball:before {
  content: "\e9ae"; }

.icon-bowling-ball-outline:before {
  content: "\e9af"; }

.icon-bowling-ball-sharp:before {
  content: "\e9b0"; }

.icon-briefcase:before {
  content: "\e9b1"; }

.icon-briefcase-outline:before {
  content: "\e9b2"; }

.icon-briefcase-sharp:before {
  content: "\e9b3"; }

.icon-browsers:before {
  content: "\e9b4"; }

.icon-browsers-outline:before {
  content: "\e9b5"; }

.icon-browsers-sharp:before {
  content: "\e9b6"; }

.icon-brush:before {
  content: "\e9b7"; }

.icon-brush-outline:before {
  content: "\e9b8"; }

.icon-brush-sharp:before {
  content: "\e9b9"; }

.icon-bug:before {
  content: "\e9ba"; }

.icon-bug-outline:before {
  content: "\e9bb"; }

.icon-bug-sharp:before {
  content: "\e9bc"; }

.icon-build:before {
  content: "\e9bd"; }

.icon-build-outline:before {
  content: "\e9be"; }

.icon-build-sharp:before {
  content: "\e9bf"; }

.icon-bulb:before {
  content: "\e9c0"; }

.icon-bulb-outline:before {
  content: "\e9c1"; }

.icon-bulb-sharp:before {
  content: "\e9c2"; }

.icon-bus:before {
  content: "\e9c3"; }

.icon-business:before {
  content: "\e9c4"; }

.icon-business-outline:before {
  content: "\e9c5"; }

.icon-business-sharp:before {
  content: "\e9c6"; }

.icon-bus-outline:before {
  content: "\e9c7"; }

.icon-bus-sharp:before {
  content: "\e9c8"; }

.icon-cafe:before {
  content: "\e9c9"; }

.icon-cafe-outline:before {
  content: "\e9ca"; }

.icon-cafe-sharp:before {
  content: "\e9cb"; }

.icon-calculator:before {
  content: "\e9cc"; }

.icon-calculator-outline:before {
  content: "\e9cd"; }

.icon-calculator-sharp:before {
  content: "\e9ce"; }

.icon-calendar:before {
  content: "\e9cf"; }

.icon-calendar-clear:before {
  content: "\e9d0"; }

.icon-calendar-clear-outline:before {
  content: "\e9d1"; }

.icon-calendar-clear-sharp:before {
  content: "\e9d2"; }

.icon-calendar-number:before {
  content: "\e9d3"; }

.icon-calendar-number-outline:before {
  content: "\e9d4"; }

.icon-calendar-number-sharp:before {
  content: "\e9d5"; }

.icon-calendar-outline:before {
  content: "\e9d6"; }

.icon-calendar-sharp:before {
  content: "\e9d7"; }

.icon-call:before {
  content: "\e9d8"; }

.icon-call-outline:before {
  content: "\e9d9"; }

.icon-call-sharp:before {
  content: "\e9da"; }

.icon-camera:before {
  content: "\e9db"; }

.icon-camera-outline:before {
  content: "\e9dc"; }

.icon-camera-reverse:before {
  content: "\e9dd"; }

.icon-camera-reverse-outline:before {
  content: "\e9de"; }

.icon-camera-reverse-sharp:before {
  content: "\e9df"; }

.icon-camera-sharp:before {
  content: "\e9e0"; }

.icon-car:before {
  content: "\e9e1"; }

.icon-card:before {
  content: "\e9e2"; }

.icon-card-outline:before {
  content: "\e9e3"; }

.icon-card-sharp:before {
  content: "\e9e4"; }

.icon-caret-back:before {
  content: "\e9e5"; }

.icon-caret-back-circle:before {
  content: "\e9e6"; }

.icon-caret-back-circle-outline:before {
  content: "\e9e7"; }

.icon-caret-back-circle-sharp:before {
  content: "\e9e8"; }

.icon-caret-back-outline:before {
  content: "\e9e9"; }

.icon-caret-back-sharp:before {
  content: "\e9ea"; }

.icon-caret-down:before {
  content: "\e9eb"; }

.icon-caret-down-circle:before {
  content: "\e9ec"; }

.icon-caret-down-circle-outline:before {
  content: "\e9ed"; }

.icon-caret-down-circle-sharp:before {
  content: "\e9ee"; }

.icon-caret-down-outline:before {
  content: "\e9ef"; }

.icon-caret-down-sharp:before {
  content: "\e9f0"; }

.icon-caret-forward:before {
  content: "\e9f1"; }

.icon-caret-forward-circle:before {
  content: "\e9f2"; }

.icon-caret-forward-circle-outline:before {
  content: "\e9f3"; }

.icon-caret-forward-circle-sharp:before {
  content: "\e9f4"; }

.icon-caret-forward-outline:before {
  content: "\e9f5"; }

.icon-caret-forward-sharp:before {
  content: "\e9f6"; }

.icon-caret-up:before {
  content: "\e9f7"; }

.icon-caret-up-circle:before {
  content: "\e9f8"; }

.icon-caret-up-circle-outline:before {
  content: "\e9f9"; }

.icon-caret-up-circle-sharp:before {
  content: "\e9fa"; }

.icon-caret-up-outline:before {
  content: "\e9fb"; }

.icon-caret-up-sharp:before {
  content: "\e9fc"; }

.icon-car-outline:before {
  content: "\e9fd"; }

.icon-car-sharp:before {
  content: "\e9fe"; }

.icon-car-sport:before {
  content: "\e9ff"; }

.icon-car-sport-outline:before {
  content: "\ea00"; }

.icon-car-sport-sharp:before {
  content: "\ea01"; }

.icon-cart:before {
  content: "\ea02"; }

.icon-cart-outline:before {
  content: "\ea03"; }

.icon-cart-sharp:before {
  content: "\ea04"; }

.icon-cash:before {
  content: "\ea05"; }

.icon-cash-outline:before {
  content: "\ea06"; }

.icon-cash-sharp:before {
  content: "\ea07"; }

.icon-cellular:before {
  content: "\ea08"; }

.icon-cellular-outline:before {
  content: "\ea09"; }

.icon-cellular-sharp:before {
  content: "\ea0a"; }

.icon-chatbox:before {
  content: "\ea0b"; }

.icon-chatbox-ellipses:before {
  content: "\ea0c"; }

.icon-chatbox-ellipses-outline:before {
  content: "\ea0d"; }

.icon-chatbox-ellipses-sharp:before {
  content: "\ea0e"; }

.icon-chatbox-outline:before {
  content: "\ea0f"; }

.icon-chatbox-sharp:before {
  content: "\ea10"; }

.icon-chatbubble:before {
  content: "\ea11"; }

.icon-chatbubble-ellipses:before {
  content: "\ea12"; }

.icon-chatbubble-ellipses-outline:before {
  content: "\ea13"; }

.icon-chatbubble-ellipses-sharp:before {
  content: "\ea14"; }

.icon-chatbubble-outline:before {
  content: "\ea15"; }

.icon-chatbubbles:before {
  content: "\ea16"; }

.icon-chatbubble-sharp:before {
  content: "\ea17"; }

.icon-chatbubbles-outline:before {
  content: "\ea18"; }

.icon-chatbubbles-sharp:before {
  content: "\ea19"; }

.icon-checkbox:before {
  content: "\ea1a"; }

.icon-checkbox-outline:before {
  content: "\ea1b"; }

.icon-checkbox-sharp:before {
  content: "\ea1c"; }

.icon-checkmark:before {
  content: "\ea1d"; }

.icon-checkmark-circle:before {
  content: "\ea1e"; }

.icon-checkmark-circle-outline:before {
  content: "\ea1f"; }

.icon-checkmark-circle-sharp:before {
  content: "\ea20"; }

.icon-checkmark-done:before {
  content: "\ea21"; }

.icon-checkmark-done-circle:before {
  content: "\ea22"; }

.icon-checkmark-done-circle-outline:before {
  content: "\ea23"; }

.icon-checkmark-done-circle-sharp:before {
  content: "\ea24"; }

.icon-checkmark-done-outline:before {
  content: "\ea25"; }

.icon-checkmark-done-sharp:before {
  content: "\ea26"; }

.icon-checkmark-outline:before {
  content: "\ea27"; }

.icon-checkmark-sharp:before {
  content: "\ea28"; }

.icon-chevron-back:before {
  content: "\ea29"; }

.icon-chevron-back-circle:before {
  content: "\ea2a"; }

.icon-chevron-back-circle-outline:before {
  content: "\ea2b"; }

.icon-chevron-back-circle-sharp:before {
  content: "\ea2c"; }

.icon-chevron-back-outline:before {
  content: "\ea2d"; }

.icon-chevron-back-sharp:before {
  content: "\ea2e"; }

.icon-chevron-down:before {
  content: "\ea2f"; }

.icon-chevron-down-circle:before {
  content: "\ea30"; }

.icon-chevron-down-circle-outline:before {
  content: "\ea31"; }

.icon-chevron-down-circle-sharp:before {
  content: "\ea32"; }

.icon-chevron-down-outline:before {
  content: "\ea33"; }

.icon-chevron-down-sharp:before {
  content: "\ea34"; }

.icon-chevron-forward:before {
  content: "\ea35"; }

.icon-chevron-forward-circle:before {
  content: "\ea36"; }

.icon-chevron-forward-circle-outline:before {
  content: "\ea37"; }

.icon-chevron-forward-circle-sharp:before {
  content: "\ea38"; }

.icon-chevron-forward-outline:before {
  content: "\ea39"; }

.icon-chevron-forward-sharp:before {
  content: "\ea3a"; }

.icon-chevron-up:before {
  content: "\ea3b"; }

.icon-chevron-up-circle:before {
  content: "\ea3c"; }

.icon-chevron-up-circle-outline:before {
  content: "\ea3d"; }

.icon-chevron-up-circle-sharp:before {
  content: "\ea3e"; }

.icon-chevron-up-outline:before {
  content: "\ea3f"; }

.icon-chevron-up-sharp:before {
  content: "\ea40"; }

.icon-clipboard:before {
  content: "\ea41"; }

.icon-clipboard-outline:before {
  content: "\ea42"; }

.icon-clipboard-sharp:before {
  content: "\ea43"; }

.icon-close:before {
  content: "\ea44"; }

.icon-close-circle:before {
  content: "\ea45"; }

.icon-close-circle-outline:before {
  content: "\ea46"; }

.icon-close-circle-sharp:before {
  content: "\ea47"; }

.icon-close-outline:before {
  content: "\ea48"; }

.icon-close-sharp:before {
  content: "\ea49"; }

.icon-cloud:before {
  content: "\ea4a"; }

.icon-cloud-circle:before {
  content: "\ea4b"; }

.icon-cloud-circle-outline:before {
  content: "\ea4c"; }

.icon-cloud-circle-sharp:before {
  content: "\ea4d"; }

.icon-cloud-done:before {
  content: "\ea4e"; }

.icon-cloud-done-outline:before {
  content: "\ea4f"; }

.icon-cloud-done-sharp:before {
  content: "\ea50"; }

.icon-cloud-download:before {
  content: "\ea51"; }

.icon-cloud-download-outline:before {
  content: "\ea52"; }

.icon-cloud-download-sharp:before {
  content: "\ea53"; }

.icon-cloud-offline:before {
  content: "\ea54"; }

.icon-cloud-offline-outline:before {
  content: "\ea55"; }

.icon-cloud-offline-sharp:before {
  content: "\ea56"; }

.icon-cloud-outline:before {
  content: "\ea57"; }

.icon-cloud-sharp:before {
  content: "\ea58"; }

.icon-cloud-upload:before {
  content: "\ea59"; }

.icon-cloud-upload-outline:before {
  content: "\ea5a"; }

.icon-cloud-upload-sharp:before {
  content: "\ea5b"; }

.icon-cloudy:before {
  content: "\ea5c"; }

.icon-cloudy-night:before {
  content: "\ea5d"; }

.icon-cloudy-night-outline:before {
  content: "\ea5e"; }

.icon-cloudy-night-sharp:before {
  content: "\ea5f"; }

.icon-cloudy-outline:before {
  content: "\ea60"; }

.icon-cloudy-sharp:before {
  content: "\ea61"; }

.icon-code:before {
  content: "\ea62"; }

.icon-code-download:before {
  content: "\ea63"; }

.icon-code-download-outline:before {
  content: "\ea64"; }

.icon-code-download-sharp:before {
  content: "\ea65"; }

.icon-code-outline:before {
  content: "\ea66"; }

.icon-code-sharp:before {
  content: "\ea67"; }

.icon-code-slash:before {
  content: "\ea68"; }

.icon-code-slash-outline:before {
  content: "\ea69"; }

.icon-code-slash-sharp:before {
  content: "\ea6a"; }

.icon-code-working:before {
  content: "\ea6b"; }

.icon-code-working-outline:before {
  content: "\ea6c"; }

.icon-code-working-sharp:before {
  content: "\ea6d"; }

.icon-cog:before {
  content: "\ea6e"; }

.icon-cog-outline:before {
  content: "\ea6f"; }

.icon-cog-sharp:before {
  content: "\ea70"; }

.icon-color-fill:before {
  content: "\ea71"; }

.icon-color-fill-outline:before {
  content: "\ea72"; }

.icon-color-fill-sharp:before {
  content: "\ea73"; }

.icon-color-filter:before {
  content: "\ea74"; }

.icon-color-filter-outline:before {
  content: "\ea75"; }

.icon-color-filter-sharp:before {
  content: "\ea76"; }

.icon-color-palette:before {
  content: "\ea77"; }

.icon-color-palette-outline:before {
  content: "\ea78"; }

.icon-color-palette-sharp:before {
  content: "\ea79"; }

.icon-color-wand:before {
  content: "\ea7a"; }

.icon-color-wand-outline:before {
  content: "\ea7b"; }

.icon-color-wand-sharp:before {
  content: "\ea7c"; }

.icon-compass:before {
  content: "\ea7d"; }

.icon-compass-outline:before {
  content: "\ea7e"; }

.icon-compass-sharp:before {
  content: "\ea7f"; }

.icon-construct:before {
  content: "\ea80"; }

.icon-construct-outline:before {
  content: "\ea81"; }

.icon-construct-sharp:before {
  content: "\ea82"; }

.icon-contract:before {
  content: "\ea83"; }

.icon-contract-outline:before {
  content: "\ea84"; }

.icon-contract-sharp:before {
  content: "\ea85"; }

.icon-contrast:before {
  content: "\ea86"; }

.icon-contrast-outline:before {
  content: "\ea87"; }

.icon-contrast-sharp:before {
  content: "\ea88"; }

.icon-copy:before {
  content: "\ea89"; }

.icon-copy-outline:before {
  content: "\ea8a"; }

.icon-copy-sharp:before {
  content: "\ea8b"; }

.icon-create:before {
  content: "\ea8c"; }

.icon-create-outline:before {
  content: "\ea8d"; }

.icon-create-sharp:before {
  content: "\ea8e"; }

.icon-crop:before {
  content: "\ea8f"; }

.icon-crop-outline:before {
  content: "\ea90"; }

.icon-crop-sharp:before {
  content: "\ea91"; }

.icon-cube:before {
  content: "\ea92"; }

.icon-cube-outline:before {
  content: "\ea93"; }

.icon-cube-sharp:before {
  content: "\ea94"; }

.icon-cut:before {
  content: "\ea95"; }

.icon-cut-outline:before {
  content: "\ea96"; }

.icon-cut-sharp:before {
  content: "\ea97"; }

.icon-desktop:before {
  content: "\ea98"; }

.icon-desktop-outline:before {
  content: "\ea99"; }

.icon-desktop-sharp:before {
  content: "\ea9a"; }

.icon-diamond:before {
  content: "\ea9b"; }

.icon-diamond-outline:before {
  content: "\ea9c"; }

.icon-diamond-sharp:before {
  content: "\ea9d"; }

.icon-dice:before {
  content: "\ea9e"; }

.icon-dice-outline:before {
  content: "\ea9f"; }

.icon-dice-sharp:before {
  content: "\eaa0"; }

.icon-disc:before {
  content: "\eaa1"; }

.icon-disc-outline:before {
  content: "\eaa2"; }

.icon-disc-sharp:before {
  content: "\eaa3"; }

.icon-document:before {
  content: "\eaa4"; }

.icon-document-attach:before {
  content: "\eaa5"; }

.icon-document-attach-outline:before {
  content: "\eaa6"; }

.icon-document-attach-sharp:before {
  content: "\eaa7"; }

.icon-document-lock:before {
  content: "\eaa8"; }

.icon-document-lock-outline:before {
  content: "\eaa9"; }

.icon-document-lock-sharp:before {
  content: "\eaaa"; }

.icon-document-outline:before {
  content: "\eaab"; }

.icon-documents:before {
  content: "\eaac"; }

.icon-document-sharp:before {
  content: "\eaad"; }

.icon-documents-outline:before {
  content: "\eaae"; }

.icon-documents-sharp:before {
  content: "\eaaf"; }

.icon-document-text:before {
  content: "\eab0"; }

.icon-document-text-outline:before {
  content: "\eab1"; }

.icon-document-text-sharp:before {
  content: "\eab2"; }

.icon-download:before {
  content: "\eab3"; }

.icon-download-outline:before {
  content: "\eab4"; }

.icon-download-sharp:before {
  content: "\eab5"; }

.icon-duplicate:before {
  content: "\eab6"; }

.icon-duplicate-outline:before {
  content: "\eab7"; }

.icon-duplicate-sharp:before {
  content: "\eab8"; }

.icon-ear:before {
  content: "\eab9"; }

.icon-ear-outline:before {
  content: "\eaba"; }

.icon-ear-sharp:before {
  content: "\eabb"; }

.icon-earth:before {
  content: "\eabc"; }

.icon-earth-outline:before {
  content: "\eabd"; }

.icon-earth-sharp:before {
  content: "\eabe"; }

.icon-easel:before {
  content: "\eabf"; }

.icon-easel-outline:before {
  content: "\eac0"; }

.icon-easel-sharp:before {
  content: "\eac1"; }

.icon-egg:before {
  content: "\eac2"; }

.icon-egg-outline:before {
  content: "\eac3"; }

.icon-egg-sharp:before {
  content: "\eac4"; }

.icon-ellipse:before {
  content: "\eac5"; }

.icon-ellipse-outline:before {
  content: "\eac6"; }

.icon-ellipse-sharp:before {
  content: "\eac7"; }

.icon-ellipsis-horizontal:before {
  content: "\eac8"; }

.icon-ellipsis-horizontal-circle:before {
  content: "\eac9"; }

.icon-ellipsis-horizontal-circle-outline:before {
  content: "\eaca"; }

.icon-ellipsis-horizontal-circle-sharp:before {
  content: "\eacb"; }

.icon-ellipsis-horizontal-outline:before {
  content: "\eacc"; }

.icon-ellipsis-horizontal-sharp:before {
  content: "\eacd"; }

.icon-ellipsis-vertical:before {
  content: "\eace"; }

.icon-ellipsis-vertical-circle:before {
  content: "\eacf"; }

.icon-ellipsis-vertical-circle-outline:before {
  content: "\ead0"; }

.icon-ellipsis-vertical-circle-sharp:before {
  content: "\ead1"; }

.icon-ellipsis-vertical-outline:before {
  content: "\ead2"; }

.icon-ellipsis-vertical-sharp:before {
  content: "\ead3"; }

.icon-enter:before {
  content: "\ead4"; }

.icon-enter-outline:before {
  content: "\ead5"; }

.icon-enter-sharp:before {
  content: "\ead6"; }

.icon-exit:before {
  content: "\ead7"; }

.icon-exit-outline:before {
  content: "\ead8"; }

.icon-exit-sharp:before {
  content: "\ead9"; }

.icon-expand:before {
  content: "\eada"; }

.icon-expand-outline:before {
  content: "\eadb"; }

.icon-expand-sharp:before {
  content: "\eadc"; }

.icon-extension-puzzle:before {
  content: "\eadd"; }

.icon-extension-puzzle-outline:before {
  content: "\eade"; }

.icon-extension-puzzle-sharp:before {
  content: "\eadf"; }

.icon-eye:before {
  content: "\eae0"; }

.icon-eyedrop:before {
  content: "\eae1"; }

.icon-eyedrop-outline:before {
  content: "\eae2"; }

.icon-eyedrop-sharp:before {
  content: "\eae3"; }

.icon-eye-off:before {
  content: "\eae4"; }

.icon-eye-off-outline:before {
  content: "\eae5"; }

.icon-eye-off-sharp:before {
  content: "\eae6"; }

.icon-eye-outline:before {
  content: "\eae7"; }

.icon-eye-sharp:before {
  content: "\eae8"; }

.icon-fast-food:before {
  content: "\eae9"; }

.icon-fast-food-outline:before {
  content: "\eaea"; }

.icon-fast-food-sharp:before {
  content: "\eaeb"; }

.icon-female:before {
  content: "\eaec"; }

.icon-female-outline:before {
  content: "\eaed"; }

.icon-female-sharp:before {
  content: "\eaee"; }

.icon-file-tray:before {
  content: "\eaef"; }

.icon-file-tray-full:before {
  content: "\eaf0"; }

.icon-file-tray-full-outline:before {
  content: "\eaf1"; }

.icon-file-tray-full-sharp:before {
  content: "\eaf2"; }

.icon-file-tray-outline:before {
  content: "\eaf3"; }

.icon-file-tray-sharp:before {
  content: "\eaf4"; }

.icon-file-tray-stacked:before {
  content: "\eaf5"; }

.icon-file-tray-stacked-outline:before {
  content: "\eaf6"; }

.icon-file-tray-stacked-sharp:before {
  content: "\eaf7"; }

.icon-film:before {
  content: "\eaf8"; }

.icon-film-outline:before {
  content: "\eaf9"; }

.icon-film-sharp:before {
  content: "\eafa"; }

.icon-filter:before {
  content: "\eafb"; }

.icon-filter-circle:before {
  content: "\eafc"; }

.icon-filter-circle-outline:before {
  content: "\eafd"; }

.icon-filter-circle-sharp:before {
  content: "\eafe"; }

.icon-filter-outline:before {
  content: "\eaff"; }

.icon-filter-sharp:before {
  content: "\eb00"; }

.icon-finger-print:before {
  content: "\eb01"; }

.icon-finger-print-outline:before {
  content: "\eb02"; }

.icon-finger-print-sharp:before {
  content: "\eb03"; }

.icon-fish:before {
  content: "\eb04"; }

.icon-fish-outline:before {
  content: "\eb05"; }

.icon-fish-sharp:before {
  content: "\eb06"; }

.icon-fitness:before {
  content: "\eb07"; }

.icon-fitness-outline:before {
  content: "\eb08"; }

.icon-fitness-sharp:before {
  content: "\eb09"; }

.icon-flag:before {
  content: "\eb0a"; }

.icon-flag-outline:before {
  content: "\eb0b"; }

.icon-flag-sharp:before {
  content: "\eb0c"; }

.icon-flame:before {
  content: "\eb0d"; }

.icon-flame-outline:before {
  content: "\eb0e"; }

.icon-flame-sharp:before {
  content: "\eb0f"; }

.icon-flash:before {
  content: "\eb10"; }

.icon-flashlight:before {
  content: "\eb11"; }

.icon-flashlight-outline:before {
  content: "\eb12"; }

.icon-flashlight-sharp:before {
  content: "\eb13"; }

.icon-flash-off:before {
  content: "\eb14"; }

.icon-flash-off-outline:before {
  content: "\eb15"; }

.icon-flash-off-sharp:before {
  content: "\eb16"; }

.icon-flash-outline:before {
  content: "\eb17"; }

.icon-flash-sharp:before {
  content: "\eb18"; }

.icon-flask:before {
  content: "\eb19"; }

.icon-flask-outline:before {
  content: "\eb1a"; }

.icon-flask-sharp:before {
  content: "\eb1b"; }

.icon-flower:before {
  content: "\eb1c"; }

.icon-flower-outline:before {
  content: "\eb1d"; }

.icon-flower-sharp:before {
  content: "\eb1e"; }

.icon-folder:before {
  content: "\eb1f"; }

.icon-folder-open:before {
  content: "\eb20"; }

.icon-folder-open-outline:before {
  content: "\eb21"; }

.icon-folder-open-sharp:before {
  content: "\eb22"; }

.icon-folder-outline:before {
  content: "\eb23"; }

.icon-folder-sharp:before {
  content: "\eb24"; }

.icon-football:before {
  content: "\eb25"; }

.icon-football-outline:before {
  content: "\eb26"; }

.icon-football-sharp:before {
  content: "\eb27"; }

.icon-footsteps:before {
  content: "\eb28"; }

.icon-footsteps-outline:before {
  content: "\eb29"; }

.icon-footsteps-sharp:before {
  content: "\eb2a"; }

.icon-funnel:before {
  content: "\eb2b"; }

.icon-funnel-outline:before {
  content: "\eb2c"; }

.icon-funnel-sharp:before {
  content: "\eb2d"; }

.icon-game-controller:before {
  content: "\eb2e"; }

.icon-game-controller-outline:before {
  content: "\eb2f"; }

.icon-game-controller-sharp:before {
  content: "\eb30"; }

.icon-gift:before {
  content: "\eb31"; }

.icon-gift-outline:before {
  content: "\eb32"; }

.icon-gift-sharp:before {
  content: "\eb33"; }

.icon-git-branch:before {
  content: "\eb34"; }

.icon-git-branch-outline:before {
  content: "\eb35"; }

.icon-git-branch-sharp:before {
  content: "\eb36"; }

.icon-git-commit:before {
  content: "\eb37"; }

.icon-git-commit-outline:before {
  content: "\eb38"; }

.icon-git-commit-sharp:before {
  content: "\eb39"; }

.icon-git-compare:before {
  content: "\eb3a"; }

.icon-git-compare-outline:before {
  content: "\eb3b"; }

.icon-git-compare-sharp:before {
  content: "\eb3c"; }

.icon-git-merge:before {
  content: "\eb3d"; }

.icon-git-merge-outline:before {
  content: "\eb3e"; }

.icon-git-merge-sharp:before {
  content: "\eb3f"; }

.icon-git-network:before {
  content: "\eb40"; }

.icon-git-network-outline:before {
  content: "\eb41"; }

.icon-git-network-sharp:before {
  content: "\eb42"; }

.icon-git-pull-request:before {
  content: "\eb43"; }

.icon-git-pull-request-outline:before {
  content: "\eb44"; }

.icon-git-pull-request-sharp:before {
  content: "\eb45"; }

.icon-glasses:before {
  content: "\eb46"; }

.icon-glasses-outline:before {
  content: "\eb47"; }

.icon-glasses-sharp:before {
  content: "\eb48"; }

.icon-globe:before {
  content: "\eb49"; }

.icon-globe-outline:before {
  content: "\eb4a"; }

.icon-globe-sharp:before {
  content: "\eb4b"; }

.icon-golf:before {
  content: "\eb4c"; }

.icon-golf-outline:before {
  content: "\eb4d"; }

.icon-golf-sharp:before {
  content: "\eb4e"; }

.icon-grid:before {
  content: "\eb4f"; }

.icon-grid-outline:before {
  content: "\eb50"; }

.icon-grid-sharp:before {
  content: "\eb51"; }

.icon-hammer:before {
  content: "\eb52"; }

.icon-hammer-outline:before {
  content: "\eb53"; }

.icon-hammer-sharp:before {
  content: "\eb54"; }

.icon-hand-left:before {
  content: "\eb55"; }

.icon-hand-left-outline:before {
  content: "\eb56"; }

.icon-hand-left-sharp:before {
  content: "\eb57"; }

.icon-hand-right:before {
  content: "\eb58"; }

.icon-hand-right-outline:before {
  content: "\eb59"; }

.icon-hand-right-sharp:before {
  content: "\eb5a"; }

.icon-happy:before {
  content: "\eb5b"; }

.icon-happy-outline:before {
  content: "\eb5c"; }

.icon-happy-sharp:before {
  content: "\eb5d"; }

.icon-hardware-chip:before {
  content: "\eb5e"; }

.icon-hardware-chip-outline:before {
  content: "\eb5f"; }

.icon-hardware-chip-sharp:before {
  content: "\eb60"; }

.icon-headset:before {
  content: "\eb61"; }

.icon-headset-outline:before {
  content: "\eb62"; }

.icon-headset-sharp:before {
  content: "\eb63"; }

.icon-heart:before {
  content: "\eb64"; }

.icon-heart-circle:before {
  content: "\eb65"; }

.icon-heart-circle-outline:before {
  content: "\eb66"; }

.icon-heart-circle-sharp:before {
  content: "\eb67"; }

.icon-heart-dislike:before {
  content: "\eb68"; }

.icon-heart-dislike-circle:before {
  content: "\eb69"; }

.icon-heart-dislike-circle-outline:before {
  content: "\eb6a"; }

.icon-heart-dislike-circle-sharp:before {
  content: "\eb6b"; }

.icon-heart-dislike-outline:before {
  content: "\eb6c"; }

.icon-heart-dislike-sharp:before {
  content: "\eb6d"; }

.icon-heart-half:before {
  content: "\eb6e"; }

.icon-heart-half-outline:before {
  content: "\eb6f"; }

.icon-heart-half-sharp:before {
  content: "\eb70"; }

.icon-heart-outline:before {
  content: "\eb71"; }

.icon-heart-sharp:before {
  content: "\eb72"; }

.icon-help:before {
  content: "\eb73"; }

.icon-help-buoy:before {
  content: "\eb74"; }

.icon-help-buoy-outline:before {
  content: "\eb75"; }

.icon-help-buoy-sharp:before {
  content: "\eb76"; }

.icon-help-circle:before {
  content: "\eb77"; }

.icon-help-circle-outline:before {
  content: "\eb78"; }

.icon-help-circle-sharp:before {
  content: "\eb79"; }

.icon-help-outline:before {
  content: "\eb7a"; }

.icon-help-sharp:before {
  content: "\eb7b"; }

.icon-home:before {
  content: "\eb7c"; }

.icon-home-outline:before {
  content: "\eb7d"; }

.icon-home-sharp:before {
  content: "\eb7e"; }

.icon-hourglass:before {
  content: "\eb7f"; }

.icon-hourglass-outline:before {
  content: "\eb80"; }

.icon-hourglass-sharp:before {
  content: "\eb81"; }

.icon-ice-cream:before {
  content: "\eb82"; }

.icon-ice-cream-outline:before {
  content: "\eb83"; }

.icon-ice-cream-sharp:before {
  content: "\eb84"; }

.icon-id-card:before {
  content: "\eb85"; }

.icon-id-card-outline:before {
  content: "\eb86"; }

.icon-id-card-sharp:before {
  content: "\eb87"; }

.icon-image:before {
  content: "\eb88"; }

.icon-image-outline:before {
  content: "\eb89"; }

.icon-images:before {
  content: "\eb8a"; }

.icon-image-sharp:before {
  content: "\eb8b"; }

.icon-images-outline:before {
  content: "\eb8c"; }

.icon-images-sharp:before {
  content: "\eb8d"; }

.icon-infinite:before {
  content: "\eb8e"; }

.icon-infinite-outline:before {
  content: "\eb8f"; }

.icon-infinite-sharp:before {
  content: "\eb90"; }

.icon-information:before {
  content: "\eb91"; }

.icon-information-circle:before {
  content: "\eb92"; }

.icon-information-circle-outline:before {
  content: "\eb93"; }

.icon-information-circle-sharp:before {
  content: "\eb94"; }

.icon-information-outline:before {
  content: "\eb95"; }

.icon-information-sharp:before {
  content: "\eb96"; }

.icon-invert-mode:before {
  content: "\eb97"; }

.icon-invert-mode-outline:before {
  content: "\eb98"; }

.icon-invert-mode-sharp:before {
  content: "\eb99"; }

.icon-journal:before {
  content: "\eb9a"; }

.icon-journal-outline:before {
  content: "\eb9b"; }

.icon-journal-sharp:before {
  content: "\eb9c"; }

.icon-key:before {
  content: "\eb9d"; }

.icon-key-outline:before {
  content: "\eb9e"; }

.icon-keypad:before {
  content: "\eb9f"; }

.icon-keypad-outline:before {
  content: "\eba0"; }

.icon-keypad-sharp:before {
  content: "\eba1"; }

.icon-key-sharp:before {
  content: "\eba2"; }

.icon-language:before {
  content: "\eba3"; }

.icon-language-outline:before {
  content: "\eba4"; }

.icon-language-sharp:before {
  content: "\eba5"; }

.icon-laptop:before {
  content: "\eba6"; }

.icon-laptop-outline:before {
  content: "\eba7"; }

.icon-laptop-sharp:before {
  content: "\eba8"; }

.icon-layers:before {
  content: "\eba9"; }

.icon-layers-outline:before {
  content: "\ebaa"; }

.icon-layers-sharp:before {
  content: "\ebab"; }

.icon-leaf:before {
  content: "\ebac"; }

.icon-leaf-outline:before {
  content: "\ebad"; }

.icon-leaf-sharp:before {
  content: "\ebae"; }

.icon-library:before {
  content: "\ebaf"; }

.icon-library-outline:before {
  content: "\ebb0"; }

.icon-library-sharp:before {
  content: "\ebb1"; }

.icon-link:before {
  content: "\ebb2"; }

.icon-link-outline:before {
  content: "\ebb3"; }

.icon-link-sharp:before {
  content: "\ebb4"; }

.icon-list:before {
  content: "\ebb5"; }

.icon-list-circle:before {
  content: "\ebb6"; }

.icon-list-circle-outline:before {
  content: "\ebb7"; }

.icon-list-circle-sharp:before {
  content: "\ebb8"; }

.icon-list-outline:before {
  content: "\ebb9"; }

.icon-list-sharp:before {
  content: "\ebba"; }

.icon-locate:before {
  content: "\ebbb"; }

.icon-locate-outline:before {
  content: "\ebbc"; }

.icon-locate-sharp:before {
  content: "\ebbd"; }

.icon-location:before {
  content: "\ebbe"; }

.icon-location-outline:before {
  content: "\ebbf"; }

.icon-location-sharp:before {
  content: "\ebc0"; }

.icon-lock-closed:before {
  content: "\ebc1"; }

.icon-lock-closed-outline:before {
  content: "\ebc2"; }

.icon-lock-closed-sharp:before {
  content: "\ebc3"; }

.icon-lock-open:before {
  content: "\ebc4"; }

.icon-lock-open-outline:before {
  content: "\ebc5"; }

.icon-lock-open-sharp:before {
  content: "\ebc6"; }

.icon-log-in:before {
  content: "\ebc7"; }

.icon-log-in-outline:before {
  content: "\ebc8"; }

.icon-log-in-sharp:before {
  content: "\ebc9"; }

.icon-logo-alipay:before {
  content: "\ebca"; }

.icon-logo-amazon:before {
  content: "\ebcb"; }

.icon-logo-amplify:before {
  content: "\ebcc"; }

.icon-logo-android:before {
  content: "\ebcd"; }

.icon-logo-angular:before {
  content: "\ebce"; }

.icon-logo-apple:before {
  content: "\ebcf"; }

.icon-logo-apple-appstore:before {
  content: "\ebd0"; }

.icon-logo-apple-ar:before {
  content: "\ebd1"; }

.icon-logo-behance:before {
  content: "\ebd2"; }

.icon-logo-bitbucket:before {
  content: "\ebd3"; }

.icon-logo-bitcoin:before {
  content: "\ebd4"; }

.icon-logo-buffer:before {
  content: "\ebd5"; }

.icon-logo-capacitor:before {
  content: "\ebd6"; }

.icon-logo-chrome:before {
  content: "\ebd7"; }

.icon-logo-closed-captioning:before {
  content: "\ebd8"; }

.icon-logo-codepen:before {
  content: "\ebd9"; }

.icon-logo-css3:before {
  content: "\ebda"; }

.icon-logo-designernews:before {
  content: "\ebdb"; }

.icon-logo-deviantart:before {
  content: "\ebdc"; }

.icon-logo-discord:before {
  content: "\ebdd"; }

.icon-logo-docker:before {
  content: "\ebde"; }

.icon-logo-dribbble:before {
  content: "\ebdf"; }

.icon-logo-dropbox:before {
  content: "\ebe0"; }

.icon-logo-edge:before {
  content: "\ebe1"; }

.icon-logo-electron:before {
  content: "\ebe2"; }

.icon-logo-euro:before {
  content: "\ebe3"; }

.icon-logo-facebook:before {
  content: "\ebe4"; }

.icon-logo-figma:before {
  content: "\ebe5"; }

.icon-logo-firebase:before {
  content: "\ebe6"; }

.icon-logo-firefox:before {
  content: "\ebe7"; }

.icon-logo-flickr:before {
  content: "\ebe8"; }

.icon-logo-foursquare:before {
  content: "\ebe9"; }

.icon-logo-github:before {
  content: "\ebea"; }

.icon-logo-gitlab:before {
  content: "\ebeb"; }

.icon-logo-google:before {
  content: "\ebec"; }

.icon-logo-google-playstore:before {
  content: "\ebed"; }

.icon-logo-hackernews:before {
  content: "\ebee"; }

.icon-logo-html5:before {
  content: "\ebef"; }

.icon-logo-instagram:before {
  content: "\ebf0"; }

.icon-logo-ionic:before {
  content: "\ebf1"; }

.icon-logo-ionitron:before {
  content: "\ebf2"; }

.icon-logo-javascript:before {
  content: "\ebf3"; }

.icon-logo-laravel:before {
  content: "\ebf4"; }

.icon-logo-linkedin:before {
  content: "\ebf5"; }

.icon-logo-markdown:before {
  content: "\ebf6"; }

.icon-logo-mastodon:before {
  content: "\ebf7"; }

.icon-logo-medium:before {
  content: "\ebf8"; }

.icon-logo-microsoft:before {
  content: "\ebf9"; }

.icon-logo-nodejs:before {
  content: "\ebfa"; }

.icon-logo-no-smoking:before {
  content: "\ebfb"; }

.icon-logo-npm:before {
  content: "\ebfc"; }

.icon-logo-octocat:before {
  content: "\ebfd"; }

.icon-logo-paypal:before {
  content: "\ebfe"; }

.icon-logo-pinterest:before {
  content: "\ebff"; }

.icon-logo-playstation:before {
  content: "\ec00"; }

.icon-logo-pwa:before {
  content: "\ec01"; }

.icon-logo-python:before {
  content: "\ec02"; }

.icon-logo-react:before {
  content: "\ec03"; }

.icon-logo-reddit:before {
  content: "\ec04"; }

.icon-logo-rss:before {
  content: "\ec05"; }

.icon-logo-sass:before {
  content: "\ec06"; }

.icon-logo-skype:before {
  content: "\ec07"; }

.icon-logo-slack:before {
  content: "\ec08"; }

.icon-logo-snapchat:before {
  content: "\ec09"; }

.icon-logo-soundcloud:before {
  content: "\ec0a"; }

.icon-logo-stackoverflow:before {
  content: "\ec0b"; }

.icon-logo-steam:before {
  content: "\ec0c"; }

.icon-logo-stencil:before {
  content: "\ec0d"; }

.icon-logo-tableau:before {
  content: "\ec0e"; }

.icon-logo-tiktok:before {
  content: "\ec0f"; }

.icon-logo-tumblr:before {
  content: "\ec10"; }

.icon-logo-tux:before {
  content: "\ec11"; }

.icon-logo-twitch:before {
  content: "\ec12"; }

.icon-logo-twitter:before {
  content: "\ec13"; }

.icon-logo-usd:before {
  content: "\ec14"; }

.icon-log-out:before {
  content: "\ec15"; }

.icon-log-out-outline:before {
  content: "\ec16"; }

.icon-log-out-sharp:before {
  content: "\ec17"; }

.icon-logo-venmo:before {
  content: "\ec18"; }

.icon-logo-vercel:before {
  content: "\ec19"; }

.icon-logo-vimeo:before {
  content: "\ec1a"; }

.icon-logo-vk:before {
  content: "\ec1b"; }

.icon-logo-vue:before {
  content: "\ec1c"; }

.icon-logo-web-component:before {
  content: "\ec1d"; }

.icon-logo-wechat:before {
  content: "\ec1e"; }

.icon-logo-whatsapp:before {
  content: "\ec1f"; }

.icon-logo-windows:before {
  content: "\ec20"; }

.icon-logo-wordpress:before {
  content: "\ec21"; }

.icon-logo-xbox:before {
  content: "\ec22"; }

.icon-logo-xing:before {
  content: "\ec23"; }

.icon-logo-yahoo:before {
  content: "\ec24"; }

.icon-logo-yen:before {
  content: "\ec25"; }

.icon-logo-youtube:before {
  content: "\ec26"; }

.icon-magnet:before {
  content: "\ec27"; }

.icon-magnet-outline:before {
  content: "\ec28"; }

.icon-magnet-sharp:before {
  content: "\ec29"; }

.icon-mail:before {
  content: "\ec2a"; }

.icon-mail-open:before {
  content: "\ec2b"; }

.icon-mail-open-outline:before {
  content: "\ec2c"; }

.icon-mail-open-sharp:before {
  content: "\ec2d"; }

.icon-mail-outline:before {
  content: "\ec2e"; }

.icon-mail-sharp:before {
  content: "\ec2f"; }

.icon-mail-unread:before {
  content: "\ec30"; }

.icon-mail-unread-outline:before {
  content: "\ec31"; }

.icon-mail-unread-sharp:before {
  content: "\ec32"; }

.icon-male:before {
  content: "\ec33"; }

.icon-male-female:before {
  content: "\ec34"; }

.icon-male-female-outline:before {
  content: "\ec35"; }

.icon-male-female-sharp:before {
  content: "\ec36"; }

.icon-male-outline:before {
  content: "\ec37"; }

.icon-male-sharp:before {
  content: "\ec38"; }

.icon-man:before {
  content: "\ec39"; }

.icon-man-outline:before {
  content: "\ec3a"; }

.icon-man-sharp:before {
  content: "\ec3b"; }

.icon-map:before {
  content: "\ec3c"; }

.icon-map-outline:before {
  content: "\ec3d"; }

.icon-map-sharp:before {
  content: "\ec3e"; }

.icon-medal:before {
  content: "\ec3f"; }

.icon-medal-outline:before {
  content: "\ec40"; }

.icon-medal-sharp:before {
  content: "\ec41"; }

.icon-medical:before {
  content: "\ec42"; }

.icon-medical-outline:before {
  content: "\ec43"; }

.icon-medical-sharp:before {
  content: "\ec44"; }

.icon-medkit:before {
  content: "\ec45"; }

.icon-medkit-outline:before {
  content: "\ec46"; }

.icon-medkit-sharp:before {
  content: "\ec47"; }

.icon-megaphone:before {
  content: "\ec48"; }

.icon-megaphone-outline:before {
  content: "\ec49"; }

.icon-megaphone-sharp:before {
  content: "\ec4a"; }

.icon-menu:before {
  content: "\ec4b"; }

.icon-menu-outline:before {
  content: "\ec4c"; }

.icon-menu-sharp:before {
  content: "\ec4d"; }

.icon-mic:before {
  content: "\ec4e"; }

.icon-mic-circle:before {
  content: "\ec4f"; }

.icon-mic-circle-outline:before {
  content: "\ec50"; }

.icon-mic-circle-sharp:before {
  content: "\ec51"; }

.icon-mic-off:before {
  content: "\ec52"; }

.icon-mic-off-circle:before {
  content: "\ec53"; }

.icon-mic-off-circle-outline:before {
  content: "\ec54"; }

.icon-mic-off-circle-sharp:before {
  content: "\ec55"; }

.icon-mic-off-outline:before {
  content: "\ec56"; }

.icon-mic-off-sharp:before {
  content: "\ec57"; }

.icon-mic-outline:before {
  content: "\ec58"; }

.icon-mic-sharp:before {
  content: "\ec59"; }

.icon-moon:before {
  content: "\ec5a"; }

.icon-moon-outline:before {
  content: "\ec5b"; }

.icon-moon-sharp:before {
  content: "\ec5c"; }

.icon-move:before {
  content: "\ec5d"; }

.icon-move-outline:before {
  content: "\ec5e"; }

.icon-move-sharp:before {
  content: "\ec5f"; }

.icon-musical-note:before {
  content: "\ec60"; }

.icon-musical-note-outline:before {
  content: "\ec61"; }

.icon-musical-notes:before {
  content: "\ec62"; }

.icon-musical-note-sharp:before {
  content: "\ec63"; }

.icon-musical-notes-outline:before {
  content: "\ec64"; }

.icon-musical-notes-sharp:before {
  content: "\ec65"; }

.icon-navigate:before {
  content: "\ec66"; }

.icon-navigate-circle:before {
  content: "\ec67"; }

.icon-navigate-circle-outline:before {
  content: "\ec68"; }

.icon-navigate-circle-sharp:before {
  content: "\ec69"; }

.icon-navigate-outline:before {
  content: "\ec6a"; }

.icon-navigate-sharp:before {
  content: "\ec6b"; }

.icon-newspaper:before {
  content: "\ec6c"; }

.icon-newspaper-outline:before {
  content: "\ec6d"; }

.icon-newspaper-sharp:before {
  content: "\ec6e"; }

.icon-notifications:before {
  content: "\ec6f"; }

.icon-notifications-circle:before {
  content: "\ec70"; }

.icon-notifications-circle-outline:before {
  content: "\ec71"; }

.icon-notifications-circle-sharp:before {
  content: "\ec72"; }

.icon-notifications-off:before {
  content: "\ec73"; }

.icon-notifications-off-circle:before {
  content: "\ec74"; }

.icon-notifications-off-circle-outline:before {
  content: "\ec75"; }

.icon-notifications-off-circle-sharp:before {
  content: "\ec76"; }

.icon-notifications-off-outline:before {
  content: "\ec77"; }

.icon-notifications-off-sharp:before {
  content: "\ec78"; }

.icon-notifications-outline:before {
  content: "\ec79"; }

.icon-notifications-sharp:before {
  content: "\ec7a"; }

.icon-nuclear:before {
  content: "\ec7b"; }

.icon-nuclear-outline:before {
  content: "\ec7c"; }

.icon-nuclear-sharp:before {
  content: "\ec7d"; }

.icon-nutrition:before {
  content: "\ec7e"; }

.icon-nutrition-outline:before {
  content: "\ec7f"; }

.icon-nutrition-sharp:before {
  content: "\ec80"; }

.icon-open:before {
  content: "\ec81"; }

.icon-open-outline:before {
  content: "\ec82"; }

.icon-open-sharp:before {
  content: "\ec83"; }

.icon-options:before {
  content: "\ec84"; }

.icon-options-outline:before {
  content: "\ec85"; }

.icon-options-sharp:before {
  content: "\ec86"; }

.icon-paper-plane:before {
  content: "\ec87"; }

.icon-paper-plane-outline:before {
  content: "\ec88"; }

.icon-paper-plane-sharp:before {
  content: "\ec89"; }

.icon-partly-sunny:before {
  content: "\ec8a"; }

.icon-partly-sunny-outline:before {
  content: "\ec8b"; }

.icon-partly-sunny-sharp:before {
  content: "\ec8c"; }

.icon-pause:before {
  content: "\ec8d"; }

.icon-pause-circle:before {
  content: "\ec8e"; }

.icon-pause-circle-outline:before {
  content: "\ec8f"; }

.icon-pause-circle-sharp:before {
  content: "\ec90"; }

.icon-pause-outline:before {
  content: "\ec91"; }

.icon-pause-sharp:before {
  content: "\ec92"; }

.icon-paw:before {
  content: "\ec93"; }

.icon-paw-outline:before {
  content: "\ec94"; }

.icon-paw-sharp:before {
  content: "\ec95"; }

.icon-pencil:before {
  content: "\ec96"; }

.icon-pencil-outline:before {
  content: "\ec97"; }

.icon-pencil-sharp:before {
  content: "\ec98"; }

.icon-people:before {
  content: "\ec99"; }

.icon-people-circle:before {
  content: "\ec9a"; }

.icon-people-circle-outline:before {
  content: "\ec9b"; }

.icon-people-circle-sharp:before {
  content: "\ec9c"; }

.icon-people-outline:before {
  content: "\ec9d"; }

.icon-people-sharp:before {
  content: "\ec9e"; }

.icon-person:before {
  content: "\ec9f"; }

.icon-person-add:before {
  content: "\eca0"; }

.icon-person-add-outline:before {
  content: "\eca1"; }

.icon-person-add-sharp:before {
  content: "\eca2"; }

.icon-person-circle:before {
  content: "\eca3"; }

.icon-person-circle-outline:before {
  content: "\eca4"; }

.icon-person-circle-sharp:before {
  content: "\eca5"; }

.icon-person-outline:before {
  content: "\eca6"; }

.icon-person-remove:before {
  content: "\eca7"; }

.icon-person-remove-outline:before {
  content: "\eca8"; }

.icon-person-remove-sharp:before {
  content: "\eca9"; }

.icon-person-sharp:before {
  content: "\ecaa"; }

.icon-phone-landscape:before {
  content: "\ecab"; }

.icon-phone-landscape-outline:before {
  content: "\ecac"; }

.icon-phone-landscape-sharp:before {
  content: "\ecad"; }

.icon-phone-portrait:before {
  content: "\ecae"; }

.icon-phone-portrait-outline:before {
  content: "\ecaf"; }

.icon-phone-portrait-sharp:before {
  content: "\ecb0"; }

.icon-pie-chart:before {
  content: "\ecb1"; }

.icon-pie-chart-outline:before {
  content: "\ecb2"; }

.icon-pie-chart-sharp:before {
  content: "\ecb3"; }

.icon-pin:before {
  content: "\ecb4"; }

.icon-pin-outline:before {
  content: "\ecb5"; }

.icon-pin-sharp:before {
  content: "\ecb6"; }

.icon-pint:before {
  content: "\ecb7"; }

.icon-pint-outline:before {
  content: "\ecb8"; }

.icon-pint-sharp:before {
  content: "\ecb9"; }

.icon-pizza:before {
  content: "\ecba"; }

.icon-pizza-outline:before {
  content: "\ecbb"; }

.icon-pizza-sharp:before {
  content: "\ecbc"; }

.icon-planet:before {
  content: "\ecbd"; }

.icon-planet-outline:before {
  content: "\ecbe"; }

.icon-planet-sharp:before {
  content: "\ecbf"; }

.icon-play:before {
  content: "\ecc0"; }

.icon-play-back:before {
  content: "\ecc1"; }

.icon-play-back-circle:before {
  content: "\ecc2"; }

.icon-play-back-circle-outline:before {
  content: "\ecc3"; }

.icon-play-back-circle-sharp:before {
  content: "\ecc4"; }

.icon-play-back-outline:before {
  content: "\ecc5"; }

.icon-play-back-sharp:before {
  content: "\ecc6"; }

.icon-play-circle:before {
  content: "\ecc7"; }

.icon-play-circle-outline:before {
  content: "\ecc8"; }

.icon-play-circle-sharp:before {
  content: "\ecc9"; }

.icon-play-forward:before {
  content: "\ecca"; }

.icon-play-forward-circle:before {
  content: "\eccb"; }

.icon-play-forward-circle-outline:before {
  content: "\eccc"; }

.icon-play-forward-circle-sharp:before {
  content: "\eccd"; }

.icon-play-forward-outline:before {
  content: "\ecce"; }

.icon-play-forward-sharp:before {
  content: "\eccf"; }

.icon-play-outline:before {
  content: "\ecd0"; }

.icon-play-sharp:before {
  content: "\ecd1"; }

.icon-play-skip-back:before {
  content: "\ecd2"; }

.icon-play-skip-back-circle:before {
  content: "\ecd3"; }

.icon-play-skip-back-circle-outline:before {
  content: "\ecd4"; }

.icon-play-skip-back-circle-sharp:before {
  content: "\ecd5"; }

.icon-play-skip-back-outline:before {
  content: "\ecd6"; }

.icon-play-skip-back-sharp:before {
  content: "\ecd7"; }

.icon-play-skip-forward:before {
  content: "\ecd8"; }

.icon-play-skip-forward-circle:before {
  content: "\ecd9"; }

.icon-play-skip-forward-circle-outline:before {
  content: "\ecda"; }

.icon-play-skip-forward-circle-sharp:before {
  content: "\ecdb"; }

.icon-play-skip-forward-outline:before {
  content: "\ecdc"; }

.icon-play-skip-forward-sharp:before {
  content: "\ecdd"; }

.icon-podium:before {
  content: "\ecde"; }

.icon-podium-outline:before {
  content: "\ecdf"; }

.icon-podium-sharp:before {
  content: "\ece0"; }

.icon-power:before {
  content: "\ece1"; }

.icon-power-outline:before {
  content: "\ece2"; }

.icon-power-sharp:before {
  content: "\ece3"; }

.icon-pricetag:before {
  content: "\ece4"; }

.icon-pricetag-outline:before {
  content: "\ece5"; }

.icon-pricetags:before {
  content: "\ece6"; }

.icon-pricetag-sharp:before {
  content: "\ece7"; }

.icon-pricetags-outline:before {
  content: "\ece8"; }

.icon-pricetags-sharp:before {
  content: "\ece9"; }

.icon-print:before {
  content: "\ecea"; }

.icon-print-outline:before {
  content: "\eceb"; }

.icon-print-sharp:before {
  content: "\ecec"; }

.icon-prism:before {
  content: "\eced"; }

.icon-prism-outline:before {
  content: "\ecee"; }

.icon-prism-sharp:before {
  content: "\ecef"; }

.icon-pulse:before {
  content: "\ecf0"; }

.icon-pulse-outline:before {
  content: "\ecf1"; }

.icon-pulse-sharp:before {
  content: "\ecf2"; }

.icon-push:before {
  content: "\ecf3"; }

.icon-push-outline:before {
  content: "\ecf4"; }

.icon-push-sharp:before {
  content: "\ecf5"; }

.icon-qr-code:before {
  content: "\ecf6"; }

.icon-qr-code-outline:before {
  content: "\ecf7"; }

.icon-qr-code-sharp:before {
  content: "\ecf8"; }

.icon-radio:before {
  content: "\ecf9"; }

.icon-radio-button-off:before {
  content: "\ecfa"; }

.icon-radio-button-off-outline:before {
  content: "\ecfb"; }

.icon-radio-button-off-sharp:before {
  content: "\ecfc"; }

.icon-radio-button-on:before {
  content: "\ecfd"; }

.icon-radio-button-on-outline:before {
  content: "\ecfe"; }

.icon-radio-button-on-sharp:before {
  content: "\ecff"; }

.icon-radio-outline:before {
  content: "\ed00"; }

.icon-radio-sharp:before {
  content: "\ed01"; }

.icon-rainy:before {
  content: "\ed02"; }

.icon-rainy-outline:before {
  content: "\ed03"; }

.icon-rainy-sharp:before {
  content: "\ed04"; }

.icon-reader:before {
  content: "\ed05"; }

.icon-reader-outline:before {
  content: "\ed06"; }

.icon-reader-sharp:before {
  content: "\ed07"; }

.icon-receipt:before {
  content: "\ed08"; }

.icon-receipt-outline:before {
  content: "\ed09"; }

.icon-receipt-sharp:before {
  content: "\ed0a"; }

.icon-recording:before {
  content: "\ed0b"; }

.icon-recording-outline:before {
  content: "\ed0c"; }

.icon-recording-sharp:before {
  content: "\ed0d"; }

.icon-refresh:before {
  content: "\ed0e"; }

.icon-refresh-circle:before {
  content: "\ed0f"; }

.icon-refresh-circle-outline:before {
  content: "\ed10"; }

.icon-refresh-circle-sharp:before {
  content: "\ed11"; }

.icon-refresh-outline:before {
  content: "\ed12"; }

.icon-refresh-sharp:before {
  content: "\ed13"; }

.icon-reload:before {
  content: "\ed14"; }

.icon-reload-circle:before {
  content: "\ed15"; }

.icon-reload-circle-outline:before {
  content: "\ed16"; }

.icon-reload-circle-sharp:before {
  content: "\ed17"; }

.icon-reload-outline:before {
  content: "\ed18"; }

.icon-reload-sharp:before {
  content: "\ed19"; }

.icon-remove:before {
  content: "\ed1a"; }

.icon-remove-circle:before {
  content: "\ed1b"; }

.icon-remove-circle-outline:before {
  content: "\ed1c"; }

.icon-remove-circle-sharp:before {
  content: "\ed1d"; }

.icon-remove-outline:before {
  content: "\ed1e"; }

.icon-remove-sharp:before {
  content: "\ed1f"; }

.icon-reorder-four:before {
  content: "\ed20"; }

.icon-reorder-four-outline:before {
  content: "\ed21"; }

.icon-reorder-four-sharp:before {
  content: "\ed22"; }

.icon-reorder-three:before {
  content: "\ed23"; }

.icon-reorder-three-outline:before {
  content: "\ed24"; }

.icon-reorder-three-sharp:before {
  content: "\ed25"; }

.icon-reorder-two:before {
  content: "\ed26"; }

.icon-reorder-two-outline:before {
  content: "\ed27"; }

.icon-reorder-two-sharp:before {
  content: "\ed28"; }

.icon-repeat:before {
  content: "\ed29"; }

.icon-repeat-outline:before {
  content: "\ed2a"; }

.icon-repeat-sharp:before {
  content: "\ed2b"; }

.icon-resize:before {
  content: "\ed2c"; }

.icon-resize-outline:before {
  content: "\ed2d"; }

.icon-resize-sharp:before {
  content: "\ed2e"; }

.icon-restaurant:before {
  content: "\ed2f"; }

.icon-restaurant-outline:before {
  content: "\ed30"; }

.icon-restaurant-sharp:before {
  content: "\ed31"; }

.icon-return-down-back:before {
  content: "\ed32"; }

.icon-return-down-back-outline:before {
  content: "\ed33"; }

.icon-return-down-back-sharp:before {
  content: "\ed34"; }

.icon-return-down-forward:before {
  content: "\ed35"; }

.icon-return-down-forward-outline:before {
  content: "\ed36"; }

.icon-return-down-forward-sharp:before {
  content: "\ed37"; }

.icon-return-up-back:before {
  content: "\ed38"; }

.icon-return-up-back-outline:before {
  content: "\ed39"; }

.icon-return-up-back-sharp:before {
  content: "\ed3a"; }

.icon-return-up-forward:before {
  content: "\ed3b"; }

.icon-return-up-forward-outline:before {
  content: "\ed3c"; }

.icon-return-up-forward-sharp:before {
  content: "\ed3d"; }

.icon-ribbon:before {
  content: "\ed3e"; }

.icon-ribbon-outline:before {
  content: "\ed3f"; }

.icon-ribbon-sharp:before {
  content: "\ed40"; }

.icon-rocket:before {
  content: "\ed41"; }

.icon-rocket-outline:before {
  content: "\ed42"; }

.icon-rocket-sharp:before {
  content: "\ed43"; }

.icon-rose:before {
  content: "\ed44"; }

.icon-rose-outline:before {
  content: "\ed45"; }

.icon-rose-sharp:before {
  content: "\ed46"; }

.icon-sad:before {
  content: "\ed47"; }

.icon-sad-outline:before {
  content: "\ed48"; }

.icon-sad-sharp:before {
  content: "\ed49"; }

.icon-save:before {
  content: "\ed4a"; }

.icon-save-outline:before {
  content: "\ed4b"; }

.icon-save-sharp:before {
  content: "\ed4c"; }

.icon-scale:before {
  content: "\ed4d"; }

.icon-scale-outline:before {
  content: "\ed4e"; }

.icon-scale-sharp:before {
  content: "\ed4f"; }

.icon-scan:before {
  content: "\ed50"; }

.icon-scan-circle:before {
  content: "\ed51"; }

.icon-scan-circle-outline:before {
  content: "\ed52"; }

.icon-scan-circle-sharp:before {
  content: "\ed53"; }

.icon-scan-outline:before {
  content: "\ed54"; }

.icon-scan-sharp:before {
  content: "\ed55"; }

.icon-school:before {
  content: "\ed56"; }

.icon-school-outline:before {
  content: "\ed57"; }

.icon-school-sharp:before {
  content: "\ed58"; }

.icon-search:before {
  content: "\ed59"; }

.icon-search-circle:before {
  content: "\ed5a"; }

.icon-search-circle-outline:before {
  content: "\ed5b"; }

.icon-search-circle-sharp:before {
  content: "\ed5c"; }

.icon-search-outline:before {
  content: "\ed5d"; }

.icon-search-sharp:before {
  content: "\ed5e"; }

.icon-send:before {
  content: "\ed5f"; }

.icon-send-outline:before {
  content: "\ed60"; }

.icon-send-sharp:before {
  content: "\ed61"; }

.icon-server:before {
  content: "\ed62"; }

.icon-server-outline:before {
  content: "\ed63"; }

.icon-server-sharp:before {
  content: "\ed64"; }

.icon-settings:before {
  content: "\ed65"; }

.icon-settings-outline:before {
  content: "\ed66"; }

.icon-settings-sharp:before {
  content: "\ed67"; }

.icon-shapes:before {
  content: "\ed68"; }

.icon-shapes-outline:before {
  content: "\ed69"; }

.icon-shapes-sharp:before {
  content: "\ed6a"; }

.icon-share:before {
  content: "\ed6b"; }

.icon-share-outline:before {
  content: "\ed6c"; }

.icon-share-sharp:before {
  content: "\ed6d"; }

.icon-share-social:before {
  content: "\ed6e"; }

.icon-share-social-outline:before {
  content: "\ed6f"; }

.icon-share-social-sharp:before {
  content: "\ed70"; }

.icon-shield:before {
  content: "\ed71"; }

.icon-shield-checkmark:before {
  content: "\ed72"; }

.icon-shield-checkmark-outline:before {
  content: "\ed73"; }

.icon-shield-checkmark-sharp:before {
  content: "\ed74"; }

.icon-shield-half:before {
  content: "\ed75"; }

.icon-shield-half-outline:before {
  content: "\ed76"; }

.icon-shield-half-sharp:before {
  content: "\ed77"; }

.icon-shield-outline:before {
  content: "\ed78"; }

.icon-shield-sharp:before {
  content: "\ed79"; }

.icon-shirt:before {
  content: "\ed7a"; }

.icon-shirt-outline:before {
  content: "\ed7b"; }

.icon-shirt-sharp:before {
  content: "\ed7c"; }

.icon-shuffle:before {
  content: "\ed7d"; }

.icon-shuffle-outline:before {
  content: "\ed7e"; }

.icon-shuffle-sharp:before {
  content: "\ed7f"; }

.icon-skull:before {
  content: "\ed80"; }

.icon-skull-outline:before {
  content: "\ed81"; }

.icon-skull-sharp:before {
  content: "\ed82"; }

.icon-snow:before {
  content: "\ed83"; }

.icon-snow-outline:before {
  content: "\ed84"; }

.icon-snow-sharp:before {
  content: "\ed85"; }

.icon-sparkles:before {
  content: "\ed86"; }

.icon-sparkles-outline:before {
  content: "\ed87"; }

.icon-sparkles-sharp:before {
  content: "\ed88"; }

.icon-speedometer:before {
  content: "\ed89"; }

.icon-speedometer-outline:before {
  content: "\ed8a"; }

.icon-speedometer-sharp:before {
  content: "\ed8b"; }

.icon-square:before {
  content: "\ed8c"; }

.icon-square-outline:before {
  content: "\ed8d"; }

.icon-square-sharp:before {
  content: "\ed8e"; }

.icon-star:before {
  content: "\ed8f"; }

.icon-star-half:before {
  content: "\ed90"; }

.icon-star-half-outline:before {
  content: "\ed91"; }

.icon-star-half-sharp:before {
  content: "\ed92"; }

.icon-star-outline:before {
  content: "\ed93"; }

.icon-star-sharp:before {
  content: "\ed94"; }

.icon-stats-chart:before {
  content: "\ed95"; }

.icon-stats-chart-outline:before {
  content: "\ed96"; }

.icon-stats-chart-sharp:before {
  content: "\ed97"; }

.icon-stop:before {
  content: "\ed98"; }

.icon-stop-circle:before {
  content: "\ed99"; }

.icon-stop-circle-outline:before {
  content: "\ed9a"; }

.icon-stop-circle-sharp:before {
  content: "\ed9b"; }

.icon-stop-outline:before {
  content: "\ed9c"; }

.icon-stop-sharp:before {
  content: "\ed9d"; }

.icon-stopwatch:before {
  content: "\ed9e"; }

.icon-stopwatch-outline:before {
  content: "\ed9f"; }

.icon-stopwatch-sharp:before {
  content: "\eda0"; }

.icon-storefront:before {
  content: "\eda1"; }

.icon-storefront-outline:before {
  content: "\eda2"; }

.icon-storefront-sharp:before {
  content: "\eda3"; }

.icon-subway:before {
  content: "\eda4"; }

.icon-subway-outline:before {
  content: "\eda5"; }

.icon-subway-sharp:before {
  content: "\eda6"; }

.icon-sunny:before {
  content: "\eda7"; }

.icon-sunny-outline:before {
  content: "\eda8"; }

.icon-sunny-sharp:before {
  content: "\eda9"; }

.icon-swap-horizontal:before {
  content: "\edaa"; }

.icon-swap-horizontal-outline:before {
  content: "\edab"; }

.icon-swap-horizontal-sharp:before {
  content: "\edac"; }

.icon-swap-vertical:before {
  content: "\edad"; }

.icon-swap-vertical-outline:before {
  content: "\edae"; }

.icon-swap-vertical-sharp:before {
  content: "\edaf"; }

.icon-sync:before {
  content: "\edb0"; }

.icon-sync-circle:before {
  content: "\edb1"; }

.icon-sync-circle-outline:before {
  content: "\edb2"; }

.icon-sync-circle-sharp:before {
  content: "\edb3"; }

.icon-sync-outline:before {
  content: "\edb4"; }

.icon-sync-sharp:before {
  content: "\edb5"; }

.icon-tablet-landscape:before {
  content: "\edb6"; }

.icon-tablet-landscape-outline:before {
  content: "\edb7"; }

.icon-tablet-landscape-sharp:before {
  content: "\edb8"; }

.icon-tablet-portrait:before {
  content: "\edb9"; }

.icon-tablet-portrait-outline:before {
  content: "\edba"; }

.icon-tablet-portrait-sharp:before {
  content: "\edbb"; }

.icon-telescope:before {
  content: "\edbc"; }

.icon-telescope-outline:before {
  content: "\edbd"; }

.icon-telescope-sharp:before {
  content: "\edbe"; }

.icon-tennisball:before {
  content: "\edbf"; }

.icon-tennisball-outline:before {
  content: "\edc0"; }

.icon-tennisball-sharp:before {
  content: "\edc1"; }

.icon-terminal:before {
  content: "\edc2"; }

.icon-terminal-outline:before {
  content: "\edc3"; }

.icon-terminal-sharp:before {
  content: "\edc4"; }

.icon-text:before {
  content: "\edc5"; }

.icon-text-outline:before {
  content: "\edc6"; }

.icon-text-sharp:before {
  content: "\edc7"; }

.icon-thermometer:before {
  content: "\edc8"; }

.icon-thermometer-outline:before {
  content: "\edc9"; }

.icon-thermometer-sharp:before {
  content: "\edca"; }

.icon-thumbs-down:before {
  content: "\edcb"; }

.icon-thumbs-down-outline:before {
  content: "\edcc"; }

.icon-thumbs-down-sharp:before {
  content: "\edcd"; }

.icon-thumbs-up:before {
  content: "\edce"; }

.icon-thumbs-up-outline:before {
  content: "\edcf"; }

.icon-thumbs-up-sharp:before {
  content: "\edd0"; }

.icon-thunderstorm:before {
  content: "\edd1"; }

.icon-thunderstorm-outline:before {
  content: "\edd2"; }

.icon-thunderstorm-sharp:before {
  content: "\edd3"; }

.icon-ticket:before {
  content: "\edd4"; }

.icon-ticket-outline:before {
  content: "\edd5"; }

.icon-ticket-sharp:before {
  content: "\edd6"; }

.icon-time:before {
  content: "\edd7"; }

.icon-time-outline:before {
  content: "\edd8"; }

.icon-timer:before {
  content: "\edd9"; }

.icon-timer-outline:before {
  content: "\edda"; }

.icon-timer-sharp:before {
  content: "\eddb"; }

.icon-time-sharp:before {
  content: "\eddc"; }

.icon-today:before {
  content: "\eddd"; }

.icon-today-outline:before {
  content: "\edde"; }

.icon-today-sharp:before {
  content: "\eddf"; }

.icon-toggle:before {
  content: "\ede0"; }

.icon-toggle-outline:before {
  content: "\ede1"; }

.icon-toggle-sharp:before {
  content: "\ede2"; }

.icon-trail-sign:before {
  content: "\ede3"; }

.icon-trail-sign-outline:before {
  content: "\ede4"; }

.icon-trail-sign-sharp:before {
  content: "\ede5"; }

.icon-train:before {
  content: "\ede6"; }

.icon-train-outline:before {
  content: "\ede7"; }

.icon-train-sharp:before {
  content: "\ede8"; }

.icon-transgender:before {
  content: "\ede9"; }

.icon-transgender-outline:before {
  content: "\edea"; }

.icon-transgender-sharp:before {
  content: "\edeb"; }

.icon-trash:before {
  content: "\edec"; }

.icon-trash-bin:before {
  content: "\eded"; }

.icon-trash-bin-outline:before {
  content: "\edee"; }

.icon-trash-bin-sharp:before {
  content: "\edef"; }

.icon-trash-outline:before {
  content: "\edf0"; }

.icon-trash-sharp:before {
  content: "\edf1"; }

.icon-trending-down:before {
  content: "\edf2"; }

.icon-trending-down-outline:before {
  content: "\edf3"; }

.icon-trending-down-sharp:before {
  content: "\edf4"; }

.icon-trending-up:before {
  content: "\edf5"; }

.icon-trending-up-outline:before {
  content: "\edf6"; }

.icon-trending-up-sharp:before {
  content: "\edf7"; }

.icon-triangle:before {
  content: "\edf8"; }

.icon-triangle-outline:before {
  content: "\edf9"; }

.icon-triangle-sharp:before {
  content: "\edfa"; }

.icon-trophy:before {
  content: "\edfb"; }

.icon-trophy-outline:before {
  content: "\edfc"; }

.icon-trophy-sharp:before {
  content: "\edfd"; }

.icon-tv:before {
  content: "\edfe"; }

.icon-tv-outline:before {
  content: "\edff"; }

.icon-tv-sharp:before {
  content: "\ee00"; }

.icon-umbrella:before {
  content: "\ee01"; }

.icon-umbrella-outline:before {
  content: "\ee02"; }

.icon-umbrella-sharp:before {
  content: "\ee03"; }

.icon-unlink:before {
  content: "\ee04"; }

.icon-unlink-outline:before {
  content: "\ee05"; }

.icon-unlink-sharp:before {
  content: "\ee06"; }

.icon-videocam:before {
  content: "\ee07"; }

.icon-videocam-off:before {
  content: "\ee08"; }

.icon-videocam-off-outline:before {
  content: "\ee09"; }

.icon-videocam-off-sharp:before {
  content: "\ee0a"; }

.icon-videocam-outline:before {
  content: "\ee0b"; }

.icon-videocam-sharp:before {
  content: "\ee0c"; }

.icon-volume-high:before {
  content: "\ee0d"; }

.icon-volume-high-outline:before {
  content: "\ee0e"; }

.icon-volume-high-sharp:before {
  content: "\ee0f"; }

.icon-volume-low:before {
  content: "\ee10"; }

.icon-volume-low-outline:before {
  content: "\ee11"; }

.icon-volume-low-sharp:before {
  content: "\ee12"; }

.icon-volume-medium:before {
  content: "\ee13"; }

.icon-volume-medium-outline:before {
  content: "\ee14"; }

.icon-volume-medium-sharp:before {
  content: "\ee15"; }

.icon-volume-mute:before {
  content: "\ee16"; }

.icon-volume-mute-outline:before {
  content: "\ee17"; }

.icon-volume-mute-sharp:before {
  content: "\ee18"; }

.icon-volume-off:before {
  content: "\ee19"; }

.icon-volume-off-outline:before {
  content: "\ee1a"; }

.icon-volume-off-sharp:before {
  content: "\ee1b"; }

.icon-walk:before {
  content: "\ee1c"; }

.icon-walk-outline:before {
  content: "\ee1d"; }

.icon-walk-sharp:before {
  content: "\ee1e"; }

.icon-wallet:before {
  content: "\ee1f"; }

.icon-wallet-outline:before {
  content: "\ee20"; }

.icon-wallet-sharp:before {
  content: "\ee21"; }

.icon-warning:before {
  content: "\ee22"; }

.icon-warning-outline:before {
  content: "\ee23"; }

.icon-warning-sharp:before {
  content: "\ee24"; }

.icon-watch:before {
  content: "\ee25"; }

.icon-watch-outline:before {
  content: "\ee26"; }

.icon-watch-sharp:before {
  content: "\ee27"; }

.icon-water:before {
  content: "\ee28"; }

.icon-water-outline:before {
  content: "\ee29"; }

.icon-water-sharp:before {
  content: "\ee2a"; }

.icon-wifi:before {
  content: "\ee2b"; }

.icon-wifi-outline:before {
  content: "\ee2c"; }

.icon-wifi-sharp:before {
  content: "\ee2d"; }

.icon-wine:before {
  content: "\ee2e"; }

.icon-wine-outline:before {
  content: "\ee2f"; }

.icon-wine-sharp:before {
  content: "\ee30"; }

.icon-woman:before {
  content: "\ee31"; }

.icon-woman-outline:before {
  content: "\ee32"; }

.icon-woman-sharp:before {
  content: "\ee33"; }

/*!
   * Bootstrap  v5.3.3 (https://getbootstrap.com/)
   * Copyright 2011-2024 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
:root,
[data-bs-theme="light"] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: #052c65;
  --bs-secondary-text-emphasis: #2b2f32;
  --bs-success-text-emphasis: #0a3622;
  --bs-info-text-emphasis: #055160;
  --bs-warning-text-emphasis: #664d03;
  --bs-danger-text-emphasis: #58151c;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #cfe2ff;
  --bs-secondary-bg-subtle: #e2e3e5;
  --bs-success-bg-subtle: #d1e7dd;
  --bs-info-bg-subtle: #cff4fc;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #9ec5fe;
  --bs-secondary-border-subtle: #c4c8cb;
  --bs-success-border-subtle: #a3cfbb;
  --bs-info-border-subtle: #9eeaf9;
  --bs-warning-border-subtle: #ffe69c;
  --bs-danger-border-subtle: #f1aeb5;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #0d6efd;
  --bs-link-color-rgb: 13, 110, 253;
  --bs-link-decoration: none;
  --bs-link-hover-color: #0a58ca;
  --bs-link-hover-color-rgb: 10, 88, 202;
  --bs-code-color: #d63384;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545; }

[data-bs-theme="dark"] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: #2b3035;
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: #6ea8fe;
  --bs-secondary-text-emphasis: #a7acb1;
  --bs-success-text-emphasis: #75b798;
  --bs-info-text-emphasis: #6edff6;
  --bs-warning-text-emphasis: #ffda6a;
  --bs-danger-text-emphasis: #ea868f;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: #031633;
  --bs-secondary-bg-subtle: #161719;
  --bs-success-bg-subtle: #051b11;
  --bs-info-bg-subtle: #032830;
  --bs-warning-bg-subtle: #332701;
  --bs-danger-bg-subtle: #2c0b0e;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: #084298;
  --bs-secondary-border-subtle: #41464b;
  --bs-success-border-subtle: #0f5132;
  --bs-info-border-subtle: #087990;
  --bs-warning-border-subtle: #997404;
  --bs-danger-border-subtle: #842029;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: #6ea8fe;
  --bs-link-hover-color: #8bb9fe;
  --bs-link-color-rgb: 110, 168, 254;
  --bs-link-hover-color-rgb: 139, 185, 254;
  --bs-code-color: #e685b5;
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: #664d03;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #75b798;
  --bs-form-valid-border-color: #75b798;
  --bs-form-invalid-color: #ea868f;
  --bs-form-invalid-border-color: #ea868f; }

*,
*::before,
*::after {
  box-sizing: border-box; }

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth; } }

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 0.25; }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color); }

h1, .h1 {
  font-size: calc(1.375rem + 1.5vw); }
  @media (min-width: 1200px) {
    h1, .h1 {
      font-size: 2.5rem; } }

h2, .h2 {
  font-size: calc(1.325rem + 0.9vw); }
  @media (min-width: 1200px) {
    h2, .h2 {
      font-size: 2rem; } }

h3, .h3 {
  font-size: calc(1.3rem + 0.6vw); }
  @media (min-width: 1200px) {
    h3, .h3 {
      font-size: 1.75rem; } }

h4, .h4 {
  font-size: calc(1.275rem + 0.3vw); }
  @media (min-width: 1200px) {
    h4, .h4 {
      font-size: 1.5rem; } }

h5, .h5 {
  font-size: 1.25rem; }

h6, .h6 {
  font-size: 1rem; }

p {
  margin-top: 0;
  margin-bottom: 1rem; }

abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none; }

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit; }

ol,
ul {
  padding-left: 2rem; }

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem; }

ol ol,
ul ul,
ol ul,
ul ol {
  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, .small {
  font-size: 0.875em; }

mark, .mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg); }

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: none; }
  a:hover {
    --bs-link-color-rgb: var(--bs-link-hover-color-rgb); }

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none; }

pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em; }

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em; }
  pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal; }

code {
  font-size: 0.875em;
  color: var(--bs-code-color);
  word-wrap: break-word; }
  a > code {
    color: inherit; }

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0.25rem; }
  kbd kbd {
    padding: 0;
    font-size: 1em; }

figure {
  margin: 0 0 1rem; }

img,
svg {
  vertical-align: middle; }

table {
  caption-side: bottom;
  border-collapse: collapse; }

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-secondary-color);
  text-align: left; }

th {
  text-align: inherit;
  text-align: -webkit-match-parent; }

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0; }

label {
  display: inline-block; }

button {
  border-radius: 0; }

button:focus:not(:focus-visible) {
  outline: 0; }

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button,
select {
  text-transform: none; }

[role="button"] {
  cursor: pointer; }

select {
  word-wrap: normal; }
  select:disabled {
    opacity: 1; }

[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator {
  display: none !important; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }
  button:not(:disabled),
  [type="button"]:not(:disabled),
  [type="reset"]:not(:disabled),
  [type="submit"]:not(:disabled) {
    cursor: pointer; }

::-moz-focus-inner {
  padding: 0;
  border-style: none; }

textarea {
  resize: vertical; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit; }
  @media (min-width: 1200px) {
    legend {
      font-size: 1.5rem; } }
  legend + * {
    clear: left; }

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0; }

::-webkit-inner-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-color-swatch-wrapper {
  padding: 0; }

::file-selector-button {
  font: inherit;
  -webkit-appearance: button; }

output {
  display: inline-block; }

iframe {
  border: 0; }

summary {
  display: list-item;
  cursor: pointer; }

progress {
  vertical-align: baseline; }

[hidden] {
  display: none !important; }

.lead {
  font-size: 1.25rem;
  font-weight: 300; }

.display-1 {
  font-size: calc(1.625rem + 4.5vw);
  font-weight: 300;
  line-height: 1.2; }
  @media (min-width: 1200px) {
    .display-1 {
      font-size: 5rem; } }

.display-2 {
  font-size: calc(1.575rem + 3.9vw);
  font-weight: 300;
  line-height: 1.2; }
  @media (min-width: 1200px) {
    .display-2 {
      font-size: 4.5rem; } }

.display-3 {
  font-size: calc(1.525rem + 3.3vw);
  font-weight: 300;
  line-height: 1.2; }
  @media (min-width: 1200px) {
    .display-3 {
      font-size: 4rem; } }

.display-4 {
  font-size: calc(1.475rem + 2.7vw);
  font-weight: 300;
  line-height: 1.2; }
  @media (min-width: 1200px) {
    .display-4 {
      font-size: 3.5rem; } }

.display-5 {
  font-size: calc(1.425rem + 2.1vw);
  font-weight: 300;
  line-height: 1.2; }
  @media (min-width: 1200px) {
    .display-5 {
      font-size: 3rem; } }

.display-6 {
  font-size: calc(1.375rem + 1.5vw);
  font-weight: 300;
  line-height: 1.2; }
  @media (min-width: 1200px) {
    .display-6 {
      font-size: 2.5rem; } }

.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: 0.5rem; }

.initialism {
  font-size: 0.875em;
  text-transform: uppercase; }

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem; }
  .blockquote > :last-child {
    margin-bottom: 0; }

.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #6c757d; }
  .blockquote-footer::before {
    content: "\2014\00A0"; }

.img-fluid {
  max-width: 100%;
  height: auto; }

.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  max-width: 100%;
  height: auto; }

.figure {
  display: inline-block; }

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1; }

.figure-caption {
  font-size: 0.875em;
  color: var(--bs-secondary-color); }

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-right: auto;
  margin-left: auto; }

@media (min-width: 576px) {
  .container, .container-sm {
    max-width: 540px; } }

@media (min-width: 768px) {
  .container, .container-sm, .container-md {
    max-width: 720px; } }

@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 960px; } }

@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1140px; } }

@media (min-width: 1400px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
    max-width: 1320px; } }

:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px; }

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x)); }
  .row > * {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y); }

.col {
  flex: 1 0 0%; }

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto; }

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%; }

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%; }

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333%; }

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%; }

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%; }

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66667%; }

.col-auto {
  flex: 0 0 auto;
  width: auto; }

.col-1 {
  flex: 0 0 auto;
  width: 8.33333%; }

.col-2 {
  flex: 0 0 auto;
  width: 16.66667%; }

.col-3 {
  flex: 0 0 auto;
  width: 25%; }

.col-4 {
  flex: 0 0 auto;
  width: 33.33333%; }

.col-5 {
  flex: 0 0 auto;
  width: 41.66667%; }

.col-6 {
  flex: 0 0 auto;
  width: 50%; }

.col-7 {
  flex: 0 0 auto;
  width: 58.33333%; }

.col-8 {
  flex: 0 0 auto;
  width: 66.66667%; }

.col-9 {
  flex: 0 0 auto;
  width: 75%; }

.col-10 {
  flex: 0 0 auto;
  width: 83.33333%; }

.col-11 {
  flex: 0 0 auto;
  width: 91.66667%; }

.col-12 {
  flex: 0 0 auto;
  width: 100%; }

.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%; }

.g-0,
.gx-0 {
  --bs-gutter-x: 0; }

.g-0,
.gy-0 {
  --bs-gutter-y: 0; }

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem; }

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem; }

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem; }

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem; }

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem; }

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem; }

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem; }

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem; }

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem; }

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem; }

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%; }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto; }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%; }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%; }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333%; }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%; }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%; }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto; }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333%; }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%; }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333%; }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66667%; }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%; }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333%; }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66667%; }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%; }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333%; }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66667%; }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%; }
  .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%; }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0; }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0; }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem; }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem; }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem; }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem; }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem; }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem; }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem; }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem; }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem; }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem; } }

@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%; }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto; }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%; }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%; }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333%; }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%; }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%; }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto; }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333%; }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%; }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333%; }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66667%; }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%; }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333%; }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66667%; }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%; }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333%; }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66667%; }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%; }
  .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%; }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0; }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0; }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem; }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem; }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem; }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem; }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem; }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem; }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem; }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem; }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem; }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem; } }

@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%; }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto; }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%; }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%; }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333%; }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%; }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%; }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto; }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333%; }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%; }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333%; }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66667%; }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%; }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333%; }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66667%; }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%; }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333%; }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66667%; }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%; }
  .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%; }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0; }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0; }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem; }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem; }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem; }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem; }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem; }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem; }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem; }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem; }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem; }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem; } }

@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%; }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto; }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%; }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%; }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333%; }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%; }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%; }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto; }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333%; }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%; }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333%; }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66667%; }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%; }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333%; }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66667%; }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%; }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333%; }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66667%; }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%; }
  .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%; }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0; }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0; }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem; }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem; }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem; }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem; }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem; }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem; }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem; }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem; }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem; }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem; } }

@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%; }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto; }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%; }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%; }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333%; }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%; }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%; }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto; }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333%; }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66667%; }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%; }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333%; }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66667%; }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%; }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333%; }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66667%; }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%; }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333%; }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66667%; }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%; }
  .offset-xxl-0 {
    margin-left: 0; }
  .offset-xxl-1 {
    margin-left: 8.33333%; }
  .offset-xxl-2 {
    margin-left: 16.66667%; }
  .offset-xxl-3 {
    margin-left: 25%; }
  .offset-xxl-4 {
    margin-left: 33.33333%; }
  .offset-xxl-5 {
    margin-left: 41.66667%; }
  .offset-xxl-6 {
    margin-left: 50%; }
  .offset-xxl-7 {
    margin-left: 58.33333%; }
  .offset-xxl-8 {
    margin-left: 66.66667%; }
  .offset-xxl-9 {
    margin-left: 75%; }
  .offset-xxl-10 {
    margin-left: 83.33333%; }
  .offset-xxl-11 {
    margin-left: 91.66667%; }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0; }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0; }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem; }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem; }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem; }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem; }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem; }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem; }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem; }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem; }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem; }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem; } }

.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: var(--bs-body-bg);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color); }
  .table > :not(caption) > * > * {
    padding: 0.5rem 0.5rem;
    color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
    background-color: var(--bs-table-bg);
    border-bottom-width: var(--bs-border-width);
    box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))); }
  .table > tbody {
    vertical-align: inherit; }
  .table > thead {
    vertical-align: bottom; }

.table-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor; }

.caption-top {
  caption-side: top; }

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem; }

.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0; }
  .table-bordered > :not(caption) > * > * {
    border-width: 0 var(--bs-border-width); }

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0; }

.table-borderless > :not(:first-child) {
  border-top-width: 0; }

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg); }

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg); }

.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg); }

.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg); }

.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: #cfe2ff;
  --bs-table-border-color: #a6b5cc;
  --bs-table-striped-bg: #c5d7f2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bacbe6;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfd1ec;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: #e2e3e5;
  --bs-table-border-color: #b5b6b7;
  --bs-table-striped-bg: #d7d8da;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #cbccce;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d1d2d4;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-success {
  --bs-table-color: #000;
  --bs-table-bg: #d1e7dd;
  --bs-table-border-color: #a7b9b1;
  --bs-table-striped-bg: #c7dbd2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bcd0c7;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c1d6cc;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-info {
  --bs-table-color: #000;
  --bs-table-bg: #cff4fc;
  --bs-table-border-color: #a6c3ca;
  --bs-table-striped-bg: #c5e8ef;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #badce3;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfe2e9;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-warning {
  --bs-table-color: #000;
  --bs-table-bg: #fff3cd;
  --bs-table-border-color: #ccc2a4;
  --bs-table-striped-bg: #f2e7c3;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #e6dbb9;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #ece1be;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-danger {
  --bs-table-color: #000;
  --bs-table-bg: #f8d7da;
  --bs-table-border-color: #c6acae;
  --bs-table-striped-bg: #eccccf;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfc2c4;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5c7ca;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-light {
  --bs-table-color: #000;
  --bs-table-bg: #f8f9fa;
  --bs-table-border-color: #c6c7c8;
  --bs-table-striped-bg: #ecedee;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfe0e1;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5e6e7;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color); }

.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #212529;
  --bs-table-border-color: #4d5154;
  --bs-table-striped-bg: #2c3034;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #373b3e;
  --bs-table-active-color: #fff;
  --bs-
Download .txt
gitextract_mj6sw9pv/

├── .dockerignore
├── .gitattributes
├── .github/
│   ├── FUNDING.yml
│   ├── lock.yml
│   └── no-response.yml
├── .gitignore
├── .gitmodules
├── Credits.md
├── Dockerfile
├── LICENSE
├── README.md
├── css/
│   ├── editor.css
│   └── vvvebjs-editor-helpers.css
├── demo/
│   ├── album/
│   │   └── index.html
│   ├── blog/
│   │   ├── blog.css
│   │   └── index.html
│   ├── carousel/
│   │   ├── carousel.css
│   │   └── index.html
│   ├── narrow-jumbotron/
│   │   ├── index.html
│   │   └── narrow-jumbotron.css
│   ├── offcanvas/
│   │   ├── index.html
│   │   ├── offcanvas.css
│   │   └── offcanvas.js
│   ├── pricing/
│   │   ├── index.html
│   │   └── pricing.css
│   └── product/
│       ├── index.html
│       └── product.css
├── docker-compose.yml
├── editor.html
├── editor.php
├── gulpfile.js
├── libs/
│   ├── aos/
│   │   ├── aos.css
│   │   └── aos.js
│   ├── autocomplete/
│   │   └── autocomplete.js
│   ├── builder/
│   │   ├── blocks-bootstrap4.js
│   │   ├── builder.js
│   │   ├── components-bootstrap4.js
│   │   ├── components-bootstrap5.js
│   │   ├── components-common.js
│   │   ├── components-elements.js
│   │   ├── components-embeds.js
│   │   ├── components-html.js
│   │   ├── components-server.js
│   │   ├── components-widgets.js
│   │   ├── inputs.js
│   │   ├── oembed.js
│   │   ├── plugin-ai-assistant.js
│   │   ├── plugin-aos.js
│   │   ├── plugin-bootstrap-colorpicker.js
│   │   ├── plugin-ckeditor.js
│   │   ├── plugin-codemirror.js
│   │   ├── plugin-coloris.js
│   │   ├── plugin-google-fonts.js
│   │   ├── plugin-jszip.js
│   │   ├── plugin-media.js
│   │   ├── plugin-tinymce.js
│   │   ├── section.js
│   │   ├── sections-bootstrap4.js
│   │   └── undo.js
│   ├── codemirror/
│   │   ├── lib/
│   │   │   ├── clike.js
│   │   │   ├── codemirror.css
│   │   │   ├── codemirror.js
│   │   │   ├── css.js
│   │   │   ├── formatting.js
│   │   │   ├── htmlmixed.js
│   │   │   ├── search.js
│   │   │   ├── searchcursor.js
│   │   │   └── xml.js
│   │   └── theme/
│   │       ├── duotone-dark.css
│   │       └── material.css
│   ├── coloris/
│   │   ├── coloris.css
│   │   └── coloris.js
│   ├── jszip/
│   │   ├── filesaver.js
│   │   └── jszip.js
│   └── media/
│       ├── media.css
│       ├── media.js
│       └── openverse.js
├── media/
│   └── sample.webm
├── new-page-blank-template.html
├── package.json
├── resources/
│   ├── google-fonts.json
│   ├── line-awesome.html
│   └── svg/
│       ├── icons/
│       │   ├── 150-outlined-icons/
│       │   │   ├── index.html
│       │   │   └── readme.txt
│       │   ├── 77_essential_icons/
│       │   │   ├── index.html
│       │   │   └── readme.txt
│       │   ├── ant-design-icons/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── boxicons/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── clarity-icons/
│       │   │   ├── LICENSE
│       │   │   ├── NOTICE.txt
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── coreui-icons/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── css.gg/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── dripicons/
│       │   │   ├── LICENSE
│       │   │   ├── index.html
│       │   │   └── readme.txt
│       │   ├── elegant-font/
│       │   │   ├── gpl_license.txt
│       │   │   ├── index.html
│       │   │   └── mit_license.txt
│       │   ├── eva-icons/
│       │   │   ├── LICENSE.txt
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── feather/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── font-awesome/
│       │   │   ├── LICENSE.txt
│       │   │   └── index.html
│       │   ├── heroicons/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── iconoir/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── iconsax/
│       │   │   ├── index.html
│       │   │   └── license.txt
│       │   ├── ikonate/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── ionicons/
│       │   │   ├── LICENSE
│       │   │   ├── index.html
│       │   │   └── readme.md
│       │   ├── jam-icons/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── linea/
│       │   │   ├── index.html
│       │   │   ├── read_me.txt
│       │   │   └── style.css
│       │   ├── lineawesome/
│       │   │   ├── LICENSE.txt
│       │   │   └── index.html
│       │   ├── material-design/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── octicons/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── olicons/
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── open-iconic/
│       │   │   ├── ICON-LICENSE
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── pe-icon-7-stroke/
│       │   │   ├── index.html
│       │   │   └── read-me.txt
│       │   ├── remix-icon/
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── system-uicons/
│       │   │   ├── LICENSE
│       │   │   └── index.html
│       │   ├── tabler-icons/
│       │   │   ├── LICENSE
│       │   │   ├── LICENSE.txt
│       │   │   ├── README.md
│       │   │   └── index.html
│       │   ├── themify/
│       │   │   ├── index.html
│       │   │   └── readme.txt
│       │   └── unicons/
│       │       ├── LICENSE
│       │       ├── README.md
│       │       └── index.html
│       └── separators/
│           └── digital-red-panther/
│               └── index.html
├── save.js
├── save.php
├── scan.php
├── scss/
│   ├── _autocomplete.scss
│   ├── _bootstrap-css-vars.scss
│   ├── _builder.scss
│   ├── _csstree.scss
│   ├── bootstrap/
│   │   ├── _accordion.scss
│   │   ├── _alert.scss
│   │   ├── _badge.scss
│   │   ├── _breadcrumb.scss
│   │   ├── _button-group.scss
│   │   ├── _buttons.scss
│   │   ├── _card.scss
│   │   ├── _carousel.scss
│   │   ├── _close.scss
│   │   ├── _containers.scss
│   │   ├── _dropdown.scss
│   │   ├── _forms.scss
│   │   ├── _functions.scss
│   │   ├── _grid.scss
│   │   ├── _helpers.scss
│   │   ├── _images.scss
│   │   ├── _list-group.scss
│   │   ├── _maps.scss
│   │   ├── _mixins.scss
│   │   ├── _modal.scss
│   │   ├── _nav.scss
│   │   ├── _navbar.scss
│   │   ├── _offcanvas.scss
│   │   ├── _pagination.scss
│   │   ├── _placeholders.scss
│   │   ├── _popover.scss
│   │   ├── _progress.scss
│   │   ├── _reboot.scss
│   │   ├── _root.scss
│   │   ├── _spinners.scss
│   │   ├── _tables.scss
│   │   ├── _toasts.scss
│   │   ├── _tooltip.scss
│   │   ├── _transitions.scss
│   │   ├── _type.scss
│   │   ├── _utilities.scss
│   │   ├── _variables-dark.scss
│   │   ├── _variables.scss
│   │   ├── bootstrap-grid.scss
│   │   ├── bootstrap-reboot.scss
│   │   ├── bootstrap-utilities.scss
│   │   ├── bootstrap.scss
│   │   ├── forms/
│   │   │   ├── _floating-labels.scss
│   │   │   ├── _form-check.scss
│   │   │   ├── _form-control.scss
│   │   │   ├── _form-range.scss
│   │   │   ├── _form-select.scss
│   │   │   ├── _form-text.scss
│   │   │   ├── _input-group.scss
│   │   │   ├── _labels.scss
│   │   │   └── _validation.scss
│   │   ├── helpers/
│   │   │   ├── _clearfix.scss
│   │   │   ├── _color-bg.scss
│   │   │   ├── _colored-links.scss
│   │   │   ├── _focus-ring.scss
│   │   │   ├── _icon-link.scss
│   │   │   ├── _position.scss
│   │   │   ├── _ratio.scss
│   │   │   ├── _stacks.scss
│   │   │   ├── _stretched-link.scss
│   │   │   ├── _text-truncation.scss
│   │   │   ├── _visually-hidden.scss
│   │   │   └── _vr.scss
│   │   ├── mixins/
│   │   │   ├── _alert.scss
│   │   │   ├── _backdrop.scss
│   │   │   ├── _banner.scss
│   │   │   ├── _border-radius.scss
│   │   │   ├── _box-shadow.scss
│   │   │   ├── _breakpoints.scss
│   │   │   ├── _buttons.scss
│   │   │   ├── _caret.scss
│   │   │   ├── _clearfix.scss
│   │   │   ├── _color-mode.scss
│   │   │   ├── _color-scheme.scss
│   │   │   ├── _container.scss
│   │   │   ├── _deprecate.scss
│   │   │   ├── _forms.scss
│   │   │   ├── _gradients.scss
│   │   │   ├── _grid.scss
│   │   │   ├── _image.scss
│   │   │   ├── _list-group.scss
│   │   │   ├── _lists.scss
│   │   │   ├── _pagination.scss
│   │   │   ├── _reset-text.scss
│   │   │   ├── _resize.scss
│   │   │   ├── _table-variants.scss
│   │   │   ├── _text-truncate.scss
│   │   │   ├── _transition.scss
│   │   │   ├── _utilities.scss
│   │   │   └── _visually-hidden.scss
│   │   ├── tests/
│   │   │   ├── jasmine.js
│   │   │   ├── mixins/
│   │   │   │   ├── _auto-import-of-variables-dark.test.scss
│   │   │   │   ├── _color-modes.test.scss
│   │   │   │   ├── _media-query-color-mode-full.test.scss
│   │   │   │   └── _utilities.test.scss
│   │   │   ├── sass-true/
│   │   │   │   ├── register.js
│   │   │   │   └── runner.js
│   │   │   └── utilities/
│   │   │       └── _api.test.scss
│   │   ├── utilities/
│   │   │   └── _api.scss
│   │   └── vendor/
│   │       └── _rfs.scss
│   ├── components/
│   │   └── gallery.scss
│   ├── editor.scss
│   ├── ionicons.css
│   ├── line-awesome/
│   │   ├── _bordered_pulled.scss
│   │   ├── _core.scss
│   │   ├── _fixed-width.scss
│   │   ├── _icons.scss
│   │   ├── _larger.scss
│   │   ├── _list.scss
│   │   ├── _mixins.scss
│   │   ├── _path.scss
│   │   ├── _rotated-flipped.scss
│   │   ├── _screen-reader.scss
│   │   ├── _stacked.scss
│   │   ├── _variables.scss
│   │   ├── dist/
│   │   │   └── line-awesome/
│   │   │       └── css/
│   │   │           └── line-awesome.css
│   │   └── line-awesome.scss
│   └── vvvebjs-editor-helpers.scss
└── upload.php
Download .txt
SYMBOL INDEX (765 symbols across 30 files)

FILE: libs/aos/aos.js
  function v (line 1) | function v(e,n,o){var i,a,r,c,s,u,d=0,l=!1,f=!1,v=!0;if("function"!=type...
  function g (line 1) | function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}
  function w (line 1) | function w(e){if("number"==typeof e)return e;if(function(e){return"symbo...
  function D (line 1) | function D(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}
  function H (line 1) | function H(e){if("number"==typeof e)return e;if(function(e){return"symbo...
  function m (line 1) | function m(t){var n=o,a=i;return o=i=void 0,u=t,r=e.apply(a,n)}
  function p (line 1) | function p(e){var n=e-s;return void 0===s||n>=t||n<0||l&&e-u>=a}
  function b (line 1) | function b(){var e=S();if(p(e))return v(e);c=setTimeout(b,function(e){va...
  function v (line 1) | function v(e){return c=void 0,f&&o?m(e):(o=i=void 0,r)}
  function g (line 1) | function g(){var e=S(),n=p(e);if(o=arguments,i=this,s=e,n){if(void 0===c...
  function P (line 1) | function P(e){e&&e.forEach(function(e){var t=Array.prototype.slice.call(...
  function Y (line 1) | function Y(){return window.MutationObserver||window.WebKitMutationObserv...
  function e (line 1) | function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.en...
  function R (line 1) | function R(){return navigator.userAgent||navigator.vendor||window.opera|...
  function e (line 1) | function e(){B(this,e)}

FILE: libs/autocomplete/autocomplete.js
  function _AutocompleteInput (line 31) | function _AutocompleteInput(el, params) {
  function _AutocompleteList (line 268) | function _AutocompleteList(el, options) {
  function _TagsInput (line 382) | function _TagsInput(el, options)  {

FILE: libs/builder/builder.js
  function buildParams (line 60) | function buildParams( prefix, obj,  add ) {
  function nestedFormData (line 100) | function nestedFormData( a ) {
  function isElement (line 150) | function isElement(obj){
  function generateElements (line 156) | function generateElements(html) {
  function offset (line 162) | function offset(el) {
  function addSectionComponent (line 1969) | function addSectionComponent(component, after = true) {
  function getTag (line 2211) | function getTag(html, tag, outerHtml = false) {
  function displayToast (line 2513) | function displayToast(type, title, message, position = 'bottom', id = nu...
  function getNodeTree (line 3278) | function getNodeTree (node, parent, allowedComponents, idToNode = {}) {
  function drawComponentsTree (line 3338) | function drawComponentsTree(tree) {
  function friendlyName (line 4370) | function friendlyName(name) {
  function launchFullScreen (line 4552) | function launchFullScreen(document) {

FILE: libs/builder/components-bootstrap4.js
  function changeNodeName (line 55) | function changeNodeName(node, newNodeName)

FILE: libs/builder/components-common.js
  function changeNodeName (line 53) | function changeNodeName(node, newNodeName) {

FILE: libs/builder/components-elements.js
  method init (line 719) | init(node)	{
  function carouselAfterDrop (line 1178) | function carouselAfterDrop(node) {

FILE: libs/builder/components-html.js
  method init (line 255) | init(node) {

FILE: libs/builder/components-widgets.js
  function lottieAfterDrop (line 753) | function lottieAfterDrop(node) {

FILE: libs/builder/inputs.js
  function imageIsLoaded (line 466) | function imageIsLoaded(e) {

FILE: libs/builder/oembed.js
  function getOembed (line 263) | async function getOembed(url, maxwidth = 800, maxheight = 600, silent = ...

FILE: libs/builder/plugin-ai-assistant.js
  function aiAssistantSendQuery (line 160) | function aiAssistantSendQuery()  {

FILE: libs/builder/plugin-jszip.js
  function addUrl (line 23) | function addUrl(url, href, binary) {

FILE: libs/builder/section.js
  function sectionSeparatorProperties (line 305) | function sectionSeparatorProperties(name, title) {
  function componentsInit (line 615) | function componentsInit(node) {

FILE: libs/codemirror/lib/clike.js
  function Context (line 14) | function Context(indented, column, type, info, align, prev) {
  function pushContext (line 22) | function pushContext(state, col, type, info) {
  function popContext (line 28) | function popContext(state) {
  function typeBefore (line 35) | function typeBefore(stream, state, pos) {
  function isTopScope (line 41) | function isTopScope(context) {
  function tokenBase (line 75) | function tokenBase(stream, state) {
  function tokenString (line 128) | function tokenString(quote) {
  function tokenComment (line 141) | function tokenComment(stream, state) {
  function maybeEOL (line 153) | function maybeEOL(stream, state) {
  function words (line 257) | function words(str) {
  function contains (line 262) | function contains(words, word) {
  function cTypes (line 305) | function cTypes(identifier) {
  function objCTypes (line 310) | function objCTypes(identifier) {
  function cppHook (line 317) | function cppHook(stream, state) {
  function pointerHook (line 332) | function pointerHook(_stream, state) {
  function cIsReservedIdentifier (line 339) | function cIsReservedIdentifier(token) {
  function cpp14Literal (line 345) | function cpp14Literal(stream) {
  function cpp11StringHook (line 350) | function cpp11StringHook(stream, state) {
  function cppLooksLikeConstructor (line 374) | function cppLooksLikeConstructor(word) {
  function tokenAtString (line 380) | function tokenAtString(stream, state) {
  function tokenRawString (line 393) | function tokenRawString(stream, state) {
  function def (line 404) | function def(mimes, mode) {
  function tokenTripleString (line 540) | function tokenTripleString(stream, state) {
  function tokenNestedComment (line 552) | function tokenNestedComment(depth) {
  function tokenKotlinString (line 638) | function tokenKotlinString(tripleString){
  function tokenCeylonString (line 861) | function tokenCeylonString(type) {

FILE: libs/codemirror/lib/codemirror.js
  function classTest (line 51) | function classTest(cls) { return new RegExp("(^|\\s)" + cls + "(?:$|\\s)...
  function removeChildren (line 62) | function removeChildren(e) {
  function removeChildrenAndAdd (line 68) | function removeChildrenAndAdd(parent, e) {
  function elt (line 72) | function elt(tag, content, className, style) {
  function eltP (line 81) | function eltP(tag, content, className, style) {
  function contains (line 104) | function contains(parent, child) {
  function activeElt (line 115) | function activeElt(doc) {
  function addClass (line 130) | function addClass(node, cls) {
  function joinClasses (line 134) | function joinClasses(a, b) {
  function doc (line 147) | function doc(cm) { return cm.display.wrapper.ownerDocument }
  function win (line 149) | function win(cm) { return doc(cm).defaultView }
  function bind (line 151) | function bind(f) {
  function copyObj (line 156) | function copyObj(obj, target, overwrite) {
  function countColumn (line 166) | function countColumn(string, end, tabSize, startIndex, startValue) {
  function indexOf (line 205) | function indexOf(array, elt) {
  function findColumn (line 223) | function findColumn(string, goal, tabSize) {
  function spaceStr (line 238) | function spaceStr(n) {
  function lst (line 244) | function lst(arr) { return arr[arr.length-1] }
  function map (line 246) | function map(array, f) {
  function insertSorted (line 252) | function insertSorted(array, value, score) {
  function nothing (line 258) | function nothing() {}
  function createObj (line 260) | function createObj(base, props) {
  function isWordCharBasic (line 273) | function isWordCharBasic(ch) {
  function isWordChar (line 277) | function isWordChar(ch, helper) {
  function isEmpty (line 283) | function isEmpty(obj) {
  function isExtendingChar (line 294) | function isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendi...
  function skipExtendingChars (line 297) | function skipExtendingChars(str, pos, dir) {
  function findFirst (line 305) | function findFirst(pred, from, to) {
  function iterateBidiSections (line 320) | function iterateBidiSections(order, from, to, f) {
  function getBidiPartAt (line 334) | function getBidiPartAt(order, ch, sticky) {
  function charType (line 380) | function charType(code) {
  function BidiSpan (line 393) | function BidiSpan(level, from, to) {
  function getOrder (line 526) | function getOrder(line, direction) {
  function getHandlers (line 550) | function getHandlers(emitter, type) {
  function off (line 554) | function off(emitter, type, f) {
  function signal (line 569) | function signal(emitter, type /*, values...*/) {
  function signalDOMEvent (line 579) | function signalDOMEvent(cm, e, override) {
  function signalCursorActivity (line 586) | function signalCursorActivity(cm) {
  function hasHandler (line 594) | function hasHandler(emitter, type) {
  function eventMixin (line 600) | function eventMixin(ctor) {
  function e_preventDefault (line 608) | function e_preventDefault(e) {
  function e_stopPropagation (line 612) | function e_stopPropagation(e) {
  function e_defaultPrevented (line 616) | function e_defaultPrevented(e) {
  function e_stop (line 619) | function e_stop(e) {e_preventDefault(e); e_stopPropagation(e);}
  function e_target (line 621) | function e_target(e) {return e.target || e.srcElement}
  function e_button (line 622) | function e_button(e) {
  function zeroWidthElement (line 643) | function zeroWidthElement(measure) {
  function hasBadBidiRects (line 658) | function hasBadBidiRects(measure) {
  function hasBadZoomedRects (line 707) | function hasBadZoomedRects(measure) {
  function defineMode (line 721) | function defineMode(name, mode) {
  function defineMIME (line 727) | function defineMIME(mime, spec) {
  function resolveMode (line 733) | function resolveMode(spec) {
  function getMode (line 752) | function getMode(options, spec) {
  function extendMode (line 776) | function extendMode(mode, properties) {
  function copyState (line 781) | function copyState(mode, state) {
  function innerMode (line 795) | function innerMode(mode, state) {
  function startState (line 806) | function startState(mode, a1, a2) {
  function getLine (line 896) | function getLine(doc, n) {
  function getBetween (line 912) | function getBetween(doc, start, end) {
  function getLines (line 924) | function getLines(doc, from, to) {
  function updateLineHeight (line 932) | function updateLineHeight(line, height) {
  function lineNo (line 939) | function lineNo(line) {
  function lineAtHeight (line 953) | function lineAtHeight(chunk, h) {
  function isLine (line 973) | function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size}
  function lineNumberFor (line 975) | function lineNumberFor(options, i) {
  function Pos (line 980) | function Pos(line, ch, sticky) {
  function cmp (line 991) | function cmp(a, b) { return a.line - b.line || a.ch - b.ch }
  function equalCursorPos (line 993) | function equalCursorPos(a, b) { return a.sticky == b.sticky && cmp(a, b)...
  function copyPos (line 995) | function copyPos(x) {return Pos(x.line, x.ch)}
  function maxPos (line 996) | function maxPos(a, b) { return cmp(a, b) < 0 ? b : a }
  function minPos (line 997) | function minPos(a, b) { return cmp(a, b) < 0 ? a : b }
  function clipLine (line 1001) | function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.fi...
  function clipPos (line 1002) | function clipPos(doc, pos) {
  function clipToLen (line 1008) | function clipToLen(pos, linelen) {
  function clipPosArray (line 1014) | function clipPosArray(doc, array) {
  function highlightLine (line 1071) | function highlightLine(cm, line, context, forceToEnd) {
  function getLineStyles (line 1116) | function getLineStyles(cm, line, updateFrontier) {
  function getContextBefore (line 1132) | function getContextBefore(cm, n, precise) {
  function processLine (line 1152) | function processLine(cm, text, context, startAt) {
  function callBlankLine (line 1163) | function callBlankLine(mode, state) {
  function readToken (line 1170) | function readToken(mode, stream, state, inner) {
  function takeToken (line 1187) | function takeToken(cm, pos, precise, asArray) {
  function extractLineClasses (line 1201) | function extractLineClasses(type, output) {
  function runMode (line 1216) | function runMode(cm, text, mode, context, f, lineClasses, forceToEnd) {
  function findStartLine (line 1260) | function findStartLine(cm, n, precise) {
  function retreatFrontier (line 1277) | function retreatFrontier(doc, n) {
  function seeReadOnlySpans (line 1297) | function seeReadOnlySpans() {
  function seeCollapsedSpans (line 1301) | function seeCollapsedSpans() {
  function MarkedSpan (line 1307) | function MarkedSpan(marker, from, to) {
  function getMarkedSpanFor (line 1313) | function getMarkedSpanFor(spans, marker) {
  function removeMarkedSpan (line 1322) | function removeMarkedSpan(spans, span) {
  function addMarkedSpan (line 1330) | function addMarkedSpan(line, span, op) {
  function markedSpansBefore (line 1345) | function markedSpansBefore(old, startCh, isInsert) {
  function markedSpansAfter (line 1357) | function markedSpansAfter(old, endCh, isInsert) {
  function stretchSpansOverChange (line 1377) | function stretchSpansOverChange(doc, change) {
  function clearEmptySpans (line 1439) | function clearEmptySpans(spans) {
  function removeReadOnlyRanges (line 1450) | function removeReadOnlyRanges(doc, from, to) {
  function detachMarkedSpans (line 1479) | function detachMarkedSpans(line) {
  function attachMarkedSpans (line 1486) | function attachMarkedSpans(line, spans) {
  function extraLeft (line 1495) | function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0 }
  function extraRight (line 1496) | function extraRight(marker) { return marker.inclusiveRight ? 1 : 0 }
  function compareCollapsedMarkers (line 1501) | function compareCollapsedMarkers(a, b) {
  function collapsedSpanAtSide (line 1514) | function collapsedSpanAtSide(line, start) {
  function collapsedSpanAtStart (line 1524) | function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, t...
  function collapsedSpanAtEnd (line 1525) | function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, fal...
  function collapsedSpanAround (line 1527) | function collapsedSpanAround(line, ch) {
  function conflictingCollapsedRange (line 1540) | function conflictingCollapsedRange(doc, lineNo, from, to, marker) {
  function visualLine (line 1560) | function visualLine(line) {
  function visualLineEnd (line 1567) | function visualLineEnd(line) {
  function visualLineContinued (line 1576) | function visualLineContinued(line) {
  function visualLineNo (line 1587) | function visualLineNo(doc, lineN) {
  function visualLineEndNo (line 1595) | function visualLineEndNo(doc, lineN) {
  function lineIsHidden (line 1607) | function lineIsHidden(doc, line) {
  function lineIsHiddenInner (line 1618) | function lineIsHiddenInner(doc, line, span) {
  function heightAtLine (line 1635) | function heightAtLine(lineObj) {
  function lineLength (line 1657) | function lineLength(line) {
  function findMaxLine (line 1676) | function findMaxLine(cm) {
  function updateLine (line 1706) | function updateLine(line, text, markedSpans, estimateHeight) {
  function cleanUpLine (line 1718) | function cleanUpLine(line) {
  function interpretTokenStyle (line 1727) | function interpretTokenStyle(style, options) {
  function buildLineContent (line 1739) | function buildLineContent(cm, lineView) {
  function defaultSpecialCharPlaceholder (line 1797) | function defaultSpecialCharPlaceholder(ch) {
  function buildToken (line 1806) | function buildToken(builder, text, style, startStyle, endStyle, css, att...
  function splitSpaces (line 1873) | function splitSpaces(text, trailingBefore) {
  function buildTokenBadBidi (line 1888) | function buildTokenBadBidi(inner, order) {
  function buildCollapsedSpan (line 1908) | function buildCollapsedSpan(builder, size, marker, ignoreWidget) {
  function insertLineContent (line 1926) | function insertLineContent(line, builder, styles) {
  function LineView (line 2005) | function LineView(doc, line, lineN) {
  function buildViewArray (line 2017) | function buildViewArray(cm, from, to) {
  function pushOperation (line 2029) | function pushOperation(op) {
  function fireCallbacksForOps (line 2040) | function fireCallbacksForOps(group) {
  function finishOperation (line 2056) | function finishOperation(op, endCb) {
  function signalLater (line 2076) | function signalLater(emitter, type /*, values...*/) {
  function fireOrphanDelayed (line 2096) | function fireOrphanDelayed() {
  function updateLineForChanges (line 2105) | function updateLineForChanges(cm, lineView, lineN, dims) {
  function ensureLineWrapped (line 2118) | function ensureLineWrapped(lineView) {
  function updateLineBackground (line 2129) | function updateLineBackground(cm, lineView) {
  function getLineContent (line 2144) | function getLineContent(cm, lineView) {
  function updateLineText (line 2157) | function updateLineText(cm, lineView) {
  function updateLineClasses (line 2172) | function updateLineClasses(cm, lineView) {
  function updateLineGutter (line 2182) | function updateLineGutter(cm, lineView, lineN, dims) {
  function updateLineWidgets (line 2221) | function updateLineWidgets(cm, lineView, dims) {
  function buildLineElement (line 2232) | function buildLineElement(cm, lineView, lineN, dims) {
  function insertLineWidgets (line 2246) | function insertLineWidgets(cm, lineView, dims) {
  function insertLineWidgetsFor (line 2252) | function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) {
  function positionLineWidget (line 2268) | function positionLineWidget(widget, node, lineView, dims) {
  function widgetHeight (line 2286) | function widgetHeight(widget) {
  function eventInWidget (line 2302) | function eventInWidget(display, e) {
  function paddingTop (line 2312) | function paddingTop(display) {return display.lineSpace.offsetTop}
  function paddingVert (line 2313) | function paddingVert(display) {return display.mover.offsetHeight - displ...
  function paddingH (line 2314) | function paddingH(display) {
  function scrollGap (line 2323) | function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth }
  function displayWidth (line 2324) | function displayWidth(cm) {
  function displayHeight (line 2327) | function displayHeight(cm) {
  function ensureLineHeights (line 2335) | function ensureLineHeights(cm, lineView, rect) {
  function mapFromLineView (line 2356) | function mapFromLineView(lineView, line, lineN) {
  function updateExternalMeasurement (line 2371) | function updateExternalMeasurement(cm, line) {
  function measureChar (line 2384) | function measureChar(cm, line, ch, bias) {
  function findViewForLine (line 2389) | function findViewForLine(cm, lineN) {
  function prepareMeasureForLine (line 2402) | function prepareMeasureForLine(cm, line) {
  function measureCharPrepared (line 2424) | function measureCharPrepared(cm, prepared, ch, bias, varHeight) {
  function nodeAndOffsetInLineMap (line 2446) | function nodeAndOffsetInLineMap(map, ch, bias) {
  function getUsefulRect (line 2484) | function getUsefulRect(rects, bias) {
  function measureCharInner (line 2494) | function measureCharInner(cm, prepared, ch, bias) {
  function maybeUpdateRectForZooming (line 2547) | function maybeUpdateRectForZooming(measure, rect) {
  function clearLineMeasurementCacheFor (line 2557) | function clearLineMeasurementCacheFor(lineView) {
  function clearLineMeasurementCache (line 2566) | function clearLineMeasurementCache(cm) {
  function clearCaches (line 2573) | function clearCaches(cm) {
  function pageScrollX (line 2580) | function pageScrollX(doc) {
  function pageScrollY (line 2587) | function pageScrollY(doc) {
  function widgetTopHeight (line 2592) | function widgetTopHeight(lineObj) {
  function intoCoordSystem (line 2605) | function intoCoordSystem(cm, lineObj, rect, context, includeWidgets) {
  function fromCoordSystem (line 2627) | function fromCoordSystem(cm, coords, context) {
  function charCoords (line 2644) | function charCoords(cm, pos, context, lineObj, bias) {
  function cursorCoords (line 2665) | function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHei...
  function estimateCoords (line 2696) | function estimateCoords(cm, pos) {
  function PosWithInfo (line 2711) | function PosWithInfo(line, ch, sticky, outside, xRel) {
  function coordsChar (line 2720) | function coordsChar(cm, x, y) {
  function wrappedLineExtent (line 2740) | function wrappedLineExtent(cm, lineObj, preparedMeasure, y) {
  function wrappedLineExtentChar (line 2748) | function wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) {
  function boxIsAfter (line 2756) | function boxIsAfter(box, x, y, left) {
  function coordsCharInner (line 2760) | function coordsCharInner(cm, lineObj, lineNo, x, y) {
  function coordsBidiPart (line 2827) | function coordsBidiPart(cm, lineObj, lineNo, preparedMeasure, order, x, ...
  function coordsBidiPartWrapped (line 2851) | function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, or...
  function textHeight (line 2886) | function textHeight(display) {
  function charWidth (line 2906) | function charWidth(display) {
  function getDimensions (line 2918) | function getDimensions(cm) {
  function compensateForHScroll (line 2936) | function compensateForHScroll(display) {
  function estimateHeight (line 2943) | function estimateHeight(cm) {
  function estimateLineHeights (line 2961) | function estimateLineHeights(cm) {
  function posFromMouse (line 2974) | function posFromMouse(cm, e, liberal, forRect) {
  function findViewIndex (line 2992) | function findViewIndex(cm, n) {
  function regChange (line 3009) | function regChange(cm, from, to, lendiff) {
  function regLineChange (line 3074) | function regLineChange(cm, line, type) {
  function resetView (line 3088) | function resetView(cm) {
  function viewCuttingPoint (line 3094) | function viewCuttingPoint(cm, oldN, newN, dir) {
  function adjustView (line 3121) | function adjustView(cm, from, to) {
  function countDirtyView (line 3142) | function countDirtyView(cm) {
  function updateSelection (line 3151) | function updateSelection(cm) {
  function prepareSelection (line 3155) | function prepareSelection(cm, primary) {
  function drawSelectionCursor (line 3182) | function drawSelectionCursor(cm, head, output) {
  function cmpCoords (line 3206) | function cmpCoords(a, b) { return a.top - b.top || a.left - b.left }
  function drawSelectionRange (line 3209) | function drawSelectionRange(cm, range, output) {
  function restartBlink (line 3302) | function restartBlink(cm) {
  function ensureFocus (line 3317) | function ensureFocus(cm) {
  function delayBlurEvent (line 3324) | function delayBlurEvent(cm) {
  function onFocus (line 3332) | function onFocus(cm, e) {
  function onBlur (line 3351) | function onBlur(cm, e) {
  function updateHeightsInViewport (line 3365) | function updateHeightsInViewport(cm) {
  function updateWidgetHeight (line 3410) | function updateWidgetHeight(line) {
  function visibleLines (line 3420) | function visibleLines(display, doc, viewport) {
  function maybeScrollWindow (line 3445) | function maybeScrollWindow(cm, rect) {
  function scrollPosIntoView (line 3463) | function scrollPosIntoView(cm, pos, end, margin) {
  function scrollIntoView (line 3497) | function scrollIntoView(cm, rect) {
  function calculateScrollPos (line 3507) | function calculateScrollPos(cm, rect) {
  function addToScrollTop (line 3538) | function addToScrollTop(cm, top) {
  function ensureCursorVisible (line 3546) | function ensureCursorVisible(cm) {
  function scrollToCoords (line 3552) | function scrollToCoords(cm, x, y) {
  function scrollToRange (line 3558) | function scrollToRange(cm, range) {
  function resolveScrollToPos (line 3567) | function resolveScrollToPos(cm) {
  function scrollToCoordsRange (line 3576) | function scrollToCoordsRange(cm, from, to, margin) {
  function updateScrollTop (line 3588) | function updateScrollTop(cm, val) {
  function setScrollTop (line 3596) | function setScrollTop(cm, val, forceScroll) {
  function setScrollLeft (line 3606) | function setScrollLeft(cm, val, isScroller, forceScroll) {
  function measureForScrollbars (line 3619) | function measureForScrollbars(cm) {
  function maybeDisable (line 3712) | function maybeDisable() {
  function updateScrollbars (line 3741) | function updateScrollbars(cm, measure) {
  function updateScrollbarsInner (line 3755) | function updateScrollbarsInner(cm, measure) {
  function initScrollbars (line 3777) | function initScrollbars(cm) {
  function startOperation (line 3807) | function startOperation(cm) {
  function endOperation (line 3830) | function endOperation(cm) {
  function endOperations (line 3841) | function endOperations(group) {
  function endOperation_R1 (line 3855) | function endOperation_R1(op) {
  function endOperation_W1 (line 3868) | function endOperation_W1(op) {
  function endOperation_R2 (line 3872) | function endOperation_R2(op) {
  function endOperation_W2 (line 3893) | function endOperation_W2(op) {
  function endOperation_finish (line 3918) | function endOperation_finish(op) {
  function runInOp (line 3957) | function runInOp(cm, f) {
  function operation (line 3964) | function operation(cm, f) {
  function methodOp (line 3974) | function methodOp(f) {
  function docMethodOp (line 3982) | function docMethodOp(f) {
  function startWorker (line 3994) | function startWorker(cm, time) {
  function highlightWorker (line 3999) | function highlightWorker(cm) {
  function maybeClipScrollbars (line 4067) | function maybeClipScrollbars(cm) {
  function selectionSnapshot (line 4078) | function selectionSnapshot(cm) {
  function restoreSelection (line 4095) | function restoreSelection(snapshot) {
  function updateDisplayIfNeeded (line 4113) | function updateDisplayIfNeeded(cm, update) {
  function postUpdateDisplay (line 4185) | function postUpdateDisplay(cm, update) {
  function updateDisplaySimple (line 4217) | function updateDisplaySimple(cm, viewport) {
  function patchDisplay (line 4234) | function patchDisplay(cm, updateNumbersFrom, dims) {
  function updateGutterSpace (line 4275) | function updateGutterSpace(display) {
  function setDocumentHeight (line 4282) | function setDocumentHeight(cm, measure) {
  function alignHorizontally (line 4290) | function alignHorizontally(cm) {
  function maybeUpdateLineNumberWidth (line 4313) | function maybeUpdateLineNumberWidth(cm) {
  function getGutters (line 4331) | function getGutters(gutters, lineNumbers) {
  function renderGutters (line 4348) | function renderGutters(display) {
  function updateGutters (line 4367) | function updateGutters(cm) {
  function Display (line 4377) | function Display(place, doc, input, options) {
  function wheelEventDelta (line 4506) | function wheelEventDelta(e) {
  function wheelEventPixels (line 4513) | function wheelEventPixels(e) {
  function onScrollWheel (line 4520) | function onScrollWheel(cm, e) {
  function normalizeSelection (line 4668) | function normalizeSelection(cm, ranges, primIndex) {
  function simpleSelection (line 4686) | function simpleSelection(anchor, head) {
  function changeEnd (line 4692) | function changeEnd(change) {
  function adjustForChange (line 4700) | function adjustForChange(pos, change) {
  function computeSelAfterChange (line 4709) | function computeSelAfterChange(doc, change) {
  function offsetPos (line 4719) | function offsetPos(pos, old, nw) {
  function computeReplacedSel (line 4728) | function computeReplacedSel(doc, changes, hint) {
  function loadMode (line 4749) | function loadMode(cm) {
  function resetModeState (line 4754) | function resetModeState(cm) {
  function isWholeLineUpdate (line 4770) | function isWholeLineUpdate(doc, change) {
  function updateDoc (line 4776) | function updateDoc(doc, change, markedSpans, estimateHeight) {
  function linkedDocs (line 4828) | function linkedDocs(doc, f, sharedHistOnly) {
  function attachDoc (line 4843) | function attachDoc(cm, doc) {
  function setDirectionClass (line 4856) | function setDirectionClass(cm) {
  function directionChanged (line 4860) | function directionChanged(cm) {
  function History (line 4867) | function History(prev) {
  function historyChangeFromChange (line 4884) | function historyChangeFromChange(doc, change) {
  function clearSelectionEvents (line 4893) | function clearSelectionEvents(array) {
  function lastChangeEvent (line 4903) | function lastChangeEvent(hist, force) {
  function addChangeToHistory (line 4918) | function addChangeToHistory(doc, change, selAfter, opId) {
  function selectionEventCanBeMerged (line 4961) | function selectionEventCanBeMerged(doc, origin, prev, sel) {
  function addSelectionToHistory (line 4974) | function addSelectionToHistory(doc, sel, opId, options) {
  function pushSelectionToHistory (line 4996) | function pushSelectionToHistory(sel, dest) {
  function attachLocalSpans (line 5003) | function attachLocalSpans(doc, change, from, to) {
  function removeClearedSpans (line 5014) | function removeClearedSpans(spans) {
  function getOldSpans (line 5025) | function getOldSpans(doc, change) {
  function mergeOldSpans (line 5038) | function mergeOldSpans(doc, change) {
  function copyHistoryArray (line 5062) | function copyHistoryArray(events, newGroup, instantiateSel) {
  function extendRange (line 5094) | function extendRange(range, head, other, extend) {
  function extendSelection (line 5113) | function extendSelection(doc, head, other, options, extend) {
  function extendSelections (line 5120) | function extendSelections(doc, heads, options) {
  function replaceOneSelection (line 5130) | function replaceOneSelection(doc, i, range, options) {
  function setSimpleSelection (line 5137) | function setSimpleSelection(doc, anchor, head, options) {
  function filterSelectionChange (line 5143) | function filterSelectionChange(doc, sel, options) {
  function setSelectionReplaceHistory (line 5160) | function setSelectionReplaceHistory(doc, sel, options) {
  function setSelection (line 5171) | function setSelection(doc, sel, options) {
  function setSelectionNoUndo (line 5176) | function setSelectionNoUndo(doc, sel, options) {
  function setSelectionInner (line 5188) | function setSelectionInner(doc, sel) {
  function reCheckSelection (line 5203) | function reCheckSelection(doc) {
  function skipAtomicInSelection (line 5209) | function skipAtomicInSelection(doc, sel, bias, mayClear) {
  function skipAtomicInner (line 5224) | function skipAtomicInner(doc, pos, oldPos, dir, mayClear) {
  function skipAtomic (line 5264) | function skipAtomic(doc, pos, oldPos, bias, mayClear) {
  function movePos (line 5277) | function movePos(doc, pos, dir, line) {
  function selectAll (line 5289) | function selectAll(cm) {
  function filterChange (line 5296) | function filterChange(doc, change, update) {
  function makeChange (line 5323) | function makeChange(doc, change, ignoreReadOnly) {
  function makeChangeInner (line 5345) | function makeChangeInner(doc, change) {
  function makeChangeFromHistory (line 5363) | function makeChangeFromHistory(doc, type, allowSelectionOnly) {
  function shiftDoc (line 5439) | function shiftDoc(doc, distance) {
  function makeChangeSingleDoc (line 5455) | function makeChangeSingleDoc(doc, change, selAfter, spans) {
  function makeChangeSingleDocInEditor (line 5491) | function makeChangeSingleDocInEditor(cm, change, spans) {
  function replaceRange (line 5549) | function replaceRange(doc, code, from, to, origin) {
  function rebaseHistSelSingle (line 5560) | function rebaseHistSelSingle(pos, from, to, diff) {
  function rebaseHistArray (line 5576) | function rebaseHistArray(array, from, to, diff) {
  function rebaseHist (line 5604) | function rebaseHist(hist, change) {
  function changeLine (line 5613) | function changeLine(doc, handle, changeType, op) {
  function LeafChunk (line 5635) | function LeafChunk(lines) {
  function BranchChunk (line 5680) | function BranchChunk(children) {
  function adjustScrollWhenAboveVisible (line 5829) | function adjustScrollWhenAboveVisible(cm, line, diff) {
  function addLineWidget (line 5834) | function addLineWidget(doc, handle, node, options) {
  function markText (line 5990) | function markText(doc, from, to, options, type) {
  function markTextShared (line 6085) | function markTextShared(doc, from, to, options, type) {
  function findSharedMarkers (line 6100) | function findSharedMarkers(doc) {
  function copySharedMarkers (line 6104) | function copySharedMarkers(doc, markers) {
  function detachSharedMarkers (line 6116) | function detachSharedMarkers(markers) {
  function onDrop (line 6554) | function onDrop(e) {
  function onDragStart (line 6625) | function onDragStart(cm, e) {
  function onDragOver (line 6648) | function onDragOver(cm, e) {
  function clearDragCursor (line 6660) | function clearDragCursor(cm) {
  function forEachCodeMirror (line 6671) | function forEachCodeMirror(f) {
  function ensureGlobalHandlers (line 6684) | function ensureGlobalHandlers() {
  function registerGlobalHandlers (line 6689) | function registerGlobalHandlers() {
  function onResize (line 6702) | function onResize(cm) {
  function normalizeKeyName (line 6772) | function normalizeKeyName(name) {
  function normalizeKeyMap (line 6796) | function normalizeKeyMap(keymap) {
  function lookupKey (line 6823) | function lookupKey(key, map, handle, context) {
  function isModifierKey (line 6842) | function isModifierKey(value) {
  function addModifierNames (line 6847) | function addModifierNames(name, event, noShift) {
  function keyName (line 6857) | function keyName(event, noShift) {
  function getKeyMap (line 6867) | function getKeyMap(val) {
  function deleteNearSelection (line 6873) | function deleteNearSelection(cm, compute) {
  function moveCharLogically (line 6896) | function moveCharLogically(line, ch, dir) {
  function moveLogically (line 6901) | function moveLogically(line, start, dir) {
  function endOfLine (line 6906) | function endOfLine(visually, cm, lineObj, lineNo, dir) {
  function moveVisually (line 6934) | function moveVisually(cm, line, start, dir) {
  function lineStart (line 7146) | function lineStart(cm, lineN) {
  function lineEnd (line 7152) | function lineEnd(cm, lineN) {
  function lineStartSmart (line 7158) | function lineStartSmart(cm, pos) {
  function doHandleBinding (line 7171) | function doHandleBinding(cm, bound, dropShift) {
  function lookupKeyForEditor (line 7191) | function lookupKeyForEditor(cm, name, handle) {
  function dispatchKey (line 7205) | function dispatchKey(cm, name, e, handle) {
  function dispatchKeyInner (line 7223) | function dispatchKeyInner(cm, name, e, handle) {
  function handleKeyBinding (line 7240) | function handleKeyBinding(cm, e) {
  function handleCharBinding (line 7259) | function handleCharBinding(cm, e, ch) {
  function onKeyDown (line 7264) | function onKeyDown(e) {
  function showCrossHair (line 7288) | function showCrossHair(cm) {
  function onKeyUp (line 7303) | function onKeyUp(e) {
  function onKeyPress (line 7308) | function onKeyPress(e) {
  function clickRepeat (line 7336) | function clickRepeat(pos, button) {
  function onMouseDown (line 7357) | function onMouseDown(e) {
  function handleMappedButton (line 7394) | function handleMappedButton(cm, button, pos, repeat, event) {
  function configureMouse (line 7414) | function configureMouse(cm, repeat, event) {
  function leftButtonDown (line 7427) | function leftButtonDown(cm, pos, repeat, event) {
  function leftButtonStartDrag (line 7445) | function leftButtonStartDrag(cm, event, pos, behavior) {
  function rangeForUnit (line 7488) | function rangeForUnit(cm, pos, unit) {
  function leftButtonSelect (line 7497) | function leftButtonSelect(cm, event, start, behavior) {
  function bidiSimplify (line 7635) | function bidiSimplify(cm, range) {
  function gutterEvent (line 7670) | function gutterEvent(cm, e, type, prevent) {
  function clickInGutter (line 7699) | function clickInGutter(cm, e) {
  function onContextMenu (line 7708) | function onContextMenu(cm, e) {
  function contextMenuInGutter (line 7714) | function contextMenuInGutter(cm, e) {
  function themeChanged (line 7719) | function themeChanged(cm) {
  function defineOptions (line 7730) | function defineOptions(CodeMirror) {
  function dragDropChanged (line 7874) | function dragDropChanged(cm, value, old) {
  function wrappingChanged (line 7887) | function wrappingChanged(cm) {
  function CodeMirror (line 7905) | function CodeMirror(place, options) {
  function registerEventHandlers (line 7982) | function registerEventHandlers(cm) {
  function indentLine (line 8100) | function indentLine(cm, n, how, aggressive) {
  function setLastCopied (line 8164) | function setLastCopied(newLastCopied) {
  function applyTextInput (line 8168) | function applyTextInput(cm, inserted, deleted, sel, origin) {
  function handlePaste (line 8216) | function handlePaste(e, cm) {
  function triggerElectric (line 8226) | function triggerElectric(cm, inserted) {
  function copyableRanges (line 8250) | function copyableRanges(cm) {
  function disableBrowserMagic (line 8261) | function disableBrowserMagic(field, spellcheck, autocorrect, autocapital...
  function hiddenTextarea (line 8267) | function hiddenTextarea() {
  function addEditorMethods (line 8289) | function addEditorMethods(CodeMirror) {
  function findPosH (line 8729) | function findPosH(doc, pos, dir, unit, visually) {
  function findPosV (line 8798) | function findPosV(cm, pos, dir, unit) {
  function belongsToInput (line 8837) | function belongsToInput(e) {
  function onCopyCut (line 8870) | function onCopyCut(e) {
  function poll (line 9040) | function poll() {
  function posToDOM (line 9206) | function posToDOM(cm, pos) {
  function isInGutter (line 9222) | function isInGutter(node) {
  function badPos (line 9228) | function badPos(pos, bad) { if (bad) { pos.bad = true; } return pos }
  function domTextBetween (line 9230) | function domTextBetween(cm, from, to, fromLine, toLine) {
  function domToPos (line 9283) | function domToPos(cm, node, offset) {
  function locateNodeInLineView (line 9302) | function locateNodeInLineView(lineView, node, offset) {
  function prepareCopyCut (line 9400) | function prepareCopyCut(e) {
  function p (line 9561) | function p() {
  function prepareSelectAllHack (line 9665) | function prepareSelectAllHack() {
  function rehide (line 9678) | function rehide() {
  function fromTextArea (line 9726) | function fromTextArea(textarea, options) {
  function addLegacyProps (line 9783) | function addLegacyProps(CodeMirror) {

FILE: libs/codemirror/lib/css.js
  function ret (line 36) | function ret(style, tp) { type = tp; return style; }
  function tokenBase (line 40) | function tokenBase(stream, state) {
  function tokenString (line 94) | function tokenString(quote) {
  function tokenParenthesized (line 109) | function tokenParenthesized(stream, state) {
  function Context (line 120) | function Context(type, indent, prev) {
  function pushContext (line 126) | function pushContext(state, stream, type, indent) {
  function popContext (line 131) | function popContext(state) {
  function pass (line 137) | function pass(type, stream, state) {
  function popAndPass (line 140) | function popAndPass(type, stream, state, n) {
  function wordAsValue (line 148) | function wordAsValue(stream) {
  function keySet (line 419) | function keySet(array) {
  function tokenCComment (line 725) | function tokenCComment(stream, state) {

FILE: libs/codemirror/lib/formatting.js
  function jsNonBreakableBlocks (line 13) | function jsNonBreakableBlocks(text) {
  function localModeAt (line 100) | function localModeAt(cm, pos) {
  function enumerateModesBetween (line 104) | function enumerateModesBetween(cm, line, start, end) {

FILE: libs/codemirror/lib/htmlmixed.js
  function maybeBackup (line 29) | function maybeBackup(stream, pat, style) {
  function getAttrRegexp (line 41) | function getAttrRegexp(attr) {
  function getAttrValue (line 47) | function getAttrValue(text, attr) {
  function getTagRegexp (line 52) | function getTagRegexp(tagName, anchored) {
  function addTags (line 56) | function addTags(from, to) {
  function findMatchingMode (line 65) | function findMatchingMode(tagInfo, tagText) {
  function html (line 88) | function html(stream, state) {

FILE: libs/codemirror/lib/search.js
  function searchOverlay (line 25) | function searchOverlay(query, caseInsensitive) {
  function SearchState (line 45) | function SearchState() {
  function getSearchState (line 50) | function getSearchState(cm) {
  function queryCaseInsensitive (line 54) | function queryCaseInsensitive(query) {
  function getSearchCursor (line 58) | function getSearchCursor(cm, query, pos) {
  function persistentDialog (line 63) | function persistentDialog(cm, text, deflt, onEnter, onKeyDown) {
  function dialog (line 74) | function dialog(cm, text, shortText, deflt, f) {
  function confirmDialog (line 79) | function confirmDialog(cm, text, shortText, fs) {
  function parseString (line 84) | function parseString(string) {
  function parseQuery (line 94) | function parseQuery(query) {
  function startSearch (line 107) | function startSearch(cm, state, query) {
  function doSearch (line 119) | function doSearch(cm, rev, persistent, immediate) {
  function findNext (line 170) | function findNext(cm, rev, callback) {cm.operation(function() {
  function clearSearch (line 183) | function clearSearch(cm) {cm.operation(function() {
  function el (line 192) | function el(tag, attrs) {
  function getQueryDialog (line 204) | function getQueryDialog(cm)  {
  function getReplaceQueryDialog (line 214) | function getReplaceQueryDialog(cm) {
  function getReplacementQueryDialog (line 220) | function getReplacementQueryDialog(cm) {
  function getDoReplaceConfirm (line 225) | function getDoReplaceConfirm(cm) {
  function replaceAll (line 234) | function replaceAll(cm, query, text) {
  function replace (line 245) | function replace(cm, all) {

FILE: libs/codemirror/lib/searchcursor.js
  function regexpFlags (line 15) | function regexpFlags(regexp) {
  function ensureFlags (line 22) | function ensureFlags(regexp, flags) {
  function maybeMultiline (line 29) | function maybeMultiline(regexp) {
  function searchRegexpForward (line 33) | function searchRegexpForward(doc, regexp, start) {
  function searchRegexpForwardMultiline (line 45) | function searchRegexpForwardMultiline(doc, regexp, start) {
  function lastMatchIn (line 75) | function lastMatchIn(string, regexp, endMargin) {
  function searchRegexpBackward (line 90) | function searchRegexpBackward(doc, regexp, start) {
  function searchRegexpBackwardMultiline (line 102) | function searchRegexpBackwardMultiline(doc, regexp, start) {
  function adjustPos (line 136) | function adjustPos(orig, folded, pos, foldFunc) {
  function searchStringForward (line 148) | function searchStringForward(doc, query, start, caseFold) {
  function searchStringBackward (line 176) | function searchStringBackward(doc, query, start, caseFold) {
  function SearchCursor (line 203) | function SearchCursor(doc, query, pos, options) {

FILE: libs/codemirror/lib/xml.js
  function inText (line 69) | function inText(stream, state) {
  function inTag (line 117) | function inTag(stream, state) {
  function inAttribute (line 142) | function inAttribute(quote) {
  function inBlock (line 156) | function inBlock(style, terminator) {
  function doctype (line 169) | function doctype(depth) {
  function lower (line 190) | function lower(tagName) {
  function Context (line 194) | function Context(state, tagName, startOfLine) {
  function popContext (line 202) | function popContext(state) {
  function maybePopContext (line 205) | function maybePopContext(state, nextTagName) {
  function baseState (line 220) | function baseState(type, stream, state) {
  function tagNameState (line 230) | function tagNameState(type, stream, state) {
  function closeTagNameState (line 243) | function closeTagNameState(type, stream, state) {
  function closeState (line 265) | function closeState(type, _stream, state) {
  function closeStateErr (line 273) | function closeStateErr(type, stream, state) {
  function attrState (line 278) | function attrState(type, _stream, state) {
  function attrEqState (line 297) | function attrEqState(type, stream, state) {
  function attrValueState (line 302) | function attrValueState(type, stream, state) {
  function attrContinuedState (line 308) | function attrContinuedState(type, stream, state) {

FILE: libs/coloris/coloris.js
  function configure (line 62) | function configure(options) {
  function setVirtualInstance (line 245) | function setVirtualInstance(selector, options) {
  function removeVirtualInstance (line 256) | function removeVirtualInstance(selector) {
  function attachVirtualInstance (line 272) | function attachVirtualInstance(element) {
  function resetVirtualInstance (line 304) | function resetVirtualInstance() {
  function bindFields (line 316) | function bindFields(selector) {
  function openPicker (line 336) | function openPicker(event) {
  function updatePickerPosition (line 374) | function updatePickerPosition() {
  function wrapFields (line 452) | function wrapFields(selector) {
  function wrapColorField (line 466) | function wrapColorField(field) {
  function updateColorPreview (line 489) | function updateColorPreview(event) {
  function closePicker (line 502) | function closePicker(revert) {
  function setColorFromStr (line 550) | function setColorFromStr(str) {
  function getColorFormatFromStr (line 574) | function getColorFormatFromStr(str) {
  function pickColor (line 588) | function pickColor(color) {
  function setColorAtPosition (line 608) | function setColorAtPosition(x, y) {
  function updateMarkerA11yLabel (line 627) | function updateMarkerA11yLabel(saturation, value) {
  function getPointerPosition (line 643) | function getPointerPosition(event) {
  function moveMarker (line 654) | function moveMarker(event) {
  function moveMarkerOnKeydown (line 675) | function moveMarkerOnKeydown(offsetX, offsetY) {
  function setMarkerPosition (line 687) | function setMarkerPosition(x, y) {
  function updateColor (line 708) | function updateColor(rgba, hsva) {if (rgba === void 0) {rgba = {};}if (h...
  function setHue (line 760) | function setHue() {
  function setAlpha (line 774) | function setAlpha() {
  function HSVAtoRGBA (line 787) | function HSVAtoRGBA(hsva) {
  function HSVAtoHSLA (line 816) | function HSVAtoHSLA(hsva) {
  function RGBAtoHSVA (line 838) | function RGBAtoHSVA(rgba) {
  function strToRGBA (line 871) | function strToRGBA(str) {
  function RGBAToHex (line 908) | function RGBAToHex(rgba) {
  function RGBAToStr (line 943) | function RGBAToStr(rgba) {
  function HSLAToStr (line 956) | function HSLAToStr(hsla) {
  function init (line 967) | function init() {
  function getFocusableElements (line 1169) | function getFocusableElements() {
  function getEl (line 1181) | function getEl(id) {
  function addListener (line 1192) | function addListener(context, type, selector, fn) {
  function DOMReady (line 1216) | function DOMReady(fn, args) {
  function Coloris (line 1245) | function Coloris(options) {

FILE: libs/jszip/filesaver.js
  function bom (line 29) | function bom(blob, opts) {
  function download (line 49) | function download(url, name, opts) {
  function corsEnabled (line 65) | function corsEnabled(url) {
  function click (line 78) | function click(node) {

FILE: libs/jszip/jszip.js
  function s (line 13) | function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&re...
  function CompressedObject (line 138) | function CompressedObject(compressedSize, uncompressedSize, crc32, compr...
  function makeTable (line 224) | function makeTable() {
  function crc32 (line 242) | function crc32(crc, buf, len, pos) {
  function crc32str (line 266) | function crc32str(crc, str, len, pos) {
  function FlateWorker (line 344) | function FlateWorker(action, options) {
  function ZipFileWorker (line 735) | function ZipFileWorker(streamFiles, comment, platform, encodeFileName) {
  function JSZip (line 1021) | function JSZip() {
  function checkEntryCRC32 (line 1085) | function checkEntryCRC32(zipEntry) {
  function NodejsStreamInputAdapter (line 1166) | function NodejsStreamInputAdapter(filename, stream) {
  function NodejsStreamOutputAdapter (line 1246) | function NodejsStreamOutputAdapter(helper, options, updateCb) {
  function isRegExp (line 1493) | function isRegExp(object) {
  function ArrayReader (line 1740) | function ArrayReader(data) {
  function DataReader (line 1798) | function DataReader(data) {
  function NodeBufferReader (line 1917) | function NodeBufferReader(data) {
  function StringReader (line 1938) | function StringReader(data) {
  function Uint8ArrayReader (line 1978) | function Uint8ArrayReader(data) {
  function ConvertWorker (line 2047) | function ConvertWorker(destType) {
  function Crc32Probe (line 2075) | function Crc32Probe() {
  function DataLengthProbe (line 2101) | function DataLengthProbe(propName) {
  function DataWorker (line 2136) | function DataWorker(dataP) {
  function GenericWorker (line 2256) | function GenericWorker(name) {
  function transformZipOutput (line 2530) | function transformZipOutput(type, content, mimeType) {
  function concat (line 2548) | function concat (type, dataArray) {
  function accumulate (line 2581) | function accumulate(helper, updateCallback) {
  function StreamHelper (line 2618) | function StreamHelper(worker, outputType, mimeType) {
  function Utf8DecodeWorker (line 2956) | function Utf8DecodeWorker() {
  function Utf8EncodeWorker (line 3019) | function Utf8EncodeWorker() {
  function string2binary (line 3052) | function string2binary(str) {
  function identity (line 3107) | function identity(input) {
  function stringToArrayLike (line 3117) | function stringToArrayLike(str, array) {
  function arrayLikeToString (line 3199) | function arrayLikeToString(array) {
  function arrayLikeToArrayLike (line 3243) | function arrayLikeToArrayLike(arrayFrom, arrayTo) {
  function ZipEntries (line 3527) | function ZipEntries(loadOptions) {
  function ZipEntry (line 3814) | function ZipEntry(options, loadOptions) {
  function nextTick (line 4257) | function nextTick() {
  function immediate (line 4274) | function immediate(task) {
  function INTERNAL (line 4286) | function INTERNAL() {}
  function Promise (line 4296) | function Promise(resolver) {
  function resolve (line 4315) | function resolve(value) {
  function reject (line 4321) | function reject(reason) {
  function QueueItem (line 4346) | function QueueItem(promise, onFulfilled, onRejected) {
  function unwrap (line 4370) | function unwrap(promise, func, value) {
  function getThen (line 4417) | function getThen(obj) {
  function safelyResolveThenable (line 4427) | function safelyResolveThenable(self, thenable) {
  function tryCatch (line 4456) | function tryCatch(func, value) {
  function resolve (line 4469) | function resolve(value) {
  function reject (line 4477) | function reject(reason) {
  function all (line 4483) | function all(iterable) {
  function race (line 4522) | function race(iterable) {
  function Deflate (line 4692) | function Deflate(options) {
  function deflate (line 4927) | function deflate(input, options) {
  function deflateRaw (line 4947) | function deflateRaw(input, options) {
  function gzip (line 4962) | function gzip(input, options) {
  function Inflate (line 5067) | function Inflate(options) {
  function inflate (line 5352) | function inflate(input, options) {
  function inflateRaw (line 5372) | function inflateRaw(input, options) {
  function buf2binstring (line 5583) | function buf2binstring(buf, len) {
  function adler32 (line 5711) | function adler32(adler, buf, len, pos) {
  function makeTable (line 5835) | function makeTable() {
  function crc32 (line 5853) | function crc32(crc, buf, len, pos) {
  function err (line 5994) | function err(strm, errorCode) {
  function rank (line 5999) | function rank(f) {
  function zero (line 6003) | function zero(buf) { var len = buf.length; while (--len >= 0) { buf[len]...
  function flush_pending (line 6012) | function flush_pending(strm) {
  function flush_block_only (line 6034) | function flush_block_only(s, last) {
  function put_byte (line 6041) | function put_byte(s, b) {
  function putShortMSB (line 6051) | function putShortMSB(s, b) {
  function read_buf (line 6066) | function read_buf(strm, buf, start, size) {
  function longest_match (line 6100) | function longest_match(s, cur_match) {
  function fill_window (line 6213) | function fill_window(s) {
  function deflate_stored (line 6369) | function deflate_stored(s, flush) {
  function deflate_fast (line 6467) | function deflate_fast(s, flush) {
  function deflate_slow (line 6595) | function deflate_slow(s, flush) {
  function deflate_rle (line 6757) | function deflate_rle(s, flush) {
  function deflate_huff (line 6852) | function deflate_huff(s, flush) {
  function Config (line 6909) | function Config(good_length, max_lazy, nice_length, max_chain, func) {
  function lm_init (line 6938) | function lm_init(s) {
  function DeflateState (line 6961) | function DeflateState() {
  function deflateResetKeep (line 7150) | function deflateResetKeep(strm) {
  function deflateReset (line 7179) | function deflateReset(strm) {
  function deflateSetHeader (line 7188) | function deflateSetHeader(strm, head) {
  function deflateInit2 (line 7196) | function deflateInit2(strm, level, method, windowBits, memLevel, strateg...
  function deflateInit (line 7274) | function deflateInit(strm, level) {
  function deflate (line 7279) | function deflate(strm, flush) {
  function deflateEnd (line 7613) | function deflateEnd(strm) {
  function deflateSetDictionary (line 7642) | function deflateSetDictionary(strm, dictionary) {
  function GZheader (line 7767) | function GZheader() {
  function zswap32 (line 8265) | function zswap32(q) {
  function InflateState (line 8273) | function InflateState() {
  function inflateResetKeep (line 8331) | function inflateResetKeep(strm) {
  function inflateReset (line 8358) | function inflateReset(strm) {
  function inflateReset2 (line 8370) | function inflateReset2(strm, windowBits) {
  function inflateInit2 (line 8404) | function inflateInit2(strm, windowBits) {
  function inflateInit (line 8424) | function inflateInit(strm) {
  function fixedtables (line 8443) | function fixedtables(state) {
  function updatewindow (line 8491) | function updatewindow(strm, src, end, copy) {
  function inflate (line 8533) | function inflate(strm, flush) {
  function inflateEnd (line 9625) | function inflateEnd(strm) {
  function inflateGetHeader (line 9639) | function inflateGetHeader(strm, head) {
  function inflateSetDictionary (line 9653) | function inflateSetDictionary(strm, dictionary) {
  function zero (line 10132) | function zero(buf) { var len = buf.length; while (--len >= 0) { buf[len]...
  function StaticTreeDesc (line 10255) | function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_...
  function TreeDesc (line 10273) | function TreeDesc(dyn_tree, stat_desc) {
  function d_code (line 10281) | function d_code(dist) {
  function put_short (line 10290) | function put_short(s, w) {
  function send_bits (line 10302) | function send_bits(s, value, length) {
  function send_code (line 10315) | function send_code(s, c, tree) {
  function bi_reverse (line 10325) | function bi_reverse(code, len) {
  function bi_flush (line 10339) | function bi_flush(s) {
  function gen_bitlen (line 10363) | function gen_bitlen(s, desc)
  function gen_codes (line 10460) | function gen_codes(tree, max_code, bl_count)
  function tr_static_init (line 10498) | function tr_static_init() {
  function init_block (line 10602) | function init_block(s) {
  function bi_windup (line 10619) | function bi_windup(s)
  function copy_block (line 10635) | function copy_block(s, buf, len, header)
  function smaller (line 10658) | function smaller(tree, n, m, depth) {
  function pqdownheap (line 10671) | function pqdownheap(s, tree, k)
  function compress_block (line 10704) | function compress_block(s, ltree, dtree)
  function build_tree (line 10764) | function build_tree(s, desc)
  function scan_tree (line 10860) | function scan_tree(s, tree, max_code)
  function send_tree (line 10926) | function send_tree(s, tree, max_code)
  function build_bl_tree (line 10997) | function build_bl_tree(s) {
  function send_all_trees (line 11033) | function send_all_trees(s, lcodes, dcodes, blcodes)
  function detect_data_type (line 11073) | function detect_data_type(s) {
  function _tr_init (line 11111) | function _tr_init(s)
  function _tr_stored_block (line 11134) | function _tr_stored_block(s, buf, stored_len, last)
  function _tr_align (line 11149) | function _tr_align(s) {
  function _tr_flush_block (line 11160) | function _tr_flush_block(s, buf, stored_len, last)
  function _tr_tally (line 11247) | function _tr_tally(s, dist, lc)
  function ZStream (line 11333) | function ZStream() {

FILE: libs/media/media.js
  function ucFirst (line 1) | function ucFirst(str) {
  class MediaModal (line 13) | class MediaModal {
    method constructor (line 14) | constructor (modal = true)
    method getResponse (line 129) | getResponse(response) {
    method setResponse (line 133) | setResponse(response) {
    method addModalHtml (line 139) | addModalHtml() {
    method showUploadLoading (line 145) | showUploadLoading() {
    method hideUploadLoading (line 152) | hideUploadLoading() {
    method save (line 156) | save() {
    method init (line 187) | init() {
    method open (line 213) | open(element, callback) {
    method initGallery (line 236) | initGallery() {
    method goto (line 403) | goto(hash) {
    method generateBreadcrumbs (line 461) | generateBreadcrumbs(nextDir){
    method searchByPath (line 472) | searchByPath(dir) {
    method searchData (line 494) | searchData(data, searchTerms) {
    method onUpload (line 524) | onUpload(event) {
    method deleteFile (line 582) | deleteFile(el) {
    method renameFile (line 615) | renameFile(el) {
    method addFile (line 643) | addFile(f, selected) {
    method render (line 700) | render(data) {
    method escapeHTML (line 820) | escapeHTML(text) {
    method bytesToSize (line 827) | bytesToSize(bytes) {

FILE: libs/media/openverse.js
  class OpenVerse (line 1) | class OpenVerse {
    method constructor (line 3) | constructor ()
    method authenticate (line 35) | authenticate() {
    method setFiltersParams (line 61) | setFiltersParams(filtersParameters) {
    method getResults (line 65) | getResults(callback) {
  class OpenVerseDisplay (line 89) | class OpenVerseDisplay extends OpenVerse {
    method constructor (line 91) | constructor ()
    method getFiltersHtml (line 96) | getFiltersHtml() {
    method showLoading (line 115) | showLoading() {
    method setFilters (line 122) | setFilters() {
    method displayResults (line 127) | displayResults(data) {
    method page (line 218) | page(pageNo) {
    method search (line 225) | search() {
    method toggleBtn (line 232) | toggleBtn() {
    method displayPanel (line 245) | displayPanel() {
    method paginationContainer (line 249) | paginationContainer() {
    method topPanel (line 254) | topPanel() {
    method init (line 298) | init() {

FILE: save.js
  function sanitizeFileName (line 21) | function sanitizeFileName(file, allowedExtension = 'html') {

FILE: save.php
  function sanitizeFileName (line 32) | function sanitizeFileName($file, $allowedExtension = 'html') {
  function showError (line 56) | function showError($error) {
  function validOembedUrl (line 61) | function validOembedUrl($url) {

FILE: scan.php
  function sanitizePath (line 24) | function sanitizePath($path) {

FILE: upload.php
  function showError (line 27) | function showError($error) {
  function sanitizeFileName (line 32) | function sanitizeFileName($file)
Copy disabled (too large) Download .json
Condensed preview — 291 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (36,093K chars).
[
  {
    "path": ".dockerignore",
    "chars": 2,
    "preview": "*\n"
  },
  {
    "path": ".gitattributes",
    "chars": 49,
    "preview": "* linguist-vendored\n*.js linguist-vendored=false\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 105,
    "preview": "# These are supported funding model platforms\n\ncustom: https://paypal.me/zgivan\nopen_collective: vvvebjs\n"
  },
  {
    "path": ".github/lock.yml",
    "chars": 1181,
    "preview": "# Configuration for Lock Threads - https://github.com/dessant/lock-threads\n\n# Number of days of inactivity before a clos"
  },
  {
    "path": ".github/no-response.yml",
    "chars": 705,
    "preview": "# Configuration for probot-no-response - https://github.com/probot/no-response\n\n# Number of days of inactivity before an"
  },
  {
    "path": ".gitignore",
    "chars": 32,
    "preview": "node_modules\n*.css.map\n*.js.map\n"
  },
  {
    "path": ".gitmodules",
    "chars": 89,
    "preview": "[submodule \"demo/landing\"]\n\tpath = demo/landing\n\turl = https://github.com/givanz/landing\n"
  },
  {
    "path": "Credits.md",
    "chars": 2104,
    "preview": "# Credits\n## SVG icons\n* Eva Icons - MIT License - https://github.com/akveo/eva-icons\n* IonIcons - MIT license - https:/"
  },
  {
    "path": "Dockerfile",
    "chars": 149,
    "preview": "FROM php:8.3-apache\n\nARG UNAME=www-data\nARG UGROUP=www-data\nARG UID=1000\nARG GID=1001\nRUN usermod  --uid $UID $UNAME\nRUN"
  },
  {
    "path": "LICENSE",
    "chars": 10173,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "README.md",
    "chars": 6509,
    "preview": "# VvvebJs\n\n<p align=\"center\">\n  <img src=\"https://www.vvveb.com/admin/themes/default/img/biglogo.png\" alt=\"Vvveb\">\n  <br"
  },
  {
    "path": "css/editor.css",
    "chars": 490227,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "css/vvvebjs-editor-helpers.css",
    "chars": 5851,
    "preview": "body {\n  scrollbar-color: rgba(var(--bs-body-color-rgb), 0.1) #fff;\n  scrollbar-width: thin; }\n  body::-webkit-scrollbar"
  },
  {
    "path": "demo/album/index.html",
    "chars": 11873,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-wid"
  },
  {
    "path": "demo/blog/blog.css",
    "chars": 1708,
    "preview": "/* stylelint-disable selector-list-comma-newline-after */\n\n.blog-header {\n  line-height: 1;\n  border-bottom: 1px solid #"
  },
  {
    "path": "demo/blog/index.html",
    "chars": 10844,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-wid"
  },
  {
    "path": "demo/carousel/carousel.css",
    "chars": 1695,
    "preview": "/* GLOBAL STYLES\n-------------------------------------------------- */\n/* Padding below the footer and lighter body text"
  },
  {
    "path": "demo/carousel/index.html",
    "chars": 9501,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-wid"
  },
  {
    "path": "demo/narrow-jumbotron/index.html",
    "chars": 5063,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width"
  },
  {
    "path": "demo/narrow-jumbotron/narrow-jumbotron.css",
    "chars": 1390,
    "preview": "/* Space out content a bit */\nbody {\n  padding-top: 1.5rem;\n  padding-bottom: 1.5rem;\n  background-color:#fff;\n}\n\n/* Eve"
  },
  {
    "path": "demo/offcanvas/index.html",
    "chars": 6639,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-wid"
  },
  {
    "path": "demo/offcanvas/offcanvas.css",
    "chars": 1238,
    "preview": "html,\nbody {\n  overflow-x: hidden; /* Prevent scroll on narrow devices */\n}\n\nbody {\n  padding-top: 56px;\n}\n\n@media (max-"
  },
  {
    "path": "demo/offcanvas/offcanvas.js",
    "chars": 213,
    "preview": "(function () {\n  'use strict'\n\n  document.querySelector('[data-bs-toggle=\"offcanvas\"]').addEventListener('click', functi"
  },
  {
    "path": "demo/pricing/index.html",
    "chars": 5737,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-wid"
  },
  {
    "path": "demo/pricing/pricing.css",
    "chars": 76,
    "preview": ".container {\n  max-width: 960px;\n}\n\n.pricing-header {\n  max-width: 700px;\n}\n"
  },
  {
    "path": "demo/product/index.html",
    "chars": 8474,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-wid"
  },
  {
    "path": "demo/product/product.css",
    "chars": 1064,
    "preview": ".container {\n  max-width: 960px;\n}\n\n/*\n * Custom translucent site header\n */\n\n.site-header {\n  background-color: rgba(0,"
  },
  {
    "path": "docker-compose.yml",
    "chars": 216,
    "preview": "# sudo apt install docker-compose\n# sudo docker-compose up -d\nversion: '3.8'\nservices:\n  php:\n    build:\n      context: "
  },
  {
    "path": "editor.html",
    "chars": 91074,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\" data-bs-theme=\"auto\">\n\n<head>\n\t<meta charset=\"utf-8\">\n\t<meta http-equiv=\"X-UA-Compatible"
  },
  {
    "path": "editor.php",
    "chars": 1096,
    "preview": "<?php\n//include 'editor.html';\n$html = file_get_contents('editor.html');\n\n//search for html files in demo and my-pages f"
  },
  {
    "path": "gulpfile.js",
    "chars": 1883,
    "preview": "/*\r\nCopyright 2017 Ziadin Givan\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\");\r\nyou may not use this"
  },
  {
    "path": "libs/aos/aos.css",
    "chars": 28765,
    "preview": "[data-aos][data-aos][data-aos-duration=\"50\"],body[data-aos-duration=\"50\"] [data-aos]{transition-duration:50ms}[data-aos]"
  },
  {
    "path": "libs/aos/aos.js",
    "chars": 13800,
    "preview": "!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define"
  },
  {
    "path": "libs/autocomplete/autocomplete.js",
    "chars": 15250,
    "preview": "/**\n*    Json key/value autocomplete for jQuery \n*    Provides a transparent way to have key/value autocomplete\n*    Cop"
  },
  {
    "path": "libs/builder/blocks-bootstrap4.js",
    "chars": 46521,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/builder.js",
    "chars": 132490,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/components-bootstrap4.js",
    "chars": 62232,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/components-bootstrap5.js",
    "chars": 31244,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/components-common.js",
    "chars": 26774,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/components-elements.js",
    "chars": 42550,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/components-embeds.js",
    "chars": 3107,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/components-html.js",
    "chars": 37013,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/components-server.js",
    "chars": 11761,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/components-widgets.js",
    "chars": 27832,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/inputs.js",
    "chars": 19946,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/oembed.js",
    "chars": 9405,
    "preview": "const oEmbedProviders = [\n {\n    regex: /^(https:\\/\\/(.*).youtube.com\\/watch(.*)|https:\\/\\/(.*).youtube.com\\/v\\/(.*)|htt"
  },
  {
    "path": "libs/builder/plugin-ai-assistant.js",
    "chars": 6971,
    "preview": "document.querySelector(\"#select-actions #edit-code-btn\").after(generateElements('<a id=\"ai-assistant-btn\" href=\"\" title="
  },
  {
    "path": "libs/builder/plugin-aos.js",
    "chars": 6219,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/plugin-bootstrap-colorpicker.js",
    "chars": 452,
    "preview": "let ColorInput = { ...ColorInput, ...{\n\n    events: [\n        [\"change\", \"onChange\", \"input\"],\n\t ],\n\n\tsetValue: function"
  },
  {
    "path": "libs/builder/plugin-ckeditor.js",
    "chars": 1831,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/plugin-codemirror.js",
    "chars": 6597,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/plugin-coloris.js",
    "chars": 851,
    "preview": "let colorisOptions = {\n  el: '.coloris',\n  theme: 'polaroid',\n//  themeMode: 'dark',\n  formatToggle: true,\n//  closeButt"
  },
  {
    "path": "libs/builder/plugin-google-fonts.js",
    "chars": 1990,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/plugin-jszip.js",
    "chars": 3750,
    "preview": "/*\r\nCopyright 2017 Ziadin Givan\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\");\r\nyou may not use this"
  },
  {
    "path": "libs/builder/plugin-media.js",
    "chars": 4604,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/plugin-tinymce.js",
    "chars": 7428,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/section.js",
    "chars": 18469,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/sections-bootstrap4.js",
    "chars": 21482,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/builder/undo.js",
    "chars": 5509,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "libs/codemirror/lib/clike.js",
    "chars": 37259,
    "preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
  },
  {
    "path": "libs/codemirror/lib/codemirror.css",
    "chars": 8938,
    "preview": "/* BASICS */\n\n.CodeMirror {\n  /* Set height, width, borders, and global font properties here */\n  font-family: monospace"
  },
  {
    "path": "libs/codemirror/lib/codemirror.js",
    "chars": 401785,
    "preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
  },
  {
    "path": "libs/codemirror/lib/css.js",
    "chars": 40492,
    "preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
  },
  {
    "path": "libs/codemirror/lib/formatting.js",
    "chars": 7477,
    "preview": "// ============== Formatting extensions ============================\n(function() {\n  // Define extensions for a few mode"
  },
  {
    "path": "libs/codemirror/lib/htmlmixed.js",
    "chars": 5688,
    "preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
  },
  {
    "path": "libs/codemirror/lib/search.js",
    "chars": 11863,
    "preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
  },
  {
    "path": "libs/codemirror/lib/searchcursor.js",
    "chars": 12234,
    "preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
  },
  {
    "path": "libs/codemirror/lib/xml.js",
    "chars": 13353,
    "preview": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/"
  },
  {
    "path": "libs/codemirror/theme/duotone-dark.css",
    "chars": 2614,
    "preview": "/*\nName:   DuoTone-Dark\nAuthor: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/201"
  },
  {
    "path": "libs/codemirror/theme/material.css",
    "chars": 2491,
    "preview": "/*\n\n    Name:       material\n    Author:     Michael Kaminsky (http://github.com/mkaminsky11)\n\n    Original material col"
  },
  {
    "path": "libs/coloris/coloris.css",
    "chars": 10368,
    "preview": ".clr-picker {\n  display: none;\n  flex-wrap: wrap;\n  position: absolute;\n  width: 200px;\n  z-index: 1000;\n  border-radius"
  },
  {
    "path": "libs/coloris/coloris.js",
    "chars": 39276,
    "preview": " /*!\n * Copyright (c) 2021 Momo Bassit.\n * Licensed under the MIT License (MIT)\n * https://github.com/mdbassit/Coloris\n "
  },
  {
    "path": "libs/jszip/filesaver.js",
    "chars": 6132,
    "preview": "(function (global, factory) {\n  if (typeof define === \"function\" && define.amd) {\n    define([], factory);\n  } else if ("
  },
  {
    "path": "libs/jszip/jszip.js",
    "chars": 366643,
    "preview": "/*!\n\nJSZip v3.7.1 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 St"
  },
  {
    "path": "libs/media/media.css",
    "chars": 12701,
    "preview": "@charset \"utf-8\";\n/*-------------------------\n\tFile manager\n-------------------------*/\n\n\n#MediaModal .modal-body, .file"
  },
  {
    "path": "libs/media/media.js",
    "chars": 22159,
    "preview": "function ucFirst(str) {\n  if (!str) return str;\n\n  return str[0].toUpperCase() + str.slice(1);\n}\n\nif (typeof mediaScanUr"
  },
  {
    "path": "libs/media/openverse.js",
    "chars": 11566,
    "preview": "class OpenVerse {\n\t\n\tconstructor ()\n\t{\n\t\t//register your key at https://api.openverse.engineering/v1/ and replace client"
  },
  {
    "path": "new-page-blank-template.html",
    "chars": 1001,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-wid"
  },
  {
    "path": "package.json",
    "chars": 878,
    "preview": "{\n  \"name\": \"vvvebjs\",\n  \"description\": \"Drag and drop website builder javascript library\",\n  \"version\": \"0.0.1\",\n  \"aut"
  },
  {
    "path": "resources/google-fonts.json",
    "chars": 274912,
    "preview": "{\n\t\"ABeeZee\": {\n\t\t\"category\": \"sans-serif\",\n\t\t\"subsets\": [\n\t\t\t\"latin\"\n\t\t],\n\t\t\"variants\": {\n\t\t\t\"italic\": {\n\t\t\t\t\"400\": {\n\t"
  },
  {
    "path": "resources/line-awesome.html",
    "chars": 175104,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/150-outlined-icons/index.html",
    "chars": 157933,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/150-outlined-icons/readme.txt",
    "chars": 81,
    "preview": "https://freebiesbug.com/psd-freebies/150-free-outlined-icons-psd-ai-svg-webfont/\n"
  },
  {
    "path": "resources/svg/icons/77_essential_icons/index.html",
    "chars": 77393,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/77_essential_icons/readme.txt",
    "chars": 186,
    "preview": "77 Essential Icons, a free icon set designed by Bryn Taylor. Distributed under Creative Commons Attribution license. \nht"
  },
  {
    "path": "resources/svg/icons/ant-design-icons/LICENSE",
    "chars": 1099,
    "preview": "MIT LICENSE\n\nCopyright (c) 2018-present Ant UED, https://xtech.antfin.com/\n\nPermission is hereby granted, free of charge"
  },
  {
    "path": "resources/svg/icons/ant-design-icons/README.md",
    "chars": 2513,
    "preview": "<p align=\"center\">\n<img\n width=\"450px\" alt=\"logo\" src=\"https://user-images.githubusercontent.com/15819224/45196822-c120f"
  },
  {
    "path": "resources/svg/icons/ant-design-icons/index.html",
    "chars": 619414,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/boxicons/LICENSE",
    "chars": 1086,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2015-2021 Aniket Suvarna\n\nPermission is hereby granted, free of charge, to any pers"
  },
  {
    "path": "resources/svg/icons/boxicons/README.md",
    "chars": 7273,
    "preview": "# boxicons \n[![Financial Contributors on Open Collective](https://opencollective.com/boxicons/all/badge.svg?label=financ"
  },
  {
    "path": "resources/svg/icons/boxicons/index.html",
    "chars": 709862,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/clarity-icons/LICENSE",
    "chars": 1240,
    "preview": "Copyright (c) 2018 VMware, Inc.\t\t\t\t\n\nThe MIT license (the \"License\") set forth below applies to all parts of the clarity"
  },
  {
    "path": "resources/svg/icons/clarity-icons/NOTICE.txt",
    "chars": 414,
    "preview": "Copyright (c) 2018 VMware, Inc. \n\nThis product is licensed to you under the MIT license (the \"License\").  You may not us"
  },
  {
    "path": "resources/svg/icons/clarity-icons/README.md",
    "chars": 467,
    "preview": "# Clarity Assets\n\nThis repository is part of the [Clarity](https://github.com/vmware/clarity) project, and its purpose i"
  },
  {
    "path": "resources/svg/icons/clarity-icons/index.html",
    "chars": 1031559,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/coreui-icons/LICENSE",
    "chars": 8493,
    "preview": "CoreUI Icons Free License\n-------------------------\n\nCoreUI Icons Free is free, open source, and GPL friendly. You can u"
  },
  {
    "path": "resources/svg/icons/coreui-icons/README.md",
    "chars": 13962,
    "preview": "\n<p align=\"center\">\n  <img height=\"50\" src=\"https://coreui.io/images/brands/coreui-icons.svg\">\n</p>\n\n<p align=\"center\">\n"
  },
  {
    "path": "resources/svg/icons/coreui-icons/index.html",
    "chars": 5497025,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/css.gg/LICENSE",
    "chars": 1063,
    "preview": "MIT License\n\nCopyright (c) 2019 css.gg\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof "
  },
  {
    "path": "resources/svg/icons/css.gg/README.md",
    "chars": 18527,
    "preview": "# [Demo](https://css.gg) - [Figma](https://css.gg/fig) - [Twitter](https://twitter.com/astritmalsija)\nOpen-source CSS, S"
  },
  {
    "path": "resources/svg/icons/css.gg/index.html",
    "chars": 473713,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/dripicons/LICENSE",
    "chars": 20128,
    "preview": "Attribution-ShareAlike 4.0 International\n\n=======================================================================\n\nCreat"
  },
  {
    "path": "resources/svg/icons/dripicons/index.html",
    "chars": 166389,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/dripicons/readme.txt",
    "chars": 660,
    "preview": "\nDripicons V2 has been created by Amit Jakhu from www.amitjakhu.com\n\nTerms of Use:\n\nDripicons V2 is available for free f"
  },
  {
    "path": "resources/svg/icons/elegant-font/gpl_license.txt",
    "chars": 18429,
    "preview": "                    GNU GENERAL PUBLIC LICENSE\r\n                       Version 2, June 1991\r\n\r\n Copyright (C) 1989, 1991"
  },
  {
    "path": "resources/svg/icons/elegant-font/index.html",
    "chars": 300250,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/elegant-font/mit_license.txt",
    "chars": 1110,
    "preview": "The MIT License (MIT)\r\n\r\nCopyright (c) <2013> <Elegant Themes, Inc.>\r\n\r\nPermission is hereby granted, free of charge, to"
  },
  {
    "path": "resources/svg/icons/eva-icons/LICENSE.txt",
    "chars": 1074,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2018 Akveo.\n\nPermission is hereby granted, free of charge, to any person obtaining "
  },
  {
    "path": "resources/svg/icons/eva-icons/README.md",
    "chars": 5617,
    "preview": "<h1><img src=\"https://i.imgur.com/cXYo5bi.png\"> Eva Icons</h1>\n<img src=\"https://i.imgur.com/oDmqDkE.jpg\">\n\n**Eva Icons*"
  },
  {
    "path": "resources/svg/icons/eva-icons/index.html",
    "chars": 327689,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/feather/LICENSE",
    "chars": 1081,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2013-2017 Cole Bemis\n\nPermission is hereby granted, free of charge, to any person o"
  },
  {
    "path": "resources/svg/icons/feather/README.md",
    "chars": 15001,
    "preview": "# Feather\n\n[![Build status](https://img.shields.io/travis/feathericons/feather/master.svg?style=flat-square)](https://tr"
  },
  {
    "path": "resources/svg/icons/feather/index.html",
    "chars": 102073,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/font-awesome/LICENSE.txt",
    "chars": 1548,
    "preview": "Font Awesome Free License\n-------------------------\n\nFont Awesome Free is free, open source, and GPL friendly. You can u"
  },
  {
    "path": "resources/svg/icons/font-awesome/index.html",
    "chars": 1276439,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/heroicons/LICENSE",
    "chars": 1076,
    "preview": "MIT License\n\nCopyright (c) 2020 Refactoring UI Inc.\n\nPermission is hereby granted, free of charge, to any person obtaini"
  },
  {
    "path": "resources/svg/icons/heroicons/README.md",
    "chars": 2985,
    "preview": "<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/tailwindlabs/heroicons/master/.github/logo.svg\" alt=\"He"
  },
  {
    "path": "resources/svg/icons/heroicons/index.html",
    "chars": 272364,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/iconoir/LICENSE",
    "chars": 1068,
    "preview": "MIT License\n\nCopyright (c) 2021 Luca Burgio\n\nPermission is hereby granted, free of charge, to any person obtaining a cop"
  },
  {
    "path": "resources/svg/icons/iconoir/README.md",
    "chars": 2276,
    "preview": "<p align=\"center\">\n  <img src=\"assets/iconoir.png\" alt=\"Iconoir\">\n</p>\n\n<p align=\"center\">\n  Iconoir is an open source l"
  },
  {
    "path": "resources/svg/icons/iconoir/index.html",
    "chars": 707721,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/iconsax/index.html",
    "chars": 6181105,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/iconsax/license.txt",
    "chars": 399,
    "preview": "https://github.com/lusaxweb/iconsax\n\nIconsax are the official icons of the Vuesax framework, these icons can be used for"
  },
  {
    "path": "resources/svg/icons/ikonate/LICENSE",
    "chars": 1082,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2013-2017 Cole Bemis\n\nPermission is hereby granted, free of charge, to any person o"
  },
  {
    "path": "resources/svg/icons/ikonate/README.md",
    "chars": 4993,
    "preview": "# Ikonate\n\n[![npm version](https://badge.fury.io/js/ikonate.svg)](https://badge.fury.io/js/ikonate)\n\nIkonate are fully c"
  },
  {
    "path": "resources/svg/icons/ikonate/index.html",
    "chars": 110443,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/ionicons/LICENSE",
    "chars": 1099,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2015-present Ionic (http://ionic.io/)\n\nPermission is hereby granted, free of charge"
  },
  {
    "path": "resources/svg/icons/ionicons/index.html",
    "chars": 901233,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/ionicons/readme.md",
    "chars": 4796,
    "preview": "# Ionicons\n\n[Ionicons](http://ionicons.com/) is a completely open-source icon set with 1,300 icons crafted for web, iOS,"
  },
  {
    "path": "resources/svg/icons/jam-icons/LICENSE",
    "chars": 1080,
    "preview": "MIT License\n\nCopyright (c) 2017-Present Michael Amprimo\n\nPermission is hereby granted, free of charge, to any person obt"
  },
  {
    "path": "resources/svg/icons/jam-icons/README.md",
    "chars": 1313,
    "preview": "<p align=\"center\">\n  <img src=\"https://jam-icons.com/logo.svg\">\n</p>\n\nJam icons is a set of SVG icons designed for web p"
  },
  {
    "path": "resources/svg/icons/jam-icons/index.html",
    "chars": 490750,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/linea/index.html",
    "chars": 651356,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/linea/read_me.txt",
    "chars": 17244,
    "preview": "Linea Iconset\n\n\nLinea Iconset is a free iconset designed by Dario Ferrando.\nThe set is distributed under CCBY license, m"
  },
  {
    "path": "resources/svg/icons/linea/style.css",
    "chars": 125,
    "preview": "ul.svg-list li svg{\n\tmax-width:100%;\n\tmax-height:100%;\n\tfill:#fff;\n\tcolor:#000;\n}\n\nul.svg-list li:hover  svg {\n\tfill:#ff"
  },
  {
    "path": "resources/svg/icons/lineawesome/LICENSE.txt",
    "chars": 175,
    "preview": "If you use the icons publicly, please link to https://icons8.com/line-awesome somewhere on your page or artwork, so that"
  },
  {
    "path": "resources/svg/icons/lineawesome/index.html",
    "chars": 2075580,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/material-design/LICENSE",
    "chars": 992,
    "preview": "Pictogrammers Free License\n--------------------------\n\nThis icon collection is released as free, open source, and GPL fr"
  },
  {
    "path": "resources/svg/icons/material-design/README.md",
    "chars": 2933,
    "preview": "# Material Design\n\nThis repo contains all the planning for current and work-in-progress Material Design Icons.\n\n[Getting"
  },
  {
    "path": "resources/svg/icons/material-design/index.html",
    "chars": 3700118,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/octicons/LICENSE",
    "chars": 1068,
    "preview": "MIT License\n\nCopyright (c) 2022 GitHub Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a cop"
  },
  {
    "path": "resources/svg/icons/octicons/README.md",
    "chars": 4164,
    "preview": "![octicons cover light](https://user-images.githubusercontent.com/54012/138925195-5779c51d-ff8c-4264-a914-e64f4843893d.p"
  },
  {
    "path": "resources/svg/icons/octicons/index.html",
    "chars": 268355,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/olicons/README.md",
    "chars": 3100,
    "preview": "![alt webtop](https://github.com/owlling/olicons-site/blob/master/images/link/webtop.jpg?raw=true)\n\n# [olicons](http://o"
  },
  {
    "path": "resources/svg/icons/olicons/index.html",
    "chars": 615171,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/open-iconic/ICON-LICENSE",
    "chars": 1073,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2014 Waybury\n\nPermission is hereby granted, free of charge, to any person obtaining"
  },
  {
    "path": "resources/svg/icons/open-iconic/README.md",
    "chars": 3495,
    "preview": "[Open Iconic v1.1.1](http://useiconic.com/open)\n===========\n\n### Open Iconic is the open source sibling of [Iconic](http"
  },
  {
    "path": "resources/svg/icons/open-iconic/index.html",
    "chars": 63354,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/pe-icon-7-stroke/index.html",
    "chars": 196947,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/pe-icon-7-stroke/read-me.txt",
    "chars": 2597,
    "preview": "---------------------------------------------\nPIXEDEN // Font ICON DETAILS\n---------------------------------------------"
  },
  {
    "path": "resources/svg/icons/remix-icon/README.md",
    "chars": 7399,
    "preview": "[![logo](http://cdn.remixicon.com/logo-github.svg)](https://remixicon.com)\n\n[![npm](https://img.shields.io/npm/v/remixic"
  },
  {
    "path": "resources/svg/icons/remix-icon/index.html",
    "chars": 990157,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/system-uicons/LICENSE",
    "chars": 1259,
    "preview": "https://github.com/CoreyGinnivan/system-uicons\n\nThis is free and unencumbered software released into the public domain.\n"
  },
  {
    "path": "resources/svg/icons/system-uicons/index.html",
    "chars": 213679,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/tabler-icons/LICENSE",
    "chars": 1067,
    "preview": "MIT License\n\nCopyright (c) 2020 Paweł Kuna\n\nPermission is hereby granted, free of charge, to any person obtaining a copy"
  },
  {
    "path": "resources/svg/icons/tabler-icons/LICENSE.txt",
    "chars": 1067,
    "preview": "MIT License\n\nCopyright (c) 2020 Paweł Kuna\n\nPermission is hereby granted, free of charge, to any person obtaining a copy"
  },
  {
    "path": "resources/svg/icons/tabler-icons/README.md",
    "chars": 8025,
    "preview": "<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/tabler/tabler-icons/master/.github/og.png\" alt=\"Tabler "
  },
  {
    "path": "resources/svg/icons/tabler-icons/index.html",
    "chars": 721804,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/themify/index.html",
    "chars": 242128,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/icons/themify/readme.txt",
    "chars": 837,
    "preview": "=====================================\nHOW TO USE IT:\n\n1) Upload the ‘themify-icons.css’ file and ‘fonts’ folder to your "
  },
  {
    "path": "resources/svg/icons/unicons/LICENSE",
    "chars": 11357,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "resources/svg/icons/unicons/README.md",
    "chars": 3543,
    "preview": "# Unicons\n\n1000+ Pixel-perfect vector icons and Iconfont for your next project. These icons are designed by [Iconscout]("
  },
  {
    "path": "resources/svg/icons/unicons/index.html",
    "chars": 1336568,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n}\nul.svg-list li {\n\tdisplay:inline-block;\n\tpositio"
  },
  {
    "path": "resources/svg/separators/digital-red-panther/index.html",
    "chars": 542008,
    "preview": "<style>\nul.svg-list {\n\tlist-style:none;\n\tpadding:0;\n\tmargin:10px 0 0;\n\tbackground:var(--bs-body-bg);\n}\nul.svg-list li {\n"
  },
  {
    "path": "save.js",
    "chars": 1743,
    "preview": "const express = require('express');\nconst app = express();\nconst bodyParser = require('body-parser');\nconst fs = require"
  },
  {
    "path": "save.php",
    "chars": 5224,
    "preview": "<?php\n/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use th"
  },
  {
    "path": "scan.php",
    "chars": 2373,
    "preview": "<?php\n/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use th"
  },
  {
    "path": "scss/_autocomplete.scss",
    "chars": 2109,
    "preview": "/* autocomplete */\ninput.autocomplete-loading\n{\n\tbackground-image:url(../libs/autocomplete/autocomplete.gif);\n\tbackgroun"
  },
  {
    "path": "scss/_bootstrap-css-vars.scss",
    "chars": 8085,
    "preview": ":root {\n--bs-primary: var(--bs-blue);\n--bs-secondary: var(--bs-gray-600);\n--bs-body-bg: var(--bs-white);\n--bs-body-color"
  },
  {
    "path": "scss/_builder.scss",
    "chars": 53284,
    "preview": "/*\nCopyright 2017 Ziadin Givan\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this fil"
  },
  {
    "path": "scss/_csstree.scss",
    "chars": 3567,
    "preview": "/* CSS Tree menu styles */\n.tree\n{\n\twidth:100%;\n\tpadding:0;\n\n\t> ol\n\t{\n\t\tpadding: 0rem 0 0 0rem;\n\t\tmargin:0;\n\t\t//width: 3"
  },
  {
    "path": "scss/bootstrap/_accordion.scss",
    "chars": 5077,
    "preview": "//\n// Base styles\n//\n\n.accordion {\n  // scss-docs-start accordion-css-vars\n  --#{$prefix}accordion-color: #{$accordion-c"
  },
  {
    "path": "scss/bootstrap/_alert.scss",
    "chars": 2073,
    "preview": "//\n// Base styles\n//\n\n.alert {\n  // scss-docs-start alert-css-vars\n  --#{$prefix}alert-bg: transparent;\n  --#{$prefix}al"
  },
  {
    "path": "scss/bootstrap/_badge.scss",
    "chars": 1118,
    "preview": "// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badg"
  },
  {
    "path": "scss/bootstrap/_breadcrumb.scss",
    "chars": 1751,
    "preview": ".breadcrumb {\n  // scss-docs-start breadcrumb-css-vars\n  --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x};\n  -"
  },
  {
    "path": "scss/bootstrap/_button-group.scss",
    "chars": 3201,
    "preview": "// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-flex;\n  v"
  },
  {
    "path": "scss/bootstrap/_buttons.scss",
    "chars": 7057,
    "preview": "//\n// Base styles\n//\n\n.btn {\n  // scss-docs-start btn-css-vars\n  --#{$prefix}btn-padding-x: #{$btn-padding-x};\n  --#{$pr"
  },
  {
    "path": "scss/bootstrap/_card.scss",
    "chars": 6979,
    "preview": "//\n// Base styles\n//\n\n.card {\n  // scss-docs-start card-css-vars\n  --#{$prefix}card-spacer-y: #{$card-spacer-y};\n  --#{$"
  },
  {
    "path": "scss/bootstrap/_carousel.scss",
    "chars": 5862,
    "preview": "// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertical"
  },
  {
    "path": "scss/bootstrap/_close.scss",
    "chars": 2018,
    "preview": "// Transparent background and border properties included for button version.\n// iOS requires the button element instead "
  },
  {
    "path": "scss/bootstrap/_containers.scss",
    "chars": 1201,
    "preview": "// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-cont"
  },
  {
    "path": "scss/bootstrap/_dropdown.scss",
    "chars": 8093,
    "preview": "// The dropdown wrapper (`<div>`)\n.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n  positio"
  },
  {
    "path": "scss/bootstrap/_forms.scss",
    "chars": 256,
    "preview": "@import \"forms/labels\";\n@import \"forms/form-text\";\n@import \"forms/form-control\";\n@import \"forms/form-select\";\n@import \"f"
  },
  {
    "path": "scss/bootstrap/_functions.scss",
    "chars": 10554,
    "preview": "// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mix"
  },
  {
    "path": "scss/bootstrap/_grid.scss",
    "chars": 683,
    "preview": "// Row\n//\n// Rows contain your columns.\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --#{$prefix}breakpoint"
  },
  {
    "path": "scss/bootstrap/_helpers.scss",
    "chars": 353,
    "preview": "@import \"helpers/clearfix\";\n@import \"helpers/color-bg\";\n@import \"helpers/colored-links\";\n@import \"helpers/focus-ring\";\n@"
  },
  {
    "path": "scss/bootstrap/_images.scss",
    "chars": 1158,
    "preview": "// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit "
  },
  {
    "path": "scss/bootstrap/_list-group.scss",
    "chars": 6852,
    "preview": "// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n  // scss-docs-start list-group-css-vars\n  --#"
  },
  {
    "path": "scss/bootstrap/_maps.scss",
    "chars": 6005,
    "preview": "// Re-assigned maps\n//\n// Placed here so that others can override the default Sass maps and see automatic updates to uti"
  },
  {
    "path": "scss/bootstrap/_mixins.scss",
    "chars": 875,
    "preview": "// Toggles\n//\n// Used in conjunction with global variables to enable certain theme features.\n\n// Vendor\n@import \"vendor/"
  },
  {
    "path": "scss/bootstrap/_modal.scss",
    "chars": 7662,
    "preview": "// stylelint-disable function-disallowed-list\n\n// .modal-open      - body class for killing the scroll\n// .modal        "
  },
  {
    "path": "scss/bootstrap/_nav.scss",
    "chars": 5211,
    "preview": "// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<"
  },
  {
    "path": "scss/bootstrap/_navbar.scss",
    "chars": 9155,
    "preview": "// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations"
  },
  {
    "path": "scss/bootstrap/_offcanvas.scss",
    "chars": 4653,
    "preview": "// stylelint-disable function-disallowed-list\n\n%offcanvas-css-vars {\n  // scss-docs-start offcanvas-css-vars\n  --#{$pref"
  },
  {
    "path": "scss/bootstrap/_pagination.scss",
    "chars": 3947,
    "preview": ".pagination {\n  // scss-docs-start pagination-css-vars\n  --#{$prefix}pagination-padding-x: #{$pagination-padding-x};\n  -"
  },
  {
    "path": "scss/bootstrap/_placeholders.scss",
    "chars": 859,
    "preview": ".placeholder {\n  display: inline-block;\n  min-height: 1em;\n  vertical-align: middle;\n  cursor: wait;\n  background-color:"
  },
  {
    "path": "scss/bootstrap/_popover.scss",
    "chars": 6907,
    "preview": ".popover {\n  // scss-docs-start popover-css-vars\n  --#{$prefix}popover-zindex: #{$zindex-popover};\n  --#{$prefix}popover"
  },
  {
    "path": "scss/bootstrap/_progress.scss",
    "chars": 2016,
    "preview": "// Disable animation if transitions are disabled\n\n// scss-docs-start progress-keyframes\n@if $enable-transitions {\n  @key"
  },
  {
    "path": "scss/bootstrap/_reboot.scss",
    "chars": 12438,
    "preview": "// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// "
  },
  {
    "path": "scss/bootstrap/_root.scss",
    "chars": 6924,
    "preview": ":root,\n[data-bs-theme=\"light\"] {\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  // Colors\n  "
  }
]

// ... and 91 more files (download for full content)

About this extraction

This page contains the full source code of the givanz/VvvebJs GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 291 files (33.1 MB), approximately 8.7M tokens, and a symbol index with 765 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!